diff options
| author | Miles Bader | 2005-05-20 04:22:05 +0000 |
|---|---|---|
| committer | Miles Bader | 2005-05-20 04:22:05 +0000 |
| commit | 64e9342958694825be1664890dcd22fffcd50d3a (patch) | |
| tree | a43e1796f5a49ae7eeec671447d10ac3731a1834 | |
| parent | 5447510256e5a1b371407b751ddcc461044da5df (diff) | |
| parent | a18ff9886771c41186eebf8d7984fee2120dbe36 (diff) | |
| download | emacs-64e9342958694825be1664890dcd22fffcd50d3a.tar.gz emacs-64e9342958694825be1664890dcd22fffcd50d3a.zip | |
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-53
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 302-319)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 69)
- Update from CVS
328 files changed, 6817 insertions, 4410 deletions
| @@ -1,3 +1,15 @@ | |||
| 1 | 2005-05-11 J,Ai(Br,At(Bme Marant <jmarant@marant.org> | ||
| 2 | |||
| 3 | * configure.in: Add --enable-locallisppath. | ||
| 4 | * configure: Regenerate. | ||
| 5 | |||
| 6 | 2005-05-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 7 | |||
| 8 | * configure.in: Don't check HAVE_CARBON if HAVE_X11 is set to yes. | ||
| 9 | Check HAVE_CARBON before USE_TOOLKIT_SCROLL_BARS. Define | ||
| 10 | USE_TOOLKIT_SCROLL_BARS by default if HAVE_CARBON is set to yes. | ||
| 11 | * configure: Regenerate. | ||
| 12 | |||
| 1 | 2005-05-07 J,Ai(Br,At(Bme Marant <jerome@marant.org> | 13 | 2005-05-07 J,Ai(Br,At(Bme Marant <jerome@marant.org> |
| 2 | 14 | ||
| 3 | * make-dist: Remove references to makefile.nt and makefile.def. | 15 | * make-dist: Remove references to makefile.nt and makefile.def. |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index b0169008af0..c1e91ff9595 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -93,11 +93,19 @@ you're going to handle. | |||
| 93 | 93 | ||
| 94 | DIRECTORY STATUS IN CHARGE | 94 | DIRECTORY STATUS IN CHARGE |
| 95 | --------- ------ --------- | 95 | --------- ------ --------- |
| 96 | lisp/international working Kenichi Handa | 96 | leim working Kenichi Handa |
| 97 | lisp/languages working Kenichi Handa | 97 | lisp/calc done Thien-Thi Nguyen |
| 98 | lisp/net working Thien-Thi Nguyen | 98 | lisp/calendar working Glenn Morris |
| 99 | lisp/emulation done Thien-Thi Nguyen | ||
| 100 | lisp/eshell working Thien-Thi Nguyen | ||
| 101 | lisp/international done Kenichi Handa | ||
| 102 | lisp/languages done Kenichi Handa | ||
| 103 | lisp/mh-e done Thien-Thi Nguyen | ||
| 104 | lisp/net done Thien-Thi Nguyen | ||
| 99 | lisp/play done Thien-Thi Nguyen | 105 | lisp/play done Thien-Thi Nguyen |
| 100 | lisp/term working Thien-Thi Nguyen | 106 | lisp/term done Thien-Thi Nguyen |
| 107 | lisp/toolbar done Thien-Thi Nguyen | ||
| 108 | lisp/url working Thien-Thi Nguyen | ||
| 101 | 109 | ||
| 102 | ** Update AUTHORS. | 110 | ** Update AUTHORS. |
| 103 | 111 | ||
| @@ -216,10 +224,10 @@ lispref/windows.texi "Luc Teirlinck" Chong Yidong | |||
| 216 | 224 | ||
| 217 | ** Check the Emacs Tutorial. | 225 | ** Check the Emacs Tutorial. |
| 218 | 226 | ||
| 219 | The first line of every tutorial must begin with a sentence saying | 227 | The first line of every tutorial must begin with text ending in a period |
| 220 | "Emacs Tutorial" in the respective language. This should be followed | 228 | (".", ASCII 0x2E) saying "Emacs Tutorial" in the respective language. |
| 221 | by "See end for copying conditions", likewise in the respective | 229 | This should be followed by "See end for copying conditions", likewise |
| 222 | language. | 230 | in the respective language. |
| 223 | 231 | ||
| 224 | After each file name, on the same line or the following line, come the | 232 | After each file name, on the same line or the following line, come the |
| 225 | names of the people who have checked it. | 233 | names of the people who have checked it. |
diff --git a/admin/notes/years b/admin/notes/years new file mode 100644 index 00000000000..72f217e925d --- /dev/null +++ b/admin/notes/years | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | How to Maintain Copyright Years for GNU Emacs | ||
| 2 | |||
| 3 | |||
| 4 | Principle: Individual files need to have the year of the release | ||
| 5 | in the copyright notice if there is significant change. | ||
| 6 | |||
| 7 | |||
| 8 | Practice: | ||
| 9 | |||
| 10 | - individual files | ||
| 11 | - each must be examined, along w/ its history, by a human | ||
| 12 | - automated tools facilitate but can never replace this process | ||
| 13 | |||
| 14 | - year of the release | ||
| 15 | - may be different from year of file introduction, | ||
| 16 | or year of last significant change | ||
| 17 | - sometimes the release year slips, leaving a file w/ prematurely | ||
| 18 | marked release year => need update (e.g., s/2004/2005/ for Emacs 22) | ||
| 19 | - intervening years (between releases) are not valid and may cause | ||
| 20 | embarrassment later in case of dispute => remove (however, see next) | ||
| 21 | - years for new files (merged, contributed) that have been separately | ||
| 22 | published are valid even if between releases => leave alone | ||
| 23 | |||
| 24 | - significant change | ||
| 25 | - insignificant | ||
| 26 | - whitespace | ||
| 27 | - copyright notice | ||
| 28 | - version control tags | ||
| 29 | - simple var/func renaming | ||
| 30 | - in-file reorganization/reordering | ||
| 31 | - typos | ||
| 32 | - small bugfixes | ||
| 33 | - small docfixes | ||
| 34 | - filename renaming | ||
| 35 | - most everything else is significant | ||
| 36 | - change to interface | ||
| 37 | - change in functionality | ||
| 38 | - new file | ||
| 39 | - many small changes may be significant in aggregate | ||
| 40 | |||
| 41 | - when in doubt, ask (and update these guidelines -- thanks!) | ||
| 42 | |||
| 43 | - sometimes people make mistakes | ||
| 44 | - if they have not read these guidelines, point them here | ||
| 45 | - if the guidelines are not helpful, improve the guidelines | ||
| @@ -859,6 +859,9 @@ Optional Features: | |||
| 859 | --enable-asserts compile code with asserts enabled | 859 | --enable-asserts compile code with asserts enabled |
| 860 | --enable-maintainer-mode enable make rules and dependencies not useful | 860 | --enable-maintainer-mode enable make rules and dependencies not useful |
| 861 | (and sometimes confusing) to the casual installer | 861 | (and sometimes confusing) to the casual installer |
| 862 | --enable-locallisppath=PATH | ||
| 863 | directories Emacs should search for lisp files | ||
| 864 | specific to this site | ||
| 862 | --disable-largefile omit support for large files | 865 | --disable-largefile omit support for large files |
| 863 | 866 | ||
| 864 | Optional Packages: | 867 | Optional Packages: |
| @@ -985,7 +988,7 @@ esac | |||
| 985 | else | 988 | else |
| 986 | echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 | 989 | echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 |
| 987 | fi | 990 | fi |
| 988 | cd $ac_popdir | 991 | cd "$ac_popdir" |
| 989 | done | 992 | done |
| 990 | fi | 993 | fi |
| 991 | 994 | ||
| @@ -1543,6 +1546,16 @@ else | |||
| 1543 | fi | 1546 | fi |
| 1544 | 1547 | ||
| 1545 | 1548 | ||
| 1549 | # Check whether --enable-locallisppath or --disable-locallisppath was given. | ||
| 1550 | if test "${enable_locallisppath+set}" = set; then | ||
| 1551 | enableval="$enable_locallisppath" | ||
| 1552 | if test "${enableval}" = "no"; then | ||
| 1553 | locallisppath= | ||
| 1554 | elif test "${enableval}" != "yes"; then | ||
| 1555 | locallisppath=${enableval} | ||
| 1556 | fi | ||
| 1557 | fi; | ||
| 1558 | |||
| 1546 | #### Make srcdir absolute, if it isn't already. It's important to | 1559 | #### Make srcdir absolute, if it isn't already. It's important to |
| 1547 | #### avoid running the path through pwd unnecessarily, since pwd can | 1560 | #### avoid running the path through pwd unnecessarily, since pwd can |
| 1548 | #### give you automounter prefixes, which can go away. We do all this | 1561 | #### give you automounter prefixes, which can go away. We do all this |
| @@ -3254,8 +3267,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 3254 | cat conftest.err >&5 | 3267 | cat conftest.err >&5 |
| 3255 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3268 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 3256 | (exit $ac_status); } && | 3269 | (exit $ac_status); } && |
| 3257 | { ac_try='test -z "$ac_c_werror_flag" | 3270 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 3258 | || test ! -s conftest.err' | ||
| 3259 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 3271 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 3260 | (eval $ac_try) 2>&5 | 3272 | (eval $ac_try) 2>&5 |
| 3261 | ac_status=$? | 3273 | ac_status=$? |
| @@ -3313,8 +3325,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 3313 | cat conftest.err >&5 | 3325 | cat conftest.err >&5 |
| 3314 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3326 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 3315 | (exit $ac_status); } && | 3327 | (exit $ac_status); } && |
| 3316 | { ac_try='test -z "$ac_c_werror_flag" | 3328 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 3317 | || test ! -s conftest.err' | ||
| 3318 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 3329 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 3319 | (eval $ac_try) 2>&5 | 3330 | (eval $ac_try) 2>&5 |
| 3320 | ac_status=$? | 3331 | ac_status=$? |
| @@ -3430,8 +3441,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 3430 | cat conftest.err >&5 | 3441 | cat conftest.err >&5 |
| 3431 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3442 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 3432 | (exit $ac_status); } && | 3443 | (exit $ac_status); } && |
| 3433 | { ac_try='test -z "$ac_c_werror_flag" | 3444 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 3434 | || test ! -s conftest.err' | ||
| 3435 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 3445 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 3436 | (eval $ac_try) 2>&5 | 3446 | (eval $ac_try) 2>&5 |
| 3437 | ac_status=$? | 3447 | ac_status=$? |
| @@ -3485,8 +3495,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 3485 | cat conftest.err >&5 | 3495 | cat conftest.err >&5 |
| 3486 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3496 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 3487 | (exit $ac_status); } && | 3497 | (exit $ac_status); } && |
| 3488 | { ac_try='test -z "$ac_c_werror_flag" | 3498 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 3489 | || test ! -s conftest.err' | ||
| 3490 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 3499 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 3491 | (eval $ac_try) 2>&5 | 3500 | (eval $ac_try) 2>&5 |
| 3492 | ac_status=$? | 3501 | ac_status=$? |
| @@ -3531,8 +3540,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 3531 | cat conftest.err >&5 | 3540 | cat conftest.err >&5 |
| 3532 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3541 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 3533 | (exit $ac_status); } && | 3542 | (exit $ac_status); } && |
| 3534 | { ac_try='test -z "$ac_c_werror_flag" | 3543 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 3535 | || test ! -s conftest.err' | ||
| 3536 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 3544 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 3537 | (eval $ac_try) 2>&5 | 3545 | (eval $ac_try) 2>&5 |
| 3538 | ac_status=$? | 3546 | ac_status=$? |
| @@ -3576,8 +3584,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 3576 | cat conftest.err >&5 | 3584 | cat conftest.err >&5 |
| 3577 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 3585 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 3578 | (exit $ac_status); } && | 3586 | (exit $ac_status); } && |
| 3579 | { ac_try='test -z "$ac_c_werror_flag" | 3587 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 3580 | || test ! -s conftest.err' | ||
| 3581 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 3588 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 3582 | (eval $ac_try) 2>&5 | 3589 | (eval $ac_try) 2>&5 |
| 3583 | ac_status=$? | 3590 | ac_status=$? |
| @@ -4210,8 +4217,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 4210 | cat conftest.err >&5 | 4217 | cat conftest.err >&5 |
| 4211 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4218 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4212 | (exit $ac_status); } && | 4219 | (exit $ac_status); } && |
| 4213 | { ac_try='test -z "$ac_c_werror_flag" | 4220 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 4214 | || test ! -s conftest.err' | ||
| 4215 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4221 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4216 | (eval $ac_try) 2>&5 | 4222 | (eval $ac_try) 2>&5 |
| 4217 | ac_status=$? | 4223 | ac_status=$? |
| @@ -4487,8 +4493,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4487 | cat conftest.err >&5 | 4493 | cat conftest.err >&5 |
| 4488 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4494 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4489 | (exit $ac_status); } && | 4495 | (exit $ac_status); } && |
| 4490 | { ac_try='test -z "$ac_c_werror_flag" | 4496 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 4491 | || test ! -s conftest.err' | ||
| 4492 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4497 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4493 | (eval $ac_try) 2>&5 | 4498 | (eval $ac_try) 2>&5 |
| 4494 | ac_status=$? | 4499 | ac_status=$? |
| @@ -4517,8 +4522,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4517 | cat conftest.err >&5 | 4522 | cat conftest.err >&5 |
| 4518 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4523 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4519 | (exit $ac_status); } && | 4524 | (exit $ac_status); } && |
| 4520 | { ac_try='test -z "$ac_c_werror_flag" | 4525 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 4521 | || test ! -s conftest.err' | ||
| 4522 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4526 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4523 | (eval $ac_try) 2>&5 | 4527 | (eval $ac_try) 2>&5 |
| 4524 | ac_status=$? | 4528 | ac_status=$? |
| @@ -4588,8 +4592,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4588 | cat conftest.err >&5 | 4592 | cat conftest.err >&5 |
| 4589 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4593 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4590 | (exit $ac_status); } && | 4594 | (exit $ac_status); } && |
| 4591 | { ac_try='test -z "$ac_c_werror_flag" | 4595 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 4592 | || test ! -s conftest.err' | ||
| 4593 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4596 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4594 | (eval $ac_try) 2>&5 | 4597 | (eval $ac_try) 2>&5 |
| 4595 | ac_status=$? | 4598 | ac_status=$? |
| @@ -4641,8 +4644,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4641 | cat conftest.err >&5 | 4644 | cat conftest.err >&5 |
| 4642 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4645 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4643 | (exit $ac_status); } && | 4646 | (exit $ac_status); } && |
| 4644 | { ac_try='test -z "$ac_c_werror_flag" | 4647 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 4645 | || test ! -s conftest.err' | ||
| 4646 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4648 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4647 | (eval $ac_try) 2>&5 | 4649 | (eval $ac_try) 2>&5 |
| 4648 | ac_status=$? | 4650 | ac_status=$? |
| @@ -4713,8 +4715,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4713 | cat conftest.err >&5 | 4715 | cat conftest.err >&5 |
| 4714 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4716 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4715 | (exit $ac_status); } && | 4717 | (exit $ac_status); } && |
| 4716 | { ac_try='test -z "$ac_c_werror_flag" | 4718 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 4717 | || test ! -s conftest.err' | ||
| 4718 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4719 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4719 | (eval $ac_try) 2>&5 | 4720 | (eval $ac_try) 2>&5 |
| 4720 | ac_status=$? | 4721 | ac_status=$? |
| @@ -4766,8 +4767,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4766 | cat conftest.err >&5 | 4767 | cat conftest.err >&5 |
| 4767 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4768 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4768 | (exit $ac_status); } && | 4769 | (exit $ac_status); } && |
| 4769 | { ac_try='test -z "$ac_c_werror_flag" | 4770 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 4770 | || test ! -s conftest.err' | ||
| 4771 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4771 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4772 | (eval $ac_try) 2>&5 | 4772 | (eval $ac_try) 2>&5 |
| 4773 | ac_status=$? | 4773 | ac_status=$? |
| @@ -4837,8 +4837,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 4837 | cat conftest.err >&5 | 4837 | cat conftest.err >&5 |
| 4838 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 4838 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 4839 | (exit $ac_status); } && | 4839 | (exit $ac_status); } && |
| 4840 | { ac_try='test -z "$ac_c_werror_flag" | 4840 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 4841 | || test ! -s conftest.err' | ||
| 4842 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 4841 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 4843 | (eval $ac_try) 2>&5 | 4842 | (eval $ac_try) 2>&5 |
| 4844 | ac_status=$? | 4843 | ac_status=$? |
| @@ -5008,8 +5007,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5008 | cat conftest.err >&5 | 5007 | cat conftest.err >&5 |
| 5009 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5008 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5010 | (exit $ac_status); } && | 5009 | (exit $ac_status); } && |
| 5011 | { ac_try='test -z "$ac_c_werror_flag" | 5010 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 5012 | || test ! -s conftest.err' | ||
| 5013 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5011 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5014 | (eval $ac_try) 2>&5 | 5012 | (eval $ac_try) 2>&5 |
| 5015 | ac_status=$? | 5013 | ac_status=$? |
| @@ -5078,8 +5076,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5078 | cat conftest.err >&5 | 5076 | cat conftest.err >&5 |
| 5079 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5077 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5080 | (exit $ac_status); } && | 5078 | (exit $ac_status); } && |
| 5081 | { ac_try='test -z "$ac_c_werror_flag" | 5079 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 5082 | || test ! -s conftest.err' | ||
| 5083 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5080 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5084 | (eval $ac_try) 2>&5 | 5081 | (eval $ac_try) 2>&5 |
| 5085 | ac_status=$? | 5082 | ac_status=$? |
| @@ -5233,8 +5230,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 5233 | cat conftest.err >&5 | 5230 | cat conftest.err >&5 |
| 5234 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5231 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5235 | (exit $ac_status); } && | 5232 | (exit $ac_status); } && |
| 5236 | { ac_try='test -z "$ac_c_werror_flag" | 5233 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 5237 | || test ! -s conftest.err' | ||
| 5238 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5234 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5239 | (eval $ac_try) 2>&5 | 5235 | (eval $ac_try) 2>&5 |
| 5240 | ac_status=$? | 5236 | ac_status=$? |
| @@ -5330,8 +5326,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5330 | cat conftest.err >&5 | 5326 | cat conftest.err >&5 |
| 5331 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5327 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5332 | (exit $ac_status); } && | 5328 | (exit $ac_status); } && |
| 5333 | { ac_try='test -z "$ac_c_werror_flag" | 5329 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 5334 | || test ! -s conftest.err' | ||
| 5335 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5330 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5336 | (eval $ac_try) 2>&5 | 5331 | (eval $ac_try) 2>&5 |
| 5337 | ac_status=$? | 5332 | ac_status=$? |
| @@ -5473,8 +5468,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5473 | cat conftest.err >&5 | 5468 | cat conftest.err >&5 |
| 5474 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5469 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5475 | (exit $ac_status); } && | 5470 | (exit $ac_status); } && |
| 5476 | { ac_try='test -z "$ac_c_werror_flag" | 5471 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 5477 | || test ! -s conftest.err' | ||
| 5478 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5472 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5479 | (eval $ac_try) 2>&5 | 5473 | (eval $ac_try) 2>&5 |
| 5480 | ac_status=$? | 5474 | ac_status=$? |
| @@ -5593,8 +5587,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5593 | cat conftest.err >&5 | 5587 | cat conftest.err >&5 |
| 5594 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5588 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5595 | (exit $ac_status); } && | 5589 | (exit $ac_status); } && |
| 5596 | { ac_try='test -z "$ac_c_werror_flag" | 5590 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 5597 | || test ! -s conftest.err' | ||
| 5598 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5591 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5599 | (eval $ac_try) 2>&5 | 5592 | (eval $ac_try) 2>&5 |
| 5600 | ac_status=$? | 5593 | ac_status=$? |
| @@ -5759,8 +5752,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5759 | cat conftest.err >&5 | 5752 | cat conftest.err >&5 |
| 5760 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5753 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5761 | (exit $ac_status); } && | 5754 | (exit $ac_status); } && |
| 5762 | { ac_try='test -z "$ac_c_werror_flag" | 5755 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 5763 | || test ! -s conftest.err' | ||
| 5764 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5756 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5765 | (eval $ac_try) 2>&5 | 5757 | (eval $ac_try) 2>&5 |
| 5766 | ac_status=$? | 5758 | ac_status=$? |
| @@ -5823,8 +5815,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5823 | cat conftest.err >&5 | 5815 | cat conftest.err >&5 |
| 5824 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5816 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5825 | (exit $ac_status); } && | 5817 | (exit $ac_status); } && |
| 5826 | { ac_try='test -z "$ac_c_werror_flag" | 5818 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 5827 | || test ! -s conftest.err' | ||
| 5828 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5819 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5829 | (eval $ac_try) 2>&5 | 5820 | (eval $ac_try) 2>&5 |
| 5830 | ac_status=$? | 5821 | ac_status=$? |
| @@ -5897,8 +5888,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5897 | cat conftest.err >&5 | 5888 | cat conftest.err >&5 |
| 5898 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5889 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5899 | (exit $ac_status); } && | 5890 | (exit $ac_status); } && |
| 5900 | { ac_try='test -z "$ac_c_werror_flag" | 5891 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 5901 | || test ! -s conftest.err' | ||
| 5902 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5892 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5903 | (eval $ac_try) 2>&5 | 5893 | (eval $ac_try) 2>&5 |
| 5904 | ac_status=$? | 5894 | ac_status=$? |
| @@ -5984,8 +5974,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 5984 | cat conftest.err >&5 | 5974 | cat conftest.err >&5 |
| 5985 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 5975 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 5986 | (exit $ac_status); } && | 5976 | (exit $ac_status); } && |
| 5987 | { ac_try='test -z "$ac_c_werror_flag" | 5977 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 5988 | || test ! -s conftest.err' | ||
| 5989 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 5978 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 5990 | (eval $ac_try) 2>&5 | 5979 | (eval $ac_try) 2>&5 |
| 5991 | ac_status=$? | 5980 | ac_status=$? |
| @@ -6058,8 +6047,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6058 | cat conftest.err >&5 | 6047 | cat conftest.err >&5 |
| 6059 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6048 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6060 | (exit $ac_status); } && | 6049 | (exit $ac_status); } && |
| 6061 | { ac_try='test -z "$ac_c_werror_flag" | 6050 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6062 | || test ! -s conftest.err' | ||
| 6063 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6051 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6064 | (eval $ac_try) 2>&5 | 6052 | (eval $ac_try) 2>&5 |
| 6065 | ac_status=$? | 6053 | ac_status=$? |
| @@ -6129,8 +6117,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6129 | cat conftest.err >&5 | 6117 | cat conftest.err >&5 |
| 6130 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6118 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6131 | (exit $ac_status); } && | 6119 | (exit $ac_status); } && |
| 6132 | { ac_try='test -z "$ac_c_werror_flag" | 6120 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6133 | || test ! -s conftest.err' | ||
| 6134 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6121 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6135 | (eval $ac_try) 2>&5 | 6122 | (eval $ac_try) 2>&5 |
| 6136 | ac_status=$? | 6123 | ac_status=$? |
| @@ -6189,8 +6176,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6189 | cat conftest.err >&5 | 6176 | cat conftest.err >&5 |
| 6190 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6177 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6191 | (exit $ac_status); } && | 6178 | (exit $ac_status); } && |
| 6192 | { ac_try='test -z "$ac_c_werror_flag" | 6179 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6193 | || test ! -s conftest.err' | ||
| 6194 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6180 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6195 | (eval $ac_try) 2>&5 | 6181 | (eval $ac_try) 2>&5 |
| 6196 | ac_status=$? | 6182 | ac_status=$? |
| @@ -6259,8 +6245,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6259 | cat conftest.err >&5 | 6245 | cat conftest.err >&5 |
| 6260 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6246 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6261 | (exit $ac_status); } && | 6247 | (exit $ac_status); } && |
| 6262 | { ac_try='test -z "$ac_c_werror_flag" | 6248 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6263 | || test ! -s conftest.err' | ||
| 6264 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6249 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6265 | (eval $ac_try) 2>&5 | 6250 | (eval $ac_try) 2>&5 |
| 6266 | ac_status=$? | 6251 | ac_status=$? |
| @@ -6321,8 +6306,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6321 | cat conftest.err >&5 | 6306 | cat conftest.err >&5 |
| 6322 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6307 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6323 | (exit $ac_status); } && | 6308 | (exit $ac_status); } && |
| 6324 | { ac_try='test -z "$ac_c_werror_flag" | 6309 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6325 | || test ! -s conftest.err' | ||
| 6326 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6310 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6327 | (eval $ac_try) 2>&5 | 6311 | (eval $ac_try) 2>&5 |
| 6328 | ac_status=$? | 6312 | ac_status=$? |
| @@ -6388,8 +6372,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6388 | cat conftest.err >&5 | 6372 | cat conftest.err >&5 |
| 6389 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6373 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6390 | (exit $ac_status); } && | 6374 | (exit $ac_status); } && |
| 6391 | { ac_try='test -z "$ac_c_werror_flag" | 6375 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6392 | || test ! -s conftest.err' | ||
| 6393 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6376 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6394 | (eval $ac_try) 2>&5 | 6377 | (eval $ac_try) 2>&5 |
| 6395 | ac_status=$? | 6378 | ac_status=$? |
| @@ -6535,8 +6518,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6535 | cat conftest.err >&5 | 6518 | cat conftest.err >&5 |
| 6536 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6519 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6537 | (exit $ac_status); } && | 6520 | (exit $ac_status); } && |
| 6538 | { ac_try='test -z "$ac_c_werror_flag" | 6521 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6539 | || test ! -s conftest.err' | ||
| 6540 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6522 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6541 | (eval $ac_try) 2>&5 | 6523 | (eval $ac_try) 2>&5 |
| 6542 | ac_status=$? | 6524 | ac_status=$? |
| @@ -6600,8 +6582,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6600 | cat conftest.err >&5 | 6582 | cat conftest.err >&5 |
| 6601 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6583 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6602 | (exit $ac_status); } && | 6584 | (exit $ac_status); } && |
| 6603 | { ac_try='test -z "$ac_c_werror_flag" | 6585 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6604 | || test ! -s conftest.err' | ||
| 6605 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6586 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6606 | (eval $ac_try) 2>&5 | 6587 | (eval $ac_try) 2>&5 |
| 6607 | ac_status=$? | 6588 | ac_status=$? |
| @@ -6666,8 +6647,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6666 | cat conftest.err >&5 | 6647 | cat conftest.err >&5 |
| 6667 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6648 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6668 | (exit $ac_status); } && | 6649 | (exit $ac_status); } && |
| 6669 | { ac_try='test -z "$ac_c_werror_flag" | 6650 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6670 | || test ! -s conftest.err' | ||
| 6671 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6651 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6672 | (eval $ac_try) 2>&5 | 6652 | (eval $ac_try) 2>&5 |
| 6673 | ac_status=$? | 6653 | ac_status=$? |
| @@ -6713,8 +6693,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6713 | cat conftest.err >&5 | 6693 | cat conftest.err >&5 |
| 6714 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6694 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6715 | (exit $ac_status); } && | 6695 | (exit $ac_status); } && |
| 6716 | { ac_try='test -z "$ac_c_werror_flag" | 6696 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6717 | || test ! -s conftest.err' | ||
| 6718 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6697 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6719 | (eval $ac_try) 2>&5 | 6698 | (eval $ac_try) 2>&5 |
| 6720 | ac_status=$? | 6699 | ac_status=$? |
| @@ -6788,8 +6767,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 6788 | cat conftest.err >&5 | 6767 | cat conftest.err >&5 |
| 6789 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6768 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6790 | (exit $ac_status); } && | 6769 | (exit $ac_status); } && |
| 6791 | { ac_try='test -z "$ac_c_werror_flag" | 6770 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6792 | || test ! -s conftest.err' | ||
| 6793 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6771 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6794 | (eval $ac_try) 2>&5 | 6772 | (eval $ac_try) 2>&5 |
| 6795 | ac_status=$? | 6773 | ac_status=$? |
| @@ -6854,8 +6832,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6854 | cat conftest.err >&5 | 6832 | cat conftest.err >&5 |
| 6855 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6833 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6856 | (exit $ac_status); } && | 6834 | (exit $ac_status); } && |
| 6857 | { ac_try='test -z "$ac_c_werror_flag" | 6835 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6858 | || test ! -s conftest.err' | ||
| 6859 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6836 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6860 | (eval $ac_try) 2>&5 | 6837 | (eval $ac_try) 2>&5 |
| 6861 | ac_status=$? | 6838 | ac_status=$? |
| @@ -6899,8 +6876,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6899 | cat conftest.err >&5 | 6876 | cat conftest.err >&5 |
| 6900 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6877 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6901 | (exit $ac_status); } && | 6878 | (exit $ac_status); } && |
| 6902 | { ac_try='test -z "$ac_c_werror_flag" | 6879 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6903 | || test ! -s conftest.err' | ||
| 6904 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6880 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6905 | (eval $ac_try) 2>&5 | 6881 | (eval $ac_try) 2>&5 |
| 6906 | ac_status=$? | 6882 | ac_status=$? |
| @@ -6971,8 +6947,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 6971 | cat conftest.err >&5 | 6947 | cat conftest.err >&5 |
| 6972 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6948 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 6973 | (exit $ac_status); } && | 6949 | (exit $ac_status); } && |
| 6974 | { ac_try='test -z "$ac_c_werror_flag" | 6950 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 6975 | || test ! -s conftest.err' | ||
| 6976 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 6951 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 6977 | (eval $ac_try) 2>&5 | 6952 | (eval $ac_try) 2>&5 |
| 6978 | ac_status=$? | 6953 | ac_status=$? |
| @@ -7022,8 +6997,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7022 | cat conftest.err >&5 | 6997 | cat conftest.err >&5 |
| 7023 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 6998 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7024 | (exit $ac_status); } && | 6999 | (exit $ac_status); } && |
| 7025 | { ac_try='test -z "$ac_c_werror_flag" | 7000 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 7026 | || test ! -s conftest.err' | ||
| 7027 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7001 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7028 | (eval $ac_try) 2>&5 | 7002 | (eval $ac_try) 2>&5 |
| 7029 | ac_status=$? | 7003 | ac_status=$? |
| @@ -7094,8 +7068,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7094 | cat conftest.err >&5 | 7068 | cat conftest.err >&5 |
| 7095 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7069 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7096 | (exit $ac_status); } && | 7070 | (exit $ac_status); } && |
| 7097 | { ac_try='test -z "$ac_c_werror_flag" | 7071 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 7098 | || test ! -s conftest.err' | ||
| 7099 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7072 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7100 | (eval $ac_try) 2>&5 | 7073 | (eval $ac_try) 2>&5 |
| 7101 | ac_status=$? | 7074 | ac_status=$? |
| @@ -7145,8 +7118,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7145 | cat conftest.err >&5 | 7118 | cat conftest.err >&5 |
| 7146 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7119 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7147 | (exit $ac_status); } && | 7120 | (exit $ac_status); } && |
| 7148 | { ac_try='test -z "$ac_c_werror_flag" | 7121 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 7149 | || test ! -s conftest.err' | ||
| 7150 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7122 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7151 | (eval $ac_try) 2>&5 | 7123 | (eval $ac_try) 2>&5 |
| 7152 | ac_status=$? | 7124 | ac_status=$? |
| @@ -7217,8 +7189,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7217 | cat conftest.err >&5 | 7189 | cat conftest.err >&5 |
| 7218 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7190 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7219 | (exit $ac_status); } && | 7191 | (exit $ac_status); } && |
| 7220 | { ac_try='test -z "$ac_c_werror_flag" | 7192 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 7221 | || test ! -s conftest.err' | ||
| 7222 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7193 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7223 | (eval $ac_try) 2>&5 | 7194 | (eval $ac_try) 2>&5 |
| 7224 | ac_status=$? | 7195 | ac_status=$? |
| @@ -7268,8 +7239,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7268 | cat conftest.err >&5 | 7239 | cat conftest.err >&5 |
| 7269 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7240 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7270 | (exit $ac_status); } && | 7241 | (exit $ac_status); } && |
| 7271 | { ac_try='test -z "$ac_c_werror_flag" | 7242 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 7272 | || test ! -s conftest.err' | ||
| 7273 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7243 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7274 | (eval $ac_try) 2>&5 | 7244 | (eval $ac_try) 2>&5 |
| 7275 | ac_status=$? | 7245 | ac_status=$? |
| @@ -7340,8 +7310,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7340 | cat conftest.err >&5 | 7310 | cat conftest.err >&5 |
| 7341 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7311 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7342 | (exit $ac_status); } && | 7312 | (exit $ac_status); } && |
| 7343 | { ac_try='test -z "$ac_c_werror_flag" | 7313 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 7344 | || test ! -s conftest.err' | ||
| 7345 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7314 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7346 | (eval $ac_try) 2>&5 | 7315 | (eval $ac_try) 2>&5 |
| 7347 | ac_status=$? | 7316 | ac_status=$? |
| @@ -7391,8 +7360,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7391 | cat conftest.err >&5 | 7360 | cat conftest.err >&5 |
| 7392 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7361 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7393 | (exit $ac_status); } && | 7362 | (exit $ac_status); } && |
| 7394 | { ac_try='test -z "$ac_c_werror_flag" | 7363 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 7395 | || test ! -s conftest.err' | ||
| 7396 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7364 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7397 | (eval $ac_try) 2>&5 | 7365 | (eval $ac_try) 2>&5 |
| 7398 | ac_status=$? | 7366 | ac_status=$? |
| @@ -7463,8 +7431,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7463 | cat conftest.err >&5 | 7431 | cat conftest.err >&5 |
| 7464 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7432 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7465 | (exit $ac_status); } && | 7433 | (exit $ac_status); } && |
| 7466 | { ac_try='test -z "$ac_c_werror_flag" | 7434 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 7467 | || test ! -s conftest.err' | ||
| 7468 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7435 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7469 | (eval $ac_try) 2>&5 | 7436 | (eval $ac_try) 2>&5 |
| 7470 | ac_status=$? | 7437 | ac_status=$? |
| @@ -7514,8 +7481,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7514 | cat conftest.err >&5 | 7481 | cat conftest.err >&5 |
| 7515 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7482 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7516 | (exit $ac_status); } && | 7483 | (exit $ac_status); } && |
| 7517 | { ac_try='test -z "$ac_c_werror_flag" | 7484 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 7518 | || test ! -s conftest.err' | ||
| 7519 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7485 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7520 | (eval $ac_try) 2>&5 | 7486 | (eval $ac_try) 2>&5 |
| 7521 | ac_status=$? | 7487 | ac_status=$? |
| @@ -7602,8 +7568,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7602 | cat conftest.err >&5 | 7568 | cat conftest.err >&5 |
| 7603 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7569 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7604 | (exit $ac_status); } && | 7570 | (exit $ac_status); } && |
| 7605 | { ac_try='test -z "$ac_c_werror_flag" | 7571 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 7606 | || test ! -s conftest.err' | ||
| 7607 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7572 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7608 | (eval $ac_try) 2>&5 | 7573 | (eval $ac_try) 2>&5 |
| 7609 | ac_status=$? | 7574 | ac_status=$? |
| @@ -7709,8 +7674,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7709 | cat conftest.err >&5 | 7674 | cat conftest.err >&5 |
| 7710 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7675 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7711 | (exit $ac_status); } && | 7676 | (exit $ac_status); } && |
| 7712 | { ac_try='test -z "$ac_c_werror_flag" | 7677 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 7713 | || test ! -s conftest.err' | ||
| 7714 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7678 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7715 | (eval $ac_try) 2>&5 | 7679 | (eval $ac_try) 2>&5 |
| 7716 | ac_status=$? | 7680 | ac_status=$? |
| @@ -7770,8 +7734,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 7770 | cat conftest.err >&5 | 7734 | cat conftest.err >&5 |
| 7771 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 7735 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 7772 | (exit $ac_status); } && | 7736 | (exit $ac_status); } && |
| 7773 | { ac_try='test -z "$ac_c_werror_flag" | 7737 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 7774 | || test ! -s conftest.err' | ||
| 7775 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 7738 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 7776 | (eval $ac_try) 2>&5 | 7739 | (eval $ac_try) 2>&5 |
| 7777 | ac_status=$? | 7740 | ac_status=$? |
| @@ -7895,6 +7858,7 @@ fi | |||
| 7895 | echo "$as_me:$LINENO: checking for X" >&5 | 7858 | echo "$as_me:$LINENO: checking for X" >&5 |
| 7896 | echo $ECHO_N "checking for X... $ECHO_C" >&6 | 7859 | echo $ECHO_N "checking for X... $ECHO_C" >&6 |
| 7897 | 7860 | ||
| 7861 | ac_path_x_has_been_run=yes | ||
| 7898 | 7862 | ||
| 7899 | # Check whether --with-x or --without-x was given. | 7863 | # Check whether --with-x or --without-x was given. |
| 7900 | if test "${with_x+set}" = set; then | 7864 | if test "${with_x+set}" = set; then |
| @@ -7987,7 +7951,7 @@ ac_x_header_dirs=' | |||
| 7987 | /usr/openwin/share/include' | 7951 | /usr/openwin/share/include' |
| 7988 | 7952 | ||
| 7989 | if test "$ac_x_includes" = no; then | 7953 | if test "$ac_x_includes" = no; then |
| 7990 | # Guess where to find include files, by looking for Intrinsic.h. | 7954 | # Guess where to find include files, by looking for a specified header file. |
| 7991 | # First, try using that file with no special directory specified. | 7955 | # First, try using that file with no special directory specified. |
| 7992 | cat >conftest.$ac_ext <<_ACEOF | 7956 | cat >conftest.$ac_ext <<_ACEOF |
| 7993 | /* confdefs.h. */ | 7957 | /* confdefs.h. */ |
| @@ -8061,8 +8025,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 8061 | cat conftest.err >&5 | 8025 | cat conftest.err >&5 |
| 8062 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 8026 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8063 | (exit $ac_status); } && | 8027 | (exit $ac_status); } && |
| 8064 | { ac_try='test -z "$ac_c_werror_flag" | 8028 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 8065 | || test ! -s conftest.err' | ||
| 8066 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 8029 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8067 | (eval $ac_try) 2>&5 | 8030 | (eval $ac_try) 2>&5 |
| 8068 | ac_status=$? | 8031 | ac_status=$? |
| @@ -8122,8 +8085,12 @@ else | |||
| 8122 | # Update the cache value to reflect the command line values. | 8085 | # Update the cache value to reflect the command line values. |
| 8123 | ac_cv_have_x="have_x=yes \ | 8086 | ac_cv_have_x="have_x=yes \ |
| 8124 | ac_x_includes=$x_includes ac_x_libraries=$x_libraries" | 8087 | ac_x_includes=$x_includes ac_x_libraries=$x_libraries" |
| 8125 | echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 | 8088 | # It might be that x_includes is empty (headers are found in the |
| 8126 | echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 | 8089 | # standard search path. Then output the corresponding message |
| 8090 | ac_out_x_includes=$x_includes | ||
| 8091 | test "x$x_includes" = x && ac_out_x_includes="in standard search path" | ||
| 8092 | echo "$as_me:$LINENO: result: libraries $x_libraries, headers $ac_out_x_includes" >&5 | ||
| 8093 | echo "${ECHO_T}libraries $x_libraries, headers $ac_out_x_includes" >&6 | ||
| 8127 | fi | 8094 | fi |
| 8128 | 8095 | ||
| 8129 | if test "$no_x" = yes; then | 8096 | if test "$no_x" = yes; then |
| @@ -8215,6 +8182,153 @@ if test "${opsys}" = "hpux9shr"; then | |||
| 8215 | esac | 8182 | esac |
| 8216 | fi | 8183 | fi |
| 8217 | 8184 | ||
| 8185 | HAVE_CARBON=no | ||
| 8186 | if test "${HAVE_X11}" != "yes"; then | ||
| 8187 | if test "${with_carbon}" != "no"; then | ||
| 8188 | if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then | ||
| 8189 | echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5 | ||
| 8190 | echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6 | ||
| 8191 | if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then | ||
| 8192 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 8193 | fi | ||
| 8194 | echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5 | ||
| 8195 | echo "${ECHO_T}$ac_cv_header_Carbon_Carbon_h" >&6 | ||
| 8196 | else | ||
| 8197 | # Is the header compilable? | ||
| 8198 | echo "$as_me:$LINENO: checking Carbon/Carbon.h usability" >&5 | ||
| 8199 | echo $ECHO_N "checking Carbon/Carbon.h usability... $ECHO_C" >&6 | ||
| 8200 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8201 | /* confdefs.h. */ | ||
| 8202 | _ACEOF | ||
| 8203 | cat confdefs.h >>conftest.$ac_ext | ||
| 8204 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 8205 | /* end confdefs.h. */ | ||
| 8206 | $ac_includes_default | ||
| 8207 | #include <Carbon/Carbon.h> | ||
| 8208 | _ACEOF | ||
| 8209 | rm -f conftest.$ac_objext | ||
| 8210 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 8211 | (eval $ac_compile) 2>conftest.er1 | ||
| 8212 | ac_status=$? | ||
| 8213 | grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8214 | rm -f conftest.er1 | ||
| 8215 | cat conftest.err >&5 | ||
| 8216 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8217 | (exit $ac_status); } && | ||
| 8218 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' | ||
| 8219 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8220 | (eval $ac_try) 2>&5 | ||
| 8221 | ac_status=$? | ||
| 8222 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8223 | (exit $ac_status); }; } && | ||
| 8224 | { ac_try='test -s conftest.$ac_objext' | ||
| 8225 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 8226 | (eval $ac_try) 2>&5 | ||
| 8227 | ac_status=$? | ||
| 8228 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8229 | (exit $ac_status); }; }; then | ||
| 8230 | ac_header_compiler=yes | ||
| 8231 | else | ||
| 8232 | echo "$as_me: failed program was:" >&5 | ||
| 8233 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 8234 | |||
| 8235 | ac_header_compiler=no | ||
| 8236 | fi | ||
| 8237 | rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 8238 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 8239 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 8240 | |||
| 8241 | # Is the header present? | ||
| 8242 | echo "$as_me:$LINENO: checking Carbon/Carbon.h presence" >&5 | ||
| 8243 | echo $ECHO_N "checking Carbon/Carbon.h presence... $ECHO_C" >&6 | ||
| 8244 | cat >conftest.$ac_ext <<_ACEOF | ||
| 8245 | /* confdefs.h. */ | ||
| 8246 | _ACEOF | ||
| 8247 | cat confdefs.h >>conftest.$ac_ext | ||
| 8248 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 8249 | /* end confdefs.h. */ | ||
| 8250 | #include <Carbon/Carbon.h> | ||
| 8251 | _ACEOF | ||
| 8252 | if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 | ||
| 8253 | (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 | ||
| 8254 | ac_status=$? | ||
| 8255 | grep -v '^ *+' conftest.er1 >conftest.err | ||
| 8256 | rm -f conftest.er1 | ||
| 8257 | cat conftest.err >&5 | ||
| 8258 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 8259 | (exit $ac_status); } >/dev/null; then | ||
| 8260 | if test -s conftest.err; then | ||
| 8261 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 8262 | ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 8263 | else | ||
| 8264 | ac_cpp_err= | ||
| 8265 | fi | ||
| 8266 | else | ||
| 8267 | ac_cpp_err=yes | ||
| 8268 | fi | ||
| 8269 | if test -z "$ac_cpp_err"; then | ||
| 8270 | ac_header_preproc=yes | ||
| 8271 | else | ||
| 8272 | echo "$as_me: failed program was:" >&5 | ||
| 8273 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 8274 | |||
| 8275 | ac_header_preproc=no | ||
| 8276 | fi | ||
| 8277 | rm -f conftest.err conftest.$ac_ext | ||
| 8278 | echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
| 8279 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 8280 | |||
| 8281 | # So? What about this header? | ||
| 8282 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 8283 | yes:no: ) | ||
| 8284 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 8285 | echo "$as_me: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 8286 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&5 | ||
| 8287 | echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&2;} | ||
| 8288 | ac_header_preproc=yes | ||
| 8289 | ;; | ||
| 8290 | no:yes:* ) | ||
| 8291 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&5 | ||
| 8292 | echo "$as_me: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&2;} | ||
| 8293 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: check for missing prerequisite headers?" >&5 | ||
| 8294 | echo "$as_me: WARNING: Carbon/Carbon.h: check for missing prerequisite headers?" >&2;} | ||
| 8295 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&5 | ||
| 8296 | echo "$as_me: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&2;} | ||
| 8297 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 8298 | echo "$as_me: WARNING: Carbon/Carbon.h: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 8299 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&5 | ||
| 8300 | echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&2;} | ||
| 8301 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&5 | ||
| 8302 | echo "$as_me: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&2;} | ||
| 8303 | ( | ||
| 8304 | cat <<\_ASBOX | ||
| 8305 | ## ------------------------------------------ ## | ||
| 8306 | ## Report this to the AC_PACKAGE_NAME lists. ## | ||
| 8307 | ## ------------------------------------------ ## | ||
| 8308 | _ASBOX | ||
| 8309 | ) | | ||
| 8310 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 8311 | ;; | ||
| 8312 | esac | ||
| 8313 | echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5 | ||
| 8314 | echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6 | ||
| 8315 | if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then | ||
| 8316 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 8317 | else | ||
| 8318 | ac_cv_header_Carbon_Carbon_h=$ac_header_preproc | ||
| 8319 | fi | ||
| 8320 | echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5 | ||
| 8321 | echo "${ECHO_T}$ac_cv_header_Carbon_Carbon_h" >&6 | ||
| 8322 | |||
| 8323 | fi | ||
| 8324 | if test $ac_cv_header_Carbon_Carbon_h = yes; then | ||
| 8325 | HAVE_CARBON=yes | ||
| 8326 | fi | ||
| 8327 | |||
| 8328 | |||
| 8329 | fi | ||
| 8330 | fi | ||
| 8331 | |||
| 8218 | ### Compute the unexec source name from the object name. | 8332 | ### Compute the unexec source name from the object name. |
| 8219 | UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" | 8333 | UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" |
| 8220 | 8334 | ||
| @@ -8287,8 +8401,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 8287 | cat conftest.err >&5 | 8401 | cat conftest.err >&5 |
| 8288 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 8402 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8289 | (exit $ac_status); } && | 8403 | (exit $ac_status); } && |
| 8290 | { ac_try='test -z "$ac_c_werror_flag" | 8404 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 8291 | || test ! -s conftest.err' | ||
| 8292 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 8405 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8293 | (eval $ac_try) 2>&5 | 8406 | (eval $ac_try) 2>&5 |
| 8294 | ac_status=$? | 8407 | ac_status=$? |
| @@ -8383,8 +8496,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 8383 | cat conftest.err >&5 | 8496 | cat conftest.err >&5 |
| 8384 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 8497 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8385 | (exit $ac_status); } && | 8498 | (exit $ac_status); } && |
| 8386 | { ac_try='test -z "$ac_c_werror_flag" | 8499 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 8387 | || test ! -s conftest.err' | ||
| 8388 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 8500 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8389 | (eval $ac_try) 2>&5 | 8501 | (eval $ac_try) 2>&5 |
| 8390 | ac_status=$? | 8502 | ac_status=$? |
| @@ -8443,8 +8555,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 8443 | cat conftest.err >&5 | 8555 | cat conftest.err >&5 |
| 8444 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 8556 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8445 | (exit $ac_status); } && | 8557 | (exit $ac_status); } && |
| 8446 | { ac_try='test -z "$ac_c_werror_flag" | 8558 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 8447 | || test ! -s conftest.err' | ||
| 8448 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 8559 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8449 | (eval $ac_try) 2>&5 | 8560 | (eval $ac_try) 2>&5 |
| 8450 | ac_status=$? | 8561 | ac_status=$? |
| @@ -8528,8 +8639,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 8528 | cat conftest.err >&5 | 8639 | cat conftest.err >&5 |
| 8529 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 8640 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8530 | (exit $ac_status); } && | 8641 | (exit $ac_status); } && |
| 8531 | { ac_try='test -z "$ac_c_werror_flag" | 8642 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 8532 | || test ! -s conftest.err' | ||
| 8533 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 8643 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8534 | (eval $ac_try) 2>&5 | 8644 | (eval $ac_try) 2>&5 |
| 8535 | ac_status=$? | 8645 | ac_status=$? |
| @@ -8713,8 +8823,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 8713 | cat conftest.err >&5 | 8823 | cat conftest.err >&5 |
| 8714 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 8824 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8715 | (exit $ac_status); } && | 8825 | (exit $ac_status); } && |
| 8716 | { ac_try='test -z "$ac_c_werror_flag" | 8826 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 8717 | || test ! -s conftest.err' | ||
| 8718 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 8827 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8719 | (eval $ac_try) 2>&5 | 8828 | (eval $ac_try) 2>&5 |
| 8720 | ac_status=$? | 8829 | ac_status=$? |
| @@ -8966,8 +9075,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 8966 | cat conftest.err >&5 | 9075 | cat conftest.err >&5 |
| 8967 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9076 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 8968 | (exit $ac_status); } && | 9077 | (exit $ac_status); } && |
| 8969 | { ac_try='test -z "$ac_c_werror_flag" | 9078 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 8970 | || test ! -s conftest.err' | ||
| 8971 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9079 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 8972 | (eval $ac_try) 2>&5 | 9080 | (eval $ac_try) 2>&5 |
| 8973 | ac_status=$? | 9081 | ac_status=$? |
| @@ -9034,8 +9142,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9034 | cat conftest.err >&5 | 9142 | cat conftest.err >&5 |
| 9035 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9143 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9036 | (exit $ac_status); } && | 9144 | (exit $ac_status); } && |
| 9037 | { ac_try='test -z "$ac_c_werror_flag" | 9145 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 9038 | || test ! -s conftest.err' | ||
| 9039 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9146 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9040 | (eval $ac_try) 2>&5 | 9147 | (eval $ac_try) 2>&5 |
| 9041 | ac_status=$? | 9148 | ac_status=$? |
| @@ -9104,8 +9211,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9104 | cat conftest.err >&5 | 9211 | cat conftest.err >&5 |
| 9105 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9212 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9106 | (exit $ac_status); } && | 9213 | (exit $ac_status); } && |
| 9107 | { ac_try='test -z "$ac_c_werror_flag" | 9214 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 9108 | || test ! -s conftest.err' | ||
| 9109 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9215 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9110 | (eval $ac_try) 2>&5 | 9216 | (eval $ac_try) 2>&5 |
| 9111 | ac_status=$? | 9217 | ac_status=$? |
| @@ -9190,8 +9296,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9190 | cat conftest.err >&5 | 9296 | cat conftest.err >&5 |
| 9191 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9297 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9192 | (exit $ac_status); } && | 9298 | (exit $ac_status); } && |
| 9193 | { ac_try='test -z "$ac_c_werror_flag" | 9299 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 9194 | || test ! -s conftest.err' | ||
| 9195 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9300 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9196 | (eval $ac_try) 2>&5 | 9301 | (eval $ac_try) 2>&5 |
| 9197 | ac_status=$? | 9302 | ac_status=$? |
| @@ -9268,8 +9373,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9268 | cat conftest.err >&5 | 9373 | cat conftest.err >&5 |
| 9269 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9374 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9270 | (exit $ac_status); } && | 9375 | (exit $ac_status); } && |
| 9271 | { ac_try='test -z "$ac_c_werror_flag" | 9376 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 9272 | || test ! -s conftest.err' | ||
| 9273 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9377 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9274 | (eval $ac_try) 2>&5 | 9378 | (eval $ac_try) 2>&5 |
| 9275 | ac_status=$? | 9379 | ac_status=$? |
| @@ -9323,8 +9427,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9323 | cat conftest.err >&5 | 9427 | cat conftest.err >&5 |
| 9324 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9428 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9325 | (exit $ac_status); } && | 9429 | (exit $ac_status); } && |
| 9326 | { ac_try='test -z "$ac_c_werror_flag" | 9430 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 9327 | || test ! -s conftest.err' | ||
| 9328 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9431 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9329 | (eval $ac_try) 2>&5 | 9432 | (eval $ac_try) 2>&5 |
| 9330 | ac_status=$? | 9433 | ac_status=$? |
| @@ -9393,8 +9496,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9393 | cat conftest.err >&5 | 9496 | cat conftest.err >&5 |
| 9394 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9497 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9395 | (exit $ac_status); } && | 9498 | (exit $ac_status); } && |
| 9396 | { ac_try='test -z "$ac_c_werror_flag" | 9499 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 9397 | || test ! -s conftest.err' | ||
| 9398 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9500 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9399 | (eval $ac_try) 2>&5 | 9501 | (eval $ac_try) 2>&5 |
| 9400 | ac_status=$? | 9502 | ac_status=$? |
| @@ -9498,8 +9600,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9498 | cat conftest.err >&5 | 9600 | cat conftest.err >&5 |
| 9499 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9601 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9500 | (exit $ac_status); } && | 9602 | (exit $ac_status); } && |
| 9501 | { ac_try='test -z "$ac_c_werror_flag" | 9603 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 9502 | || test ! -s conftest.err' | ||
| 9503 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9604 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9504 | (eval $ac_try) 2>&5 | 9605 | (eval $ac_try) 2>&5 |
| 9505 | ac_status=$? | 9606 | ac_status=$? |
| @@ -9566,8 +9667,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9566 | cat conftest.err >&5 | 9667 | cat conftest.err >&5 |
| 9567 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9668 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9568 | (exit $ac_status); } && | 9669 | (exit $ac_status); } && |
| 9569 | { ac_try='test -z "$ac_c_werror_flag" | 9670 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 9570 | || test ! -s conftest.err' | ||
| 9571 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9671 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9572 | (eval $ac_try) 2>&5 | 9672 | (eval $ac_try) 2>&5 |
| 9573 | ac_status=$? | 9673 | ac_status=$? |
| @@ -9637,8 +9737,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9637 | cat conftest.err >&5 | 9737 | cat conftest.err >&5 |
| 9638 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9738 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9639 | (exit $ac_status); } && | 9739 | (exit $ac_status); } && |
| 9640 | { ac_try='test -z "$ac_c_werror_flag" | 9740 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 9641 | || test ! -s conftest.err' | ||
| 9642 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9741 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9643 | (eval $ac_try) 2>&5 | 9742 | (eval $ac_try) 2>&5 |
| 9644 | ac_status=$? | 9743 | ac_status=$? |
| @@ -9878,8 +9977,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9878 | cat conftest.err >&5 | 9977 | cat conftest.err >&5 |
| 9879 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 9978 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9880 | (exit $ac_status); } && | 9979 | (exit $ac_status); } && |
| 9881 | { ac_try='test -z "$ac_c_werror_flag" | 9980 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 9882 | || test ! -s conftest.err' | ||
| 9883 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 9981 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9884 | (eval $ac_try) 2>&5 | 9982 | (eval $ac_try) 2>&5 |
| 9885 | ac_status=$? | 9983 | ac_status=$? |
| @@ -9988,8 +10086,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 9988 | cat conftest.err >&5 | 10086 | cat conftest.err >&5 |
| 9989 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10087 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 9990 | (exit $ac_status); } && | 10088 | (exit $ac_status); } && |
| 9991 | { ac_try='test -z "$ac_c_werror_flag" | 10089 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 9992 | || test ! -s conftest.err' | ||
| 9993 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10090 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 9994 | (eval $ac_try) 2>&5 | 10091 | (eval $ac_try) 2>&5 |
| 9995 | ac_status=$? | 10092 | ac_status=$? |
| @@ -10092,8 +10189,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10092 | cat conftest.err >&5 | 10189 | cat conftest.err >&5 |
| 10093 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10190 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10094 | (exit $ac_status); } && | 10191 | (exit $ac_status); } && |
| 10095 | { ac_try='test -z "$ac_c_werror_flag" | 10192 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 10096 | || test ! -s conftest.err' | ||
| 10097 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10193 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10098 | (eval $ac_try) 2>&5 | 10194 | (eval $ac_try) 2>&5 |
| 10099 | ac_status=$? | 10195 | ac_status=$? |
| @@ -10171,8 +10267,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 10171 | cat conftest.err >&5 | 10267 | cat conftest.err >&5 |
| 10172 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10268 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10173 | (exit $ac_status); } && | 10269 | (exit $ac_status); } && |
| 10174 | { ac_try='test -z "$ac_c_werror_flag" | 10270 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 10175 | || test ! -s conftest.err' | ||
| 10176 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10271 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10177 | (eval $ac_try) 2>&5 | 10272 | (eval $ac_try) 2>&5 |
| 10178 | ac_status=$? | 10273 | ac_status=$? |
| @@ -10326,8 +10421,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10326 | cat conftest.err >&5 | 10421 | cat conftest.err >&5 |
| 10327 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10422 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10328 | (exit $ac_status); } && | 10423 | (exit $ac_status); } && |
| 10329 | { ac_try='test -z "$ac_c_werror_flag" | 10424 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 10330 | || test ! -s conftest.err' | ||
| 10331 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10425 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10332 | (eval $ac_try) 2>&5 | 10426 | (eval $ac_try) 2>&5 |
| 10333 | ac_status=$? | 10427 | ac_status=$? |
| @@ -10401,8 +10495,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10401 | cat conftest.err >&5 | 10495 | cat conftest.err >&5 |
| 10402 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10496 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10403 | (exit $ac_status); } && | 10497 | (exit $ac_status); } && |
| 10404 | { ac_try='test -z "$ac_c_werror_flag" | 10498 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 10405 | || test ! -s conftest.err' | ||
| 10406 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10499 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10407 | (eval $ac_try) 2>&5 | 10500 | (eval $ac_try) 2>&5 |
| 10408 | ac_status=$? | 10501 | ac_status=$? |
| @@ -10474,8 +10567,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10474 | cat conftest.err >&5 | 10567 | cat conftest.err >&5 |
| 10475 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10568 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10476 | (exit $ac_status); } && | 10569 | (exit $ac_status); } && |
| 10477 | { ac_try='test -z "$ac_c_werror_flag" | 10570 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 10478 | || test ! -s conftest.err' | ||
| 10479 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10571 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10480 | (eval $ac_try) 2>&5 | 10572 | (eval $ac_try) 2>&5 |
| 10481 | ac_status=$? | 10573 | ac_status=$? |
| @@ -10557,8 +10649,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10557 | cat conftest.err >&5 | 10649 | cat conftest.err >&5 |
| 10558 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10650 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10559 | (exit $ac_status); } && | 10651 | (exit $ac_status); } && |
| 10560 | { ac_try='test -z "$ac_c_werror_flag" | 10652 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 10561 | || test ! -s conftest.err' | ||
| 10562 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10653 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10563 | (eval $ac_try) 2>&5 | 10654 | (eval $ac_try) 2>&5 |
| 10564 | ac_status=$? | 10655 | ac_status=$? |
| @@ -10637,8 +10728,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10637 | cat conftest.err >&5 | 10728 | cat conftest.err >&5 |
| 10638 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10729 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10639 | (exit $ac_status); } && | 10730 | (exit $ac_status); } && |
| 10640 | { ac_try='test -z "$ac_c_werror_flag" | 10731 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 10641 | || test ! -s conftest.err' | ||
| 10642 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10732 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10643 | (eval $ac_try) 2>&5 | 10733 | (eval $ac_try) 2>&5 |
| 10644 | ac_status=$? | 10734 | ac_status=$? |
| @@ -10709,8 +10799,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 10709 | cat conftest.err >&5 | 10799 | cat conftest.err >&5 |
| 10710 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10800 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10711 | (exit $ac_status); } && | 10801 | (exit $ac_status); } && |
| 10712 | { ac_try='test -z "$ac_c_werror_flag" | 10802 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 10713 | || test ! -s conftest.err' | ||
| 10714 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10803 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10715 | (eval $ac_try) 2>&5 | 10804 | (eval $ac_try) 2>&5 |
| 10716 | ac_status=$? | 10805 | ac_status=$? |
| @@ -10779,8 +10868,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10779 | cat conftest.err >&5 | 10868 | cat conftest.err >&5 |
| 10780 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10869 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10781 | (exit $ac_status); } && | 10870 | (exit $ac_status); } && |
| 10782 | { ac_try='test -z "$ac_c_werror_flag" | 10871 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 10783 | || test ! -s conftest.err' | ||
| 10784 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10872 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10785 | (eval $ac_try) 2>&5 | 10873 | (eval $ac_try) 2>&5 |
| 10786 | ac_status=$? | 10874 | ac_status=$? |
| @@ -10853,8 +10941,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 10853 | cat conftest.err >&5 | 10941 | cat conftest.err >&5 |
| 10854 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 10942 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10855 | (exit $ac_status); } && | 10943 | (exit $ac_status); } && |
| 10856 | { ac_try='test -z "$ac_c_werror_flag" | 10944 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 10857 | || test ! -s conftest.err' | ||
| 10858 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 10945 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10859 | (eval $ac_try) 2>&5 | 10946 | (eval $ac_try) 2>&5 |
| 10860 | ac_status=$? | 10947 | ac_status=$? |
| @@ -10977,8 +11064,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 10977 | cat conftest.err >&5 | 11064 | cat conftest.err >&5 |
| 10978 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11065 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 10979 | (exit $ac_status); } && | 11066 | (exit $ac_status); } && |
| 10980 | { ac_try='test -z "$ac_c_werror_flag" | 11067 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 10981 | || test ! -s conftest.err' | ||
| 10982 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11068 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 10983 | (eval $ac_try) 2>&5 | 11069 | (eval $ac_try) 2>&5 |
| 10984 | ac_status=$? | 11070 | ac_status=$? |
| @@ -11045,6 +11131,12 @@ _ACEOF | |||
| 11045 | _ACEOF | 11131 | _ACEOF |
| 11046 | 11132 | ||
| 11047 | USE_TOOLKIT_SCROLL_BARS=yes | 11133 | USE_TOOLKIT_SCROLL_BARS=yes |
| 11134 | elif test "${HAVE_CARBON}" = "yes"; then | ||
| 11135 | cat >>confdefs.h <<\_ACEOF | ||
| 11136 | #define USE_TOOLKIT_SCROLL_BARS 1 | ||
| 11137 | _ACEOF | ||
| 11138 | |||
| 11139 | USE_TOOLKIT_SCROLL_BARS=yes | ||
| 11048 | fi | 11140 | fi |
| 11049 | fi | 11141 | fi |
| 11050 | 11142 | ||
| @@ -11074,8 +11166,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 11074 | cat conftest.err >&5 | 11166 | cat conftest.err >&5 |
| 11075 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11167 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11076 | (exit $ac_status); } && | 11168 | (exit $ac_status); } && |
| 11077 | { ac_try='test -z "$ac_c_werror_flag" | 11169 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 11078 | || test ! -s conftest.err' | ||
| 11079 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11170 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11080 | (eval $ac_try) 2>&5 | 11171 | (eval $ac_try) 2>&5 |
| 11081 | ac_status=$? | 11172 | ac_status=$? |
| @@ -11155,8 +11246,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 11155 | cat conftest.err >&5 | 11246 | cat conftest.err >&5 |
| 11156 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11247 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11157 | (exit $ac_status); } && | 11248 | (exit $ac_status); } && |
| 11158 | { ac_try='test -z "$ac_c_werror_flag" | 11249 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 11159 | || test ! -s conftest.err' | ||
| 11160 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11250 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11161 | (eval $ac_try) 2>&5 | 11251 | (eval $ac_try) 2>&5 |
| 11162 | ac_status=$? | 11252 | ac_status=$? |
| @@ -11224,8 +11314,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 11224 | cat conftest.err >&5 | 11314 | cat conftest.err >&5 |
| 11225 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11315 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11226 | (exit $ac_status); } && | 11316 | (exit $ac_status); } && |
| 11227 | { ac_try='test -z "$ac_c_werror_flag" | 11317 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 11228 | || test ! -s conftest.err' | ||
| 11229 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11318 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11230 | (eval $ac_try) 2>&5 | 11319 | (eval $ac_try) 2>&5 |
| 11231 | ac_status=$? | 11320 | ac_status=$? |
| @@ -11370,8 +11459,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 11370 | cat conftest.err >&5 | 11459 | cat conftest.err >&5 |
| 11371 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11460 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11372 | (exit $ac_status); } && | 11461 | (exit $ac_status); } && |
| 11373 | { ac_try='test -z "$ac_c_werror_flag" | 11462 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 11374 | || test ! -s conftest.err' | ||
| 11375 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11463 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11376 | (eval $ac_try) 2>&5 | 11464 | (eval $ac_try) 2>&5 |
| 11377 | ac_status=$? | 11465 | ac_status=$? |
| @@ -11480,8 +11568,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 11480 | cat conftest.err >&5 | 11568 | cat conftest.err >&5 |
| 11481 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11569 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11482 | (exit $ac_status); } && | 11570 | (exit $ac_status); } && |
| 11483 | { ac_try='test -z "$ac_c_werror_flag" | 11571 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 11484 | || test ! -s conftest.err' | ||
| 11485 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11572 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11486 | (eval $ac_try) 2>&5 | 11573 | (eval $ac_try) 2>&5 |
| 11487 | ac_status=$? | 11574 | ac_status=$? |
| @@ -11626,8 +11713,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 11626 | cat conftest.err >&5 | 11713 | cat conftest.err >&5 |
| 11627 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11714 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11628 | (exit $ac_status); } && | 11715 | (exit $ac_status); } && |
| 11629 | { ac_try='test -z "$ac_c_werror_flag" | 11716 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 11630 | || test ! -s conftest.err' | ||
| 11631 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11717 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11632 | (eval $ac_try) 2>&5 | 11718 | (eval $ac_try) 2>&5 |
| 11633 | ac_status=$? | 11719 | ac_status=$? |
| @@ -11734,8 +11820,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 11734 | cat conftest.err >&5 | 11820 | cat conftest.err >&5 |
| 11735 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11821 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11736 | (exit $ac_status); } && | 11822 | (exit $ac_status); } && |
| 11737 | { ac_try='test -z "$ac_c_werror_flag" | 11823 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 11738 | || test ! -s conftest.err' | ||
| 11739 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11824 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11740 | (eval $ac_try) 2>&5 | 11825 | (eval $ac_try) 2>&5 |
| 11741 | ac_status=$? | 11826 | ac_status=$? |
| @@ -11889,8 +11974,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 11889 | cat conftest.err >&5 | 11974 | cat conftest.err >&5 |
| 11890 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 11975 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11891 | (exit $ac_status); } && | 11976 | (exit $ac_status); } && |
| 11892 | { ac_try='test -z "$ac_c_werror_flag" | 11977 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 11893 | || test ! -s conftest.err' | ||
| 11894 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 11978 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11895 | (eval $ac_try) 2>&5 | 11979 | (eval $ac_try) 2>&5 |
| 11896 | ac_status=$? | 11980 | ac_status=$? |
| @@ -11965,8 +12049,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 11965 | cat conftest.err >&5 | 12049 | cat conftest.err >&5 |
| 11966 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12050 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 11967 | (exit $ac_status); } && | 12051 | (exit $ac_status); } && |
| 11968 | { ac_try='test -z "$ac_c_werror_flag" | 12052 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 11969 | || test ! -s conftest.err' | ||
| 11970 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12053 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 11971 | (eval $ac_try) 2>&5 | 12054 | (eval $ac_try) 2>&5 |
| 11972 | ac_status=$? | 12055 | ac_status=$? |
| @@ -12114,8 +12197,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 12114 | cat conftest.err >&5 | 12197 | cat conftest.err >&5 |
| 12115 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12198 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12116 | (exit $ac_status); } && | 12199 | (exit $ac_status); } && |
| 12117 | { ac_try='test -z "$ac_c_werror_flag" | 12200 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 12118 | || test ! -s conftest.err' | ||
| 12119 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12201 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12120 | (eval $ac_try) 2>&5 | 12202 | (eval $ac_try) 2>&5 |
| 12121 | ac_status=$? | 12203 | ac_status=$? |
| @@ -12192,8 +12274,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 12192 | cat conftest.err >&5 | 12274 | cat conftest.err >&5 |
| 12193 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12275 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12194 | (exit $ac_status); } && | 12276 | (exit $ac_status); } && |
| 12195 | { ac_try='test -z "$ac_c_werror_flag" | 12277 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 12196 | || test ! -s conftest.err' | ||
| 12197 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12278 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12198 | (eval $ac_try) 2>&5 | 12279 | (eval $ac_try) 2>&5 |
| 12199 | ac_status=$? | 12280 | ac_status=$? |
| @@ -12340,8 +12421,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 12340 | cat conftest.err >&5 | 12421 | cat conftest.err >&5 |
| 12341 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12422 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12342 | (exit $ac_status); } && | 12423 | (exit $ac_status); } && |
| 12343 | { ac_try='test -z "$ac_c_werror_flag" | 12424 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 12344 | || test ! -s conftest.err' | ||
| 12345 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12425 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12346 | (eval $ac_try) 2>&5 | 12426 | (eval $ac_try) 2>&5 |
| 12347 | ac_status=$? | 12427 | ac_status=$? |
| @@ -12384,153 +12464,6 @@ _ACEOF | |||
| 12384 | fi | 12464 | fi |
| 12385 | fi | 12465 | fi |
| 12386 | 12466 | ||
| 12387 | ### Use Mac OS X Carbon API to implement GUI. | ||
| 12388 | HAVE_CARBON=no | ||
| 12389 | if test "${with_carbon}" != "no"; then | ||
| 12390 | if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then | ||
| 12391 | echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5 | ||
| 12392 | echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6 | ||
| 12393 | if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then | ||
| 12394 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 12395 | fi | ||
| 12396 | echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5 | ||
| 12397 | echo "${ECHO_T}$ac_cv_header_Carbon_Carbon_h" >&6 | ||
| 12398 | else | ||
| 12399 | # Is the header compilable? | ||
| 12400 | echo "$as_me:$LINENO: checking Carbon/Carbon.h usability" >&5 | ||
| 12401 | echo $ECHO_N "checking Carbon/Carbon.h usability... $ECHO_C" >&6 | ||
| 12402 | cat >conftest.$ac_ext <<_ACEOF | ||
| 12403 | /* confdefs.h. */ | ||
| 12404 | _ACEOF | ||
| 12405 | cat confdefs.h >>conftest.$ac_ext | ||
| 12406 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 12407 | /* end confdefs.h. */ | ||
| 12408 | $ac_includes_default | ||
| 12409 | #include <Carbon/Carbon.h> | ||
| 12410 | _ACEOF | ||
| 12411 | rm -f conftest.$ac_objext | ||
| 12412 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
| 12413 | (eval $ac_compile) 2>conftest.er1 | ||
| 12414 | ac_status=$? | ||
| 12415 | grep -v '^ *+' conftest.er1 >conftest.err | ||
| 12416 | rm -f conftest.er1 | ||
| 12417 | cat conftest.err >&5 | ||
| 12418 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 12419 | (exit $ac_status); } && | ||
| 12420 | { ac_try='test -z "$ac_c_werror_flag" | ||
| 12421 | || test ! -s conftest.err' | ||
| 12422 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 12423 | (eval $ac_try) 2>&5 | ||
| 12424 | ac_status=$? | ||
| 12425 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 12426 | (exit $ac_status); }; } && | ||
| 12427 | { ac_try='test -s conftest.$ac_objext' | ||
| 12428 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
| 12429 | (eval $ac_try) 2>&5 | ||
| 12430 | ac_status=$? | ||
| 12431 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 12432 | (exit $ac_status); }; }; then | ||
| 12433 | ac_header_compiler=yes | ||
| 12434 | else | ||
| 12435 | echo "$as_me: failed program was:" >&5 | ||
| 12436 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 12437 | |||
| 12438 | ac_header_compiler=no | ||
| 12439 | fi | ||
| 12440 | rm -f conftest.err conftest.$ac_objext conftest.$ac_ext | ||
| 12441 | echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
| 12442 | echo "${ECHO_T}$ac_header_compiler" >&6 | ||
| 12443 | |||
| 12444 | # Is the header present? | ||
| 12445 | echo "$as_me:$LINENO: checking Carbon/Carbon.h presence" >&5 | ||
| 12446 | echo $ECHO_N "checking Carbon/Carbon.h presence... $ECHO_C" >&6 | ||
| 12447 | cat >conftest.$ac_ext <<_ACEOF | ||
| 12448 | /* confdefs.h. */ | ||
| 12449 | _ACEOF | ||
| 12450 | cat confdefs.h >>conftest.$ac_ext | ||
| 12451 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 12452 | /* end confdefs.h. */ | ||
| 12453 | #include <Carbon/Carbon.h> | ||
| 12454 | _ACEOF | ||
| 12455 | if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 | ||
| 12456 | (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 | ||
| 12457 | ac_status=$? | ||
| 12458 | grep -v '^ *+' conftest.er1 >conftest.err | ||
| 12459 | rm -f conftest.er1 | ||
| 12460 | cat conftest.err >&5 | ||
| 12461 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 12462 | (exit $ac_status); } >/dev/null; then | ||
| 12463 | if test -s conftest.err; then | ||
| 12464 | ac_cpp_err=$ac_c_preproc_warn_flag | ||
| 12465 | ac_cpp_err=$ac_cpp_err$ac_c_werror_flag | ||
| 12466 | else | ||
| 12467 | ac_cpp_err= | ||
| 12468 | fi | ||
| 12469 | else | ||
| 12470 | ac_cpp_err=yes | ||
| 12471 | fi | ||
| 12472 | if test -z "$ac_cpp_err"; then | ||
| 12473 | ac_header_preproc=yes | ||
| 12474 | else | ||
| 12475 | echo "$as_me: failed program was:" >&5 | ||
| 12476 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 12477 | |||
| 12478 | ac_header_preproc=no | ||
| 12479 | fi | ||
| 12480 | rm -f conftest.err conftest.$ac_ext | ||
| 12481 | echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
| 12482 | echo "${ECHO_T}$ac_header_preproc" >&6 | ||
| 12483 | |||
| 12484 | # So? What about this header? | ||
| 12485 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in | ||
| 12486 | yes:no: ) | ||
| 12487 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
| 12488 | echo "$as_me: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
| 12489 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&5 | ||
| 12490 | echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&2;} | ||
| 12491 | ac_header_preproc=yes | ||
| 12492 | ;; | ||
| 12493 | no:yes:* ) | ||
| 12494 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&5 | ||
| 12495 | echo "$as_me: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&2;} | ||
| 12496 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: check for missing prerequisite headers?" >&5 | ||
| 12497 | echo "$as_me: WARNING: Carbon/Carbon.h: check for missing prerequisite headers?" >&2;} | ||
| 12498 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&5 | ||
| 12499 | echo "$as_me: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&2;} | ||
| 12500 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: section \"Present But Cannot Be Compiled\"" >&5 | ||
| 12501 | echo "$as_me: WARNING: Carbon/Carbon.h: section \"Present But Cannot Be Compiled\"" >&2;} | ||
| 12502 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&5 | ||
| 12503 | echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&2;} | ||
| 12504 | { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&5 | ||
| 12505 | echo "$as_me: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&2;} | ||
| 12506 | ( | ||
| 12507 | cat <<\_ASBOX | ||
| 12508 | ## ------------------------------------------ ## | ||
| 12509 | ## Report this to the AC_PACKAGE_NAME lists. ## | ||
| 12510 | ## ------------------------------------------ ## | ||
| 12511 | _ASBOX | ||
| 12512 | ) | | ||
| 12513 | sed "s/^/$as_me: WARNING: /" >&2 | ||
| 12514 | ;; | ||
| 12515 | esac | ||
| 12516 | echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5 | ||
| 12517 | echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6 | ||
| 12518 | if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then | ||
| 12519 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 12520 | else | ||
| 12521 | ac_cv_header_Carbon_Carbon_h=$ac_header_preproc | ||
| 12522 | fi | ||
| 12523 | echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5 | ||
| 12524 | echo "${ECHO_T}$ac_cv_header_Carbon_Carbon_h" >&6 | ||
| 12525 | |||
| 12526 | fi | ||
| 12527 | if test $ac_cv_header_Carbon_Carbon_h = yes; then | ||
| 12528 | HAVE_CARBON=yes | ||
| 12529 | fi | ||
| 12530 | |||
| 12531 | |||
| 12532 | fi | ||
| 12533 | |||
| 12534 | if test "${ac_cv_header_malloc_malloc_h+set}" = set; then | 12467 | if test "${ac_cv_header_malloc_malloc_h+set}" = set; then |
| 12535 | echo "$as_me:$LINENO: checking for malloc/malloc.h" >&5 | 12468 | echo "$as_me:$LINENO: checking for malloc/malloc.h" >&5 |
| 12536 | echo $ECHO_N "checking for malloc/malloc.h... $ECHO_C" >&6 | 12469 | echo $ECHO_N "checking for malloc/malloc.h... $ECHO_C" >&6 |
| @@ -12561,8 +12494,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 12561 | cat conftest.err >&5 | 12494 | cat conftest.err >&5 |
| 12562 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12495 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12563 | (exit $ac_status); } && | 12496 | (exit $ac_status); } && |
| 12564 | { ac_try='test -z "$ac_c_werror_flag" | 12497 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 12565 | || test ! -s conftest.err' | ||
| 12566 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12498 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12567 | (eval $ac_try) 2>&5 | 12499 | (eval $ac_try) 2>&5 |
| 12568 | ac_status=$? | 12500 | ac_status=$? |
| @@ -12678,6 +12610,7 @@ fi | |||
| 12678 | 12610 | ||
| 12679 | 12611 | ||
| 12680 | 12612 | ||
| 12613 | ### Use Mac OS X Carbon API to implement GUI. | ||
| 12681 | if test "${HAVE_CARBON}" = "yes"; then | 12614 | if test "${HAVE_CARBON}" = "yes"; then |
| 12682 | 12615 | ||
| 12683 | cat >>confdefs.h <<\_ACEOF | 12616 | cat >>confdefs.h <<\_ACEOF |
| @@ -12730,8 +12663,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 12730 | cat conftest.err >&5 | 12663 | cat conftest.err >&5 |
| 12731 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12664 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12732 | (exit $ac_status); } && | 12665 | (exit $ac_status); } && |
| 12733 | { ac_try='test -z "$ac_c_werror_flag" | 12666 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 12734 | || test ! -s conftest.err' | ||
| 12735 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12667 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12736 | (eval $ac_try) 2>&5 | 12668 | (eval $ac_try) 2>&5 |
| 12737 | ac_status=$? | 12669 | ac_status=$? |
| @@ -12876,8 +12808,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 12876 | cat conftest.err >&5 | 12808 | cat conftest.err >&5 |
| 12877 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12809 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12878 | (exit $ac_status); } && | 12810 | (exit $ac_status); } && |
| 12879 | { ac_try='test -z "$ac_c_werror_flag" | 12811 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 12880 | || test ! -s conftest.err' | ||
| 12881 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12812 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12882 | (eval $ac_try) 2>&5 | 12813 | (eval $ac_try) 2>&5 |
| 12883 | ac_status=$? | 12814 | ac_status=$? |
| @@ -12953,8 +12884,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 12953 | cat conftest.err >&5 | 12884 | cat conftest.err >&5 |
| 12954 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12885 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 12955 | (exit $ac_status); } && | 12886 | (exit $ac_status); } && |
| 12956 | { ac_try='test -z "$ac_c_werror_flag" | 12887 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 12957 | || test ! -s conftest.err' | ||
| 12958 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12888 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 12959 | (eval $ac_try) 2>&5 | 12889 | (eval $ac_try) 2>&5 |
| 12960 | ac_status=$? | 12890 | ac_status=$? |
| @@ -13017,8 +12947,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 13017 | cat conftest.err >&5 | 12947 | cat conftest.err >&5 |
| 13018 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 12948 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13019 | (exit $ac_status); } && | 12949 | (exit $ac_status); } && |
| 13020 | { ac_try='test -z "$ac_c_werror_flag" | 12950 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 13021 | || test ! -s conftest.err' | ||
| 13022 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 12951 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13023 | (eval $ac_try) 2>&5 | 12952 | (eval $ac_try) 2>&5 |
| 13024 | ac_status=$? | 12953 | ac_status=$? |
| @@ -13099,8 +13028,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 13099 | cat conftest.err >&5 | 13028 | cat conftest.err >&5 |
| 13100 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13029 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13101 | (exit $ac_status); } && | 13030 | (exit $ac_status); } && |
| 13102 | { ac_try='test -z "$ac_c_werror_flag" | 13031 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 13103 | || test ! -s conftest.err' | ||
| 13104 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13032 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13105 | (eval $ac_try) 2>&5 | 13033 | (eval $ac_try) 2>&5 |
| 13106 | ac_status=$? | 13034 | ac_status=$? |
| @@ -13241,8 +13169,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 13241 | cat conftest.err >&5 | 13169 | cat conftest.err >&5 |
| 13242 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13170 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13243 | (exit $ac_status); } && | 13171 | (exit $ac_status); } && |
| 13244 | { ac_try='test -z "$ac_c_werror_flag" | 13172 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 13245 | || test ! -s conftest.err' | ||
| 13246 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13173 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13247 | (eval $ac_try) 2>&5 | 13174 | (eval $ac_try) 2>&5 |
| 13248 | ac_status=$? | 13175 | ac_status=$? |
| @@ -13387,8 +13314,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 13387 | cat conftest.err >&5 | 13314 | cat conftest.err >&5 |
| 13388 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13315 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13389 | (exit $ac_status); } && | 13316 | (exit $ac_status); } && |
| 13390 | { ac_try='test -z "$ac_c_werror_flag" | 13317 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 13391 | || test ! -s conftest.err' | ||
| 13392 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13318 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13393 | (eval $ac_try) 2>&5 | 13319 | (eval $ac_try) 2>&5 |
| 13394 | ac_status=$? | 13320 | ac_status=$? |
| @@ -13464,8 +13390,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 13464 | cat conftest.err >&5 | 13390 | cat conftest.err >&5 |
| 13465 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13391 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13466 | (exit $ac_status); } && | 13392 | (exit $ac_status); } && |
| 13467 | { ac_try='test -z "$ac_c_werror_flag" | 13393 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 13468 | || test ! -s conftest.err' | ||
| 13469 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13394 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13470 | (eval $ac_try) 2>&5 | 13395 | (eval $ac_try) 2>&5 |
| 13471 | ac_status=$? | 13396 | ac_status=$? |
| @@ -13538,8 +13463,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 13538 | cat conftest.err >&5 | 13463 | cat conftest.err >&5 |
| 13539 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13464 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13540 | (exit $ac_status); } && | 13465 | (exit $ac_status); } && |
| 13541 | { ac_try='test -z "$ac_c_werror_flag" | 13466 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 13542 | || test ! -s conftest.err' | ||
| 13543 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13467 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13544 | (eval $ac_try) 2>&5 | 13468 | (eval $ac_try) 2>&5 |
| 13545 | ac_status=$? | 13469 | ac_status=$? |
| @@ -13694,8 +13618,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 13694 | cat conftest.err >&5 | 13618 | cat conftest.err >&5 |
| 13695 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13619 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13696 | (exit $ac_status); } && | 13620 | (exit $ac_status); } && |
| 13697 | { ac_try='test -z "$ac_c_werror_flag" | 13621 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 13698 | || test ! -s conftest.err' | ||
| 13699 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13622 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13700 | (eval $ac_try) 2>&5 | 13623 | (eval $ac_try) 2>&5 |
| 13701 | ac_status=$? | 13624 | ac_status=$? |
| @@ -13761,8 +13684,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 13761 | cat conftest.err >&5 | 13684 | cat conftest.err >&5 |
| 13762 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13685 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 13763 | (exit $ac_status); } && | 13686 | (exit $ac_status); } && |
| 13764 | { ac_try='test -z "$ac_c_werror_flag" | 13687 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 13765 | || test ! -s conftest.err' | ||
| 13766 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13688 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 13767 | (eval $ac_try) 2>&5 | 13689 | (eval $ac_try) 2>&5 |
| 13768 | ac_status=$? | 13690 | ac_status=$? |
| @@ -14021,8 +13943,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14021 | cat conftest.err >&5 | 13943 | cat conftest.err >&5 |
| 14022 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 13944 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14023 | (exit $ac_status); } && | 13945 | (exit $ac_status); } && |
| 14024 | { ac_try='test -z "$ac_c_werror_flag" | 13946 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 14025 | || test ! -s conftest.err' | ||
| 14026 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 13947 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14027 | (eval $ac_try) 2>&5 | 13948 | (eval $ac_try) 2>&5 |
| 14028 | ac_status=$? | 13949 | ac_status=$? |
| @@ -14089,8 +14010,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 14089 | cat conftest.err >&5 | 14010 | cat conftest.err >&5 |
| 14090 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14011 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14091 | (exit $ac_status); } && | 14012 | (exit $ac_status); } && |
| 14092 | { ac_try='test -z "$ac_c_werror_flag" | 14013 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 14093 | || test ! -s conftest.err' | ||
| 14094 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14014 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14095 | (eval $ac_try) 2>&5 | 14015 | (eval $ac_try) 2>&5 |
| 14096 | ac_status=$? | 14016 | ac_status=$? |
| @@ -14242,8 +14162,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 14242 | cat conftest.err >&5 | 14162 | cat conftest.err >&5 |
| 14243 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14163 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14244 | (exit $ac_status); } && | 14164 | (exit $ac_status); } && |
| 14245 | { ac_try='test -z "$ac_c_werror_flag" | 14165 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 14246 | || test ! -s conftest.err' | ||
| 14247 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14166 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14248 | (eval $ac_try) 2>&5 | 14167 | (eval $ac_try) 2>&5 |
| 14249 | ac_status=$? | 14168 | ac_status=$? |
| @@ -14427,8 +14346,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14427 | cat conftest.err >&5 | 14346 | cat conftest.err >&5 |
| 14428 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14347 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14429 | (exit $ac_status); } && | 14348 | (exit $ac_status); } && |
| 14430 | { ac_try='test -z "$ac_c_werror_flag" | 14349 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 14431 | || test ! -s conftest.err' | ||
| 14432 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14350 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14433 | (eval $ac_try) 2>&5 | 14351 | (eval $ac_try) 2>&5 |
| 14434 | ac_status=$? | 14352 | ac_status=$? |
| @@ -14755,8 +14673,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14755 | cat conftest.err >&5 | 14673 | cat conftest.err >&5 |
| 14756 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14674 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14757 | (exit $ac_status); } && | 14675 | (exit $ac_status); } && |
| 14758 | { ac_try='test -z "$ac_c_werror_flag" | 14676 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 14759 | || test ! -s conftest.err' | ||
| 14760 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14677 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14761 | (eval $ac_try) 2>&5 | 14678 | (eval $ac_try) 2>&5 |
| 14762 | ac_status=$? | 14679 | ac_status=$? |
| @@ -14857,8 +14774,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14857 | cat conftest.err >&5 | 14774 | cat conftest.err >&5 |
| 14858 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14775 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14859 | (exit $ac_status); } && | 14776 | (exit $ac_status); } && |
| 14860 | { ac_try='test -z "$ac_c_werror_flag" | 14777 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 14861 | || test ! -s conftest.err' | ||
| 14862 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14778 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14863 | (eval $ac_try) 2>&5 | 14779 | (eval $ac_try) 2>&5 |
| 14864 | ac_status=$? | 14780 | ac_status=$? |
| @@ -14931,8 +14847,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 14931 | cat conftest.err >&5 | 14847 | cat conftest.err >&5 |
| 14932 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14848 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 14933 | (exit $ac_status); } && | 14849 | (exit $ac_status); } && |
| 14934 | { ac_try='test -z "$ac_c_werror_flag" | 14850 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 14935 | || test ! -s conftest.err' | ||
| 14936 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14851 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 14937 | (eval $ac_try) 2>&5 | 14852 | (eval $ac_try) 2>&5 |
| 14938 | ac_status=$? | 14853 | ac_status=$? |
| @@ -15011,8 +14926,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 15011 | cat conftest.err >&5 | 14926 | cat conftest.err >&5 |
| 15012 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14927 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15013 | (exit $ac_status); } && | 14928 | (exit $ac_status); } && |
| 15014 | { ac_try='test -z "$ac_c_werror_flag" | 14929 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 15015 | || test ! -s conftest.err' | ||
| 15016 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14930 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15017 | (eval $ac_try) 2>&5 | 14931 | (eval $ac_try) 2>&5 |
| 15018 | ac_status=$? | 14932 | ac_status=$? |
| @@ -15081,8 +14995,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 15081 | cat conftest.err >&5 | 14995 | cat conftest.err >&5 |
| 15082 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 14996 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15083 | (exit $ac_status); } && | 14997 | (exit $ac_status); } && |
| 15084 | { ac_try='test -z "$ac_c_werror_flag" | 14998 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 15085 | || test ! -s conftest.err' | ||
| 15086 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 14999 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15087 | (eval $ac_try) 2>&5 | 15000 | (eval $ac_try) 2>&5 |
| 15088 | ac_status=$? | 15001 | ac_status=$? |
| @@ -15150,8 +15063,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 15150 | cat conftest.err >&5 | 15063 | cat conftest.err >&5 |
| 15151 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15064 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15152 | (exit $ac_status); } && | 15065 | (exit $ac_status); } && |
| 15153 | { ac_try='test -z "$ac_c_werror_flag" | 15066 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 15154 | || test ! -s conftest.err' | ||
| 15155 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15067 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15156 | (eval $ac_try) 2>&5 | 15068 | (eval $ac_try) 2>&5 |
| 15157 | ac_status=$? | 15069 | ac_status=$? |
| @@ -15225,8 +15137,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 15225 | cat conftest.err >&5 | 15137 | cat conftest.err >&5 |
| 15226 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15138 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15227 | (exit $ac_status); } && | 15139 | (exit $ac_status); } && |
| 15228 | { ac_try='test -z "$ac_c_werror_flag" | 15140 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 15229 | || test ! -s conftest.err' | ||
| 15230 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15141 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15231 | (eval $ac_try) 2>&5 | 15142 | (eval $ac_try) 2>&5 |
| 15232 | ac_status=$? | 15143 | ac_status=$? |
| @@ -15330,8 +15241,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 15330 | cat conftest.err >&5 | 15241 | cat conftest.err >&5 |
| 15331 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15242 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15332 | (exit $ac_status); } && | 15243 | (exit $ac_status); } && |
| 15333 | { ac_try='test -z "$ac_c_werror_flag" | 15244 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 15334 | || test ! -s conftest.err' | ||
| 15335 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15245 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15336 | (eval $ac_try) 2>&5 | 15246 | (eval $ac_try) 2>&5 |
| 15337 | ac_status=$? | 15247 | ac_status=$? |
| @@ -15406,8 +15316,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 15406 | cat conftest.err >&5 | 15316 | cat conftest.err >&5 |
| 15407 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15317 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15408 | (exit $ac_status); } && | 15318 | (exit $ac_status); } && |
| 15409 | { ac_try='test -z "$ac_c_werror_flag" | 15319 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 15410 | || test ! -s conftest.err' | ||
| 15411 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15320 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15412 | (eval $ac_try) 2>&5 | 15321 | (eval $ac_try) 2>&5 |
| 15413 | ac_status=$? | 15322 | ac_status=$? |
| @@ -15559,8 +15468,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 15559 | cat conftest.err >&5 | 15468 | cat conftest.err >&5 |
| 15560 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15469 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15561 | (exit $ac_status); } && | 15470 | (exit $ac_status); } && |
| 15562 | { ac_try='test -z "$ac_c_werror_flag" | 15471 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 15563 | || test ! -s conftest.err' | ||
| 15564 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15472 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15565 | (eval $ac_try) 2>&5 | 15473 | (eval $ac_try) 2>&5 |
| 15566 | ac_status=$? | 15474 | ac_status=$? |
| @@ -15628,8 +15536,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 15628 | cat conftest.err >&5 | 15536 | cat conftest.err >&5 |
| 15629 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15537 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15630 | (exit $ac_status); } && | 15538 | (exit $ac_status); } && |
| 15631 | { ac_try='test -z "$ac_c_werror_flag" | 15539 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 15632 | || test ! -s conftest.err' | ||
| 15633 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15540 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15634 | (eval $ac_try) 2>&5 | 15541 | (eval $ac_try) 2>&5 |
| 15635 | ac_status=$? | 15542 | ac_status=$? |
| @@ -15806,8 +15713,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 15806 | cat conftest.err >&5 | 15713 | cat conftest.err >&5 |
| 15807 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15714 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15808 | (exit $ac_status); } && | 15715 | (exit $ac_status); } && |
| 15809 | { ac_try='test -z "$ac_c_werror_flag" | 15716 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 15810 | || test ! -s conftest.err' | ||
| 15811 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15717 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15812 | (eval $ac_try) 2>&5 | 15718 | (eval $ac_try) 2>&5 |
| 15813 | ac_status=$? | 15719 | ac_status=$? |
| @@ -15883,8 +15789,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 15883 | cat conftest.err >&5 | 15789 | cat conftest.err >&5 |
| 15884 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15790 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 15885 | (exit $ac_status); } && | 15791 | (exit $ac_status); } && |
| 15886 | { ac_try='test -z "$ac_c_werror_flag" | 15792 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 15887 | || test ! -s conftest.err' | ||
| 15888 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15793 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 15889 | (eval $ac_try) 2>&5 | 15794 | (eval $ac_try) 2>&5 |
| 15890 | ac_status=$? | 15795 | ac_status=$? |
| @@ -16038,8 +15943,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 16038 | cat conftest.err >&5 | 15943 | cat conftest.err >&5 |
| 16039 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 15944 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16040 | (exit $ac_status); } && | 15945 | (exit $ac_status); } && |
| 16041 | { ac_try='test -z "$ac_c_werror_flag" | 15946 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 16042 | || test ! -s conftest.err' | ||
| 16043 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 15947 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16044 | (eval $ac_try) 2>&5 | 15948 | (eval $ac_try) 2>&5 |
| 16045 | ac_status=$? | 15949 | ac_status=$? |
| @@ -16190,8 +16094,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 16190 | cat conftest.err >&5 | 16094 | cat conftest.err >&5 |
| 16191 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16095 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16192 | (exit $ac_status); } && | 16096 | (exit $ac_status); } && |
| 16193 | { ac_try='test -z "$ac_c_werror_flag" | 16097 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 16194 | || test ! -s conftest.err' | ||
| 16195 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16098 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16196 | (eval $ac_try) 2>&5 | 16099 | (eval $ac_try) 2>&5 |
| 16197 | ac_status=$? | 16100 | ac_status=$? |
| @@ -16342,8 +16245,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 16342 | cat conftest.err >&5 | 16245 | cat conftest.err >&5 |
| 16343 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16246 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16344 | (exit $ac_status); } && | 16247 | (exit $ac_status); } && |
| 16345 | { ac_try='test -z "$ac_c_werror_flag" | 16248 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 16346 | || test ! -s conftest.err' | ||
| 16347 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16249 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16348 | (eval $ac_try) 2>&5 | 16250 | (eval $ac_try) 2>&5 |
| 16349 | ac_status=$? | 16251 | ac_status=$? |
| @@ -16485,8 +16387,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 16485 | cat conftest.err >&5 | 16387 | cat conftest.err >&5 |
| 16486 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16388 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16487 | (exit $ac_status); } && | 16389 | (exit $ac_status); } && |
| 16488 | { ac_try='test -z "$ac_c_werror_flag" | 16390 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 16489 | || test ! -s conftest.err' | ||
| 16490 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16391 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16491 | (eval $ac_try) 2>&5 | 16392 | (eval $ac_try) 2>&5 |
| 16492 | ac_status=$? | 16393 | ac_status=$? |
| @@ -16530,8 +16431,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 16530 | cat conftest.err >&5 | 16431 | cat conftest.err >&5 |
| 16531 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16432 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16532 | (exit $ac_status); } && | 16433 | (exit $ac_status); } && |
| 16533 | { ac_try='test -z "$ac_c_werror_flag" | 16434 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 16534 | || test ! -s conftest.err' | ||
| 16535 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16435 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16536 | (eval $ac_try) 2>&5 | 16436 | (eval $ac_try) 2>&5 |
| 16537 | ac_status=$? | 16437 | ac_status=$? |
| @@ -16677,8 +16577,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 16677 | cat conftest.err >&5 | 16577 | cat conftest.err >&5 |
| 16678 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16578 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16679 | (exit $ac_status); } && | 16579 | (exit $ac_status); } && |
| 16680 | { ac_try='test -z "$ac_c_werror_flag" | 16580 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 16681 | || test ! -s conftest.err' | ||
| 16682 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16581 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16683 | (eval $ac_try) 2>&5 | 16582 | (eval $ac_try) 2>&5 |
| 16684 | ac_status=$? | 16583 | ac_status=$? |
| @@ -16722,8 +16621,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 16722 | cat conftest.err >&5 | 16621 | cat conftest.err >&5 |
| 16723 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16622 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16724 | (exit $ac_status); } && | 16623 | (exit $ac_status); } && |
| 16725 | { ac_try='test -z "$ac_c_werror_flag" | 16624 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 16726 | || test ! -s conftest.err' | ||
| 16727 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16625 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16728 | (eval $ac_try) 2>&5 | 16626 | (eval $ac_try) 2>&5 |
| 16729 | ac_status=$? | 16627 | ac_status=$? |
| @@ -16788,8 +16686,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 16788 | cat conftest.err >&5 | 16686 | cat conftest.err >&5 |
| 16789 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16687 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16790 | (exit $ac_status); } && | 16688 | (exit $ac_status); } && |
| 16791 | { ac_try='test -z "$ac_c_werror_flag" | 16689 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 16792 | || test ! -s conftest.err' | ||
| 16793 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16690 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16794 | (eval $ac_try) 2>&5 | 16691 | (eval $ac_try) 2>&5 |
| 16795 | ac_status=$? | 16692 | ac_status=$? |
| @@ -16852,8 +16749,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 16852 | cat conftest.err >&5 | 16749 | cat conftest.err >&5 |
| 16853 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16750 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16854 | (exit $ac_status); } && | 16751 | (exit $ac_status); } && |
| 16855 | { ac_try='test -z "$ac_c_werror_flag" | 16752 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 16856 | || test ! -s conftest.err' | ||
| 16857 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16753 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16858 | (eval $ac_try) 2>&5 | 16754 | (eval $ac_try) 2>&5 |
| 16859 | ac_status=$? | 16755 | ac_status=$? |
| @@ -16955,8 +16851,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 16955 | cat conftest.err >&5 | 16851 | cat conftest.err >&5 |
| 16956 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16852 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 16957 | (exit $ac_status); } && | 16853 | (exit $ac_status); } && |
| 16958 | { ac_try='test -z "$ac_c_werror_flag" | 16854 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 16959 | || test ! -s conftest.err' | ||
| 16960 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16855 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 16961 | (eval $ac_try) 2>&5 | 16856 | (eval $ac_try) 2>&5 |
| 16962 | ac_status=$? | 16857 | ac_status=$? |
| @@ -17025,8 +16920,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17025 | cat conftest.err >&5 | 16920 | cat conftest.err >&5 |
| 17026 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 16921 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17027 | (exit $ac_status); } && | 16922 | (exit $ac_status); } && |
| 17028 | { ac_try='test -z "$ac_c_werror_flag" | 16923 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 17029 | || test ! -s conftest.err' | ||
| 17030 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 16924 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17031 | (eval $ac_try) 2>&5 | 16925 | (eval $ac_try) 2>&5 |
| 17032 | ac_status=$? | 16926 | ac_status=$? |
| @@ -17133,8 +17027,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17133 | cat conftest.err >&5 | 17027 | cat conftest.err >&5 |
| 17134 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17028 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17135 | (exit $ac_status); } && | 17029 | (exit $ac_status); } && |
| 17136 | { ac_try='test -z "$ac_c_werror_flag" | 17030 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 17137 | || test ! -s conftest.err' | ||
| 17138 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17031 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17139 | (eval $ac_try) 2>&5 | 17032 | (eval $ac_try) 2>&5 |
| 17140 | ac_status=$? | 17033 | ac_status=$? |
| @@ -17237,8 +17130,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17237 | cat conftest.err >&5 | 17130 | cat conftest.err >&5 |
| 17238 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17131 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17239 | (exit $ac_status); } && | 17132 | (exit $ac_status); } && |
| 17240 | { ac_try='test -z "$ac_c_werror_flag" | 17133 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 17241 | || test ! -s conftest.err' | ||
| 17242 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17134 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17243 | (eval $ac_try) 2>&5 | 17135 | (eval $ac_try) 2>&5 |
| 17244 | ac_status=$? | 17136 | ac_status=$? |
| @@ -17314,8 +17206,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17314 | cat conftest.err >&5 | 17206 | cat conftest.err >&5 |
| 17315 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17207 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17316 | (exit $ac_status); } && | 17208 | (exit $ac_status); } && |
| 17317 | { ac_try='test -z "$ac_c_werror_flag" | 17209 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 17318 | || test ! -s conftest.err' | ||
| 17319 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17210 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17320 | (eval $ac_try) 2>&5 | 17211 | (eval $ac_try) 2>&5 |
| 17321 | ac_status=$? | 17212 | ac_status=$? |
| @@ -17419,8 +17310,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17419 | cat conftest.err >&5 | 17310 | cat conftest.err >&5 |
| 17420 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17311 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17421 | (exit $ac_status); } && | 17312 | (exit $ac_status); } && |
| 17422 | { ac_try='test -z "$ac_c_werror_flag" | 17313 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 17423 | || test ! -s conftest.err' | ||
| 17424 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17314 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17425 | (eval $ac_try) 2>&5 | 17315 | (eval $ac_try) 2>&5 |
| 17426 | ac_status=$? | 17316 | ac_status=$? |
| @@ -17512,8 +17402,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17512 | cat conftest.err >&5 | 17402 | cat conftest.err >&5 |
| 17513 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17403 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17514 | (exit $ac_status); } && | 17404 | (exit $ac_status); } && |
| 17515 | { ac_try='test -z "$ac_c_werror_flag" | 17405 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 17516 | || test ! -s conftest.err' | ||
| 17517 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17406 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17518 | (eval $ac_try) 2>&5 | 17407 | (eval $ac_try) 2>&5 |
| 17519 | ac_status=$? | 17408 | ac_status=$? |
| @@ -17578,8 +17467,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17578 | cat conftest.err >&5 | 17467 | cat conftest.err >&5 |
| 17579 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17468 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17580 | (exit $ac_status); } && | 17469 | (exit $ac_status); } && |
| 17581 | { ac_try='test -z "$ac_c_werror_flag" | 17470 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 17582 | || test ! -s conftest.err' | ||
| 17583 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17471 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17584 | (eval $ac_try) 2>&5 | 17472 | (eval $ac_try) 2>&5 |
| 17585 | ac_status=$? | 17473 | ac_status=$? |
| @@ -17645,8 +17533,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17645 | cat conftest.err >&5 | 17533 | cat conftest.err >&5 |
| 17646 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17534 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17647 | (exit $ac_status); } && | 17535 | (exit $ac_status); } && |
| 17648 | { ac_try='test -z "$ac_c_werror_flag" | 17536 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 17649 | || test ! -s conftest.err' | ||
| 17650 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17537 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17651 | (eval $ac_try) 2>&5 | 17538 | (eval $ac_try) 2>&5 |
| 17652 | ac_status=$? | 17539 | ac_status=$? |
| @@ -17756,8 +17643,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17756 | cat conftest.err >&5 | 17643 | cat conftest.err >&5 |
| 17757 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17644 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17758 | (exit $ac_status); } && | 17645 | (exit $ac_status); } && |
| 17759 | { ac_try='test -z "$ac_c_werror_flag" | 17646 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 17760 | || test ! -s conftest.err' | ||
| 17761 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17647 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17762 | (eval $ac_try) 2>&5 | 17648 | (eval $ac_try) 2>&5 |
| 17763 | ac_status=$? | 17649 | ac_status=$? |
| @@ -17822,8 +17708,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17822 | cat conftest.err >&5 | 17708 | cat conftest.err >&5 |
| 17823 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17709 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17824 | (exit $ac_status); } && | 17710 | (exit $ac_status); } && |
| 17825 | { ac_try='test -z "$ac_c_werror_flag" | 17711 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 17826 | || test ! -s conftest.err' | ||
| 17827 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17712 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17828 | (eval $ac_try) 2>&5 | 17713 | (eval $ac_try) 2>&5 |
| 17829 | ac_status=$? | 17714 | ac_status=$? |
| @@ -17903,8 +17788,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17903 | cat conftest.err >&5 | 17788 | cat conftest.err >&5 |
| 17904 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17789 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17905 | (exit $ac_status); } && | 17790 | (exit $ac_status); } && |
| 17906 | { ac_try='test -z "$ac_c_werror_flag" | 17791 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 17907 | || test ! -s conftest.err' | ||
| 17908 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17792 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17909 | (eval $ac_try) 2>&5 | 17793 | (eval $ac_try) 2>&5 |
| 17910 | ac_status=$? | 17794 | ac_status=$? |
| @@ -17977,8 +17861,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 17977 | cat conftest.err >&5 | 17861 | cat conftest.err >&5 |
| 17978 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17862 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 17979 | (exit $ac_status); } && | 17863 | (exit $ac_status); } && |
| 17980 | { ac_try='test -z "$ac_c_werror_flag" | 17864 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 17981 | || test ! -s conftest.err' | ||
| 17982 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17865 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 17983 | (eval $ac_try) 2>&5 | 17866 | (eval $ac_try) 2>&5 |
| 17984 | ac_status=$? | 17867 | ac_status=$? |
| @@ -18051,8 +17934,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 18051 | cat conftest.err >&5 | 17934 | cat conftest.err >&5 |
| 18052 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 17935 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18053 | (exit $ac_status); } && | 17936 | (exit $ac_status); } && |
| 18054 | { ac_try='test -z "$ac_c_werror_flag" | 17937 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 18055 | || test ! -s conftest.err' | ||
| 18056 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 17938 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18057 | (eval $ac_try) 2>&5 | 17939 | (eval $ac_try) 2>&5 |
| 18058 | ac_status=$? | 17940 | ac_status=$? |
| @@ -18125,8 +18007,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 18125 | cat conftest.err >&5 | 18007 | cat conftest.err >&5 |
| 18126 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18008 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18127 | (exit $ac_status); } && | 18009 | (exit $ac_status); } && |
| 18128 | { ac_try='test -z "$ac_c_werror_flag" | 18010 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 18129 | || test ! -s conftest.err' | ||
| 18130 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18011 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18131 | (eval $ac_try) 2>&5 | 18012 | (eval $ac_try) 2>&5 |
| 18132 | ac_status=$? | 18013 | ac_status=$? |
| @@ -18200,8 +18081,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 18200 | cat conftest.err >&5 | 18081 | cat conftest.err >&5 |
| 18201 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18082 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18202 | (exit $ac_status); } && | 18083 | (exit $ac_status); } && |
| 18203 | { ac_try='test -z "$ac_c_werror_flag" | 18084 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 18204 | || test ! -s conftest.err' | ||
| 18205 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18085 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18206 | (eval $ac_try) 2>&5 | 18086 | (eval $ac_try) 2>&5 |
| 18207 | ac_status=$? | 18087 | ac_status=$? |
| @@ -18273,8 +18153,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 18273 | cat conftest.err >&5 | 18153 | cat conftest.err >&5 |
| 18274 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18154 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18275 | (exit $ac_status); } && | 18155 | (exit $ac_status); } && |
| 18276 | { ac_try='test -z "$ac_c_werror_flag" | 18156 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 18277 | || test ! -s conftest.err' | ||
| 18278 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18157 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18279 | (eval $ac_try) 2>&5 | 18158 | (eval $ac_try) 2>&5 |
| 18280 | ac_status=$? | 18159 | ac_status=$? |
| @@ -18349,8 +18228,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 18349 | cat conftest.err >&5 | 18228 | cat conftest.err >&5 |
| 18350 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18229 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18351 | (exit $ac_status); } && | 18230 | (exit $ac_status); } && |
| 18352 | { ac_try='test -z "$ac_c_werror_flag" | 18231 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 18353 | || test ! -s conftest.err' | ||
| 18354 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18232 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18355 | (eval $ac_try) 2>&5 | 18233 | (eval $ac_try) 2>&5 |
| 18356 | ac_status=$? | 18234 | ac_status=$? |
| @@ -18422,8 +18300,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 18422 | cat conftest.err >&5 | 18300 | cat conftest.err >&5 |
| 18423 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18301 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18424 | (exit $ac_status); } && | 18302 | (exit $ac_status); } && |
| 18425 | { ac_try='test -z "$ac_c_werror_flag" | 18303 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 18426 | || test ! -s conftest.err' | ||
| 18427 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18304 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18428 | (eval $ac_try) 2>&5 | 18305 | (eval $ac_try) 2>&5 |
| 18429 | ac_status=$? | 18306 | ac_status=$? |
| @@ -18496,8 +18373,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 18496 | cat conftest.err >&5 | 18373 | cat conftest.err >&5 |
| 18497 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18374 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18498 | (exit $ac_status); } && | 18375 | (exit $ac_status); } && |
| 18499 | { ac_try='test -z "$ac_c_werror_flag" | 18376 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 18500 | || test ! -s conftest.err' | ||
| 18501 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18377 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18502 | (eval $ac_try) 2>&5 | 18378 | (eval $ac_try) 2>&5 |
| 18503 | ac_status=$? | 18379 | ac_status=$? |
| @@ -18647,8 +18523,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 18647 | cat conftest.err >&5 | 18523 | cat conftest.err >&5 |
| 18648 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18524 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18649 | (exit $ac_status); } && | 18525 | (exit $ac_status); } && |
| 18650 | { ac_try='test -z "$ac_c_werror_flag" | 18526 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 18651 | || test ! -s conftest.err' | ||
| 18652 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18527 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18653 | (eval $ac_try) 2>&5 | 18528 | (eval $ac_try) 2>&5 |
| 18654 | ac_status=$? | 18529 | ac_status=$? |
| @@ -18794,8 +18669,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 18794 | cat conftest.err >&5 | 18669 | cat conftest.err >&5 |
| 18795 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18670 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18796 | (exit $ac_status); } && | 18671 | (exit $ac_status); } && |
| 18797 | { ac_try='test -z "$ac_c_werror_flag" | 18672 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 18798 | || test ! -s conftest.err' | ||
| 18799 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18673 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18800 | (eval $ac_try) 2>&5 | 18674 | (eval $ac_try) 2>&5 |
| 18801 | ac_status=$? | 18675 | ac_status=$? |
| @@ -18941,8 +18815,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 18941 | cat conftest.err >&5 | 18815 | cat conftest.err >&5 |
| 18942 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18816 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 18943 | (exit $ac_status); } && | 18817 | (exit $ac_status); } && |
| 18944 | { ac_try='test -z "$ac_c_werror_flag" | 18818 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 18945 | || test ! -s conftest.err' | ||
| 18946 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18819 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 18947 | (eval $ac_try) 2>&5 | 18820 | (eval $ac_try) 2>&5 |
| 18948 | ac_status=$? | 18821 | ac_status=$? |
| @@ -19099,8 +18972,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 19099 | cat conftest.err >&5 | 18972 | cat conftest.err >&5 |
| 19100 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 18973 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19101 | (exit $ac_status); } && | 18974 | (exit $ac_status); } && |
| 19102 | { ac_try='test -z "$ac_c_werror_flag" | 18975 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 19103 | || test ! -s conftest.err' | ||
| 19104 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 18976 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19105 | (eval $ac_try) 2>&5 | 18977 | (eval $ac_try) 2>&5 |
| 19106 | ac_status=$? | 18978 | ac_status=$? |
| @@ -19246,8 +19118,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 19246 | cat conftest.err >&5 | 19118 | cat conftest.err >&5 |
| 19247 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19119 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19248 | (exit $ac_status); } && | 19120 | (exit $ac_status); } && |
| 19249 | { ac_try='test -z "$ac_c_werror_flag" | 19121 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 19250 | || test ! -s conftest.err' | ||
| 19251 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19122 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19252 | (eval $ac_try) 2>&5 | 19123 | (eval $ac_try) 2>&5 |
| 19253 | ac_status=$? | 19124 | ac_status=$? |
| @@ -19393,8 +19264,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 19393 | cat conftest.err >&5 | 19264 | cat conftest.err >&5 |
| 19394 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19265 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19395 | (exit $ac_status); } && | 19266 | (exit $ac_status); } && |
| 19396 | { ac_try='test -z "$ac_c_werror_flag" | 19267 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 19397 | || test ! -s conftest.err' | ||
| 19398 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19268 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19399 | (eval $ac_try) 2>&5 | 19269 | (eval $ac_try) 2>&5 |
| 19400 | ac_status=$? | 19270 | ac_status=$? |
| @@ -19552,8 +19422,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 19552 | cat conftest.err >&5 | 19422 | cat conftest.err >&5 |
| 19553 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19423 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19554 | (exit $ac_status); } && | 19424 | (exit $ac_status); } && |
| 19555 | { ac_try='test -z "$ac_c_werror_flag" | 19425 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 19556 | || test ! -s conftest.err' | ||
| 19557 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19426 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19558 | (eval $ac_try) 2>&5 | 19427 | (eval $ac_try) 2>&5 |
| 19559 | ac_status=$? | 19428 | ac_status=$? |
| @@ -19711,8 +19580,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 19711 | cat conftest.err >&5 | 19580 | cat conftest.err >&5 |
| 19712 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19581 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19713 | (exit $ac_status); } && | 19582 | (exit $ac_status); } && |
| 19714 | { ac_try='test -z "$ac_c_werror_flag" | 19583 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 19715 | || test ! -s conftest.err' | ||
| 19716 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19584 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19717 | (eval $ac_try) 2>&5 | 19585 | (eval $ac_try) 2>&5 |
| 19718 | ac_status=$? | 19586 | ac_status=$? |
| @@ -19901,8 +19769,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 19901 | cat conftest.err >&5 | 19769 | cat conftest.err >&5 |
| 19902 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19770 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19903 | (exit $ac_status); } && | 19771 | (exit $ac_status); } && |
| 19904 | { ac_try='test -z "$ac_c_werror_flag" | 19772 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 19905 | || test ! -s conftest.err' | ||
| 19906 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19773 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19907 | (eval $ac_try) 2>&5 | 19774 | (eval $ac_try) 2>&5 |
| 19908 | ac_status=$? | 19775 | ac_status=$? |
| @@ -19975,8 +19842,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 19975 | cat conftest.err >&5 | 19842 | cat conftest.err >&5 |
| 19976 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19843 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 19977 | (exit $ac_status); } && | 19844 | (exit $ac_status); } && |
| 19978 | { ac_try='test -z "$ac_c_werror_flag" | 19845 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 19979 | || test ! -s conftest.err' | ||
| 19980 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19846 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 19981 | (eval $ac_try) 2>&5 | 19847 | (eval $ac_try) 2>&5 |
| 19982 | ac_status=$? | 19848 | ac_status=$? |
| @@ -20044,8 +19910,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20044 | cat conftest.err >&5 | 19910 | cat conftest.err >&5 |
| 20045 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19911 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20046 | (exit $ac_status); } && | 19912 | (exit $ac_status); } && |
| 20047 | { ac_try='test -z "$ac_c_werror_flag" | 19913 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 20048 | || test ! -s conftest.err' | ||
| 20049 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19914 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20050 | (eval $ac_try) 2>&5 | 19915 | (eval $ac_try) 2>&5 |
| 20051 | ac_status=$? | 19916 | ac_status=$? |
| @@ -20091,8 +19956,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20091 | cat conftest.err >&5 | 19956 | cat conftest.err >&5 |
| 20092 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 19957 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20093 | (exit $ac_status); } && | 19958 | (exit $ac_status); } && |
| 20094 | { ac_try='test -z "$ac_c_werror_flag" | 19959 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 20095 | || test ! -s conftest.err' | ||
| 20096 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 19960 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20097 | (eval $ac_try) 2>&5 | 19961 | (eval $ac_try) 2>&5 |
| 20098 | ac_status=$? | 19962 | ac_status=$? |
| @@ -20166,8 +20030,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 20166 | cat conftest.err >&5 | 20030 | cat conftest.err >&5 |
| 20167 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20031 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20168 | (exit $ac_status); } && | 20032 | (exit $ac_status); } && |
| 20169 | { ac_try='test -z "$ac_c_werror_flag" | 20033 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 20170 | || test ! -s conftest.err' | ||
| 20171 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20034 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20172 | (eval $ac_try) 2>&5 | 20035 | (eval $ac_try) 2>&5 |
| 20173 | ac_status=$? | 20036 | ac_status=$? |
| @@ -20231,8 +20094,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20231 | cat conftest.err >&5 | 20094 | cat conftest.err >&5 |
| 20232 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20095 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20233 | (exit $ac_status); } && | 20096 | (exit $ac_status); } && |
| 20234 | { ac_try='test -z "$ac_c_werror_flag" | 20097 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 20235 | || test ! -s conftest.err' | ||
| 20236 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20098 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20237 | (eval $ac_try) 2>&5 | 20099 | (eval $ac_try) 2>&5 |
| 20238 | ac_status=$? | 20100 | ac_status=$? |
| @@ -20370,8 +20232,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 20370 | cat conftest.err >&5 | 20232 | cat conftest.err >&5 |
| 20371 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20233 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20372 | (exit $ac_status); } && | 20234 | (exit $ac_status); } && |
| 20373 | { ac_try='test -z "$ac_c_werror_flag" | 20235 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 20374 | || test ! -s conftest.err' | ||
| 20375 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20236 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20376 | (eval $ac_try) 2>&5 | 20237 | (eval $ac_try) 2>&5 |
| 20377 | ac_status=$? | 20238 | ac_status=$? |
| @@ -20432,8 +20293,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20432 | cat conftest.err >&5 | 20293 | cat conftest.err >&5 |
| 20433 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20294 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20434 | (exit $ac_status); } && | 20295 | (exit $ac_status); } && |
| 20435 | { ac_try='test -z "$ac_c_werror_flag" | 20296 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 20436 | || test ! -s conftest.err' | ||
| 20437 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20297 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20438 | (eval $ac_try) 2>&5 | 20298 | (eval $ac_try) 2>&5 |
| 20439 | ac_status=$? | 20299 | ac_status=$? |
| @@ -20578,8 +20438,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20578 | cat conftest.err >&5 | 20438 | cat conftest.err >&5 |
| 20579 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20439 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20580 | (exit $ac_status); } && | 20440 | (exit $ac_status); } && |
| 20581 | { ac_try='test -z "$ac_c_werror_flag" | 20441 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 20582 | || test ! -s conftest.err' | ||
| 20583 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20442 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20584 | (eval $ac_try) 2>&5 | 20443 | (eval $ac_try) 2>&5 |
| 20585 | ac_status=$? | 20444 | ac_status=$? |
| @@ -20735,8 +20594,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20735 | cat conftest.err >&5 | 20594 | cat conftest.err >&5 |
| 20736 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20595 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20737 | (exit $ac_status); } && | 20596 | (exit $ac_status); } && |
| 20738 | { ac_try='test -z "$ac_c_werror_flag" | 20597 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 20739 | || test ! -s conftest.err' | ||
| 20740 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20598 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20741 | (eval $ac_try) 2>&5 | 20599 | (eval $ac_try) 2>&5 |
| 20742 | ac_status=$? | 20600 | ac_status=$? |
| @@ -20907,8 +20765,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20907 | cat conftest.err >&5 | 20765 | cat conftest.err >&5 |
| 20908 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20766 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20909 | (exit $ac_status); } && | 20767 | (exit $ac_status); } && |
| 20910 | { ac_try='test -z "$ac_c_werror_flag" | 20768 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 20911 | || test ! -s conftest.err' | ||
| 20912 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20769 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20913 | (eval $ac_try) 2>&5 | 20770 | (eval $ac_try) 2>&5 |
| 20914 | ac_status=$? | 20771 | ac_status=$? |
| @@ -20976,8 +20833,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 20976 | cat conftest.err >&5 | 20833 | cat conftest.err >&5 |
| 20977 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 20834 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 20978 | (exit $ac_status); } && | 20835 | (exit $ac_status); } && |
| 20979 | { ac_try='test -z "$ac_c_werror_flag" | 20836 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 20980 | || test ! -s conftest.err' | ||
| 20981 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 20837 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 20982 | (eval $ac_try) 2>&5 | 20838 | (eval $ac_try) 2>&5 |
| 20983 | ac_status=$? | 20839 | ac_status=$? |
| @@ -21162,8 +21018,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 21162 | cat conftest.err >&5 | 21018 | cat conftest.err >&5 |
| 21163 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 21019 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 21164 | (exit $ac_status); } && | 21020 | (exit $ac_status); } && |
| 21165 | { ac_try='test -z "$ac_c_werror_flag" | 21021 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 21166 | || test ! -s conftest.err' | ||
| 21167 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 21022 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 21168 | (eval $ac_try) 2>&5 | 21023 | (eval $ac_try) 2>&5 |
| 21169 | ac_status=$? | 21024 | ac_status=$? |
| @@ -21456,8 +21311,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | |||
| 21456 | cat conftest.err >&5 | 21311 | cat conftest.err >&5 |
| 21457 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 21312 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 21458 | (exit $ac_status); } && | 21313 | (exit $ac_status); } && |
| 21459 | { ac_try='test -z "$ac_c_werror_flag" | 21314 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 21460 | || test ! -s conftest.err' | ||
| 21461 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 21315 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 21462 | (eval $ac_try) 2>&5 | 21316 | (eval $ac_try) 2>&5 |
| 21463 | ac_status=$? | 21317 | ac_status=$? |
| @@ -21522,8 +21376,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 21522 | cat conftest.err >&5 | 21376 | cat conftest.err >&5 |
| 21523 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 21377 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 21524 | (exit $ac_status); } && | 21378 | (exit $ac_status); } && |
| 21525 | { ac_try='test -z "$ac_c_werror_flag" | 21379 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 21526 | || test ! -s conftest.err' | ||
| 21527 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 21380 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 21528 | (eval $ac_try) 2>&5 | 21381 | (eval $ac_try) 2>&5 |
| 21529 | ac_status=$? | 21382 | ac_status=$? |
| @@ -21586,8 +21439,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 21586 | cat conftest.err >&5 | 21439 | cat conftest.err >&5 |
| 21587 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 21440 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 21588 | (exit $ac_status); } && | 21441 | (exit $ac_status); } && |
| 21589 | { ac_try='test -z "$ac_c_werror_flag" | 21442 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 21590 | || test ! -s conftest.err' | ||
| 21591 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 21443 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 21592 | (eval $ac_try) 2>&5 | 21444 | (eval $ac_try) 2>&5 |
| 21593 | ac_status=$? | 21445 | ac_status=$? |
| @@ -21653,8 +21505,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 21653 | cat conftest.err >&5 | 21505 | cat conftest.err >&5 |
| 21654 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 21506 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 21655 | (exit $ac_status); } && | 21507 | (exit $ac_status); } && |
| 21656 | { ac_try='test -z "$ac_c_werror_flag" | 21508 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 21657 | || test ! -s conftest.err' | ||
| 21658 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 21509 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 21659 | (eval $ac_try) 2>&5 | 21510 | (eval $ac_try) 2>&5 |
| 21660 | ac_status=$? | 21511 | ac_status=$? |
| @@ -21695,8 +21546,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 21695 | cat conftest.err >&5 | 21546 | cat conftest.err >&5 |
| 21696 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 21547 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 21697 | (exit $ac_status); } && | 21548 | (exit $ac_status); } && |
| 21698 | { ac_try='test -z "$ac_c_werror_flag" | 21549 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 21699 | || test ! -s conftest.err' | ||
| 21700 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 21550 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 21701 | (eval $ac_try) 2>&5 | 21551 | (eval $ac_try) 2>&5 |
| 21702 | ac_status=$? | 21552 | ac_status=$? |
| @@ -21763,8 +21613,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | |||
| 21763 | cat conftest.err >&5 | 21613 | cat conftest.err >&5 |
| 21764 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | 21614 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
| 21765 | (exit $ac_status); } && | 21615 | (exit $ac_status); } && |
| 21766 | { ac_try='test -z "$ac_c_werror_flag" | 21616 | { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' |
| 21767 | || test ! -s conftest.err' | ||
| 21768 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | 21617 | { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
| 21769 | (eval $ac_try) 2>&5 | 21618 | (eval $ac_try) 2>&5 |
| 21770 | ac_status=$? | 21619 | ac_status=$? |
| @@ -22878,11 +22727,6 @@ esac | |||
| 22878 | *) ac_INSTALL=$ac_top_builddir$INSTALL ;; | 22727 | *) ac_INSTALL=$ac_top_builddir$INSTALL ;; |
| 22879 | esac | 22728 | esac |
| 22880 | 22729 | ||
| 22881 | if test x"$ac_file" != x-; then | ||
| 22882 | { echo "$as_me:$LINENO: creating $ac_file" >&5 | ||
| 22883 | echo "$as_me: creating $ac_file" >&6;} | ||
| 22884 | rm -f "$ac_file" | ||
| 22885 | fi | ||
| 22886 | # Let's still pretend it is `configure' which instantiates (i.e., don't | 22730 | # Let's still pretend it is `configure' which instantiates (i.e., don't |
| 22887 | # use $as_me), people would be surprised to read: | 22731 | # use $as_me), people would be surprised to read: |
| 22888 | # /* config.h. Generated by config.status. */ | 22732 | # /* config.h. Generated by config.status. */ |
| @@ -22921,6 +22765,12 @@ echo "$as_me: error: cannot find input file: $f" >&2;} | |||
| 22921 | fi;; | 22765 | fi;; |
| 22922 | esac | 22766 | esac |
| 22923 | done` || { (exit 1); exit 1; } | 22767 | done` || { (exit 1); exit 1; } |
| 22768 | |||
| 22769 | if test x"$ac_file" != x-; then | ||
| 22770 | { echo "$as_me:$LINENO: creating $ac_file" >&5 | ||
| 22771 | echo "$as_me: creating $ac_file" >&6;} | ||
| 22772 | rm -f "$ac_file" | ||
| 22773 | fi | ||
| 22924 | _ACEOF | 22774 | _ACEOF |
| 22925 | cat >>$CONFIG_STATUS <<_ACEOF | 22775 | cat >>$CONFIG_STATUS <<_ACEOF |
| 22926 | sed "$ac_vpsub | 22776 | sed "$ac_vpsub |
diff --git a/configure.in b/configure.in index 136cd510307..22ed448803b 100644 --- a/configure.in +++ b/configure.in | |||
| @@ -142,6 +142,16 @@ else | |||
| 142 | fi | 142 | fi |
| 143 | AC_SUBST(MAINT) | 143 | AC_SUBST(MAINT) |
| 144 | 144 | ||
| 145 | AC_ARG_ENABLE(locallisppath, | ||
| 146 | [ --enable-locallisppath=PATH | ||
| 147 | directories Emacs should search for lisp files | ||
| 148 | specific to this site], | ||
| 149 | if test "${enableval}" = "no"; then | ||
| 150 | locallisppath= | ||
| 151 | elif test "${enableval}" != "yes"; then | ||
| 152 | locallisppath=${enableval} | ||
| 153 | fi) | ||
| 154 | |||
| 145 | #### Make srcdir absolute, if it isn't already. It's important to | 155 | #### Make srcdir absolute, if it isn't already. It's important to |
| 146 | #### avoid running the path through pwd unnecessarily, since pwd can | 156 | #### avoid running the path through pwd unnecessarily, since pwd can |
| 147 | #### give you automounter prefixes, which can go away. We do all this | 157 | #### give you automounter prefixes, which can go away. We do all this |
| @@ -1694,6 +1704,13 @@ if test "${opsys}" = "hpux9shr"; then | |||
| 1694 | esac | 1704 | esac |
| 1695 | fi | 1705 | fi |
| 1696 | 1706 | ||
| 1707 | HAVE_CARBON=no | ||
| 1708 | if test "${HAVE_X11}" != "yes"; then | ||
| 1709 | if test "${with_carbon}" != "no"; then | ||
| 1710 | AC_CHECK_HEADER(Carbon/Carbon.h, HAVE_CARBON=yes) | ||
| 1711 | fi | ||
| 1712 | fi | ||
| 1713 | |||
| 1697 | ### Compute the unexec source name from the object name. | 1714 | ### Compute the unexec source name from the object name. |
| 1698 | UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" | 1715 | UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" |
| 1699 | 1716 | ||
| @@ -2155,6 +2172,9 @@ if test "${with_toolkit_scroll_bars}" != "no"; then | |||
| 2155 | elif test "${HAVE_GTK}" = "yes"; then | 2172 | elif test "${HAVE_GTK}" = "yes"; then |
| 2156 | AC_DEFINE(USE_TOOLKIT_SCROLL_BARS) | 2173 | AC_DEFINE(USE_TOOLKIT_SCROLL_BARS) |
| 2157 | USE_TOOLKIT_SCROLL_BARS=yes | 2174 | USE_TOOLKIT_SCROLL_BARS=yes |
| 2175 | elif test "${HAVE_CARBON}" = "yes"; then | ||
| 2176 | AC_DEFINE(USE_TOOLKIT_SCROLL_BARS) | ||
| 2177 | USE_TOOLKIT_SCROLL_BARS=yes | ||
| 2158 | fi | 2178 | fi |
| 2159 | fi | 2179 | fi |
| 2160 | 2180 | ||
| @@ -2308,15 +2328,10 @@ if test "${HAVE_X11}" = "yes"; then | |||
| 2308 | fi | 2328 | fi |
| 2309 | fi | 2329 | fi |
| 2310 | 2330 | ||
| 2311 | ### Use Mac OS X Carbon API to implement GUI. | ||
| 2312 | HAVE_CARBON=no | ||
| 2313 | if test "${with_carbon}" != "no"; then | ||
| 2314 | AC_CHECK_HEADER(Carbon/Carbon.h, HAVE_CARBON=yes) | ||
| 2315 | fi | ||
| 2316 | |||
| 2317 | dnl Check for malloc/malloc.h on darwin | 2331 | dnl Check for malloc/malloc.h on darwin |
| 2318 | AC_CHECK_HEADER(malloc/malloc.h, AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 if you have the <malloc/malloc.h> header file.])) | 2332 | AC_CHECK_HEADER(malloc/malloc.h, AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 if you have the <malloc/malloc.h> header file.])) |
| 2319 | 2333 | ||
| 2334 | ### Use Mac OS X Carbon API to implement GUI. | ||
| 2320 | if test "${HAVE_CARBON}" = "yes"; then | 2335 | if test "${HAVE_CARBON}" = "yes"; then |
| 2321 | AC_DEFINE(HAVE_CARBON, 1, [Define to 1 if you are using the Carbon API on Mac OS X.]) | 2336 | AC_DEFINE(HAVE_CARBON, 1, [Define to 1 if you are using the Carbon API on Mac OS X.]) |
| 2322 | window_system=mac | 2337 | window_system=mac |
diff --git a/etc/ChangeLog b/etc/ChangeLog index 95f847ac9ee..0efca03ac29 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,22 @@ | |||
| 1 | 2005-05-19 Nick Roberts <nickrob@snap.net.nz> | ||
| 2 | |||
| 3 | * TODO: post-command-idle-hook has gone. | ||
| 4 | |||
| 5 | 2005-05-16 Juanma Barranquero <lekktu@gmail.com> | ||
| 6 | |||
| 7 | * NEWS: Remove references to open-network-stream-nowait and | ||
| 8 | open-network-stream-server. | ||
| 9 | |||
| 10 | 2005-05-15 Richard M. Stallman <rms@gnu.org> | ||
| 11 | |||
| 12 | * GNU: Correct/improve previous change. | ||
| 13 | |||
| 14 | 2005-05-14 Richard M. Stallman <rms@gnu.org> | ||
| 15 | |||
| 16 | * GNU: Update footnotes. | ||
| 17 | |||
| 18 | * NEWS: Lots of clarifications and cleanups. | ||
| 19 | |||
| 1 | 2005-05-05 Slawomir Nowaczyk <slawek@cs.lth.se> (tiny change) | 20 | 2005-05-05 Slawomir Nowaczyk <slawek@cs.lth.se> (tiny change) |
| 2 | 21 | ||
| 3 | * TUTORIAL.pl: Updated header. | 22 | * TUTORIAL.pl: Updated header. |
| @@ -87,9 +106,9 @@ | |||
| 87 | * TUTORIAL.pl, TUTORIAL.pt_BR, TUTORIAL.ro, TUTORIAL.ru, | 106 | * TUTORIAL.pl, TUTORIAL.pt_BR, TUTORIAL.ro, TUTORIAL.ru, |
| 88 | * TUTORIAL.sk, TUTORIAL.sl, TUTORIAL.th, TUTORIAL.zh: Fix title | 107 | * TUTORIAL.sk, TUTORIAL.sl, TUTORIAL.th, TUTORIAL.zh: Fix title |
| 89 | line. | 108 | line. |
| 90 | 109 | ||
| 91 | 2005-04-01 Ognyan Kulev <ogi@fmi.uni-sofia.bg> | 110 | 2005-04-01 Ognyan Kulev <ogi@fmi.uni-sofia.bg> |
| 92 | 111 | ||
| 93 | * TUTORIAL.bg: Fix title line; Applied TUTORIAL changes in | 112 | * TUTORIAL.bg: Fix title line; Applied TUTORIAL changes in |
| 94 | 2005-02-08T14:20:54Z!lute@gnu.org, "Emacs" is not transliterated to cyrillic anymore; | 113 | 2005-02-08T14:20:54Z!lute@gnu.org, "Emacs" is not transliterated to cyrillic anymore; |
| 95 | Minor fixes. | 114 | Minor fixes. |
| @@ -1836,9 +1855,9 @@ | |||
| 1836 | * emacstool.c: setenv IN_EMACSTOOL=t, TERM=sun, TERMCAP=. | 1855 | * emacstool.c: setenv IN_EMACSTOOL=t, TERM=sun, TERMCAP=. |
| 1837 | 1856 | ||
| 1838 | * emacsstool.1: update to document environment variables. | 1857 | * emacsstool.1: update to document environment variables. |
| 1839 | 1858 | ||
| 1840 | 1989-02-21 Mosur Mohan (email@notavailable) | 1859 | 1989-02-21 Mosur Mohan (email@notavailable) |
| 1841 | 1860 | ||
| 1842 | * etags.c (PAS_funcs): New function. | 1861 | * etags.c (PAS_funcs): New function. |
| 1843 | 1862 | ||
| 1844 | 1989-02-21 Richard Stallman (rms@sugar-bombs.ai.mit.edu) | 1863 | 1989-02-21 Richard Stallman (rms@sugar-bombs.ai.mit.edu) |
| @@ -1863,7 +1882,7 @@ | |||
| 1863 | 1882 | ||
| 1864 | 1989-01-19 Sam Kendall (email@notavailable) | 1883 | 1989-01-19 Sam Kendall (email@notavailable) |
| 1865 | 1884 | ||
| 1866 | * etags.c: Greatly rewritten for C++ support and for multiple tags | 1885 | * etags.c: Greatly rewritten for C++ support and for multiple tags |
| 1867 | per line. | 1886 | per line. |
| 1868 | 1887 | ||
| 1869 | 1989-01-03 Richard Stallman (rms@sugar-bombs.ai.mit.edu) | 1888 | 1989-01-03 Richard Stallman (rms@sugar-bombs.ai.mit.edu) |
| @@ -1,4 +1,4 @@ | |||
| 1 | Copyright (C) 1985, 1993, 2003 Free Software Foundation, Inc. | 1 | Copyright (C) 1985, 1993, 2003, 2005 Free Software Foundation, Inc. |
| 2 | 2 | ||
| 3 | Permission is granted to anyone to make or distribute verbatim copies | 3 | Permission is granted to anyone to make or distribute verbatim copies |
| 4 | of this document, in any medium, provided that the copyright notice and | 4 | of this document, in any medium, provided that the copyright notice and |
| @@ -446,7 +446,7 @@ operating systems onto the new hardware. | |||
| 446 | The sale of teaching, hand-holding and maintenance services could | 446 | The sale of teaching, hand-holding and maintenance services could |
| 447 | also employ programmers. | 447 | also employ programmers. |
| 448 | 448 | ||
| 449 | People with new ideas could distribute programs as freeware, asking | 449 | People with new ideas could distribute programs as freeware(7), asking |
| 450 | for donations from satisfied users, or selling hand-holding services. | 450 | for donations from satisfied users, or selling hand-holding services. |
| 451 | I have met people who are already working this way successfully. | 451 | I have met people who are already working this way successfully. |
| 452 | 452 | ||
| @@ -518,23 +518,26 @@ friends or over the net. But it does suggest the wrong idea. | |||
| 518 | 518 | ||
| 519 | (3) Several such companies now exist. | 519 | (3) Several such companies now exist. |
| 520 | 520 | ||
| 521 | (4) The Free Software Foundation raises most of its funds from a | 521 | (4) The Free Software Foundation raised most of its funds for 10 |
| 522 | distribution service, although it is a charity rather than a company. | 522 | years from a distribution service, although it is a charity rather |
| 523 | If *no one* chooses to obtain copies by ordering from the FSF, it | 523 | than a company. |
| 524 | will be unable to do its work. But this does not mean that proprietary | ||
| 525 | restrictions are justified to force every user to pay. If a small | ||
| 526 | fraction of all the users order copies from the FSF, that is sufficient | ||
| 527 | to keep the FSF afloat. So we ask users to choose to support us in | ||
| 528 | this way. Have you done your part? | ||
| 529 | 524 | ||
| 530 | (5) A group of computer companies recently pooled funds to support | 525 | (5) A group of computer companies pooled funds around 1991 to |
| 531 | maintenance of the GNU C Compiler. | 526 | support maintenance of the GNU C Compiler. |
| 532 | 527 | ||
| 533 | (6) In the 80s I had not yet realized how confusing it was to speak | 528 | (6) In the 80s I had not yet realized how confusing it was to speak |
| 534 | of "the issue" of "intellectual property". That term is obviously | 529 | of "the issue" of "intellectual property". That term is obviously |
| 535 | biased; more subtle is the fact that it lumps together various | 530 | biased; more subtle is the fact that it lumps together various |
| 536 | disparate laws which raise very different issues. Nowadays I urge | 531 | disparate laws which raise very different issues. Nowadays I urge |
| 537 | people to reject the term "intellectual property" entirely, lest it | 532 | people to reject the term "intellectual property" entirely, lest it |
| 538 | lead others to suppose this is one coherent issue. The way to be | 533 | lead others to suppose that those laws form one coherent issue. The way to be |
| 539 | clear is to to discuss patents, copyrights, and trademarks separately. | 534 | clear is to to discuss patents, copyrights, and trademarks separately. |
| 540 | See http://www.gnu.org/philosophy/words-to-avoid.html. \ No newline at end of file | 535 | See http://www.gnu.org/philosophy/not-ipr.xhtml for more explanation |
| 536 | of how this term spreads confusion and bias. | ||
| 537 | |||
| 538 | (7) In 1985 I had not yet recognized the importance of distinguishing | ||
| 539 | between "free software" and "freeware". The term "freeware" means | ||
| 540 | software you are free to redistribute, but usually you are not free to study | ||
| 541 | and change the source code, so most of it is not free software. | ||
| 542 | See http://www.gnu.org/philosophy/words-to-avoid.html for more | ||
| 543 | explanation. | ||
| @@ -106,7 +106,7 @@ when you run configure. This requires Gtk+ 2.0 or newer. This port | |||
| 106 | provides a way to display multilingual text in menus (with some caveats). | 106 | provides a way to display multilingual text in menus (with some caveats). |
| 107 | 107 | ||
| 108 | --- | 108 | --- |
| 109 | ** The `emacsserver' program has been removed, replaced with elisp code. | 109 | ** The `emacsserver' program has been removed, replaced with Lisp code. |
| 110 | 110 | ||
| 111 | --- | 111 | --- |
| 112 | ** By default, Emacs now uses a setgid helper program to update game | 112 | ** By default, Emacs now uses a setgid helper program to update game |
| @@ -752,14 +752,8 @@ elements are deleted. | |||
| 752 | When the file is maintained under version control, that information | 752 | When the file is maintained under version control, that information |
| 753 | appears between the position information and the major mode. | 753 | appears between the position information and the major mode. |
| 754 | 754 | ||
| 755 | *** Easy to overlook single character negation is now font-locked. | ||
| 756 | You can use the new variable `font-lock-negation-char-face' and the face of | ||
| 757 | the same name to customize this. Currently the cc-modes, sh-script-mode, | ||
| 758 | cperl-mode and make-mode support this. | ||
| 759 | |||
| 760 | +++ | 755 | +++ |
| 761 | *** Control characters and escape glyphs are now shown in the new | 756 | *** New face `escape-glyph' highlights control characters and escape glyphs. |
| 762 | escape-glyph face. | ||
| 763 | 757 | ||
| 764 | +++ | 758 | +++ |
| 765 | *** Non-breaking space and hyphens are now prefixed with an escape | 759 | *** Non-breaking space and hyphens are now prefixed with an escape |
| @@ -895,6 +889,16 @@ font-lock now highlights any such open-paren-in-column-zero in bold-red | |||
| 895 | if it is inside a string or a comment, to indicate that it can cause | 889 | if it is inside a string or a comment, to indicate that it can cause |
| 896 | trouble with fontification and/or indentation. | 890 | trouble with fontification and/or indentation. |
| 897 | 891 | ||
| 892 | +++ | ||
| 893 | *** New standard font-lock face `font-lock-preprocessor-face'. | ||
| 894 | |||
| 895 | *** New standard font-lock face `font-lock-comment-delimiter-face'. | ||
| 896 | |||
| 897 | *** Easy to overlook single character negation can now be font-locked. | ||
| 898 | You can use the new variable `font-lock-negation-char-face' and the face of | ||
| 899 | the same name to customize this. Currently the cc-modes, sh-script-mode, | ||
| 900 | cperl-mode and make-mode support this. | ||
| 901 | |||
| 898 | --- | 902 | --- |
| 899 | *** The default settings for JIT stealth lock parameters are changed. | 903 | *** The default settings for JIT stealth lock parameters are changed. |
| 900 | The default value for the user option jit-lock-stealth-time is now 16 | 904 | The default value for the user option jit-lock-stealth-time is now 16 |
| @@ -1027,9 +1031,11 @@ variable mouse-drag-copy-region to nil. | |||
| 1027 | (rather than a fixed number of lines) and the scrolling is `progressive'. | 1031 | (rather than a fixed number of lines) and the scrolling is `progressive'. |
| 1028 | 1032 | ||
| 1029 | --- | 1033 | --- |
| 1030 | *** Unexpected yanking of text due to accidental clicking on the mouse | 1034 | *** Emacs ignores mouse-2 clicks while the mouse wheel is being moved. |
| 1031 | wheel button (typically mouse-2) during wheel scrolling is now avoided. | 1035 | |
| 1032 | This behavior can be customized via the mouse-wheel-click-event and | 1036 | People tend to push the mouse wheel (which counts as a mouse-2 click) |
| 1037 | unintentionally while turning the wheel, so these clicks are now | ||
| 1038 | ignored. You can customize this with the mouse-wheel-click-event and | ||
| 1033 | mouse-wheel-inhibit-click-time variables. | 1039 | mouse-wheel-inhibit-click-time variables. |
| 1034 | 1040 | ||
| 1035 | +++ | 1041 | +++ |
| @@ -1352,6 +1358,15 @@ buffer causes automatic display in another window of the corresponding | |||
| 1352 | matches, compilation errors, etc. This minor mode can be toggled with | 1358 | matches, compilation errors, etc. This minor mode can be toggled with |
| 1353 | C-c C-f. | 1359 | C-c C-f. |
| 1354 | 1360 | ||
| 1361 | *** When the left fringe is displayed, an arrow points to current message in | ||
| 1362 | the compilation buffer. | ||
| 1363 | |||
| 1364 | *** The new variable `compilation-context-lines' controls lines of leading | ||
| 1365 | context before the current message. If nil and the left fringe is displayed, | ||
| 1366 | it doesn't scroll the compilation output window. If there is no left fringe, | ||
| 1367 | no arrow is displayed and a value of nil means display the message at the top | ||
| 1368 | of the window. | ||
| 1369 | |||
| 1355 | ** Occur mode changes: | 1370 | ** Occur mode changes: |
| 1356 | 1371 | ||
| 1357 | +++ | 1372 | +++ |
| @@ -1499,10 +1514,6 @@ colors as on X. | |||
| 1499 | * New Modes and Packages in Emacs 22.1 | 1514 | * New Modes and Packages in Emacs 22.1 |
| 1500 | 1515 | ||
| 1501 | +++ | 1516 | +++ |
| 1502 | ** New package benchmark.el contains simple support for convenient | ||
| 1503 | timing measurements of code (including the garbage collection component). | ||
| 1504 | |||
| 1505 | +++ | ||
| 1506 | ** Filesets are collections of files. You can define a fileset in | 1517 | ** Filesets are collections of files. You can define a fileset in |
| 1507 | various ways, such as based on a directory tree or based on | 1518 | various ways, such as based on a directory tree or based on |
| 1508 | program files that include other program files. | 1519 | program files that include other program files. |
| @@ -1520,16 +1531,20 @@ type "C-h i m calc RET" to read that manual. A reference card is | |||
| 1520 | available in `etc/calccard.tex' and `etc/calccard.ps'. | 1531 | available in `etc/calccard.tex' and `etc/calccard.ps'. |
| 1521 | 1532 | ||
| 1522 | --- | 1533 | --- |
| 1523 | ** `cfengine-mode' is a major mode for editing GNU Cfengine | 1534 | ** The new package ibuffer provides a powerful, completely |
| 1524 | configuration files. | 1535 | customizable replacement for buff-menu.el. |
| 1536 | |||
| 1537 | --- | ||
| 1538 | ** Ido mode is now part of the Emacs distribution. | ||
| 1539 | |||
| 1540 | The ido (interactively do) package is an extension of the iswitchb | ||
| 1541 | package to do interactive opening of files and directories in addition | ||
| 1542 | to interactive buffer switching. Ido is a superset of iswitchb (with | ||
| 1543 | a few exceptions), so don't enable both packages. | ||
| 1525 | 1544 | ||
| 1526 | +++ | 1545 | +++ |
| 1527 | ** The new package conf-mode.el handles thousands of configuration files, with | 1546 | ** Image files are normally visited in Image mode, which lets you toggle |
| 1528 | varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value, | 1547 | between viewing the image and viewing the text using C-c C-c. |
| 1529 | var : value, var value or keyword var value) and sections ([section] or | ||
| 1530 | section { }). Many files under /etc/, or with suffixes like .cf through | ||
| 1531 | .config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are | ||
| 1532 | recognized. | ||
| 1533 | 1548 | ||
| 1534 | --- | 1549 | --- |
| 1535 | ** CUA mode is now part of the Emacs distribution. | 1550 | ** CUA mode is now part of the Emacs distribution. |
| @@ -1542,7 +1557,7 @@ region (like delete-selection-mode). Do not enable these modes with | |||
| 1542 | cua-mode. Customize the variable `cua-mode' to enable cua. | 1557 | cua-mode. Customize the variable `cua-mode' to enable cua. |
| 1543 | 1558 | ||
| 1544 | In addition, cua provides unified rectangle support with visible | 1559 | In addition, cua provides unified rectangle support with visible |
| 1545 | rectangle highlighting: Use S-return to start a rectangle, extend it | 1560 | rectangle highlighting: Use C-return to start a rectangle, extend it |
| 1546 | using the movement commands (or mouse-3), and cut or copy it using C-x | 1561 | using the movement commands (or mouse-3), and cut or copy it using C-x |
| 1547 | or C-c (using C-w and M-w also works). | 1562 | or C-c (using C-w and M-w also works). |
| 1548 | 1563 | ||
| @@ -1593,28 +1608,6 @@ be displayed by customizing the variable `file-name-shadow-properties'. | |||
| 1593 | ** The new package flymake.el does on-the-fly syntax checking of program | 1608 | ** The new package flymake.el does on-the-fly syntax checking of program |
| 1594 | source files. See the Flymake's Info manual for more details. | 1609 | source files. See the Flymake's Info manual for more details. |
| 1595 | 1610 | ||
| 1596 | --- | ||
| 1597 | ** The new Lisp library fringe.el controls the appearance of fringes. | ||
| 1598 | |||
| 1599 | --- | ||
| 1600 | ** GDB-Script-mode is used for files like .gdbinit. | ||
| 1601 | |||
| 1602 | --- | ||
| 1603 | ** The new package ibuffer provides a powerful, completely | ||
| 1604 | customizable replacement for buff-menu.el. | ||
| 1605 | |||
| 1606 | --- | ||
| 1607 | ** Ido mode is now part of the Emacs distribution. | ||
| 1608 | |||
| 1609 | The ido (interactively do) package is an extension of the iswitchb | ||
| 1610 | package to do interactive opening of files and directories in addition | ||
| 1611 | to interactive buffer switching. Ido is a superset of iswitchb (with | ||
| 1612 | a few exceptions), so don't enable both packages. | ||
| 1613 | |||
| 1614 | +++ | ||
| 1615 | ** Image files are normally visited in Image mode, which lets you toggle | ||
| 1616 | between viewing the image and viewing the text using C-c C-c. | ||
| 1617 | |||
| 1618 | +++ | 1611 | +++ |
| 1619 | ** The new keypad setup package provides several common bindings for | 1612 | ** The new keypad setup package provides several common bindings for |
| 1620 | the numeric keypad which is available on most keyboards. The numeric | 1613 | the numeric keypad which is available on most keyboards. The numeric |
| @@ -1674,6 +1667,15 @@ Keyboard macros can now be debugged and edited interactively. | |||
| 1674 | C-x C-k SPC steps through the last keyboard macro one key sequence | 1667 | C-x C-k SPC steps through the last keyboard macro one key sequence |
| 1675 | at a time, prompting for the actions to take. | 1668 | at a time, prompting for the actions to take. |
| 1676 | 1669 | ||
| 1670 | --- | ||
| 1671 | ** New minor mode, Visible mode, toggles invisibility in the current buffer. | ||
| 1672 | When enabled, it makes all invisible text visible. When disabled, it | ||
| 1673 | restores the previous value of `buffer-invisibility-spec'. | ||
| 1674 | |||
| 1675 | +++ | ||
| 1676 | ** The wdired.el package allows you to use normal editing commands on Dired | ||
| 1677 | buffers to change filenames, permissions, etc... | ||
| 1678 | |||
| 1677 | +++ | 1679 | +++ |
| 1678 | ** The new package longlines.el provides a minor mode for editing text | 1680 | ** The new package longlines.el provides a minor mode for editing text |
| 1679 | files composed of long lines, based on the `use-hard-newlines' | 1681 | files composed of long lines, based on the `use-hard-newlines' |
| @@ -1694,9 +1696,6 @@ ghostview, use ghostscript to print (if you don't have a PostScript | |||
| 1694 | printer) or send directly to printer a PostScript code generated by | 1696 | printer) or send directly to printer a PostScript code generated by |
| 1695 | `ps-print' package. Use M-x pr-help for more information. | 1697 | `ps-print' package. Use M-x pr-help for more information. |
| 1696 | 1698 | ||
| 1697 | +++ | ||
| 1698 | ** The new python.el package is used to edit Python and Jython programs. | ||
| 1699 | |||
| 1700 | --- | 1699 | --- |
| 1701 | ** The minor mode Reveal mode makes text visible on the fly as you | 1700 | ** The minor mode Reveal mode makes text visible on the fly as you |
| 1702 | move your cursor into hidden regions of the buffer. | 1701 | move your cursor into hidden regions of the buffer. |
| @@ -1754,114 +1753,72 @@ If you want to disable Tramp you should set | |||
| 1754 | (setq tramp-default-method "ftp") | 1753 | (setq tramp-default-method "ftp") |
| 1755 | 1754 | ||
| 1756 | --- | 1755 | --- |
| 1757 | ** The library tree-widget.el provides a new widget to display a set | ||
| 1758 | of hierarchical data as an outline. For example, the tree-widget is | ||
| 1759 | well suited to display a hierarchy of directories and files. | ||
| 1760 | |||
| 1761 | --- | ||
| 1762 | ** The URL package (which had been part of W3) is now part of Emacs. | 1756 | ** The URL package (which had been part of W3) is now part of Emacs. |
| 1763 | 1757 | ||
| 1764 | --- | 1758 | --- |
| 1765 | ** New minor mode, Visible mode, toggles invisibility in the current buffer. | 1759 | ** `cfengine-mode' is a major mode for editing GNU Cfengine |
| 1766 | When enabled, it makes all invisible text visible. When disabled, it | 1760 | configuration files. |
| 1767 | restores the previous value of `buffer-invisibility-spec'. | ||
| 1768 | 1761 | ||
| 1769 | +++ | 1762 | +++ |
| 1770 | ** The wdired.el package allows you to use normal editing commands on Dired | 1763 | ** The new package conf-mode.el handles thousands of configuration files, with |
| 1771 | buffers to change filenames, permissions, etc... | 1764 | varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value, |
| 1765 | var : value, var value or keyword var value) and sections ([section] or | ||
| 1766 | section { }). Many files under /etc/, or with suffixes like .cf through | ||
| 1767 | .config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are | ||
| 1768 | recognized. | ||
| 1772 | 1769 | ||
| 1773 | --- | 1770 | --- |
| 1774 | ** The TCL package tcl-mode.el was replaced by tcl.el. | 1771 | ** GDB-Script-mode is used for files like .gdbinit. |
| 1775 | This was actually done in Emacs-21.1, and was not documented. | ||
| 1776 | |||
| 1777 | ** The new package bindat.el provides functions to unpack and pack | ||
| 1778 | binary data structures, such as network packets, to and from Lisp | ||
| 1779 | data structures. | ||
| 1780 | 1772 | ||
| 1781 | +++ | 1773 | +++ |
| 1782 | ** The new package button.el implements simple and fast `clickable buttons' | 1774 | ** The new python.el package is used to edit Python and Jython programs. |
| 1783 | in emacs buffers. `buttons' are much lighter-weight than the `widgets' | ||
| 1784 | implemented by widget.el, and can be used by lisp code that doesn't | ||
| 1785 | require the full power of widgets. Emacs uses buttons for such things | ||
| 1786 | as help and apropos buffers. | ||
| 1787 | 1775 | ||
| 1788 | --- | 1776 | --- |
| 1789 | ** master-mode.el implements a minor mode for scrolling a slave | 1777 | ** The TCL package tcl-mode.el was replaced by tcl.el. |
| 1790 | buffer without leaving your current buffer, the master buffer. | 1778 | This was actually done in Emacs-21.1, and was not documented. |
| 1791 | |||
| 1792 | It can be used by sql.el, for example: the SQL buffer is the master | ||
| 1793 | and its SQLi buffer is the slave. This allows you to scroll the SQLi | ||
| 1794 | buffer containing the output from the SQL buffer containing the | ||
| 1795 | commands. | ||
| 1796 | |||
| 1797 | This is how to use sql.el and master.el together: the variable | ||
| 1798 | sql-buffer contains the slave buffer. It is a local variable in the | ||
| 1799 | SQL buffer. | ||
| 1800 | |||
| 1801 | (add-hook 'sql-mode-hook | ||
| 1802 | (function (lambda () | ||
| 1803 | (master-mode t) | ||
| 1804 | (master-set-slave sql-buffer)))) | ||
| 1805 | (add-hook 'sql-set-sqli-hook | ||
| 1806 | (function (lambda () | ||
| 1807 | (master-set-slave sql-buffer)))) | ||
| 1808 | |||
| 1809 | +++ | ||
| 1810 | ** New Lisp library testcover.el works with edebug to help you determine | ||
| 1811 | whether you've tested all your Lisp code. Function testcover-start | ||
| 1812 | instruments all functions in a given file. Then test your code. Function | ||
| 1813 | testcover-mark-all adds overlay "splotches" to the Lisp file's buffer to | ||
| 1814 | show where coverage is lacking. Command testcover-next-mark (bind it to | ||
| 1815 | a key!) will move point forward to the next spot that has a splotch. | ||
| 1816 | |||
| 1817 | Normally, a red splotch indicates the form was never completely | ||
| 1818 | evaluated; a brown splotch means it always evaluated to the same | ||
| 1819 | value. The red splotches are skipped for forms that can't possibly | ||
| 1820 | complete their evaluation, such as `error'. The brown splotches are | ||
| 1821 | skipped for forms that are expected to always evaluate to the same | ||
| 1822 | value, such as (setq x 14). | ||
| 1823 | |||
| 1824 | For difficult cases, you can add do-nothing macros to your code to | ||
| 1825 | help out the test coverage tool. The macro `noreturn' suppresses a | ||
| 1826 | red splotch. It is an error if the argument to `noreturn' does | ||
| 1827 | return. The macro 1value suppresses a brown splotch for its argument. | ||
| 1828 | This macro is a no-op except during test-coverage -- then it signals | ||
| 1829 | an error if the argument actually returns differing values. | ||
| 1830 | 1779 | ||
| 1831 | * Changes in Specialized Modes and Packages in Emacs 22.1: | 1780 | * Changes in Specialized Modes and Packages in Emacs 22.1: |
| 1832 | 1781 | ||
| 1782 | ** Makefile mode has submodes for automake, gmake, makepp and BSD make. | ||
| 1783 | |||
| 1784 | The former two couldn't be differentiated before, and the latter two | ||
| 1785 | are new. Font-locking is robust now and offers new customizable | ||
| 1786 | faces. | ||
| 1787 | |||
| 1833 | +++ | 1788 | +++ |
| 1834 | ** In Outline mode, hide-body no longer hides lines at the top | 1789 | ** In Outline mode, `hide-body' no longer hides lines at the top |
| 1835 | of the file that precede the first header line. | 1790 | of the file that precede the first header line. |
| 1836 | 1791 | ||
| 1837 | +++ | 1792 | +++ |
| 1838 | ** Telnet now prompts you for a port number with C-u M-x telnet. | 1793 | ** Telnet now prompts you for a port number with C-u M-x telnet. |
| 1839 | 1794 | ||
| 1840 | --- | 1795 | --- |
| 1841 | ** The terminal emulation code in term.el has been improved, it can | 1796 | ** The terminal emulation code in term.el has been improved; it can |
| 1842 | run most curses applications now. | 1797 | run most curses applications now. |
| 1843 | 1798 | ||
| 1844 | +++ | 1799 | +++ |
| 1845 | ** M-x diff uses diff-mode instead of compilation-mode. | 1800 | ** M-x diff uses Diff mode instead of Compilation mode. |
| 1846 | 1801 | ||
| 1847 | +++ | 1802 | +++ |
| 1848 | ** You can now customize fill-nobreak-predicate to control where | 1803 | ** You can now customize `fill-nobreak-predicate' to control where |
| 1849 | filling can break lines. The value is now normally a list of | 1804 | filling can break lines. The value is now normally a list of |
| 1850 | functions, but it can also be a single function, for compatibility. | 1805 | functions, but it can also be a single function, for compatibility. |
| 1851 | 1806 | ||
| 1852 | We provide two sample predicates, fill-single-word-nobreak-p and | 1807 | Emacs provide two predicates, `fill-single-word-nobreak-p' and |
| 1853 | fill-french-nobreak-p, for use in the value of fill-nobreak-predicate. | 1808 | `fill-french-nobreak-p', for use as the value of |
| 1809 | `fill-nobreak-predicate'. | ||
| 1854 | 1810 | ||
| 1855 | --- | 1811 | --- |
| 1856 | ** M-x view-file and commands that use it now avoid interfering | 1812 | ** M-x view-file and commands that use it now avoid interfering |
| 1857 | with special modes such as Tar mode. | 1813 | with special modes such as Tar mode. |
| 1858 | 1814 | ||
| 1859 | --- | 1815 | --- |
| 1860 | ** Commands winner-redo and winner-undo, from winner.el, are now bound to | 1816 | ** Commands `winner-redo' and `winner-undo', from winner.el, are now |
| 1861 | C-c <left> and C-c <right>, respectively. This is an incompatible change. | 1817 | bound to C-c <left> and C-c <right>, respectively. This is an |
| 1818 | incompatible change. | ||
| 1862 | 1819 | ||
| 1863 | --- | 1820 | --- |
| 1864 | ** global-whitespace-mode is a new alias for whitespace-global-mode. | 1821 | ** `global-whitespace-mode' is a new alias for `whitespace-global-mode'. |
| 1865 | 1822 | ||
| 1866 | +++ | 1823 | +++ |
| 1867 | ** M-x compare-windows now can automatically skip non-matching text to | 1824 | ** M-x compare-windows now can automatically skip non-matching text to |
| @@ -1869,6 +1826,7 @@ resync points in both windows. | |||
| 1869 | 1826 | ||
| 1870 | +++ | 1827 | +++ |
| 1871 | ** New user option `add-log-always-start-new-record'. | 1828 | ** New user option `add-log-always-start-new-record'. |
| 1829 | |||
| 1872 | When this option is enabled, M-x add-change-log-entry always | 1830 | When this option is enabled, M-x add-change-log-entry always |
| 1873 | starts a new record regardless of when the last record is. | 1831 | starts a new record regardless of when the last record is. |
| 1874 | 1832 | ||
| @@ -1880,10 +1838,11 @@ when Emacs visits them. | |||
| 1880 | 1838 | ||
| 1881 | +++ | 1839 | +++ |
| 1882 | *** A numeric prefix argument of `info' selects an Info buffer | 1840 | *** A numeric prefix argument of `info' selects an Info buffer |
| 1883 | with the number appended to the *info* buffer name (e.g. "*info*<2>"). | 1841 | with the number appended to the `*info*' buffer name (e.g. "*info*<2>"). |
| 1884 | 1842 | ||
| 1885 | --- | 1843 | --- |
| 1886 | *** isearch in Info uses Info-search and searches through multiple nodes. | 1844 | *** isearch in Info uses Info-search and searches through multiple nodes. |
| 1845 | |||
| 1887 | Before leaving the initial Info node isearch fails once with the error | 1846 | Before leaving the initial Info node isearch fails once with the error |
| 1888 | message [initial node], and with subsequent C-s/C-r continues through | 1847 | message [initial node], and with subsequent C-s/C-r continues through |
| 1889 | other nodes. When isearch fails for the rest of the manual, it wraps | 1848 | other nodes. When isearch fails for the rest of the manual, it wraps |
| @@ -1922,11 +1881,13 @@ references and following them calls `browse-url'. | |||
| 1922 | 1881 | ||
| 1923 | +++ | 1882 | +++ |
| 1924 | *** Info now hides node names in menus and cross references by default. | 1883 | *** Info now hides node names in menus and cross references by default. |
| 1884 | |||
| 1925 | If you prefer the old behavior, you can set the new user option | 1885 | If you prefer the old behavior, you can set the new user option |
| 1926 | `Info-hide-note-references' to nil. | 1886 | `Info-hide-note-references' to nil. |
| 1927 | 1887 | ||
| 1928 | --- | 1888 | --- |
| 1929 | *** Images in Info pages are supported. | 1889 | *** Images in Info pages are supported. |
| 1890 | |||
| 1930 | Info pages show embedded images, in Emacs frames with image support. | 1891 | Info pages show embedded images, in Emacs frames with image support. |
| 1931 | Info documentation that includes images, processed with makeinfo | 1892 | Info documentation that includes images, processed with makeinfo |
| 1932 | version 4.7 or newer, compiles to Info pages with embedded images. | 1893 | version 4.7 or newer, compiles to Info pages with embedded images. |
| @@ -1935,25 +1896,24 @@ version 4.7 or newer, compiles to Info pages with embedded images. | |||
| 1935 | *** The default value for `Info-scroll-prefer-subnodes' is now nil. | 1896 | *** The default value for `Info-scroll-prefer-subnodes' is now nil. |
| 1936 | 1897 | ||
| 1937 | --- | 1898 | --- |
| 1938 | *** Info-index offers completion. | 1899 | *** `Info-index' offers completion. |
| 1939 | 1900 | ||
| 1940 | ** Lisp mode changes: | 1901 | ** Lisp mode changes: |
| 1941 | 1902 | ||
| 1942 | --- | 1903 | --- |
| 1943 | *** Lisp mode now uses font-lock-doc-face for the docstrings. | 1904 | *** Lisp mode now uses `font-lock-doc-face' for doc strings. |
| 1944 | 1905 | ||
| 1945 | +++ | 1906 | +++ |
| 1946 | *** A prefix argument of C-M-q in Emacs Lisp mode pretty-printifies the | 1907 | *** C-u C-M-q in Emacs Lisp mode pretty-prints the list after point. |
| 1947 | list starting after point. | ||
| 1948 | 1908 | ||
| 1949 | *** New features in evaluation commands | 1909 | *** New features in evaluation commands |
| 1950 | 1910 | ||
| 1951 | +++ | 1911 | +++ |
| 1952 | *** The function `eval-defun' (C-M-x) called on defface reinitializes | 1912 | **** The function `eval-defun' (C-M-x) called on defface reinitializes |
| 1953 | the face to the value specified in the defface expression. | 1913 | the face to the value specified in the defface expression. |
| 1954 | 1914 | ||
| 1955 | +++ | 1915 | +++ |
| 1956 | *** Typing C-x C-e twice prints the value of the integer result | 1916 | **** Typing C-x C-e twice prints the value of the integer result |
| 1957 | in additional formats (octal, hexadecimal, character) specified | 1917 | in additional formats (octal, hexadecimal, character) specified |
| 1958 | by the new function `eval-expression-print-format'. The same | 1918 | by the new function `eval-expression-print-format'. The same |
| 1959 | function also defines the result format for `eval-expression' (M-:), | 1919 | function also defines the result format for `eval-expression' (M-:), |
| @@ -2079,23 +2039,23 @@ module-open, module-close, inmodule, composition-open, | |||
| 2079 | composition-close, and incomposition. | 2039 | composition-close, and incomposition. |
| 2080 | 2040 | ||
| 2081 | *** New functions to do hungry delete without enabling hungry delete mode. | 2041 | *** New functions to do hungry delete without enabling hungry delete mode. |
| 2082 | The functions c-hungry-backspace and c-hungry-delete-forward can be | 2042 | The functions `c-hungry-backspace' and `c-hungry-delete-forward' can be |
| 2083 | bound to keys to get this feature without toggling a mode. | 2043 | bound to keys to get this feature without toggling a mode. |
| 2084 | Contributed by Kevin Ryde. | ||
| 2085 | 2044 | ||
| 2086 | *** Better control over require-final-newline. The variable that | 2045 | *** Better control over `require-final-newline'. |
| 2087 | controls how to handle a final newline when the buffer is saved, | 2046 | |
| 2088 | require-final-newline, is now customizable on a per-mode basis through | 2047 | The variable `c-require-final-newline' specifies which of the modes |
| 2089 | c-require-final-newline. That is a list of modes, and only those | 2048 | implemented by CC mode should insert final newlines. Its value is a |
| 2090 | modes set require-final-newline. By default that's C, C++ and | 2049 | list of modes, and only those modes should do it. By default the list |
| 2091 | Objective-C. | 2050 | includes C, C++ and Objective-C modes. |
| 2092 | 2051 | ||
| 2093 | The specified modes set require-final-newline based on | 2052 | Whichever modes are in this list will set `require-final-newline' |
| 2094 | mode-require-final-newline, as usual. | 2053 | based on `mode-require-final-newline'. |
| 2095 | 2054 | ||
| 2096 | *** Format change for syntactic context elements. | 2055 | *** Format change for syntactic context elements. |
| 2097 | The elements in the syntactic context returned by c-guess-basic-syntax | 2056 | |
| 2098 | and stored in c-syntactic-context has been changed somewhat to allow | 2057 | The elements in the syntactic context returned by `c-guess-basic-syntax' |
| 2058 | and stored in `c-syntactic-context' has been changed somewhat to allow | ||
| 2099 | attaching more information. They are now lists instead of single cons | 2059 | attaching more information. They are now lists instead of single cons |
| 2100 | cells. E.g. a line that previously had the syntactic analysis | 2060 | cells. E.g. a line that previously had the syntactic analysis |
| 2101 | 2061 | ||
| @@ -2108,12 +2068,13 @@ is now analysed as | |||
| 2108 | In some cases there are more than one position given for a syntactic | 2068 | In some cases there are more than one position given for a syntactic |
| 2109 | symbol. | 2069 | symbol. |
| 2110 | 2070 | ||
| 2111 | This change might affect code that call c-guess-basic-syntax directly, | 2071 | This change might affect code that call `c-guess-basic-syntax' directly, |
| 2112 | and custom lineup functions if they use c-syntactic-context. However, | 2072 | and custom lineup functions if they use `c-syntactic-context'. However, |
| 2113 | the argument given to lineup functions is still a single cons cell | 2073 | the argument given to lineup functions is still a single cons cell |
| 2114 | with nil or an integer in the cdr. | 2074 | with nil or an integer in the cdr. |
| 2115 | 2075 | ||
| 2116 | *** API changes for derived modes. | 2076 | *** API changes for derived modes. |
| 2077 | |||
| 2117 | There have been extensive changes "under the hood" which can affect | 2078 | There have been extensive changes "under the hood" which can affect |
| 2118 | derived mode writers. Some of these changes are likely to cause | 2079 | derived mode writers. Some of these changes are likely to cause |
| 2119 | incompatibilities with existing derived modes, but on the other hand | 2080 | incompatibilities with existing derived modes, but on the other hand |
| @@ -2125,8 +2086,8 @@ See the comment blurb near the top of cc-langs.el. | |||
| 2125 | 2086 | ||
| 2126 | **** New initialization functions. | 2087 | **** New initialization functions. |
| 2127 | The initialization procedure has been split up into more functions to | 2088 | The initialization procedure has been split up into more functions to |
| 2128 | give better control: c-basic-common-init, c-font-lock-init, and | 2089 | give better control: `c-basic-common-init', `c-font-lock-init', and |
| 2129 | c-init-language-vars. | 2090 | `c-init-language-vars'. |
| 2130 | 2091 | ||
| 2131 | *** Changes in analysis of nested syntactic constructs. | 2092 | *** Changes in analysis of nested syntactic constructs. |
| 2132 | The syntactic analysis engine has better handling of cases where | 2093 | The syntactic analysis engine has better handling of cases where |
| @@ -2152,33 +2113,34 @@ its substatement. E.g: | |||
| 2152 | **** Syntactic indentation inside macros. | 2113 | **** Syntactic indentation inside macros. |
| 2153 | The contents of multiline #define's are now analyzed and indented | 2114 | The contents of multiline #define's are now analyzed and indented |
| 2154 | syntactically just like other code. This can be disabled by the new | 2115 | syntactically just like other code. This can be disabled by the new |
| 2155 | variable c-syntactic-indentation-in-macros. A new syntactic symbol | 2116 | variable `c-syntactic-indentation-in-macros'. A new syntactic symbol |
| 2156 | cpp-define-intro has been added to control the initial indentation | 2117 | `cpp-define-intro' has been added to control the initial indentation |
| 2157 | inside #define's. | 2118 | inside `#define's. |
| 2119 | |||
| 2120 | **** New lineup function `c-lineup-cpp-define'. | ||
| 2158 | 2121 | ||
| 2159 | **** New lineup function c-lineup-cpp-define. | ||
| 2160 | Now used by default to line up macro continuation lines. The behavior | 2122 | Now used by default to line up macro continuation lines. The behavior |
| 2161 | of this function closely mimics the indentation one gets if the macro | 2123 | of this function closely mimics the indentation one gets if the macro |
| 2162 | is indented while the line continuation backslashes are temporarily | 2124 | is indented while the line continuation backslashes are temporarily |
| 2163 | removed. If syntactic indentation in macros is turned off, it works | 2125 | removed. If syntactic indentation in macros is turned off, it works |
| 2164 | much line c-lineup-dont-change, which was used earlier, but handles | 2126 | much line `c-lineup-dont-change', which was used earlier, but handles |
| 2165 | empty lines within the macro better. | 2127 | empty lines within the macro better. |
| 2166 | 2128 | ||
| 2167 | **** Automatically inserted newlines continues the macro if used within one. | 2129 | **** Automatically inserted newlines continues the macro if used within one. |
| 2168 | This applies to the newlines inserted by the auto-newline mode, and to | 2130 | This applies to the newlines inserted by the auto-newline mode, and to |
| 2169 | c-context-line-break and c-context-open-line. | 2131 | `c-context-line-break' and `c-context-open-line'. |
| 2170 | 2132 | ||
| 2171 | **** Better alignment of line continuation backslashes. | 2133 | **** Better alignment of line continuation backslashes. |
| 2172 | c-backslash-region tries to adapt to surrounding backslashes. New | 2134 | `c-backslash-region' tries to adapt to surrounding backslashes. New |
| 2173 | variable c-backslash-max-column which put a limit on how far out | 2135 | variable `c-backslash-max-column' which put a limit on how far out |
| 2174 | backslashes can be moved. | 2136 | backslashes can be moved. |
| 2175 | 2137 | ||
| 2176 | **** Automatic alignment of line continuation backslashes. | 2138 | **** Automatic alignment of line continuation backslashes. |
| 2177 | This is controlled by the new variable c-auto-align-backslashes. It | 2139 | This is controlled by the new variable `c-auto-align-backslashes'. It |
| 2178 | affects c-context-line-break, c-context-open-line and newlines | 2140 | affects `c-context-line-break', `c-context-open-line' and newlines |
| 2179 | inserted in auto-newline mode. | 2141 | inserted in Auto-Newline mode. |
| 2180 | |||
| 2181 | **** Line indentation works better inside macros. | 2142 | **** Line indentation works better inside macros. |
| 2143 | |||
| 2182 | Regardless whether syntactic indentation and syntactic indentation | 2144 | Regardless whether syntactic indentation and syntactic indentation |
| 2183 | inside macros are enabled or not, line indentation now ignores the | 2145 | inside macros are enabled or not, line indentation now ignores the |
| 2184 | line continuation backslashes. This is most noticeable when syntactic | 2146 | line continuation backslashes. This is most noticeable when syntactic |
| @@ -2187,37 +2149,35 @@ backslash) in the macro. | |||
| 2187 | 2149 | ||
| 2188 | *** indent-for-comment is more customizable. | 2150 | *** indent-for-comment is more customizable. |
| 2189 | The behavior of M-; (indent-for-comment) is now configurable through | 2151 | The behavior of M-; (indent-for-comment) is now configurable through |
| 2190 | the variable c-indent-comment-alist. The indentation behavior based | 2152 | the variable `c-indent-comment-alist'. The indentation behavior based |
| 2191 | on the preceding code on the line, e.g. to get two spaces after #else | 2153 | on the preceding code on the line, e.g. to get two spaces after #else |
| 2192 | and #endif but indentation to comment-column in most other cases | 2154 | and #endif but indentation to `comment-column' in most other cases |
| 2193 | (something which was hardcoded earlier). | 2155 | (something which was hardcoded earlier). |
| 2194 | 2156 | ||
| 2195 | *** New function c-context-open-line. | 2157 | *** New function `c-context-open-line'. |
| 2196 | It's the open-line equivalent of c-context-line-break. | 2158 | It's the open-line equivalent of `c-context-line-break'. |
| 2197 | 2159 | ||
| 2198 | *** New lineup functions | 2160 | *** New lineup functions |
| 2199 | 2161 | ||
| 2200 | **** c-lineup-string-cont | 2162 | **** `c-lineup-string-cont' |
| 2201 | This lineup function lines up a continued string under the one it | 2163 | This lineup function lines up a continued string under the one it |
| 2202 | continues. E.g: | 2164 | continues. E.g: |
| 2203 | 2165 | ||
| 2204 | result = prefix + "A message " | 2166 | result = prefix + "A message " |
| 2205 | "string."; <- c-lineup-string-cont | 2167 | "string."; <- c-lineup-string-cont |
| 2206 | 2168 | ||
| 2207 | **** c-lineup-cascaded-calls | 2169 | **** `c-lineup-cascaded-calls' |
| 2208 | Lines up series of calls separated by "->" or ".". | 2170 | Lines up series of calls separated by "->" or ".". |
| 2209 | 2171 | ||
| 2210 | **** c-lineup-knr-region-comment | 2172 | **** `c-lineup-knr-region-comment' |
| 2211 | Gives (what most people think is) better indentation of comments in | 2173 | Gives (what most people think is) better indentation of comments in |
| 2212 | the "K&R region" between the function header and its body. | 2174 | the "K&R region" between the function header and its body. |
| 2213 | 2175 | ||
| 2214 | **** c-lineup-gcc-asm-reg | 2176 | **** `c-lineup-gcc-asm-reg' |
| 2215 | Provides better indentation inside asm blocks. Contributed by Kevin | 2177 | Provides better indentation inside asm blocks. |
| 2216 | Ryde. | ||
| 2217 | 2178 | ||
| 2218 | **** c-lineup-argcont | 2179 | **** `c-lineup-argcont' |
| 2219 | Lines up continued function arguments after the preceding comma. | 2180 | Lines up continued function arguments after the preceding comma. |
| 2220 | Contributed by Kevin Ryde. | ||
| 2221 | 2181 | ||
| 2222 | *** Better caching of the syntactic context. | 2182 | *** Better caching of the syntactic context. |
| 2223 | CC Mode caches the positions of the opening parentheses (of any kind) | 2183 | CC Mode caches the positions of the opening parentheses (of any kind) |
| @@ -2237,7 +2197,7 @@ Statements are recognized most of the time even when they occur in an | |||
| 2237 | "invalid" context, e.g. in a function argument. In practice that can | 2197 | "invalid" context, e.g. in a function argument. In practice that can |
| 2238 | happen when macros are involved. | 2198 | happen when macros are involved. |
| 2239 | 2199 | ||
| 2240 | *** Improved the way c-indent-exp chooses the block to indent. | 2200 | *** Improved the way `c-indent-exp' chooses the block to indent. |
| 2241 | It now indents the block for the closest sexp following the point | 2201 | It now indents the block for the closest sexp following the point |
| 2242 | whose closing paren ends on a different line. This means that the | 2202 | whose closing paren ends on a different line. This means that the |
| 2243 | point doesn't have to be immediately before the block to indent. | 2203 | point doesn't have to be immediately before the block to indent. |
| @@ -2245,7 +2205,7 @@ Also, only the block and the closing line is indented; the current | |||
| 2245 | line is left untouched. | 2205 | line is left untouched. |
| 2246 | 2206 | ||
| 2247 | *** Added toggle for syntactic indentation. | 2207 | *** Added toggle for syntactic indentation. |
| 2248 | The function c-toggle-syntactic-indentation can be used to toggle | 2208 | The function `c-toggle-syntactic-indentation' can be used to toggle |
| 2249 | syntactic indentation. | 2209 | syntactic indentation. |
| 2250 | 2210 | ||
| 2251 | --- | 2211 | --- |
| @@ -2275,7 +2235,7 @@ Lines that match are never indented, and are given distinctive font-locking. | |||
| 2275 | `fortran-beginning-of-block'. | 2235 | `fortran-beginning-of-block'. |
| 2276 | 2236 | ||
| 2277 | --- | 2237 | --- |
| 2278 | *** F90 mode and Fortran mode have support for hs-minor-mode (hideshow). | 2238 | *** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow). |
| 2279 | It cannot deal with every code format, but ought to handle a sizeable | 2239 | It cannot deal with every code format, but ought to handle a sizeable |
| 2280 | majority. | 2240 | majority. |
| 2281 | 2241 | ||
| @@ -2320,50 +2280,51 @@ TeX commands to use at startup. | |||
| 2320 | and super/sub-scripts are made into super/sub-scripts. | 2280 | and super/sub-scripts are made into super/sub-scripts. |
| 2321 | 2281 | ||
| 2322 | +++ | 2282 | +++ |
| 2323 | *** New major mode doctex-mode for *.dtx files. | 2283 | *** New major mode Doctex mode, for *.dtx files. |
| 2324 | 2284 | ||
| 2325 | ** BibTeX mode: | 2285 | ** BibTeX mode: |
| 2326 | *** The new command bibtex-url browses a URL for the BibTeX entry at | 2286 | |
| 2287 | *** The new command `bibtex-url' browses a URL for the BibTeX entry at | ||
| 2327 | point (bound to C-c C-l and mouse-2, RET on clickable fields). | 2288 | point (bound to C-c C-l and mouse-2, RET on clickable fields). |
| 2328 | 2289 | ||
| 2329 | *** The new command bibtex-entry-update (bound to C-c C-u) updates | 2290 | *** The new command `bibtex-entry-update' (bound to C-c C-u) updates |
| 2330 | an existing BibTeX entry. | 2291 | an existing BibTeX entry. |
| 2331 | 2292 | ||
| 2332 | *** New `bibtex-entry-format' option `required-fields', enabled by default. | 2293 | *** New `bibtex-entry-format' option `required-fields', enabled by default. |
| 2333 | 2294 | ||
| 2334 | *** bibtex-maintain-sorted-entries can take values `plain', | 2295 | *** `bibtex-maintain-sorted-entries' can take values `plain', |
| 2335 | `crossref', and `entry-class' which control the sorting scheme used | 2296 | `crossref', and `entry-class' which control the sorting scheme used |
| 2336 | for BibTeX entries. `bibtex-sort-entry-class' controls the sorting | 2297 | for BibTeX entries. `bibtex-sort-entry-class' controls the sorting |
| 2337 | scheme `entry-class'. TAB completion for reference keys and | 2298 | scheme `entry-class'. TAB completion for reference keys and |
| 2338 | automatic detection of duplicates does not require anymore that | 2299 | automatic detection of duplicates does not require anymore that |
| 2339 | bibtex-maintain-sorted-entries is non-nil. | 2300 | `bibtex-maintain-sorted-entries' is non-nil. |
| 2340 | 2301 | ||
| 2341 | *** If the new variable bibtex-parse-keys-fast is non-nil, | 2302 | *** If the new variable `bibtex-parse-keys-fast' is non-nil, |
| 2342 | use fast but simplified algorithm for parsing BibTeX keys. | 2303 | use fast but simplified algorithm for parsing BibTeX keys. |
| 2343 | 2304 | ||
| 2344 | *** If the new variable bibtex-autoadd-commas is non-nil, | 2305 | *** If the new variable `bibtex-autoadd-commas' is non-nil, |
| 2345 | automatically add missing commas at end of BibTeX fields. | 2306 | automatically add missing commas at end of BibTeX fields. |
| 2346 | 2307 | ||
| 2347 | *** The new variable bibtex-autofill-types contains a list of entry | 2308 | *** The new variable `bibtex-autofill-types' contains a list of entry |
| 2348 | types for which fields are filled automatically (if possible). | 2309 | types for which fields are filled automatically (if possible). |
| 2349 | 2310 | ||
| 2350 | *** The new command bibtex-complete completes word fragment before | 2311 | *** The new command `bibtex-complete' completes word fragment before |
| 2351 | point according to context (bound to M-tab). | 2312 | point according to context (bound to M-tab). |
| 2352 | 2313 | ||
| 2353 | *** The new commands bibtex-find-entry and bibtex-find-crossref | 2314 | *** The new commands `bibtex-find-entry' and `bibtex-find-crossref' |
| 2354 | locate entries and crossref'd entries (bound to C-c C-s and C-c C-x). | 2315 | locate entries and crossref'd entries (bound to C-c C-s and C-c C-x). |
| 2355 | Crossref fields are clickable (bound to mouse-2, RET). | 2316 | Crossref fields are clickable (bound to mouse-2, RET). |
| 2356 | 2317 | ||
| 2357 | *** In BibTeX mode the command fill-paragraph (bound to M-q) fills | 2318 | *** In BibTeX mode the command `fill-paragraph' (M-q) fills |
| 2358 | individual fields of a BibTeX entry. | 2319 | individual fields of a BibTeX entry. |
| 2359 | 2320 | ||
| 2360 | *** The new variables bibtex-files and bibtex-file-path define a set | 2321 | *** The new variables `bibtex-files' and `bibtex-file-path' define a set |
| 2361 | of BibTeX files that are searched for entry keys. | 2322 | of BibTeX files that are searched for entry keys. |
| 2362 | 2323 | ||
| 2363 | *** The new command bibtex-validate-globally checks for duplicate keys | 2324 | *** The new command `bibtex-validate-globally' checks for duplicate keys |
| 2364 | in multiple BibTeX files. | 2325 | in multiple BibTeX files. |
| 2365 | 2326 | ||
| 2366 | *** The new command bibtex-copy-summary-as-kill pushes summary | 2327 | *** The new command `bibtex-copy-summary-as-kill' pushes summary |
| 2367 | of BibTeX entry to kill ring (bound to C-c C-t). | 2328 | of BibTeX entry to kill ring (bound to C-c C-t). |
| 2368 | 2329 | ||
| 2369 | +++ | 2330 | +++ |
| @@ -2385,14 +2346,16 @@ and other common debugger commands. | |||
| 2385 | *** The new package gdb-ui.el provides an enhanced graphical interface to | 2346 | *** The new package gdb-ui.el provides an enhanced graphical interface to |
| 2386 | GDB. You can interact with GDB through the GUD buffer in the usual way, but | 2347 | GDB. You can interact with GDB through the GUD buffer in the usual way, but |
| 2387 | there are also further buffers which control the execution and describe the | 2348 | there are also further buffers which control the execution and describe the |
| 2388 | state of your program. It separates the input/output of your program from | 2349 | state of your program. It can separate the input/output of your program from |
| 2389 | that of GDB and watches expressions in the speedbar. It also uses features of | 2350 | that of GDB and watches expressions in the speedbar. It also uses features of |
| 2390 | Emacs 21 such as the display margin for breakpoints, and the toolbar. | 2351 | Emacs 21/22 such as the the toolbar, and bitmaps in the fringe to indicate |
| 2352 | breakpoints. | ||
| 2391 | 2353 | ||
| 2392 | Use M-x gdba to start GDB-UI. | 2354 | Use M-x gdb to start GDB-UI. |
| 2393 | 2355 | ||
| 2394 | *** GUD tooltips can be toggled independently of normal tooltips | 2356 | *** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be |
| 2395 | with the minor mode, gud-tooltip-mode. | 2357 | toggled independently of normal tooltips with the minor mode |
| 2358 | `gud-tooltip-mode'. | ||
| 2396 | 2359 | ||
| 2397 | +++ | 2360 | +++ |
| 2398 | *** In graphical mode, with a C program, GUD Tooltips have been extended to | 2361 | *** In graphical mode, with a C program, GUD Tooltips have been extended to |
| @@ -2418,27 +2381,27 @@ not executing. | |||
| 2418 | 2381 | ||
| 2419 | *** The previous method of searching for source files has been | 2382 | *** The previous method of searching for source files has been |
| 2420 | preserved in case someone still wants/needs to use it. | 2383 | preserved in case someone still wants/needs to use it. |
| 2421 | Set gud-jdb-use-classpath to nil. | 2384 | Set `gud-jdb-use-classpath' to nil. |
| 2422 | 2385 | ||
| 2423 | Added Customization Variables | 2386 | Added Customization Variables |
| 2424 | 2387 | ||
| 2425 | *** gud-jdb-command-name. What command line to use to invoke jdb. | 2388 | *** `gud-jdb-command-name'. What command line to use to invoke jdb. |
| 2426 | 2389 | ||
| 2427 | *** gud-jdb-use-classpath. Allows selection of java source file searching | 2390 | *** `gud-jdb-use-classpath'. Allows selection of java source file searching |
| 2428 | method: set to t for new method, nil to scan gud-jdb-directories for | 2391 | method: set to t for new method, nil to scan `gud-jdb-directories' for |
| 2429 | java sources (previous method). | 2392 | java sources (previous method). |
| 2430 | 2393 | ||
| 2431 | *** gud-jdb-directories. List of directories to scan and search for java | 2394 | *** `gud-jdb-directories'. List of directories to scan and search for java |
| 2432 | classes using the original gud-jdb method (if gud-jdb-use-classpath | 2395 | classes using the original gud-jdb method (if `gud-jdb-use-classpath' |
| 2433 | is nil). | 2396 | is nil). |
| 2434 | 2397 | ||
| 2435 | Minor Improvements | 2398 | Minor Improvements |
| 2436 | 2399 | ||
| 2437 | *** The STARTTLS elisp wrapper (starttls.el) can now use GNUTLS | 2400 | *** The STARTTLS wrapper (starttls.el) can now use GNUTLS |
| 2438 | instead of the OpenSSL based "starttls" tool. For backwards | 2401 | instead of the OpenSSL based `starttls' tool. For backwards |
| 2439 | compatibility, it prefers "starttls", but you can toggle | 2402 | compatibility, it prefers `starttls', but you can toggle |
| 2440 | `starttls-use-gnutls' to switch to GNUTLS (or simply remove the | 2403 | `starttls-use-gnutls' to switch to GNUTLS (or simply remove the |
| 2441 | "starttls" tool). | 2404 | `starttls' tool). |
| 2442 | 2405 | ||
| 2443 | *** Do not allow debugger output history variable to grow without bounds. | 2406 | *** Do not allow debugger output history variable to grow without bounds. |
| 2444 | 2407 | ||
| @@ -2446,6 +2409,7 @@ compatibility, it prefers "starttls", but you can toggle | |||
| 2446 | 2409 | ||
| 2447 | +++ | 2410 | +++ |
| 2448 | *** You can now use Auto Revert mode to `tail' a file. | 2411 | *** You can now use Auto Revert mode to `tail' a file. |
| 2412 | |||
| 2449 | If point is at the end of a file buffer before reverting, Auto Revert | 2413 | If point is at the end of a file buffer before reverting, Auto Revert |
| 2450 | mode keeps it at the end after reverting. Similarly if point is | 2414 | mode keeps it at the end after reverting. Similarly if point is |
| 2451 | displayed at the end of a file buffer in any window, it stays at | 2415 | displayed at the end of a file buffer in any window, it stays at |
| @@ -2501,17 +2465,20 @@ old name remains available as alias, but has been marked obsolete. | |||
| 2501 | ** Desktop package | 2465 | ** Desktop package |
| 2502 | 2466 | ||
| 2503 | +++ | 2467 | +++ |
| 2504 | *** Desktop saving is now a minor mode, desktop-save-mode. Variable | 2468 | *** Desktop saving is now a minor mode, `desktop-save-mode'. |
| 2505 | desktop-enable is obsolete. Customize desktop-save-mode to enable desktop | 2469 | |
| 2506 | saving. | 2470 | *** The variable `desktop-enable' is obsolete. |
| 2471 | |||
| 2472 | Customize `desktop-save-mode' to enable desktop saving. | ||
| 2507 | 2473 | ||
| 2508 | --- | 2474 | --- |
| 2509 | *** Buffers are saved in the desktop file in the same order as that in the | 2475 | *** Buffers are saved in the desktop file in the same order as that in the |
| 2510 | buffer list. | 2476 | buffer list. |
| 2511 | 2477 | ||
| 2512 | +++ | 2478 | +++ |
| 2513 | *** The desktop package can be customized to restore only some buffers immediately, | 2479 | *** The desktop package can be customized to restore only some buffers |
| 2514 | remaining buffers are restored lazily (when Emacs is idle). | 2480 | immediately, remaining buffers are restored lazily (when Emacs is |
| 2481 | idle). | ||
| 2515 | 2482 | ||
| 2516 | +++ | 2483 | +++ |
| 2517 | *** New commands: | 2484 | *** New commands: |
| @@ -2547,6 +2514,7 @@ remaining buffers are restored lazily (when Emacs is idle). | |||
| 2547 | 2514 | ||
| 2548 | --- | 2515 | --- |
| 2549 | ** The saveplace.el package now filters out unreadable files. | 2516 | ** The saveplace.el package now filters out unreadable files. |
| 2517 | |||
| 2550 | When you exit Emacs, the saved positions in visited files no longer | 2518 | When you exit Emacs, the saved positions in visited files no longer |
| 2551 | include files that aren't readable, e.g. files that don't exist. | 2519 | include files that aren't readable, e.g. files that don't exist. |
| 2552 | Customize the new option `save-place-forget-unreadable-files' to nil | 2520 | Customize the new option `save-place-forget-unreadable-files' to nil |
| @@ -2579,6 +2547,7 @@ backup using `ediff'. If you specify the name of a backup file, | |||
| 2579 | *** New regular expressions features | 2547 | *** New regular expressions features |
| 2580 | 2548 | ||
| 2581 | **** New syntax for regular expressions, multi-line regular expressions. | 2549 | **** New syntax for regular expressions, multi-line regular expressions. |
| 2550 | |||
| 2582 | The syntax --ignore-case-regexp=/regex/ is now undocumented and retained | 2551 | The syntax --ignore-case-regexp=/regex/ is now undocumented and retained |
| 2583 | only for backward compatibility. The new equivalent syntax is | 2552 | only for backward compatibility. The new equivalent syntax is |
| 2584 | --regex=/regex/i. More generally, it is --regex=/TAGREGEX/TAGNAME/MODS, | 2553 | --regex=/regex/i. More generally, it is --regex=/TAGREGEX/TAGNAME/MODS, |
| @@ -2590,39 +2559,47 @@ expressions: `m' allows regexps to match more than one line, while `s' | |||
| 2590 | span newlines allows writing of much more powerful regular expressions | 2559 | span newlines allows writing of much more powerful regular expressions |
| 2591 | and rapid prototyping for tagging new languages. | 2560 | and rapid prototyping for tagging new languages. |
| 2592 | 2561 | ||
| 2593 | **** Regular expressions can use char escape sequences as in Gcc. | 2562 | **** Regular expressions can use char escape sequences as in GCC. |
| 2563 | |||
| 2594 | The escaped character sequence \a, \b, \d, \e, \f, \n, \r, \t, \v, | 2564 | The escaped character sequence \a, \b, \d, \e, \f, \n, \r, \t, \v, |
| 2595 | respectively, stand for the ASCII characters BEL, BS, DEL, ESC, FF, NL, | 2565 | respectively, stand for the ASCII characters BEL, BS, DEL, ESC, FF, NL, |
| 2596 | CR, TAB, VT, | 2566 | CR, TAB, VT, |
| 2597 | 2567 | ||
| 2598 | **** Regular expressions can be bound to a given language. | 2568 | **** Regular expressions can be bound to a given language. |
| 2569 | |||
| 2599 | The syntax --regex={LANGUAGE}REGEX means that REGEX is used to make tags | 2570 | The syntax --regex={LANGUAGE}REGEX means that REGEX is used to make tags |
| 2600 | only for files of language LANGUAGE, and ignored otherwise. This is | 2571 | only for files of language LANGUAGE, and ignored otherwise. This is |
| 2601 | particularly useful when storing regexps in a file. | 2572 | particularly useful when storing regexps in a file. |
| 2602 | 2573 | ||
| 2603 | **** Regular expressions can be read from a file. | 2574 | **** Regular expressions can be read from a file. |
| 2575 | |||
| 2604 | The --regex=@regexfile option means read the regexps from a file, one | 2576 | The --regex=@regexfile option means read the regexps from a file, one |
| 2605 | per line. Lines beginning with space or tab are ignored. | 2577 | per line. Lines beginning with space or tab are ignored. |
| 2606 | 2578 | ||
| 2607 | *** New language parsing features | 2579 | *** New language parsing features |
| 2608 | 2580 | ||
| 2609 | **** The `::' qualifier triggers C++ parsing in C file. | 2581 | **** The `::' qualifier triggers C++ parsing in C file. |
| 2582 | |||
| 2610 | Previously, only the `template' and `class' keywords had this effect. | 2583 | Previously, only the `template' and `class' keywords had this effect. |
| 2611 | 2584 | ||
| 2612 | **** The gnucc __attribute__ keyword is now recognised and ignored. | 2585 | **** The GCC __attribute__ keyword is now recognised and ignored. |
| 2613 | 2586 | ||
| 2614 | **** New language HTML. | 2587 | **** New language HTML. |
| 2615 | Title and h1, h2, h3 are tagged. Also, tags are generated when name= is | 2588 | |
| 2616 | used inside an anchor and whenever id= is used. | 2589 | Tags are generated for `title' as well as `h1', `h2', and `h3'. Also, |
| 2590 | when `name=' is used inside an anchor and whenever `id=' is used. | ||
| 2617 | 2591 | ||
| 2618 | **** In Makefiles, constants are tagged. | 2592 | **** In Makefiles, constants are tagged. |
| 2593 | |||
| 2619 | If you want the old behavior instead, thus avoiding to increase the | 2594 | If you want the old behavior instead, thus avoiding to increase the |
| 2620 | size of the tags file, use the --no-globals option. | 2595 | size of the tags file, use the --no-globals option. |
| 2621 | 2596 | ||
| 2622 | **** New language Lua. | 2597 | **** New language Lua. |
| 2598 | |||
| 2623 | All functions are tagged. | 2599 | All functions are tagged. |
| 2624 | 2600 | ||
| 2625 | **** In Perl, packages are tags. | 2601 | **** In Perl, packages are tags. |
| 2602 | |||
| 2626 | Subroutine tags are named from their package. You can jump to sub tags | 2603 | Subroutine tags are named from their package. You can jump to sub tags |
| 2627 | as you did before, by the sub name, or additionally by looking for | 2604 | as you did before, by the sub name, or additionally by looking for |
| 2628 | package::sub. | 2605 | package::sub. |
| @@ -2630,14 +2607,17 @@ package::sub. | |||
| 2630 | **** In Prolog, etags creates tags for rules in addition to predicates. | 2607 | **** In Prolog, etags creates tags for rules in addition to predicates. |
| 2631 | 2608 | ||
| 2632 | **** New language PHP. | 2609 | **** New language PHP. |
| 2633 | Tags are functions, classes and defines. | 2610 | |
| 2634 | If the --members option is specified to etags, tags are variables also. | 2611 | Functions, classes and defines are tags. If the --members option is |
| 2612 | specified to etags, variables are tags also. | ||
| 2635 | 2613 | ||
| 2636 | **** New default keywords for TeX. | 2614 | **** New default keywords for TeX. |
| 2615 | |||
| 2637 | The new keywords are def, newcommand, renewcommand, newenvironment and | 2616 | The new keywords are def, newcommand, renewcommand, newenvironment and |
| 2638 | renewenvironment. | 2617 | renewenvironment. |
| 2639 | 2618 | ||
| 2640 | *** Honour #line directives. | 2619 | *** Honour #line directives. |
| 2620 | |||
| 2641 | When Etags parses an input file that contains C preprocessor's #line | 2621 | When Etags parses an input file that contains C preprocessor's #line |
| 2642 | directives, it creates tags using the file name and line number | 2622 | directives, it creates tags using the file name and line number |
| 2643 | specified in those directives. This is useful when dealing with code | 2623 | specified in those directives. This is useful when dealing with code |
| @@ -2645,6 +2625,7 @@ created from Cweb source files. When Etags tags the generated file, it | |||
| 2645 | writes tags pointing to the source file. | 2625 | writes tags pointing to the source file. |
| 2646 | 2626 | ||
| 2647 | *** New option --parse-stdin=FILE. | 2627 | *** New option --parse-stdin=FILE. |
| 2628 | |||
| 2648 | This option is mostly useful when calling etags from programs. It can | 2629 | This option is mostly useful when calling etags from programs. It can |
| 2649 | be used (only once) in place of a file name on the command line. Etags | 2630 | be used (only once) in place of a file name on the command line. Etags |
| 2650 | reads from standard input and marks the produced tags as belonging to | 2631 | reads from standard input and marks the produced tags as belonging to |
| @@ -2653,31 +2634,33 @@ the file FILE. | |||
| 2653 | ** VC Changes | 2634 | ** VC Changes |
| 2654 | 2635 | ||
| 2655 | +++ | 2636 | +++ |
| 2656 | *** The key C-x C-q no longer checks files in or out, it only changes | 2637 | *** The key C-x C-q only changes the read-only state of the buffer |
| 2657 | the read-only state of the buffer (toggle-read-only). We made this | 2638 | (toggle-read-only). It no longer checks files in or out. |
| 2658 | change because we held a poll and found that many users were unhappy | 2639 | |
| 2659 | with the previous behavior. If you do prefer this behavior, you | 2640 | We made this change because we held a poll and found that many users |
| 2660 | can bind `vc-toggle-read-only' to C-x C-q in your .emacs: | 2641 | were unhappy with the previous behavior. If you do prefer this |
| 2642 | behavior, you can bind `vc-toggle-read-only' to C-x C-q in your | ||
| 2643 | `.emacs' file: | ||
| 2661 | 2644 | ||
| 2662 | (global-set-key "\C-x\C-q" 'vc-toggle-read-only) | 2645 | (global-set-key "\C-x\C-q" 'vc-toggle-read-only) |
| 2663 | 2646 | ||
| 2664 | The function `vc-toggle-read-only' will continue to exist. | 2647 | The function `vc-toggle-read-only' will continue to exist. |
| 2665 | 2648 | ||
| 2666 | +++ | 2649 | +++ |
| 2667 | *** There is a new user option `vc-cvs-global-switches' that allows | 2650 | *** The new variable `vc-cvs-global-switches' specifies switches that |
| 2668 | you to specify switches that are passed to any CVS command invoked | 2651 | are passed to any CVS command invoked by VC. |
| 2669 | by VC. These switches are used as "global options" for CVS, which | 2652 | |
| 2670 | means they are inserted before the command name. For example, this | 2653 | These switches are used as "global options" for CVS, which means they |
| 2671 | allows you to specify a compression level using the "-z#" option for | 2654 | are inserted before the command name. For example, this allows you to |
| 2672 | CVS. | 2655 | specify a compression level using the `-z#' option for CVS. |
| 2673 | 2656 | ||
| 2674 | +++ | 2657 | +++ |
| 2675 | *** New backends for Subversion and Meta-CVS. | 2658 | *** New backends for Subversion and Meta-CVS. |
| 2676 | 2659 | ||
| 2677 | +++ | 2660 | +++ |
| 2678 | *** vc-annotate-mode enhancements | 2661 | *** VC-Annotate mode enhancements |
| 2679 | 2662 | ||
| 2680 | In vc-annotate mode, you can now use the following key bindings for | 2663 | In VC-Annotate mode, you can now use the following key bindings for |
| 2681 | enhanced functionality to browse the annotations of past revisions, or | 2664 | enhanced functionality to browse the annotations of past revisions, or |
| 2682 | to view diffs or log entries directly from vc-annotate-mode: | 2665 | to view diffs or log entries directly from vc-annotate-mode: |
| 2683 | 2666 | ||
| @@ -2699,18 +2682,18 @@ in the repository. | |||
| 2699 | +++ | 2682 | +++ |
| 2700 | *** In pcl-cvs mode, there is a new `d r' command to view the changes | 2683 | *** In pcl-cvs mode, there is a new `d r' command to view the changes |
| 2701 | anyone has committed to the repository since you last executed | 2684 | anyone has committed to the repository since you last executed |
| 2702 | "checkout", "update" or "commit". That means using cvs diff options | 2685 | `checkout', `update' or `commit'. That means using cvs diff options |
| 2703 | -rBASE -rHEAD. | 2686 | -rBASE -rHEAD. |
| 2704 | 2687 | ||
| 2705 | +++ | 2688 | +++ |
| 2706 | ** There is a new user option `mail-default-directory' that allows you | 2689 | ** The new variable `mail-default-directory' specifies |
| 2707 | to specify the value of `default-directory' for mail buffers. This | 2690 | `default-directory' for mail buffers. This directory is used for |
| 2708 | directory is used for auto-save files of mail buffers. It defaults to | 2691 | auto-save files of mail buffers. It defaults to "~/". |
| 2709 | "~/". | ||
| 2710 | 2692 | ||
| 2711 | +++ | 2693 | +++ |
| 2712 | ** Emacs can now indicate in the mode-line the presence of new e-mail | 2694 | ** The mode line can indicate new mail in a directory or file. |
| 2713 | in a directory or in a file. See the documentation of the user option | 2695 | |
| 2696 | See the documentation of the user option | ||
| 2714 | `display-time-mail-directory'. | 2697 | `display-time-mail-directory'. |
| 2715 | 2698 | ||
| 2716 | ** Rmail changes: | 2699 | ** Rmail changes: |
| @@ -2720,6 +2703,7 @@ in a directory or in a file. See the documentation of the user option | |||
| 2720 | 2703 | ||
| 2721 | +++ | 2704 | +++ |
| 2722 | *** Support for `movemail' from GNU mailutils was added to Rmail. | 2705 | *** Support for `movemail' from GNU mailutils was added to Rmail. |
| 2706 | |||
| 2723 | This version of `movemail' allows to read mail from a wide range of | 2707 | This version of `movemail' allows to read mail from a wide range of |
| 2724 | mailbox formats, including remote POP3 and IMAP4 mailboxes with or | 2708 | mailbox formats, including remote POP3 and IMAP4 mailboxes with or |
| 2725 | without TLS encryption. If GNU mailutils is installed on the system | 2709 | without TLS encryption. If GNU mailutils is installed on the system |
| @@ -2730,11 +2714,13 @@ used instead of the native one. | |||
| 2730 | 2714 | ||
| 2731 | --- | 2715 | --- |
| 2732 | *** Gnus now includes Sieve and PGG | 2716 | *** Gnus now includes Sieve and PGG |
| 2717 | |||
| 2733 | Sieve is a library for managing Sieve scripts. PGG is a library to handle | 2718 | Sieve is a library for managing Sieve scripts. PGG is a library to handle |
| 2734 | PGP/MIME. | 2719 | PGP/MIME. |
| 2735 | 2720 | ||
| 2736 | --- | 2721 | --- |
| 2737 | *** There are many news features, bug fixes and improvements. | 2722 | *** There are many news features, bug fixes and improvements. |
| 2723 | |||
| 2738 | See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. | 2724 | See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. |
| 2739 | 2725 | ||
| 2740 | --- | 2726 | --- |
| @@ -2786,10 +2772,10 @@ This can be controlled through the variables `diary-header-line-flag' | |||
| 2786 | and `diary-header-line-format'. | 2772 | and `diary-header-line-format'. |
| 2787 | 2773 | ||
| 2788 | +++ | 2774 | +++ |
| 2789 | *** The procedure for activating appointment reminders has changed: use | 2775 | *** The procedure for activating appointment reminders has changed: |
| 2790 | the new function `appt-activate'. The new variable | 2776 | use the new function `appt-activate'. The new variable |
| 2791 | `appt-display-format' controls how reminders are displayed, replacing | 2777 | `appt-display-format' controls how reminders are displayed, replacing |
| 2792 | appt-issue-message, appt-visible, and appt-msg-window. | 2778 | `appt-issue-message', `appt-visible', and `appt-msg-window'. |
| 2793 | 2779 | ||
| 2794 | +++ | 2780 | +++ |
| 2795 | *** The new functions `diary-from-outlook', `diary-from-outlook-gnus', | 2781 | *** The new functions `diary-from-outlook', `diary-from-outlook-gnus', |
| @@ -2827,24 +2813,26 @@ The current product name will be shown on the mode line following the | |||
| 2827 | SQL mode indicator. | 2813 | SQL mode indicator. |
| 2828 | 2814 | ||
| 2829 | The technique of setting `sql-mode-font-lock-defaults' directly in | 2815 | The technique of setting `sql-mode-font-lock-defaults' directly in |
| 2830 | your .emacs will no longer establish the default highlighting -- Use | 2816 | your `.emacs' will no longer establish the default highlighting -- Use |
| 2831 | `sql-product' to accomplish this. | 2817 | `sql-product' to accomplish this. |
| 2832 | 2818 | ||
| 2833 | ANSI keywords are always highlighted. | 2819 | ANSI keywords are always highlighted. |
| 2834 | 2820 | ||
| 2835 | *** The function `sql-add-product-keywords' can be used to add | 2821 | *** The function `sql-add-product-keywords' can be used to add |
| 2836 | font-lock rules to the product specific rules. For example, to have | 2822 | font-lock rules to the product specific rules. For example, to have |
| 2837 | all identifiers ending in "_t" under MS SQLServer treated as a type, | 2823 | all identifiers ending in `_t' under MS SQLServer treated as a type, |
| 2838 | you would use the following line in your .emacs file: | 2824 | you would use the following line in your .emacs file: |
| 2839 | 2825 | ||
| 2840 | (sql-add-product-keywords 'ms | 2826 | (sql-add-product-keywords 'ms |
| 2841 | '(("\\<\\w+_t\\>" . font-lock-type-face))) | 2827 | '(("\\<\\w+_t\\>" . font-lock-type-face))) |
| 2842 | 2828 | ||
| 2843 | *** Oracle support includes keyword highlighting for Oracle 9i. Most | 2829 | *** Oracle support includes keyword highlighting for Oracle 9i. |
| 2844 | SQL and PL/SQL keywords are implemented. SQL*Plus commands are | 2830 | |
| 2831 | Most SQL and PL/SQL keywords are implemented. SQL*Plus commands are | ||
| 2845 | highlighted in `font-lock-doc-face'. | 2832 | highlighted in `font-lock-doc-face'. |
| 2846 | 2833 | ||
| 2847 | *** Microsoft SQLServer support has been significantly improved. | 2834 | *** Microsoft SQLServer support has been significantly improved. |
| 2835 | |||
| 2848 | Keyword highlighting for SqlServer 2000 is implemented. | 2836 | Keyword highlighting for SqlServer 2000 is implemented. |
| 2849 | sql-interactive-mode defaults to use osql, rather than isql, because | 2837 | sql-interactive-mode defaults to use osql, rather than isql, because |
| 2850 | osql flushes its error stream more frequently. Thus error messages | 2838 | osql flushes its error stream more frequently. Thus error messages |
| @@ -2852,7 +2840,7 @@ are displayed when they occur rather than when the session is | |||
| 2852 | terminated. | 2840 | terminated. |
| 2853 | 2841 | ||
| 2854 | If the username and password are not provided to `sql-ms', osql is | 2842 | If the username and password are not provided to `sql-ms', osql is |
| 2855 | called with the -E command line argument to use the operating system | 2843 | called with the `-E' command line argument to use the operating system |
| 2856 | credentials to authenticate the user. | 2844 | credentials to authenticate the user. |
| 2857 | 2845 | ||
| 2858 | *** Postgres support is enhanced. | 2846 | *** Postgres support is enhanced. |
| @@ -2867,33 +2855,36 @@ packages, procedures, functions, triggers, sequences, rules, and | |||
| 2867 | defaults. | 2855 | defaults. |
| 2868 | 2856 | ||
| 2869 | *** Added SQL->Start SQLi Session menu entry which calls the | 2857 | *** Added SQL->Start SQLi Session menu entry which calls the |
| 2870 | appropriate sql-interactive-mode wrapper for the current setting of | 2858 | appropriate `sql-interactive-mode' wrapper for the current setting of |
| 2871 | `sql-product'. | 2859 | `sql-product'. |
| 2872 | 2860 | ||
| 2873 | --- | 2861 | --- |
| 2874 | *** Support for the SQLite interpreter has been added to sql.el by calling | 2862 | *** sql.el supports the SQLite interpreter--call 'sql-sqlite'. |
| 2875 | 'sql-sqlite'. | ||
| 2876 | 2863 | ||
| 2877 | ** FFAP changes: | 2864 | ** FFAP changes: |
| 2878 | 2865 | ||
| 2879 | +++ | 2866 | +++ |
| 2880 | *** New ffap commands and keybindings: C-x C-r (`ffap-read-only'), | 2867 | *** New ffap commands and keybindings: |
| 2868 | |||
| 2869 | C-x C-r (`ffap-read-only'), | ||
| 2881 | C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'), | 2870 | C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'), |
| 2882 | C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'), | 2871 | C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'), |
| 2883 | C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame'). | 2872 | C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame'). |
| 2884 | 2873 | ||
| 2885 | --- | 2874 | --- |
| 2886 | *** FFAP accepts wildcards in a file name by default. C-x C-f passes | 2875 | *** FFAP accepts wildcards in a file name by default. |
| 2887 | it to `find-file' with non-nil WILDCARDS argument, which visits | 2876 | |
| 2888 | multiple files, and C-x d passes it to `dired'. | 2877 | C-x C-f passes the file name to `find-file' with non-nil WILDCARDS |
| 2878 | argument, which visits multiple files, and C-x d passes it to `dired'. | ||
| 2889 | 2879 | ||
| 2890 | --- | 2880 | --- |
| 2891 | ** skeleton.el now supports using - to mark the skeleton-point without | 2881 | ** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction. |
| 2892 | interregion interaction. @ has reverted to only setting | 2882 | |
| 2893 | skeleton-positions and no longer sets skeleton-point. Skeletons | 2883 | `@' has reverted to only setting `skeleton-positions' and no longer |
| 2894 | which used @ to mark skeleton-point independent of _ should now use - | 2884 | sets `skeleton-point'. Skeletons which used @ to mark |
| 2895 | instead. The updated skeleton-insert docstring explains these new | 2885 | `skeleton-point' independent of `_' should now use `-' instead. The |
| 2896 | features along with other details of skeleton construction. | 2886 | updated `skeleton-insert' docstring explains these new features along |
| 2887 | with other details of skeleton construction. | ||
| 2897 | 2888 | ||
| 2898 | --- | 2889 | --- |
| 2899 | ** New variable `hs-set-up-overlay' allows customization of the overlay | 2890 | ** New variable `hs-set-up-overlay' allows customization of the overlay |
| @@ -2902,25 +2893,25 @@ handles the overlay property `display' specially, preserving it during | |||
| 2902 | temporary overlay showing in the course of an isearch operation. | 2893 | temporary overlay showing in the course of an isearch operation. |
| 2903 | 2894 | ||
| 2904 | +++ | 2895 | +++ |
| 2905 | ** hide-ifdef-mode now uses overlays rather than selective-display | 2896 | ** `hide-ifdef-mode' now uses overlays rather than selective-display |
| 2906 | to hide its text. This should be mostly transparent but slightly | 2897 | to hide its text. This should be mostly transparent but slightly |
| 2907 | changes the behavior of motion commands like C-e and C-p. | 2898 | changes the behavior of motion commands like C-e and C-p. |
| 2908 | 2899 | ||
| 2909 | --- | 2900 | --- |
| 2910 | ** partial-completion-mode now does partial completion on directory names. | 2901 | ** `partial-completion-mode' now handles partial completion on directory names. |
| 2911 | 2902 | ||
| 2912 | --- | 2903 | --- |
| 2913 | ** The type-break package now allows `type-break-file-name' to be nil | 2904 | ** The type-break package now allows `type-break-file-name' to be nil |
| 2914 | and if so, doesn't store any data across sessions. This is handy if | 2905 | and if so, doesn't store any data across sessions. This is handy if |
| 2915 | you don't want the .type-break file in your home directory or are | 2906 | you don't want the `.type-break' file in your home directory or are |
| 2916 | annoyed by the need for interaction when you kill Emacs. | 2907 | annoyed by the need for interaction when you kill Emacs. |
| 2917 | 2908 | ||
| 2918 | --- | 2909 | --- |
| 2919 | ** `ps-print' can now print characters from the mule-unicode charsets. | 2910 | ** `ps-print' can now print characters from the mule-unicode charsets. |
| 2920 | 2911 | ||
| 2921 | Printing text with characters from the mule-unicode-* sets works with | 2912 | Printing text with characters from the mule-unicode-* sets works with |
| 2922 | ps-print, provided that you have installed the appropriate BDF fonts. | 2913 | `ps-print', provided that you have installed the appropriate BDF |
| 2923 | See the file INSTALL for URLs where you can find these fonts. | 2914 | fonts. See the file INSTALL for URLs where you can find these fonts. |
| 2924 | 2915 | ||
| 2925 | --- | 2916 | --- |
| 2926 | ** New command `strokes-global-set-stroke-string'. | 2917 | ** New command `strokes-global-set-stroke-string'. |
| @@ -2940,7 +2931,7 @@ using strokes as an input method. | |||
| 2940 | 2931 | ||
| 2941 | +++ | 2932 | +++ |
| 2942 | *** The `emacsclient' command understands the options `--eval' and | 2933 | *** The `emacsclient' command understands the options `--eval' and |
| 2943 | `--display' which tell Emacs respectively to evaluate the given elisp | 2934 | `--display' which tell Emacs respectively to evaluate the given Lisp |
| 2944 | expression and to use the given display when visiting files. | 2935 | expression and to use the given display when visiting files. |
| 2945 | 2936 | ||
| 2946 | +++ | 2937 | +++ |
| @@ -2951,11 +2942,10 @@ expression and to use the given display when visiting files. | |||
| 2951 | 2942 | ||
| 2952 | +++ | 2943 | +++ |
| 2953 | ** You can now disable pc-selection-mode after enabling it. | 2944 | ** You can now disable pc-selection-mode after enabling it. |
| 2954 | M-x pc-selection-mode behaves like a proper minor mode, and with no | ||
| 2955 | argument it toggles the mode. | ||
| 2956 | 2945 | ||
| 2957 | Turning off PC-Selection mode restores the global key bindings | 2946 | M-x pc-selection-mode behaves like a proper minor mode, and with no |
| 2958 | that were replaced by turning on the mode. | 2947 | argument it toggles the mode. Turning off PC-Selection mode restores |
| 2948 | the global key bindings that were replaced by turning on the mode. | ||
| 2959 | 2949 | ||
| 2960 | --- | 2950 | --- |
| 2961 | ** `uniquify-strip-common-suffix' tells uniquify to prefer | 2951 | ** `uniquify-strip-common-suffix' tells uniquify to prefer |
| @@ -2963,9 +2953,10 @@ that were replaced by turning on the mode. | |||
| 2963 | 2953 | ||
| 2964 | --- | 2954 | --- |
| 2965 | ** Support for `magic cookie' standout modes has been removed. | 2955 | ** Support for `magic cookie' standout modes has been removed. |
| 2966 | Emacs will still work on terminals that require magic cookies in order | 2956 | |
| 2967 | to use standout mode, however they will not be able to display | 2957 | Emacs still works on terminals that require magic cookies in order to |
| 2968 | mode-lines in inverse-video. | 2958 | use standout mode, but they can no longer display mode-lines in |
| 2959 | inverse-video. | ||
| 2969 | 2960 | ||
| 2970 | --- | 2961 | --- |
| 2971 | ** The game `mpuz' is enhanced. | 2962 | ** The game `mpuz' is enhanced. |
| @@ -2975,14 +2966,15 @@ default, all trivial operations involving whole lines are performed | |||
| 2975 | automatically. The game uses faces for better visual feedback. | 2966 | automatically. The game uses faces for better visual feedback. |
| 2976 | 2967 | ||
| 2977 | --- | 2968 | --- |
| 2978 | ** display-battery has been replaced by display-battery-mode. | 2969 | ** display-battery-mode replaces display-battery. |
| 2979 | 2970 | ||
| 2980 | --- | 2971 | --- |
| 2981 | ** calculator.el now has radix grouping mode, which is available when | 2972 | ** calculator.el now has radix grouping mode. |
| 2982 | `calculator-output-radix' is non-nil. In this mode a separator | 2973 | |
| 2983 | character is used every few digits, making it easier to see byte | 2974 | To enable this, set `calculator-output-radix' non-nil. In this mode a |
| 2984 | boundries etc. For more info, see the documentation of the variable | 2975 | separator character is used every few digits, making it easier to see |
| 2985 | `calculator-radix-grouping-mode'. | 2976 | byte boundries etc. For more info, see the documentation of the |
| 2977 | variable `calculator-radix-grouping-mode'. | ||
| 2986 | 2978 | ||
| 2987 | --- | 2979 | --- |
| 2988 | ** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead. | 2980 | ** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead. |
| @@ -2991,12 +2983,13 @@ boundries etc. For more info, see the documentation of the variable | |||
| 2991 | ** iso-acc.el is now obsolete. Use one of the latin input methods instead. | 2983 | ** iso-acc.el is now obsolete. Use one of the latin input methods instead. |
| 2992 | 2984 | ||
| 2993 | --- | 2985 | --- |
| 2994 | ** cplus-md.el has been removed to avoid problems with Custom. | 2986 | ** cplus-md.el has been deleted. |
| 2995 | 2987 | ||
| 2996 | * Changes in Emacs 22.1 on non-free operating systems | 2988 | * Changes in Emacs 22.1 on non-free operating systems |
| 2997 | 2989 | ||
| 2998 | +++ | 2990 | +++ |
| 2999 | ** Passing resources on the command line now works on MS Windows. | 2991 | ** Passing resources on the command line now works on MS Windows. |
| 2992 | |||
| 3000 | You can use --xrm to pass resource settings to Emacs, overriding any | 2993 | You can use --xrm to pass resource settings to Emacs, overriding any |
| 3001 | existing values. For example: | 2994 | existing values. For example: |
| 3002 | 2995 | ||
| @@ -3007,15 +3000,18 @@ irrespective of geometry or background setting on the Windows registry. | |||
| 3007 | 3000 | ||
| 3008 | --- | 3001 | --- |
| 3009 | ** On MS Windows, the "system caret" now follows the cursor. | 3002 | ** On MS Windows, the "system caret" now follows the cursor. |
| 3003 | |||
| 3010 | This enables Emacs to work better with programs that need to track | 3004 | This enables Emacs to work better with programs that need to track |
| 3011 | the cursor, for example screen magnifiers and text to speech programs. | 3005 | the cursor, for example screen magnifiers and text to speech programs. |
| 3012 | 3006 | ||
| 3013 | --- | 3007 | --- |
| 3014 | ** Tooltips now work on MS Windows. | 3008 | ** Tooltips now work on MS Windows. |
| 3009 | |||
| 3015 | See the Emacs 21.1 NEWS entry for tooltips for details. | 3010 | See the Emacs 21.1 NEWS entry for tooltips for details. |
| 3016 | 3011 | ||
| 3017 | --- | 3012 | --- |
| 3018 | ** Images are now supported on MS Windows. | 3013 | ** Images are now supported on MS Windows. |
| 3014 | |||
| 3019 | PBM and XBM images are supported out of the box. Other image formats | 3015 | PBM and XBM images are supported out of the box. Other image formats |
| 3020 | depend on external libraries. All of these libraries have been ported | 3016 | depend on external libraries. All of these libraries have been ported |
| 3021 | to Windows, and can be found in both source and binary form at | 3017 | to Windows, and can be found in both source and binary form at |
| @@ -3025,6 +3021,7 @@ against. For additional information, see nt/INSTALL. | |||
| 3025 | 3021 | ||
| 3026 | --- | 3022 | --- |
| 3027 | ** Sound is now supported on MS Windows. | 3023 | ** Sound is now supported on MS Windows. |
| 3024 | |||
| 3028 | WAV format is supported on all versions of Windows, other formats such | 3025 | WAV format is supported on all versions of Windows, other formats such |
| 3029 | as AU, AIFF and MP3 may be supported in the more recent versions of | 3026 | as AU, AIFF and MP3 may be supported in the more recent versions of |
| 3030 | Windows, or when other software provides hooks into the system level | 3027 | Windows, or when other software provides hooks into the system level |
| @@ -3032,16 +3029,19 @@ sound support for those formats. | |||
| 3032 | 3029 | ||
| 3033 | --- | 3030 | --- |
| 3034 | ** Different shaped mouse pointers are supported on MS Windows. | 3031 | ** Different shaped mouse pointers are supported on MS Windows. |
| 3032 | |||
| 3035 | The mouse pointer changes shape depending on what is under the pointer. | 3033 | The mouse pointer changes shape depending on what is under the pointer. |
| 3036 | 3034 | ||
| 3037 | --- | 3035 | --- |
| 3038 | ** Pointing devices with more than 3 buttons are now supported on MS Windows. | 3036 | ** Pointing devices with more than 3 buttons are now supported on MS Windows. |
| 3037 | |||
| 3039 | The new variable `w32-pass-extra-mouse-buttons-to-system' controls | 3038 | The new variable `w32-pass-extra-mouse-buttons-to-system' controls |
| 3040 | whether Emacs should handle the extra buttons itself (the default), or | 3039 | whether Emacs should handle the extra buttons itself (the default), or |
| 3041 | pass them to Windows to be handled with system-wide functions. | 3040 | pass them to Windows to be handled with system-wide functions. |
| 3042 | 3041 | ||
| 3043 | --- | 3042 | --- |
| 3044 | ** Emacs takes note of colors defined in Control Panel on MS-Windows. | 3043 | ** Emacs takes note of colors defined in Control Panel on MS-Windows. |
| 3044 | |||
| 3045 | The Control Panel defines some default colors for applications in much | 3045 | The Control Panel defines some default colors for applications in much |
| 3046 | the same way as wildcard X Resources do on X. Emacs now adds these | 3046 | the same way as wildcard X Resources do on X. Emacs now adds these |
| 3047 | colors to the colormap prefixed by System (eg SystemMenu for the | 3047 | colors to the colormap prefixed by System (eg SystemMenu for the |
| @@ -3052,6 +3052,7 @@ you wish to use them in other faces. | |||
| 3052 | 3052 | ||
| 3053 | --- | 3053 | --- |
| 3054 | ** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations. | 3054 | ** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations. |
| 3055 | |||
| 3055 | Those systems use Unicode internally, so this allows Emacs to share | 3056 | Those systems use Unicode internally, so this allows Emacs to share |
| 3056 | multilingual text with other applications. On other versions of | 3057 | multilingual text with other applications. On other versions of |
| 3057 | MS Windows, Emacs now uses the appropriate locale coding-system, so | 3058 | MS Windows, Emacs now uses the appropriate locale coding-system, so |
| @@ -3059,9 +3060,10 @@ the clipboard should work correctly for your local language without | |||
| 3059 | any customizations. | 3060 | any customizations. |
| 3060 | 3061 | ||
| 3061 | --- | 3062 | --- |
| 3062 | ** On Mac OS, the value of the variable `keyboard-coding-system' is | 3063 | ** On Mac OS, `keyboard-coding-system' changes based on the keyboard script. |
| 3063 | now dynamically changed according to the current keyboard script. The | 3064 | |
| 3064 | variable `mac-keyboard-text-encoding' and the constants | 3065 | --- |
| 3066 | ** The variable `mac-keyboard-text-encoding' and the constants | ||
| 3065 | `kTextEncodingMacRoman', `kTextEncodingISOLatin1', and | 3067 | `kTextEncodingMacRoman', `kTextEncodingISOLatin1', and |
| 3066 | `kTextEncodingISOLatin2' are obsolete. | 3068 | `kTextEncodingISOLatin2' are obsolete. |
| 3067 | 3069 | ||
| @@ -3085,6 +3087,10 @@ the command `undefined'. (In earlier Emacs versions, it used | |||
| 3085 | 3087 | ||
| 3086 | ** General Lisp changes: | 3088 | ** General Lisp changes: |
| 3087 | 3089 | ||
| 3090 | --- | ||
| 3091 | *** The variables post-command-idle-hook and post-command-idle-delay have | ||
| 3092 | been removed. Use run-with-idle-timer instead. | ||
| 3093 | |||
| 3088 | +++ | 3094 | +++ |
| 3089 | *** The function `eql' is now available without requiring the CL package. | 3095 | *** The function `eql' is now available without requiring the CL package. |
| 3090 | 3096 | ||
| @@ -3092,57 +3098,67 @@ the command `undefined'. (In earlier Emacs versions, it used | |||
| 3092 | *** `makehash' is now obsolete. Use `make-hash-table' instead. | 3098 | *** `makehash' is now obsolete. Use `make-hash-table' instead. |
| 3093 | 3099 | ||
| 3094 | +++ | 3100 | +++ |
| 3095 | *** If optional third argument APPEND to `add-to-list' is non-nil, a | 3101 | *** `add-to-list' takes an optional third argument, APPEND. |
| 3096 | new element gets added at the end of the list instead of at the | ||
| 3097 | beginning. This change actually occurred in Emacs-21.1, but was not | ||
| 3098 | documented. | ||
| 3099 | 3102 | ||
| 3100 | +++ | 3103 | If APPEND is non-nil, the new element gets added at the end of the |
| 3101 | *** New function `copy-tree' makes a copy of a tree, recursively copying | 3104 | list instead of at the beginning. This change actually occurred in |
| 3102 | both cars and cdrs. | 3105 | Emacs 21.1, but was not documented then. |
| 3103 | 3106 | ||
| 3104 | +++ | 3107 | +++ |
| 3105 | *** New function `delete-dups' destructively removes `equal' | 3108 | *** New function `copy-tree' makes a copy of a tree. |
| 3106 | duplicates from a list. Of several `equal' occurrences of an element | 3109 | |
| 3107 | in the list, the first one is kept. | 3110 | It recursively copyies through both CARs and CDRs. |
| 3108 | 3111 | ||
| 3109 | +++ | 3112 | +++ |
| 3110 | *** `declare' is now a macro. This change was made mostly for | 3113 | *** New function `delete-dups' deletes `equal' duplicate elements from a list. |
| 3111 | documentation purposes and should have no real effect on Lisp code. | 3114 | |
| 3115 | It modifies the list destructively, like `delete'. Of several `equal' | ||
| 3116 | occurrences of an element in the list, the one that's kept is the | ||
| 3117 | first one. | ||
| 3112 | 3118 | ||
| 3113 | +++ | 3119 | +++ |
| 3114 | *** The new function `rassq-delete-all' deletes all elements from an | 3120 | *** New function `rassq-delete-all'. |
| 3115 | alist whose cdr is `eq' to a specified value. | 3121 | |
| 3122 | (rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose | ||
| 3123 | CDR is `eq' to the specified value. | ||
| 3116 | 3124 | ||
| 3117 | +++ | 3125 | +++ |
| 3118 | *** The function `number-sequence' returns a list of equally-separated | 3126 | *** The function `number-sequence' makes a list of equally-separated numbers. |
| 3119 | numbers. For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). | 3127 | |
| 3120 | By default, the separation is 1, but you can specify a different separation | 3128 | For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). By |
| 3121 | as the third argument. (number-sequence 1.5 6 2) returns (1.5 3.5 5.5). | 3129 | default, the separation is 1, but you can specify a different |
| 3130 | separation as the third argument. (number-sequence 1.5 6 2) returns | ||
| 3131 | (1.5 3.5 5.5). | ||
| 3122 | 3132 | ||
| 3123 | +++ | 3133 | +++ |
| 3124 | *** The variables `most-positive-fixnum' and `most-negative-fixnum' | 3134 | *** New variables `most-positive-fixnum' and `most-negative-fixnum'. |
| 3125 | hold the largest and smallest possible integer values. | 3135 | |
| 3136 | They hold the largest and smallest possible integer values. | ||
| 3126 | 3137 | ||
| 3127 | +++ | 3138 | +++ |
| 3128 | *** The flags, width, and precision options for %-specifications in function | 3139 | *** Minor change in the function `format'. |
| 3129 | `format' are now documented. Some flags that were accepted but not | 3140 | |
| 3130 | implemented (such as "*") are no longer accepted. | 3141 | Some flags that were accepted but not implemented (such as "*") are no |
| 3142 | longer accepted. | ||
| 3131 | 3143 | ||
| 3132 | +++ | 3144 | +++ |
| 3133 | *** Functions `get' and `plist-get' no longer signals an error for | 3145 | *** Functions `get' and `plist-get' no longer give errors for bad plists. |
| 3134 | a malformed property list. They also detect cyclic lists. | 3146 | |
| 3147 | They return nil for a malformed property list or if the list is | ||
| 3148 | cyclic. | ||
| 3135 | 3149 | ||
| 3136 | +++ | 3150 | +++ |
| 3137 | *** The new functions `lax-plist-get' and `lax-plist-put' are like | 3151 | *** New functions `lax-plist-get' and `lax-plist-put'. |
| 3138 | `plist-get' and `plist-put', except that they compare the property | 3152 | |
| 3139 | name using `equal' rather than `eq'. | 3153 | They are like `plist-get' and `plist-put', except that they compare |
| 3154 | the property name using `equal' rather than `eq'. | ||
| 3140 | 3155 | ||
| 3141 | +++ | 3156 | +++ |
| 3142 | *** The new variable `print-continuous-numbering', when non-nil, says | 3157 | *** New variable `print-continuous-numbering'. |
| 3143 | that successive calls to print functions should use the same | 3158 | |
| 3144 | numberings for circular structure references. This is only relevant | 3159 | When this is non-nil, successive calls to print functions use a single |
| 3145 | when `print-circle' is non-nil. | 3160 | numbering scheme for circular structure references. This is only |
| 3161 | relevant when `print-circle' is non-nil. | ||
| 3146 | 3162 | ||
| 3147 | When you bind `print-continuous-numbering' to t, you should | 3163 | When you bind `print-continuous-numbering' to t, you should |
| 3148 | also bind `print-number-table' to nil. | 3164 | also bind `print-number-table' to nil. |
| @@ -3162,44 +3178,55 @@ angle in radians between the vector [X, Y] and the X axis. (This is | |||
| 3162 | equivalent to the standard C library function `atan2'.) | 3178 | equivalent to the standard C library function `atan2'.) |
| 3163 | 3179 | ||
| 3164 | +++ | 3180 | +++ |
| 3165 | *** A function's doc string can now specify the calling pattern. | 3181 | *** A function or macro's doc string can now specify the calling pattern. |
| 3166 | 3182 | ||
| 3167 | You put this in the doc string's last line, which should match the | 3183 | You put this info in the doc string's last line. It should be |
| 3168 | regexp "\n\n(fn.*)\\'". | 3184 | formatted so as to match the regexp "\n\n(fn .*)\\'". If you don't |
| 3185 | specify this explicitly, Emacs determines it from the actual argument | ||
| 3186 | names. Usually that default is right, but not always. | ||
| 3169 | 3187 | ||
| 3170 | +++ | 3188 | +++ |
| 3171 | *** New macro `with-local-quit' temporarily sets `inhibit-quit' to nil. | 3189 | *** New macro `with-local-quit' temporarily allows quitting. |
| 3190 | |||
| 3191 | A quit inside the body of `with-local-quit' is caught by the | ||
| 3192 | `with-local-quit' form itself, but another quit will happen later once | ||
| 3193 | the code that has inhibitted quitting exits. | ||
| 3172 | 3194 | ||
| 3173 | This is for use around potentially blocking or long-running code in | 3195 | This is for use around potentially blocking or long-running code |
| 3174 | timers and `post-command-hook' functions. | 3196 | inside timer functions and `post-command-hook' functions. |
| 3197 | |||
| 3198 | +++ | ||
| 3199 | *** New macro `define-obsolete-function-alias'. | ||
| 3175 | 3200 | ||
| 3176 | *** `define-obsolete-function-alias' | 3201 | This combines `defalias' and `make-obsolete'. |
| 3177 | combines `defalias' and `make-obsolete'. | ||
| 3178 | 3202 | ||
| 3179 | +++ | 3203 | +++ |
| 3180 | *** New function `unsafep' returns nil if the given Lisp form can't | 3204 | *** New function `unsafep' determines whether a Lisp form is safe. |
| 3181 | possibly do anything dangerous; otherwise it returns a reason why the | 3205 | |
| 3182 | form might be unsafe (calls unknown function, alters global variable, | 3206 | It returns nil if the given Lisp form can't possibly do anything |
| 3183 | etc). | 3207 | dangerous; otherwise it returns a reason why the form might be unsafe |
| 3208 | (calls unknown function, alters global variable, etc). | ||
| 3184 | 3209 | ||
| 3185 | ** Lisp code indentation features: | 3210 | ** Lisp code indentation features: |
| 3186 | 3211 | ||
| 3187 | +++ | 3212 | +++ |
| 3188 | *** The `defmacro' form can contain declarations specifying how to | 3213 | *** The `defmacro' form can contain indentation and edebug declarations. |
| 3189 | indent the macro in Lisp mode and how to debug it with Edebug. The | 3214 | |
| 3190 | syntax of defmacro has been extended to | 3215 | These declarations specify how to indent the macro calls in Lisp mode |
| 3216 | and how to debug them with Edebug. You write them like this: | ||
| 3191 | 3217 | ||
| 3192 | (defmacro NAME LAMBDA-LIST [DOC-STRING] [DECLARATION ...] ...) | 3218 | (defmacro NAME LAMBDA-LIST [DOC-STRING] [DECLARATION ...] ...) |
| 3193 | 3219 | ||
| 3194 | DECLARATION is a list `(declare DECLARATION-SPECIFIER ...)'. The | 3220 | DECLARATION is a list `(declare DECLARATION-SPECIFIER ...)'. The |
| 3195 | declaration specifiers supported are: | 3221 | possible declaration specifiers are: |
| 3196 | 3222 | ||
| 3197 | (indent INDENT) | 3223 | (indent INDENT) |
| 3198 | Set NAME's `lisp-indent-function' property to INDENT. | 3224 | Set NAME's `lisp-indent-function' property to INDENT. |
| 3199 | 3225 | ||
| 3200 | (edebug DEBUG) | 3226 | (edebug DEBUG) |
| 3201 | Set NAME's `edebug-form-spec' property to DEBUG. (This is | 3227 | Set NAME's `edebug-form-spec' property to DEBUG. (This is |
| 3202 | equivalent to writing a `def-edebug-spec' for the macro. | 3228 | equivalent to writing a `def-edebug-spec' for the macro, |
| 3229 | but this is cleaner.) | ||
| 3203 | 3230 | ||
| 3204 | --- | 3231 | --- |
| 3205 | *** cl-indent now allows customization of Indentation of backquoted forms. | 3232 | *** cl-indent now allows customization of Indentation of backquoted forms. |
| @@ -3217,7 +3244,7 @@ forms. | |||
| 3217 | +++ | 3244 | +++ |
| 3218 | ** Variable aliases: | 3245 | ** Variable aliases: |
| 3219 | 3246 | ||
| 3220 | *** defvaralias ALIAS-VAR BASE-VAR [DOCSTRING] | 3247 | *** New function: defvaralias ALIAS-VAR BASE-VAR [DOCSTRING] |
| 3221 | 3248 | ||
| 3222 | This function defines the symbol ALIAS-VAR as a variable alias for | 3249 | This function defines the symbol ALIAS-VAR as a variable alias for |
| 3223 | symbol BASE-VAR. This means that retrieving the value of ALIAS-VAR | 3250 | symbol BASE-VAR. This means that retrieving the value of ALIAS-VAR |
| @@ -3227,7 +3254,7 @@ changes the value of BASE-VAR. | |||
| 3227 | DOCSTRING, if present, is the documentation for ALIAS-VAR; else it has | 3254 | DOCSTRING, if present, is the documentation for ALIAS-VAR; else it has |
| 3228 | the same documentation as BASE-VAR. | 3255 | the same documentation as BASE-VAR. |
| 3229 | 3256 | ||
| 3230 | *** indirect-variable VARIABLE | 3257 | *** New function: indirect-variable VARIABLE |
| 3231 | 3258 | ||
| 3232 | This function returns the variable at the end of the chain of aliases | 3259 | This function returns the variable at the end of the chain of aliases |
| 3233 | of VARIABLE. If VARIABLE is not a symbol, or if VARIABLE is not | 3260 | of VARIABLE. If VARIABLE is not a symbol, or if VARIABLE is not |
| @@ -3243,24 +3270,22 @@ variables, including buffer-local and frame-local variables. | |||
| 3243 | ** defcustom changes: | 3270 | ** defcustom changes: |
| 3244 | 3271 | ||
| 3245 | +++ | 3272 | +++ |
| 3246 | *** defcustom and other custom declarations now use a default group | 3273 | *** The new customization type `float' requires a floating point number. |
| 3247 | (the last prior group defined in the same file) when no :group was given. | ||
| 3248 | |||
| 3249 | --- | ||
| 3250 | *** The new customization type `float' specifies numbers with floating | ||
| 3251 | point (no integers are allowed). | ||
| 3252 | 3274 | ||
| 3253 | ** String changes: | 3275 | ** String changes: |
| 3254 | 3276 | ||
| 3255 | +++ | 3277 | +++ |
| 3256 | *** The escape sequence \s is now interpreted as a SPACE character, | 3278 | *** The escape sequence \s is now interpreted as a SPACE character. |
| 3257 | unless it is followed by a `-' in a character constant (e.g. ?\s-A), | 3279 | |
| 3258 | in which case it is still interpreted as the super modifier. | 3280 | Exception: In a character constant, if it is followed by a `-' in a |
| 3259 | In strings, \s is always interpreted as a space. | 3281 | character constant (e.g. ?\s-A), it is still interpreted as the super |
| 3282 | modifier. In strings, \s is always interpreted as a space. | ||
| 3260 | 3283 | ||
| 3261 | +++ | 3284 | +++ |
| 3262 | *** A hex escape in a string forces the string to be multibyte. | 3285 | *** A hex escape in a string constant forces the string to be multibyte. |
| 3263 | An octal escape makes it unibyte. | 3286 | |
| 3287 | +++ | ||
| 3288 | *** An octal escape in a string constant forces the string to be unibyte. | ||
| 3264 | 3289 | ||
| 3265 | +++ | 3290 | +++ |
| 3266 | *** `split-string' now includes null substrings in the returned list if | 3291 | *** `split-string' now includes null substrings in the returned list if |
| @@ -3274,7 +3299,7 @@ empty matches are omitted from the returned list. | |||
| 3274 | multibyte string with the same individual character codes. | 3299 | multibyte string with the same individual character codes. |
| 3275 | 3300 | ||
| 3276 | +++ | 3301 | +++ |
| 3277 | *** New function `substring-no-properties returns a substring without | 3302 | *** New function `substring-no-properties' returns a substring without |
| 3278 | text properties. | 3303 | text properties. |
| 3279 | 3304 | ||
| 3280 | +++ | 3305 | +++ |
| @@ -3282,18 +3307,13 @@ text properties. | |||
| 3282 | `assoc-ignore-representation', which are still available, but have | 3307 | `assoc-ignore-representation', which are still available, but have |
| 3283 | been declared obsolete. | 3308 | been declared obsolete. |
| 3284 | 3309 | ||
| 3285 | ** Buffer/variable changes: | ||
| 3286 | |||
| 3287 | +++ | ||
| 3288 | *** The new function `buffer-local-value' returns the buffer-local | ||
| 3289 | binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not | ||
| 3290 | have a buffer-local binding in buffer BUFFER, it returns the default | ||
| 3291 | value of VARIABLE instead. | ||
| 3292 | |||
| 3293 | +++ | 3310 | +++ |
| 3294 | ** There is a new facility for displaying warnings to the user. | 3311 | ** Displaying warnings to the user. |
| 3295 | 3312 | ||
| 3296 | See the functions `warn' and `display-warning' . | 3313 | See the functions `warn' and `display-warning', or the Lisp Manual. |
| 3314 | If you want to be sure the warning will not be overlooked, this | ||
| 3315 | facility is much better than using `message', since it displays | ||
| 3316 | warnings in a separate window. | ||
| 3297 | 3317 | ||
| 3298 | +++ | 3318 | +++ |
| 3299 | ** Progress reporters. | 3319 | ** Progress reporters. |
| @@ -3315,28 +3335,36 @@ the usable window height and width is used. | |||
| 3315 | +++ | 3335 | +++ |
| 3316 | *** The `line-move', `scroll-up', and `scroll-down' functions will now | 3336 | *** The `line-move', `scroll-up', and `scroll-down' functions will now |
| 3317 | modify the window vscroll to scroll through display rows that are | 3337 | modify the window vscroll to scroll through display rows that are |
| 3318 | taller that the height of the window, for example in the presense of | 3338 | taller that the height of the window, for example in the presence of |
| 3319 | large images. To disable this feature, Lisp code can bind the new | 3339 | large images. To disable this feature, bind the new variable |
| 3320 | variable `auto-window-vscroll' to nil. | 3340 | `auto-window-vscroll' to nil. |
| 3321 | 3341 | ||
| 3322 | +++ | 3342 | +++ |
| 3323 | *** The argument to `forward-word', `backward-word', | 3343 | *** The argument to `forward-word', `backward-word' is optional. |
| 3324 | `forward-to-indentation' and `backward-to-indentation' is now | 3344 | |
| 3325 | optional, and defaults to 1. | 3345 | It defaults to 1. |
| 3346 | |||
| 3347 | +++ | ||
| 3348 | *** Argument to `forward-to-indentation' and `backward-to-indentation' is optional. | ||
| 3349 | |||
| 3350 | It defaults to 1. | ||
| 3326 | 3351 | ||
| 3327 | +++ | 3352 | +++ |
| 3328 | *** Lisp code can now test if a given buffer position is inside a | 3353 | *** New function `mouse-on-link-p' test if a position is in a clickable link. |
| 3329 | clickable link with the new function `mouse-on-link-p'. This is the | 3354 | |
| 3330 | function used by the new `mouse-1-click-follows-link' functionality. | 3355 | This is the function used by the new `mouse-1-click-follows-link' |
| 3356 | functionality. | ||
| 3331 | 3357 | ||
| 3332 | +++ | 3358 | +++ |
| 3333 | *** New function `line-number-at-pos' returns the line number of the | 3359 | *** New function `line-number-at-pos' returns the line number of a position. |
| 3334 | current line in the current buffer, or if optional buffer position is | 3360 | |
| 3335 | given, line number of corresponding line in current buffer. | 3361 | It an optional buffer position argument that defaults to point. |
| 3336 | 3362 | ||
| 3337 | +++ | 3363 | +++ |
| 3338 | *** `field-beginning' and `field-end' now accept an additional optional | 3364 | *** `field-beginning' and `field-end' take new optional argument, LIMIT. |
| 3339 | argument, LIMIT. | 3365 | |
| 3366 | This argument tells them not to search beyond LIMIT. Instead they | ||
| 3367 | give up and return LIMIT. | ||
| 3340 | 3368 | ||
| 3341 | +++ | 3369 | +++ |
| 3342 | *** Function `pos-visible-in-window-p' now returns the pixel coordinates | 3370 | *** Function `pos-visible-in-window-p' now returns the pixel coordinates |
| @@ -3351,23 +3379,29 @@ position or for a given window pixel coordinate. | |||
| 3351 | ** Text modification: | 3379 | ** Text modification: |
| 3352 | 3380 | ||
| 3353 | +++ | 3381 | +++ |
| 3354 | *** The new function `insert-buffer-substring-as-yank' works like | 3382 | *** The new function `insert-for-yank' normally works like `insert', but |
| 3355 | `insert-buffer-substring', but removes the text properties in the | 3383 | removes the text properties in the `yank-excluded-properties' list |
| 3356 | `yank-excluded-properties' list. | 3384 | and handles the `yank-handler' text property. |
| 3385 | |||
| 3386 | +++ | ||
| 3387 | *** The new function `insert-buffer-substring-as-yank' is like | ||
| 3388 | `insert-for-yank' except that it gets the text from another buffer as | ||
| 3389 | in `insert-buffer-substring'. | ||
| 3357 | 3390 | ||
| 3358 | +++ | 3391 | +++ |
| 3359 | *** The new function `insert-buffer-substring-no-properties' is like | 3392 | *** The new function `insert-buffer-substring-no-properties' is like |
| 3360 | insert-buffer-substring, but removes all text properties from the | 3393 | `insert-buffer-substring', but removes all text properties from the |
| 3361 | inserted substring. | 3394 | inserted substring. |
| 3362 | 3395 | ||
| 3363 | +++ | 3396 | +++ |
| 3364 | *** The new function `filter-buffer-substring' extracts a buffer | 3397 | *** The new function `filter-buffer-substring' extracts a buffer |
| 3365 | substring, passes it through a set of filter functions, and returns | 3398 | substring, passes it through a set of filter functions, and returns |
| 3366 | the filtered substring. It is used instead of `buffer-substring' or | 3399 | the filtered substring. Use it instead of `buffer-substring' or |
| 3367 | `delete-and-extract-region' when copying text into a user-accessible | 3400 | `delete-and-extract-region' when copying text into a user-accessible |
| 3368 | data structure, like the kill-ring, X clipboard, or a register. The | 3401 | data structure, such as the kill-ring, X clipboard, or a register. |
| 3369 | list of filter function is specified by the new variable | 3402 | |
| 3370 | `buffer-substring-filters'. For example, Longlines mode uses | 3403 | The list of filter function is specified by the new variable |
| 3404 | `buffer-substring-filters'. For example, Longlines mode adds to | ||
| 3371 | `buffer-substring-filters' to remove soft newlines from the copied | 3405 | `buffer-substring-filters' to remove soft newlines from the copied |
| 3372 | text. | 3406 | text. |
| 3373 | 3407 | ||
| @@ -3390,42 +3424,80 @@ clone to the other. | |||
| 3390 | --- | 3424 | --- |
| 3391 | *** The function `insert-string' is now obsolete. | 3425 | *** The function `insert-string' is now obsolete. |
| 3392 | 3426 | ||
| 3393 | ** Syntax table changes: | ||
| 3394 | |||
| 3395 | +++ | 3427 | +++ |
| 3396 | *** The macro `with-syntax-table' does not copy the table any more. | 3428 | ** Atomic change groups. |
| 3397 | 3429 | ||
| 3398 | +++ | 3430 | To perform some changes in the current buffer "atomically" so that |
| 3399 | *** The new function `syntax-after' returns the syntax code | 3431 | they either all succeed or are all undone, use `atomic-change-group' |
| 3400 | of the character after a specified buffer position, taking account | 3432 | around the code that makes changes. For instance: |
| 3401 | of text properties as well as the character code. | ||
| 3402 | 3433 | ||
| 3403 | +++ | 3434 | (atomic-change-group |
| 3404 | *** `syntax-class' extracts the class of a syntax code (as returned | 3435 | (insert foo) |
| 3405 | by syntax-after). | 3436 | (delete-region x y)) |
| 3406 | 3437 | ||
| 3407 | *** The new package `syntax.el' provides an efficient way to find the | 3438 | If an error (or other nonlocal exit) occurs inside the body of |
| 3408 | current syntactic context (as returned by `parse-partial-sexp'). | 3439 | `atomic-change-group', it unmakes all the changes in that buffer that |
| 3440 | were during the execution of the body. The change group has no effect | ||
| 3441 | on any other buffers--any such changes remain. | ||
| 3409 | 3442 | ||
| 3410 | ** GC changes: | 3443 | If you need something more sophisticated, you can directly call the |
| 3444 | lower-level functions that `atomic-change-group' uses. Here is how. | ||
| 3411 | 3445 | ||
| 3412 | +++ | 3446 | To set up a change group for one buffer, call `prepare-change-group'. |
| 3413 | *** New variables `gc-elapsed' and `gcs-done' provide extra information | 3447 | Specify the buffer as argument; it defaults to the current buffer. |
| 3414 | on garbage collection. | 3448 | This function returns a "handle" for the change group. You must save |
| 3449 | the handle to activate the change group and then finish it. | ||
| 3415 | 3450 | ||
| 3416 | +++ | 3451 | Before you change the buffer again, you must activate the change |
| 3417 | *** Functions from `post-gc-hook' are run at the end of garbage | 3452 | group. Pass the handle to `activate-change-group' afterward to |
| 3418 | collection. The hook is run with GC inhibited, so use it with care. | 3453 | do this. |
| 3454 | |||
| 3455 | After you make the changes, you must finish the change group. You can | ||
| 3456 | either accept the changes or cancel them all. Call | ||
| 3457 | `accept-change-group' to accept the changes in the group as final; | ||
| 3458 | call `cancel-change-group' to undo them all. | ||
| 3459 | |||
| 3460 | You should use `unwind-protect' to make sure the group is always | ||
| 3461 | finished. The call to `activate-change-group' should be inside the | ||
| 3462 | `unwind-protect', in case the user types C-g just after it runs. | ||
| 3463 | (This is one reason why `prepare-change-group' and | ||
| 3464 | `activate-change-group' are separate functions.) Once you finish the | ||
| 3465 | group, don't use the handle again--don't try to finish the same group | ||
| 3466 | twice. | ||
| 3467 | |||
| 3468 | To make a multibuffer change group, call `prepare-change-group' once | ||
| 3469 | for each buffer you want to cover, then use `nconc' to combine the | ||
| 3470 | returned values, like this: | ||
| 3471 | |||
| 3472 | (nconc (prepare-change-group buffer-1) | ||
| 3473 | (prepare-change-group buffer-2)) | ||
| 3474 | |||
| 3475 | You can then activate the multibuffer change group with a single call | ||
| 3476 | to `activate-change-group', and finish it with a single call to | ||
| 3477 | `accept-change-group' or `cancel-change-group'. | ||
| 3478 | |||
| 3479 | Nested use of several change groups for the same buffer works as you | ||
| 3480 | would expect. Non-nested use of change groups for the same buffer | ||
| 3481 | will lead to undesirable results, so don't let it happen; the first | ||
| 3482 | change group you start for any given buffer should be the last one | ||
| 3483 | finished. | ||
| 3419 | 3484 | ||
| 3420 | ** Buffer-related changes: | 3485 | ** Buffer-related changes: |
| 3421 | 3486 | ||
| 3422 | --- | 3487 | --- |
| 3423 | *** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST. | 3488 | *** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST. |
| 3489 | |||
| 3424 | If it is non-nil, it specifies which buffers to list. | 3490 | If it is non-nil, it specifies which buffers to list. |
| 3425 | 3491 | ||
| 3426 | +++ | 3492 | +++ |
| 3427 | *** `kill-buffer-hook' is now a permanent local. | 3493 | *** `kill-buffer-hook' is now a permanent local. |
| 3428 | 3494 | ||
| 3495 | +++ | ||
| 3496 | *** The new function `buffer-local-value' returns the buffer-local | ||
| 3497 | binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not | ||
| 3498 | have a buffer-local binding in buffer BUFFER, it returns the default | ||
| 3499 | value of VARIABLE instead. | ||
| 3500 | |||
| 3429 | ** Local variables lists: | 3501 | ** Local variables lists: |
| 3430 | 3502 | ||
| 3431 | +++ | 3503 | +++ |
| @@ -3452,25 +3524,65 @@ with the form as argument, and if any returns t, the form is ok to call. | |||
| 3452 | If the form is not "ok to call", that means Emacs asks for | 3524 | If the form is not "ok to call", that means Emacs asks for |
| 3453 | confirmation as before. | 3525 | confirmation as before. |
| 3454 | 3526 | ||
| 3455 | ** Abbrev changes: | 3527 | ** Searching and matching changes: |
| 3456 | 3528 | ||
| 3457 | *** The new function copy-abbrev-table returns a new abbrev table that | 3529 | +++ |
| 3458 | is a copy of a given abbrev table. | 3530 | *** New function `looking-back' checks whether a regular expression matches |
| 3531 | the text before point. Specifying the LIMIT argument bounds how far | ||
| 3532 | back the match can start; this is a way to keep it from taking too long. | ||
| 3459 | 3533 | ||
| 3460 | +++ | 3534 | +++ |
| 3461 | *** define-abbrev now accepts an optional argument SYSTEM-FLAG. If | 3535 | *** The new variable `search-spaces-regexp' controls how to search |
| 3462 | non-nil, this marks the abbrev as a "system" abbrev, which means that | 3536 | for spaces in a regular expression. If it is non-nil, it should be a |
| 3463 | it won't be stored in the user's abbrevs file if he saves the abbrevs. | 3537 | regular expression, and any series of spaces stands for that regular |
| 3464 | Major modes that predefine some abbrevs should always specify this | 3538 | expression. If it is nil, spaces stand for themselves. |
| 3465 | flag. | 3539 | |
| 3540 | Spaces inside of constructs such as `[..]' and inside loops such as | ||
| 3541 | `*', `+', and `?' are never replaced with `search-spaces-regexp'. | ||
| 3542 | |||
| 3543 | +++ | ||
| 3544 | *** New regular expression operators, `\_<' and `\_>'. | ||
| 3545 | |||
| 3546 | These match the beginning and end of a symbol. A symbol is a | ||
| 3547 | non-empty sequence of either word or symbol constituent characters, as | ||
| 3548 | specified by the syntax table. | ||
| 3549 | |||
| 3550 | --- | ||
| 3551 | *** rx.el has new corresponding `symbol-end' and `symbol-start' elements. | ||
| 3552 | |||
| 3553 | +++ | ||
| 3554 | *** `skip-chars-forward' and `skip-chars-backward' now handle | ||
| 3555 | character classes such as `[:alpha:]', along with individual | ||
| 3556 | characters and ranges. | ||
| 3557 | |||
| 3558 | --- | ||
| 3559 | *** In `replace-match', the replacement text no longer inherits | ||
| 3560 | properties from surrounding text. | ||
| 3561 | |||
| 3562 | +++ | ||
| 3563 | *** The list returned by `(match-data t)' now has the buffer as a final | ||
| 3564 | element, if the last match was on a buffer. `set-match-data' | ||
| 3565 | accepts such a list for restoring the match state. | ||
| 3566 | |||
| 3567 | +++ | ||
| 3568 | *** The default value of `sentence-end' is now defined using the new | ||
| 3569 | variable `sentence-end-without-space', which contains such characters | ||
| 3570 | that end a sentence without following spaces. | ||
| 3571 | |||
| 3572 | The function `sentence-end' should be used to obtain the value of the | ||
| 3573 | variable `sentence-end'. If the variable `sentence-end' is nil, then | ||
| 3574 | this function returns the regexp constructed from the variables | ||
| 3575 | `sentence-end-without-period', `sentence-end-double-space' and | ||
| 3576 | `sentence-end-without-space'. | ||
| 3466 | 3577 | ||
| 3467 | ** Undo changes: | 3578 | ** Undo changes: |
| 3468 | 3579 | ||
| 3469 | +++ | 3580 | +++ |
| 3470 | *** An element of buffer-undo-list can now have the form (apply FUNNAME | 3581 | *** `buffer-undo-list' can allows programmable elements. |
| 3471 | . ARGS), where FUNNAME is a symbol other than t or nil. That stands | 3582 | |
| 3472 | for a high-level change that should be undone by evaluating (apply | 3583 | These elements have the form (apply FUNNAME . ARGS), where FUNNAME is |
| 3473 | FUNNAME ARGS). | 3584 | a symbol other than t or nil. That stands for a high-level change |
| 3585 | that should be undone by evaluating (apply FUNNAME ARGS). | ||
| 3474 | 3586 | ||
| 3475 | These entries can also have the form (apply DELTA BEG END FUNNAME . ARGS) | 3587 | These entries can also have the form (apply DELTA BEG END FUNNAME . ARGS) |
| 3476 | which indicates that the change which took place was limited to the | 3588 | which indicates that the change which took place was limited to the |
| @@ -3478,20 +3590,20 @@ range BEG...END and increased the buffer size by DELTA. | |||
| 3478 | 3590 | ||
| 3479 | +++ | 3591 | +++ |
| 3480 | *** If the buffer's undo list for the current command gets longer than | 3592 | *** If the buffer's undo list for the current command gets longer than |
| 3481 | undo-outer-limit, garbage collection empties it. This is to prevent | 3593 | `undo-outer-limit', garbage collection empties it. This is to prevent |
| 3482 | it from using up the available memory and choking Emacs. | 3594 | it from using up the available memory and choking Emacs. |
| 3483 | 3595 | ||
| 3484 | +++ | 3596 | +++ |
| 3485 | ** New `yank-handler' text property can be used to control how | 3597 | ** New `yank-handler' text property can be used to control how |
| 3486 | previously killed text on the kill-ring is reinserted. | 3598 | previously killed text on the kill ring is reinserted. |
| 3487 | 3599 | ||
| 3488 | The value of the yank-handler property must be a list with one to four | 3600 | The value of the `yank-handler' property must be a list with one to four |
| 3489 | elements with the following format: | 3601 | elements with the following format: |
| 3490 | (FUNCTION PARAM NOEXCLUDE UNDO). | 3602 | (FUNCTION PARAM NOEXCLUDE UNDO). |
| 3491 | 3603 | ||
| 3492 | The `insert-for-yank' function looks for a yank-handler property on | 3604 | The `insert-for-yank' function looks for a yank-handler property on |
| 3493 | the first character on its string argument (typically the first | 3605 | the first character on its string argument (typically the first |
| 3494 | element on the kill-ring). If a yank-handler property is found, | 3606 | element on the kill-ring). If a `yank-handler' property is found, |
| 3495 | the normal behavior of `insert-for-yank' is modified in various ways: | 3607 | the normal behavior of `insert-for-yank' is modified in various ways: |
| 3496 | 3608 | ||
| 3497 | When FUNCTION is present and non-nil, it is called instead of `insert' | 3609 | When FUNCTION is present and non-nil, it is called instead of `insert' |
| @@ -3501,7 +3613,7 @@ passed to FUNCTION (or `insert'); for example, if FUNCTION is | |||
| 3501 | `yank-rectangle', PARAM should be a list of strings to insert as a | 3613 | `yank-rectangle', PARAM should be a list of strings to insert as a |
| 3502 | rectangle. | 3614 | rectangle. |
| 3503 | If NOEXCLUDE is present and non-nil, the normal removal of the | 3615 | If NOEXCLUDE is present and non-nil, the normal removal of the |
| 3504 | yank-excluded-properties is not performed; instead FUNCTION is | 3616 | `yank-excluded-properties' is not performed; instead FUNCTION is |
| 3505 | responsible for removing those properties. This may be necessary | 3617 | responsible for removing those properties. This may be necessary |
| 3506 | if FUNCTION adjusts point before or after inserting the object. | 3618 | if FUNCTION adjusts point before or after inserting the object. |
| 3507 | If UNDO is present and non-nil, it is a function that will be called | 3619 | If UNDO is present and non-nil, it is a function that will be called |
| @@ -3509,31 +3621,43 @@ by `yank-pop' to undo the insertion of the current object. It is | |||
| 3509 | called with two arguments, the start and end of the current region. | 3621 | called with two arguments, the start and end of the current region. |
| 3510 | FUNCTION can set `yank-undo-function' to override the UNDO value. | 3622 | FUNCTION can set `yank-undo-function' to override the UNDO value. |
| 3511 | 3623 | ||
| 3512 | *** The functions kill-new, kill-append, and kill-region now have an | 3624 | *** The functions `kill-new', `kill-append', and `kill-region' now have an |
| 3513 | optional argument to specify the yank-handler text property to put on | 3625 | optional argument to specify the `yank-handler' text property to put on |
| 3514 | the killed text. | 3626 | the killed text. |
| 3515 | 3627 | ||
| 3516 | *** The function yank-pop will now use a non-nil value of the variable | 3628 | *** The function `yank-pop' will now use a non-nil value of the variable |
| 3517 | `yank-undo-function' (instead of delete-region) to undo the previous | 3629 | `yank-undo-function' (instead of `delete-region') to undo the previous |
| 3518 | yank or yank-pop command (or a call to insert-for-yank). The function | 3630 | `yank' or `yank-pop' command (or a call to `insert-for-yank'). The function |
| 3519 | insert-for-yank automatically sets that variable according to the UNDO | 3631 | `insert-for-yank' automatically sets that variable according to the UNDO |
| 3520 | element of the string argument's yank-handler text property if present. | 3632 | element of the string argument's `yank-handler' text property if present. |
| 3521 | 3633 | ||
| 3522 | *** The function `insert-for-yank' now supports strings where the | 3634 | *** The function `insert-for-yank' now supports strings where the |
| 3523 | `yank-handler' property does not span the first character of the | 3635 | `yank-handler' property does not span the first character of the |
| 3524 | string. The old behavior is available if you call | 3636 | string. The old behavior is available if you call |
| 3525 | `insert-for-yank-1' instead. | 3637 | `insert-for-yank-1' instead. |
| 3526 | 3638 | ||
| 3527 | *** The new function insert-for-yank normally works like `insert', but | 3639 | ** Syntax table changes: |
| 3528 | removes the text properties in the `yank-excluded-properties' list. | 3640 | |
| 3529 | However, the insertion of the text can be modified by a `yank-handler' | 3641 | +++ |
| 3530 | text property. | 3642 | *** The macro `with-syntax-table' no longer copies the syntax table. |
| 3643 | |||
| 3644 | +++ | ||
| 3645 | *** The new function `syntax-after' returns the syntax code | ||
| 3646 | of the character after a specified buffer position, taking account | ||
| 3647 | of text properties as well as the character code. | ||
| 3648 | |||
| 3649 | +++ | ||
| 3650 | *** `syntax-class' extracts the class of a syntax code (as returned | ||
| 3651 | by `syntax-after'). | ||
| 3652 | |||
| 3653 | *** The new function `syntax-ppss' rovides an efficient way to find the | ||
| 3654 | current syntactic context at point. | ||
| 3531 | 3655 | ||
| 3532 | ** File operation changes: | 3656 | ** File operation changes: |
| 3533 | 3657 | ||
| 3534 | +++ | 3658 | +++ |
| 3535 | *** New vars `exec-suffixes' and `load-suffixes' used when | 3659 | *** New vars `exec-suffixes' and `load-suffixes' used when |
| 3536 | searching for an executable resp. an elisp file. | 3660 | searching for an executable or an Emacs Lisp file. |
| 3537 | 3661 | ||
| 3538 | +++ | 3662 | +++ |
| 3539 | *** The new primitive `set-file-times' sets a file's access and | 3663 | *** The new primitive `set-file-times' sets a file's access and |
| @@ -3547,8 +3671,8 @@ its own special methods and not directly through the file system). | |||
| 3547 | The value in that case is an identifier for the remote file system. | 3671 | The value in that case is an identifier for the remote file system. |
| 3548 | 3672 | ||
| 3549 | +++ | 3673 | +++ |
| 3550 | *** `auto-save-file-format' has been renamed to | 3674 | *** `buffer-auto-save-file-format' is the new name for what was |
| 3551 | `buffer-auto-save-file-format' and made into a permanent local. | 3675 | formerly called `auto-save-file-format'. It is now a permanent local. |
| 3552 | 3676 | ||
| 3553 | +++ | 3677 | +++ |
| 3554 | *** Functions `file-name-sans-extension' and `file-name-extension' now | 3678 | *** Functions `file-name-sans-extension' and `file-name-extension' now |
| @@ -3556,15 +3680,11 @@ ignore the leading dots in file names, so that file names such as | |||
| 3556 | `.emacs' are treated as extensionless. | 3680 | `.emacs' are treated as extensionless. |
| 3557 | 3681 | ||
| 3558 | +++ | 3682 | +++ |
| 3559 | *** copy-file now takes an additional option arg MUSTBENEW. | 3683 | *** `copy-file' now takes an additional option arg MUSTBENEW. |
| 3560 | 3684 | ||
| 3561 | This argument works like the MUSTBENEW argument of write-file. | 3685 | This argument works like the MUSTBENEW argument of write-file. |
| 3562 | 3686 | ||
| 3563 | +++ | 3687 | +++ |
| 3564 | *** If the second argument to `copy-file' is the name of a directory, | ||
| 3565 | the file is copied to that directory instead of signaling an error. | ||
| 3566 | |||
| 3567 | +++ | ||
| 3568 | *** `visited-file-modtime' and `calendar-time-from-absolute' now return | 3688 | *** `visited-file-modtime' and `calendar-time-from-absolute' now return |
| 3569 | a list of two integers, instead of a cons. | 3689 | a list of two integers, instead of a cons. |
| 3570 | 3690 | ||
| @@ -3581,9 +3701,9 @@ tasks, for example; it can be used by the copyright package to make | |||
| 3581 | sure saved files have the current year in any copyright headers. | 3701 | sure saved files have the current year in any copyright headers. |
| 3582 | 3702 | ||
| 3583 | +++ | 3703 | +++ |
| 3584 | *** If a buffer sets buffer-save-without-query to non-nil, | 3704 | *** If `buffer-save-without-query' is non-nil in some buffer, |
| 3585 | save-some-buffers will always save that buffer without asking | 3705 | `save-some-buffers' will always save that buffer without asking (if |
| 3586 | (if it's modified). | 3706 | it's modified). |
| 3587 | 3707 | ||
| 3588 | *** New function `locate-file' searches for a file in a list of directories. | 3708 | *** New function `locate-file' searches for a file in a list of directories. |
| 3589 | `locate-file' accepts a name of a file to search (a string), and two | 3709 | `locate-file' accepts a name of a file to search (a string), and two |
| @@ -3598,12 +3718,13 @@ One advantage of using this function is that the list of suffixes in | |||
| 3598 | executables without polluting Lisp code with OS dependancies. | 3718 | executables without polluting Lisp code with OS dependancies. |
| 3599 | 3719 | ||
| 3600 | --- | 3720 | --- |
| 3601 | *** The precedence of file-name-handlers has been changed. | 3721 | *** The precedence of file name handlers has been changed. |
| 3602 | Instead of blindly choosing the first handler that matches, | 3722 | |
| 3603 | find-file-name-handler now gives precedence to a file-name handler | 3723 | Instead of choosing the first handler that matches, |
| 3604 | that matches near the end of the file name. More specifically, the | 3724 | `find-file-name-handler' now gives precedence to a file name handler |
| 3605 | handler whose (match-beginning 0) is the largest is chosen. | 3725 | that matches nearest the end of the file name. More precisely, the |
| 3606 | In case of ties, the old "first matched" rule applies. | 3726 | handler whose (match-beginning 0) is the largest is chosen. In case |
| 3727 | of ties, the old "first matched" rule applies. | ||
| 3607 | 3728 | ||
| 3608 | +++ | 3729 | +++ |
| 3609 | *** A file name handler can declare which operations it handles. | 3730 | *** A file name handler can declare which operations it handles. |
| @@ -3621,7 +3742,7 @@ autoloaded when not really necessary. | |||
| 3621 | +++ | 3742 | +++ |
| 3622 | *** An interactive specification can now use the code letter 'U' to get | 3743 | *** An interactive specification can now use the code letter 'U' to get |
| 3623 | the up-event that was discarded in case the last key sequence read for a | 3744 | the up-event that was discarded in case the last key sequence read for a |
| 3624 | previous 'k' or 'K' argument was a down-event; otherwise nil is used. | 3745 | previous `k' or `K' argument was a down-event; otherwise nil is used. |
| 3625 | 3746 | ||
| 3626 | +++ | 3747 | +++ |
| 3627 | *** The new interactive-specification `G' reads a file name | 3748 | *** The new interactive-specification `G' reads a file name |
| @@ -3629,28 +3750,29 @@ much like `F', but if the input is a directory name (even defaulted), | |||
| 3629 | it returns just the directory name. | 3750 | it returns just the directory name. |
| 3630 | 3751 | ||
| 3631 | --- | 3752 | --- |
| 3632 | *** Functions y-or-n-p, read-char, read-key-sequence and the like, that | 3753 | *** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that |
| 3633 | display a prompt but don't use the minibuffer, now display the prompt | 3754 | display a prompt but don't use the minibuffer, now display the prompt |
| 3634 | using the text properties (esp. the face) of the prompt string. | 3755 | using the text properties (esp. the face) of the prompt string. |
| 3635 | 3756 | ||
| 3636 | +++ | 3757 | +++ |
| 3637 | *** (while-no-input BODY...) runs BODY, but only so long as no input | 3758 | *** (while-no-input BODY...) runs BODY, but only so long as no input |
| 3638 | arrives. If the user types or clicks anything, BODY stops as if a | 3759 | arrives. If the user types or clicks anything, BODY stops as if a |
| 3639 | quit had occurred. while-no-input returns the value of BODY, if BODY | 3760 | quit had occurred. `while-no-input' returns the value of BODY, if BODY |
| 3640 | finishes. It returns nil if BODY was aborted. | 3761 | finishes. It returns nil if BODY was aborted. |
| 3641 | 3762 | ||
| 3642 | ** Minibuffer changes: | 3763 | ** Minibuffer changes: |
| 3643 | 3764 | ||
| 3765 | +++ | ||
| 3644 | *** The new function `minibufferp' returns non-nil if its optional | 3766 | *** The new function `minibufferp' returns non-nil if its optional |
| 3645 | buffer argument is a minibuffer. If the argument is omitted, it | 3767 | buffer argument is a minibuffer. If the argument is omitted, it |
| 3646 | defaults to the current buffer. | 3768 | defaults to the current buffer. |
| 3647 | 3769 | ||
| 3648 | +++ | 3770 | +++ |
| 3649 | *** New function minibuffer-selected-window returns the window which | 3771 | *** New function `minibuffer-selected-window' returns the window which |
| 3650 | was selected when entering the minibuffer. | 3772 | was selected when entering the minibuffer. |
| 3651 | 3773 | ||
| 3652 | +++ | 3774 | +++ |
| 3653 | *** read-from-minibuffer now accepts an additional argument KEEP-ALL | 3775 | *** `read-from-minibuffer' now accepts an additional argument KEEP-ALL |
| 3654 | saying to put all inputs in the history list, even empty ones. | 3776 | saying to put all inputs in the history list, even empty ones. |
| 3655 | 3777 | ||
| 3656 | +++ | 3778 | +++ |
| @@ -3661,8 +3783,8 @@ while reading the file name from the minibuffer; the predicate in this | |||
| 3661 | variable is used by read-file-name-internal to filter the completion list. | 3783 | variable is used by read-file-name-internal to filter the completion list. |
| 3662 | 3784 | ||
| 3663 | --- | 3785 | --- |
| 3664 | *** The new variable `read-file-name-function' can be used by lisp code | 3786 | *** The new variable `read-file-name-function' can be used by Lisp code |
| 3665 | to override the internal read-file-name function. | 3787 | to override the built-in `read-file-name' function. |
| 3666 | 3788 | ||
| 3667 | +++ | 3789 | +++ |
| 3668 | *** The new variable `read-file-name-completion-ignore-case' specifies | 3790 | *** The new variable `read-file-name-completion-ignore-case' specifies |
| @@ -3670,59 +3792,45 @@ whether completion ignores case when reading a file name with the | |||
| 3670 | `read-file-name' function. | 3792 | `read-file-name' function. |
| 3671 | 3793 | ||
| 3672 | +++ | 3794 | +++ |
| 3673 | *** The new function `read-directory-name' can be used instead of | 3795 | *** The new function `read-directory-name' for reading a directory name. |
| 3674 | `read-file-name' to read a directory name; when used, completion | ||
| 3675 | will only show directories. | ||
| 3676 | 3796 | ||
| 3677 | ** Searching and matching changes: | 3797 | It is like `read-file-name' except that the defaulting works better |
| 3798 | for directories, and completion inside it shows only directories. | ||
| 3678 | 3799 | ||
| 3679 | +++ | 3800 | ** Completion changes: |
| 3680 | *** New function `looking-back' checks whether a regular expression matches | ||
| 3681 | the text before point. Specifying the LIMIT argument bounds how far | ||
| 3682 | back the match can start; this is a way to keep it from taking too long. | ||
| 3683 | 3801 | ||
| 3684 | +++ | 3802 | +++ |
| 3685 | *** The new variable search-spaces-regexp controls how to search | 3803 | *** The functions `all-completions' and `try-completion' now accept lists |
| 3686 | for spaces in a regular expression. If it is non-nil, it should be a | 3804 | of strings as well as hash-tables additionally to alists, obarrays |
| 3687 | regular expression, and any series of spaces stands for that regular | 3805 | and functions. Furthermore, the function `test-completion' is now |
| 3688 | expression. If it is nil, spaces stand for themselves. | 3806 | exported to Lisp. The keys in alists and hash tables can be either |
| 3689 | 3807 | strings or symbols, which are automatically converted with to strings. | |
| 3690 | Spaces inside of constructs such as [..] and *, +, ? are never | ||
| 3691 | replaced with search-spaces-regexp. | ||
| 3692 | 3808 | ||
| 3693 | +++ | 3809 | +++ |
| 3694 | *** There are now two new regular expression operators, \_< and \_>, | 3810 | *** The new macro `dynamic-completion-table' supports using functions |
| 3695 | for matching the beginning and end of a symbol. A symbol is a | 3811 | as a dynamic completion table. |
| 3696 | non-empty sequence of either word or symbol constituent characters, as | ||
| 3697 | specified by the syntax table. | ||
| 3698 | 3812 | ||
| 3699 | +++ | 3813 | (dynamic-completion-table FUN) |
| 3700 | *** skip-chars-forward and skip-chars-backward now handle | ||
| 3701 | character classes such as [:alpha:], along with individual characters | ||
| 3702 | and ranges. | ||
| 3703 | 3814 | ||
| 3704 | --- | 3815 | FUN is called with one argument, the string for which completion is required, |
| 3705 | *** In `replace-match', the replacement text no longer inherits | 3816 | and it should return an alist containing all the intended possible |
| 3706 | properties from surrounding text. | 3817 | completions. This alist can be a full list of possible completions so that FUN |
| 3818 | can ignore the value of its argument. If completion is performed in the | ||
| 3819 | minibuffer, FUN will be called in the buffer from which the minibuffer was | ||
| 3820 | entered. `dynamic-completion-table' then computes the completion. | ||
| 3707 | 3821 | ||
| 3708 | +++ | 3822 | +++ |
| 3709 | *** The list returned by `(match-data t)' now has the buffer as a final | 3823 | *** The new macro `lazy-completion-table' initializes a variable |
| 3710 | element, if the last match was on a buffer. `set-match-data' | 3824 | as a lazy completion table. |
| 3711 | accepts such a list for restoring the match state. | ||
| 3712 | |||
| 3713 | --- | ||
| 3714 | *** rx.el has new corresponding `symbol-end' and `symbol-start' elements. | ||
| 3715 | 3825 | ||
| 3716 | +++ | 3826 | (lazy-completion-table VAR FUN &rest ARGS) |
| 3717 | *** The default value of `sentence-end' is now defined using the new | ||
| 3718 | variable `sentence-end-without-space', which contains such characters | ||
| 3719 | that end a sentence without following spaces. | ||
| 3720 | 3827 | ||
| 3721 | The function `sentence-end' should be used to obtain the value of the | 3828 | If the completion table VAR is used for the first time (e.g., by passing VAR |
| 3722 | variable `sentence-end'. If the variable `sentence-end' is nil, then | 3829 | as an argument to `try-completion'), the function FUN is called with arguments |
| 3723 | this function returns the regexp constructed from the variables | 3830 | ARGS. FUN must return the completion table that will be stored in VAR. If |
| 3724 | `sentence-end-without-period', `sentence-end-double-space' and | 3831 | completion is requested in the minibuffer, FUN will be called in the buffer |
| 3725 | `sentence-end-without-space'. | 3832 | from which the minibuffer was entered. The return value of |
| 3833 | `lazy-completion-table' must be used to initialize the value of VAR. | ||
| 3726 | 3834 | ||
| 3727 | +++ | 3835 | +++ |
| 3728 | ** Enhancements to keymaps. | 3836 | ** Enhancements to keymaps. |
| @@ -3737,7 +3845,7 @@ example, | |||
| 3737 | 3845 | ||
| 3738 | *** Interactive commands can be remapped through keymaps. | 3846 | *** Interactive commands can be remapped through keymaps. |
| 3739 | 3847 | ||
| 3740 | This is an alternative to using defadvice or substitute-key-definition | 3848 | This is an alternative to using `defadvice' or `substitute-key-definition' |
| 3741 | to modify the behavior of a key binding using the normal keymap | 3849 | to modify the behavior of a key binding using the normal keymap |
| 3742 | binding and lookup functionality. | 3850 | binding and lookup functionality. |
| 3743 | 3851 | ||
| @@ -3746,26 +3854,25 @@ remapped to another command, that command is run instead of the | |||
| 3746 | original command. | 3854 | original command. |
| 3747 | 3855 | ||
| 3748 | Example: | 3856 | Example: |
| 3749 | Suppose that minor mode my-mode has defined the commands | 3857 | Suppose that minor mode `my-mode' has defined the commands |
| 3750 | my-kill-line and my-kill-word, and it wants C-k (and any other key | 3858 | `my-kill-line' and `my-kill-word', and it wants C-k (and any other key |
| 3751 | bound to kill-line) to run the command my-kill-line instead of | 3859 | bound to `kill-line') to run the command `my-kill-line' instead of |
| 3752 | kill-line, and likewise it wants to run my-kill-word instead of | 3860 | `kill-line', and likewise it wants to run `my-kill-word' instead of |
| 3753 | kill-word. | 3861 | `kill-word'. |
| 3754 | 3862 | ||
| 3755 | Instead of rebinding C-k and the other keys in the minor mode map, | 3863 | Instead of rebinding C-k and the other keys in the minor mode map, |
| 3756 | command remapping allows you to directly map kill-line into | 3864 | command remapping allows you to directly map `kill-line' into |
| 3757 | my-kill-line and kill-word into my-kill-word through the minor mode | 3865 | `my-kill-line' and `kill-word' into `my-kill-word' using `define-key': |
| 3758 | map using define-key: | ||
| 3759 | 3866 | ||
| 3760 | (define-key my-mode-map [remap kill-line] 'my-kill-line) | 3867 | (define-key my-mode-map [remap kill-line] 'my-kill-line) |
| 3761 | (define-key my-mode-map [remap kill-word] 'my-kill-word) | 3868 | (define-key my-mode-map [remap kill-word] 'my-kill-word) |
| 3762 | 3869 | ||
| 3763 | Now, when my-mode is enabled, and the user enters C-k or M-d, | 3870 | When `my-mode' is enabled, its minor mode keymap is enabled too. So |
| 3764 | the commands my-kill-line and my-kill-word are run. | 3871 | when the user types C-k, that runs the command `my-kill-line'. |
| 3765 | 3872 | ||
| 3766 | Notice that only one level of remapping is supported. In the above | 3873 | Only one level of remapping is supported. In the above example, this |
| 3767 | example, this means that if my-kill-line is remapped to other-kill, | 3874 | means that if `my-kill-line' is remapped to `other-kill', then C-k still |
| 3768 | then C-k still runs my-kill-line. | 3875 | runs `my-kill-line'. |
| 3769 | 3876 | ||
| 3770 | The following changes have been made to provide command remapping: | 3877 | The following changes have been made to provide command remapping: |
| 3771 | 3878 | ||
| @@ -3777,15 +3884,15 @@ The following changes have been made to provide command remapping: | |||
| 3777 | - The new function `command-remapping' returns the binding for a | 3884 | - The new function `command-remapping' returns the binding for a |
| 3778 | remapped command in the current keymaps, or nil if not remapped. | 3885 | remapped command in the current keymaps, or nil if not remapped. |
| 3779 | 3886 | ||
| 3780 | - key-binding now remaps interactive commands unless the optional | 3887 | - `key-binding' now remaps interactive commands unless the optional |
| 3781 | third argument NO-REMAP is non-nil. | 3888 | third argument NO-REMAP is non-nil. |
| 3782 | 3889 | ||
| 3783 | - where-is-internal now returns nil for a remapped command (e.g. | 3890 | - `where-is-internal' now returns nil for a remapped command (e.g. |
| 3784 | kill-line if my-mode is enabled), and the actual key binding for | 3891 | `kill-line', when `my-mode' is enabled), and the actual key binding for |
| 3785 | the command it is remapped to (e.g. C-k for my-kill-line). | 3892 | the command it is remapped to (e.g. C-k for my-kill-line). |
| 3786 | It also has a new optional fifth argument, NO-REMAP, which inhibits | 3893 | It also has a new optional fifth argument, NO-REMAP, which inhibits |
| 3787 | remapping if non-nil (e.g. it returns C-k for kill-line and | 3894 | remapping if non-nil (e.g. it returns "C-k" for `kill-line', and |
| 3788 | <kill-line> for my-kill-line). | 3895 | "<kill-line>" for `my-kill-line'). |
| 3789 | 3896 | ||
| 3790 | - The new variable `this-original-command' contains the original | 3897 | - The new variable `this-original-command' contains the original |
| 3791 | command before remapping. It is equal to `this-command' when the | 3898 | command before remapping. It is equal to `this-command' when the |
| @@ -3795,10 +3902,11 @@ The following changes have been made to provide command remapping: | |||
| 3795 | over minor mode keymaps. | 3902 | over minor mode keymaps. |
| 3796 | 3903 | ||
| 3797 | *** The `keymap' property now also works at the ends of overlays and | 3904 | *** The `keymap' property now also works at the ends of overlays and |
| 3798 | text-properties, according to their stickiness. This also means that it | 3905 | text properties, according to their stickiness. This also means that it |
| 3799 | works with empty overlays. The same hold for the `local-map' property. | 3906 | works with empty overlays. The same hold for the `local-map' property. |
| 3800 | 3907 | ||
| 3801 | *** Dense keymaps now handle inheritance correctly. | 3908 | *** Dense keymaps now handle inheritance correctly. |
| 3909 | |||
| 3802 | Previously a dense keymap would hide all of the simple-char key | 3910 | Previously a dense keymap would hide all of the simple-char key |
| 3803 | bindings of the parent keymap. | 3911 | bindings of the parent keymap. |
| 3804 | 3912 | ||
| @@ -3810,99 +3918,57 @@ active keymaps. | |||
| 3810 | *** New function `describe-buffer-bindings' inserts the list of all | 3918 | *** New function `describe-buffer-bindings' inserts the list of all |
| 3811 | defined keys and their definitions. | 3919 | defined keys and their definitions. |
| 3812 | 3920 | ||
| 3813 | *** New function `keymap-prompt' returns the prompt-string of a keymap | 3921 | *** New function `keymap-prompt' returns the prompt string of a keymap. |
| 3814 | 3922 | ||
| 3815 | *** (map-keymap FUNCTION KEYMAP) applies the function to each binding | 3923 | *** (map-keymap FUNCTION KEYMAP) applies the function to each binding |
| 3816 | in the keymap. | 3924 | in the keymap. |
| 3817 | 3925 | ||
| 3818 | *** New variable emulation-mode-map-alists. | 3926 | *** New variable `emulation-mode-map-alists'. |
| 3819 | 3927 | ||
| 3820 | Lisp packages using many minor mode keymaps can now maintain their own | 3928 | Lisp packages using many minor mode keymaps can now maintain their own |
| 3821 | keymap alist separate from minor-mode-map-alist by adding their keymap | 3929 | keymap alist separate from `minor-mode-map-alist' by adding their |
| 3822 | alist to this list. | 3930 | keymap alist to this list. |
| 3823 | |||
| 3824 | +++ | ||
| 3825 | ** Atomic change groups. | ||
| 3826 | |||
| 3827 | To perform some changes in the current buffer "atomically" so that | ||
| 3828 | they either all succeed or are all undone, use `atomic-change-group' | ||
| 3829 | around the code that makes changes. For instance: | ||
| 3830 | |||
| 3831 | (atomic-change-group | ||
| 3832 | (insert foo) | ||
| 3833 | (delete-region x y)) | ||
| 3834 | |||
| 3835 | If an error (or other nonlocal exit) occurs inside the body of | ||
| 3836 | `atomic-change-group', it unmakes all the changes in that buffer that | ||
| 3837 | were during the execution of the body. The change group has no effect | ||
| 3838 | on any other buffers--any such changes remain. | ||
| 3839 | |||
| 3840 | If you need something more sophisticated, you can directly call the | ||
| 3841 | lower-level functions that `atomic-change-group' uses. Here is how. | ||
| 3842 | |||
| 3843 | To set up a change group for one buffer, call `prepare-change-group'. | ||
| 3844 | Specify the buffer as argument; it defaults to the current buffer. | ||
| 3845 | This function returns a "handle" for the change group. You must save | ||
| 3846 | the handle to activate the change group and then finish it. | ||
| 3847 | |||
| 3848 | Before you change the buffer again, you must activate the change | ||
| 3849 | group. Pass the handle to `activate-change-group' afterward to | ||
| 3850 | do this. | ||
| 3851 | |||
| 3852 | After you make the changes, you must finish the change group. You can | ||
| 3853 | either accept the changes or cancel them all. Call | ||
| 3854 | `accept-change-group' to accept the changes in the group as final; | ||
| 3855 | call `cancel-change-group' to undo them all. | ||
| 3856 | 3931 | ||
| 3857 | You should use `unwind-protect' to make sure the group is always | 3932 | ** Abbrev changes: |
| 3858 | finished. The call to `activate-change-group' should be inside the | ||
| 3859 | `unwind-protect', in case the user types C-g just after it runs. | ||
| 3860 | (This is one reason why `prepare-change-group' and | ||
| 3861 | `activate-change-group' are separate functions.) Once you finish the | ||
| 3862 | group, don't use the handle again--don't try to finish the same group | ||
| 3863 | twice. | ||
| 3864 | 3933 | ||
| 3865 | To make a multibuffer change group, call `prepare-change-group' once | 3934 | +++ |
| 3866 | for each buffer you want to cover, then use `nconc' to combine the | 3935 | *** The new function `copy-abbrev-table' copies an abbrev table. |
| 3867 | returned values, like this: | ||
| 3868 | 3936 | ||
| 3869 | (nconc (prepare-change-group buffer-1) | 3937 | It returns a new abbrev table that is a copy of a given abbrev table. |
| 3870 | (prepare-change-group buffer-2)) | ||
| 3871 | 3938 | ||
| 3872 | You can then activate the multibuffer change group with a single call | 3939 | +++ |
| 3873 | to `activate-change-group', and finish it with a single call to | 3940 | *** `define-abbrev' now accepts an optional argument SYSTEM-FLAG. |
| 3874 | `accept-change-group' or `cancel-change-group'. | ||
| 3875 | 3941 | ||
| 3876 | Nested use of several change groups for the same buffer works as you | 3942 | If non-nil, this marks the abbrev as a "system" abbrev, which means |
| 3877 | would expect. Non-nested use of change groups for the same buffer | 3943 | that it won't be stored in the user's abbrevs file if he saves the |
| 3878 | will lead to undesirable results, so don't let it happen; the first | 3944 | abbrevs. Major modes that predefine some abbrevs should always |
| 3879 | change group you start for any given buffer should be the last one | 3945 | specify this flag. |
| 3880 | finished. | ||
| 3881 | 3946 | ||
| 3882 | +++ | 3947 | +++ |
| 3883 | ** Enhancements to process support | 3948 | ** Enhancements to process support |
| 3884 | 3949 | ||
| 3885 | *** Function list-processes now has an optional argument; if non-nil, | 3950 | *** Function `list-processes' now has an optional argument; if non-nil, |
| 3886 | only the processes whose query-on-exit flag is set are listed. | 3951 | it lists only the processes whose query-on-exit flag is set. |
| 3887 | 3952 | ||
| 3888 | *** New set-process-query-on-exit-flag and process-query-on-exit-flag | 3953 | *** New fns `set-process-query-on-exit-flag' and `process-query-on-exit-flag'. |
| 3889 | functions. The existing process-kill-without-query function is still | ||
| 3890 | supported, but new code should use the new functions. | ||
| 3891 | 3954 | ||
| 3892 | *** Function signal-process now accepts a process object or process | 3955 | These replace the old function `process-kill-without-query'. That |
| 3956 | function is still supported, but new code should use the new | ||
| 3957 | functions. | ||
| 3958 | |||
| 3959 | *** Function `signal-process' now accepts a process object or process | ||
| 3893 | name in addition to a process id to identify the signalled process. | 3960 | name in addition to a process id to identify the signalled process. |
| 3894 | 3961 | ||
| 3895 | *** Processes now have an associated property list where programs can | 3962 | *** Processes now have an associated property list where programs can |
| 3896 | maintain process state and other per-process related information. | 3963 | maintain process state and other per-process related information. |
| 3897 | 3964 | ||
| 3898 | The new functions process-get and process-put are used to access, add, | 3965 | Use the new functions `process-get' and `process-put' to access, add, |
| 3899 | and modify elements on this property list. | 3966 | and modify elements on this property list. Use the new functions |
| 3967 | `process-plist' and `set-process-plist' to access and replace the | ||
| 3968 | entire property list of a process. | ||
| 3900 | 3969 | ||
| 3901 | The new low-level functions process-plist and set-process-plist are | 3970 | *** Function `accept-process-output' has a new optional fourth arg |
| 3902 | used to access and replace the entire property list of a process. | 3971 | JUST-THIS-ONE. If non-nil, only output from the specified process |
| 3903 | |||
| 3904 | *** Function accept-process-output now has an optional fourth arg | ||
| 3905 | `just-this-one'. If non-nil, only output from the specified process | ||
| 3906 | is handled, suspending output from other processes. If value is an | 3972 | is handled, suspending output from other processes. If value is an |
| 3907 | integer, also inhibit running timers. This feature is generally not | 3973 | integer, also inhibit running timers. This feature is generally not |
| 3908 | recommended, but may be necessary for specific applications, such as | 3974 | recommended, but may be necessary for specific applications, such as |
| @@ -3913,7 +3979,7 @@ speech synthesis. | |||
| 3913 | On some systems, when emacs reads the output from a subprocess, the | 3979 | On some systems, when emacs reads the output from a subprocess, the |
| 3914 | output data is read in very small blocks, potentially resulting in | 3980 | output data is read in very small blocks, potentially resulting in |
| 3915 | very poor performance. This behavior can be remedied to some extent | 3981 | very poor performance. This behavior can be remedied to some extent |
| 3916 | by setting the new variable process-adaptive-read-buffering to a | 3982 | by setting the new variable `process-adaptive-read-buffering' to a |
| 3917 | non-nil value (the default), as it will automatically delay reading | 3983 | non-nil value (the default), as it will automatically delay reading |
| 3918 | from such processes, to allowing them to produce more output before | 3984 | from such processes, to allowing them to produce more output before |
| 3919 | emacs tries to read it. | 3985 | emacs tries to read it. |
| @@ -3927,10 +3993,12 @@ process. | |||
| 3927 | obeys file handlers. The file handler is chosen based on | 3993 | obeys file handlers. The file handler is chosen based on |
| 3928 | `default-directory'. | 3994 | `default-directory'. |
| 3929 | 3995 | ||
| 3930 | *** A filter function of a process is called with a multibyte string | 3996 | *** A process filter function gets the output as multibyte string |
| 3931 | if the filter's multibyteness is t. That multibyteness is decided by | 3997 | if the process specifies t for its filter's multibyteness. |
| 3932 | the value of `default-enable-multibyte-characters' when the process is | 3998 | |
| 3933 | created and can be changed later by `set-process-filter-multibyte'. | 3999 | That multibyteness is decided by the value of |
| 4000 | `default-enable-multibyte-characters' when the process is created, and | ||
| 4001 | you can change it later with `set-process-filter-multibyte'. | ||
| 3934 | 4002 | ||
| 3935 | *** The new function `set-process-filter-multibyte' sets the | 4003 | *** The new function `set-process-filter-multibyte' sets the |
| 3936 | multibyteness of the strings passed to the process's filter. | 4004 | multibyteness of the strings passed to the process's filter. |
| @@ -3947,8 +4015,8 @@ which was not compatible with the behavior of file reading. | |||
| 3947 | +++ | 4015 | +++ |
| 3948 | ** Enhanced networking support. | 4016 | ** Enhanced networking support. |
| 3949 | 4017 | ||
| 3950 | *** There is a new `make-network-process' function which supports | 4018 | *** The new `make-network-process' function makes network connections. |
| 3951 | opening of stream and datagram connections to a server, as well as | 4019 | It allows opening of stream and datagram connections to a server, as well as |
| 3952 | create a stream or datagram server inside emacs. | 4020 | create a stream or datagram server inside emacs. |
| 3953 | 4021 | ||
| 3954 | - A server is started using :server t arg. | 4022 | - A server is started using :server t arg. |
| @@ -3963,65 +4031,53 @@ create a stream or datagram server inside emacs. | |||
| 3963 | To test for the availability of a given feature, use featurep like this: | 4031 | To test for the availability of a given feature, use featurep like this: |
| 3964 | (featurep 'make-network-process '(:type datagram)) | 4032 | (featurep 'make-network-process '(:type datagram)) |
| 3965 | 4033 | ||
| 3966 | *** Original open-network-stream is now emulated using make-network-process. | 4034 | *** The old `open-network-stream' now uses `make-network-process'. |
| 3967 | 4035 | ||
| 3968 | *** New function open-network-stream-nowait. | 4036 | *** New functions `process-datagram-address', `set-process-datagram-address'. |
| 3969 | |||
| 3970 | This function initiates a non-blocking connect and returns immediately | ||
| 3971 | without waiting for the connection to be established. It takes the | ||
| 3972 | filter and sentinel functions as arguments; when the non-blocking | ||
| 3973 | connect completes, the sentinel is called with a status string | ||
| 3974 | matching "open" or "failed". | ||
| 3975 | |||
| 3976 | *** New function open-network-stream-server. | ||
| 3977 | |||
| 3978 | This function creates a network server process for a TCP service. | ||
| 3979 | When a client connects to the specified service, a new subprocess | ||
| 3980 | is created to handle the new connection, and the sentinel function | ||
| 3981 | is called for the new process. | ||
| 3982 | |||
| 3983 | *** New functions process-datagram-address and set-process-datagram-address. | ||
| 3984 | 4037 | ||
| 3985 | These functions are used with datagram-based network processes to get | 4038 | These functions are used with datagram-based network processes to get |
| 3986 | and set the current address of the remote partner. | 4039 | and set the current address of the remote partner. |
| 3987 | 4040 | ||
| 3988 | *** New function format-network-address. | 4041 | *** New function `format-network-address'. |
| 3989 | 4042 | ||
| 3990 | This function reformats the lisp representation of a network address | 4043 | This function reformats the Lisp representation of a network address |
| 3991 | to a printable string. For example, an IP address A.B.C.D and port | 4044 | to a printable string. For example, an IP address A.B.C.D and port |
| 3992 | number P is represented as a five element vector [A B C D P], and the | 4045 | number P is represented as a five element vector [A B C D P], and the |
| 3993 | printable string returned for this vector is "A.B.C.D:P". See the doc | 4046 | printable string returned for this vector is "A.B.C.D:P". See the doc |
| 3994 | string for other formatting options. | 4047 | string for other formatting options. |
| 3995 | 4048 | ||
| 3996 | *** By default, the function process-contact still returns (HOST SERVICE) | 4049 | *** `process-contact' has an optional KEY argument. |
| 3997 | for a network process. Using the new optional KEY arg, the complete list | 4050 | |
| 3998 | of network process properties or a specific property can be selected. | 4051 | Depending on this argument, you can get the complete list of network |
| 4052 | process properties or a specific property. Using :local or :remote as | ||
| 4053 | the KEY, you get the address of the local or remote end-point. | ||
| 3999 | 4054 | ||
| 4000 | Using :local and :remote as the KEY, the address of the local or | 4055 | An Inet address is represented as a 5 element vector, where the first |
| 4001 | remote end-point is returned. An Inet address is represented as a 5 | 4056 | 4 elements contain the IP address and the fifth is the port number. |
| 4002 | element vector, where the first 4 elements contain the IP address and | ||
| 4003 | the fifth is the port number. | ||
| 4004 | 4057 | ||
| 4005 | *** Network processes can now be stopped and restarted with | 4058 | *** New functions `stop-process' and `continue-process'. |
| 4006 | `stop-process' and `continue-process'. For a server process, no | ||
| 4007 | connections are accepted in the stopped state. For a client process, | ||
| 4008 | no input is received in the stopped state. | ||
| 4009 | 4059 | ||
| 4010 | *** New function network-interface-list. | 4060 | These functions stop and restart communication through a network |
| 4061 | connection. For a server process, no connections are accepted in the | ||
| 4062 | stopped state. For a client process, no input is received in the | ||
| 4063 | stopped state. | ||
| 4064 | |||
| 4065 | *** New function `network-interface-list'. | ||
| 4011 | 4066 | ||
| 4012 | This function returns a list of network interface names and their | 4067 | This function returns a list of network interface names and their |
| 4013 | current network addresses. | 4068 | current network addresses. |
| 4014 | 4069 | ||
| 4015 | *** New function network-interface-info. | 4070 | *** New function `network-interface-info'. |
| 4016 | 4071 | ||
| 4017 | This function returns the network address, hardware address, current | 4072 | This function returns the network address, hardware address, current |
| 4018 | status, and other information about a specific network interface. | 4073 | status, and other information about a specific network interface. |
| 4019 | 4074 | ||
| 4020 | *** The sentinel is now called when a network process is deleted with | 4075 | *** Deleting a network process with `delete-process' calls the sentinel. |
| 4021 | delete-process. The status message passed to the sentinel for a | 4076 | |
| 4022 | deleted network process is "deleted". The message passed to the | 4077 | The status message passed to the sentinel for a deleted network |
| 4023 | sentinel when the connection is closed by the remote peer has been | 4078 | process is "deleted". The message passed to the sentinel when the |
| 4024 | changed to "connection broken by remote peer". | 4079 | connection is closed by the remote peer has been changed to |
| 4080 | "connection broken by remote peer". | ||
| 4025 | 4081 | ||
| 4026 | ** Using window objects: | 4082 | ** Using window objects: |
| 4027 | 4083 | ||
| @@ -4034,7 +4090,7 @@ header line. | |||
| 4034 | +++ | 4090 | +++ |
| 4035 | *** New function `window-body-height'. | 4091 | *** New function `window-body-height'. |
| 4036 | 4092 | ||
| 4037 | This is like window-height but does not count the mode line | 4093 | This is like `window-height' but does not count the mode line |
| 4038 | or the header line. | 4094 | or the header line. |
| 4039 | 4095 | ||
| 4040 | +++ | 4096 | +++ |
| @@ -4061,7 +4117,7 @@ return window edges in units of pixels, rather than columns and lines. | |||
| 4061 | selected window without impacting the order of `buffer-list'. | 4117 | selected window without impacting the order of `buffer-list'. |
| 4062 | 4118 | ||
| 4063 | +++ | 4119 | +++ |
| 4064 | *** `select-window' takes an optional second argument `norecord'. | 4120 | *** `select-window' takes an optional second argument NORECORD. |
| 4065 | 4121 | ||
| 4066 | This is like `switch-to-buffer'. | 4122 | This is like `switch-to-buffer'. |
| 4067 | 4123 | ||
| @@ -4088,12 +4144,12 @@ identifing the bitmap such as `left-truncation or `continued-line'. | |||
| 4088 | *** New function `destroy-fringe-bitmap' deletes a fringe bitmap | 4144 | *** New function `destroy-fringe-bitmap' deletes a fringe bitmap |
| 4089 | or restores a built-in one to its default value. | 4145 | or restores a built-in one to its default value. |
| 4090 | 4146 | ||
| 4091 | *** New function `set-fringe-bitmap-face' can now be used to set a | 4147 | *** New function `set-fringe-bitmap-face' specifies the face to be |
| 4092 | specific face to be used for a specific fringe bitmap. The face is | 4148 | used for a specific fringe bitmap. The face is automatically merged |
| 4093 | automatically merged with the `fringe' face, so normally, the face | 4149 | with the `fringe' face, so normally, the face should only specify the |
| 4094 | should only specify the foreground color of the bitmap. | 4150 | foreground color of the bitmap. |
| 4095 | 4151 | ||
| 4096 | *** There are new display properties, `left-fringe; and `right-fringe', | 4152 | *** There are new display properties, `left-fringe' and `right-fringe', |
| 4097 | that can be used to show a specific bitmap in the left or right fringe | 4153 | that can be used to show a specific bitmap in the left or right fringe |
| 4098 | bitmap of the display line. | 4154 | bitmap of the display line. |
| 4099 | 4155 | ||
| @@ -4236,7 +4292,7 @@ If the `line-spacing' property is a float or cons, the line spacing | |||
| 4236 | is calculated as specified above for the `line-height' property. | 4292 | is calculated as specified above for the `line-height' property. |
| 4237 | 4293 | ||
| 4238 | +++ | 4294 | +++ |
| 4239 | *** The buffer local line-spacing variable can now have a float value, | 4295 | *** The buffer local `line-spacing' variable can now have a float value, |
| 4240 | which is used as a height relative to the default frame line height. | 4296 | which is used as a height relative to the default frame line height. |
| 4241 | 4297 | ||
| 4242 | +++ | 4298 | +++ |
| @@ -4286,7 +4342,7 @@ For example, to align to the center of the left-margin, use | |||
| 4286 | 4342 | ||
| 4287 | If no specific base offset is set for alignment, it is always relative | 4343 | If no specific base offset is set for alignment, it is always relative |
| 4288 | to the left edge of the text area. For example, :align-to 0 in a | 4344 | to the left edge of the text area. For example, :align-to 0 in a |
| 4289 | header-line aligns with the first text column in the text area. | 4345 | header line aligns with the first text column in the text area. |
| 4290 | 4346 | ||
| 4291 | The value of the form `(NUM . EXPR)' is the value of NUM multiplied by | 4347 | The value of the form `(NUM . EXPR)' is the value of NUM multiplied by |
| 4292 | the value of the expression EXPR. For example, (2 . in) specifies a | 4348 | the value of the expression EXPR. For example, (2 . in) specifies a |
| @@ -4312,10 +4368,10 @@ supported on text terminals. | |||
| 4312 | **** New display property (slice X Y WIDTH HEIGHT) can be used with | 4368 | **** New display property (slice X Y WIDTH HEIGHT) can be used with |
| 4313 | an image property to display only a specific slice of the image. | 4369 | an image property to display only a specific slice of the image. |
| 4314 | 4370 | ||
| 4315 | **** Function insert-image has new optional fourth arg to | 4371 | **** Function `insert-image' has new optional fourth arg to |
| 4316 | specify image slice (X Y WIDTH HEIGHT). | 4372 | specify image slice (X Y WIDTH HEIGHT). |
| 4317 | 4373 | ||
| 4318 | **** New function insert-sliced-image inserts a given image as a | 4374 | **** New function `insert-sliced-image' inserts a given image as a |
| 4319 | specified number of evenly sized slices (rows x columns). | 4375 | specified number of evenly sized slices (rows x columns). |
| 4320 | 4376 | ||
| 4321 | +++ | 4377 | +++ |
| @@ -4334,7 +4390,7 @@ When the mouse pointer is above a hot-spot area of an image, the | |||
| 4334 | PLIST of that hot-spot is consulted; if it contains a `help-echo' | 4390 | PLIST of that hot-spot is consulted; if it contains a `help-echo' |
| 4335 | property it defines a tool-tip for the hot-spot, and if it contains | 4391 | property it defines a tool-tip for the hot-spot, and if it contains |
| 4336 | a `pointer' property, it defines the shape of the mouse cursor when | 4392 | a `pointer' property, it defines the shape of the mouse cursor when |
| 4337 | it is over the hot-spot. See the variable 'void-area-text-pointer' | 4393 | it is over the hot-spot. See the variable `void-area-text-pointer' |
| 4338 | for possible pointer shapes. | 4394 | for possible pointer shapes. |
| 4339 | 4395 | ||
| 4340 | When you click the mouse when the mouse pointer is over a hot-spot, | 4396 | When you click the mouse when the mouse pointer is over a hot-spot, |
| @@ -4362,38 +4418,37 @@ controlled/overriden via the `pointer' text property. | |||
| 4362 | ** Mouse event enhancements: | 4418 | ** Mouse event enhancements: |
| 4363 | 4419 | ||
| 4364 | +++ | 4420 | +++ |
| 4365 | *** Mouse clicks on fringes now generates left-fringe or right-fringes | 4421 | *** Mouse events for clicks on window fringes now specify `left-fringe' |
| 4366 | events, rather than a text area click event. | 4422 | or `right-fringe' as the area. |
| 4367 | 4423 | ||
| 4368 | +++ | 4424 | +++ |
| 4369 | *** Mouse clicks in the left and right marginal areas now includes a | 4425 | *** All mouse events now include a buffer position regardless of where |
| 4370 | sensible buffer position corresponding to the first character in the | 4426 | you clicked. For mouse clicks in window margins and fringes, this is |
| 4371 | corresponding text row. | 4427 | a sensible buffer position corresponding to the surrounding text. |
| 4372 | 4428 | ||
| 4373 | +++ | 4429 | +++ |
| 4374 | *** Function `mouse-set-point' now works for events outside text area. | 4430 | *** `posn-point' now returns buffer position for non-text area events. |
| 4375 | |||
| 4376 | +++ | ||
| 4377 | *** Mouse events now includes buffer position for all event types. | ||
| 4378 | 4431 | ||
| 4379 | +++ | 4432 | +++ |
| 4380 | *** `posn-point' now returns buffer position for non-text area events. | 4433 | *** Function `mouse-set-point' now works for events outside text area. |
| 4381 | 4434 | ||
| 4382 | +++ | 4435 | +++ |
| 4383 | *** New function `posn-area' returns window area clicked on (nil means | 4436 | *** New function `posn-area' returns window area clicked on (nil means |
| 4384 | text area). | 4437 | text area). |
| 4385 | 4438 | ||
| 4386 | +++ | 4439 | +++ |
| 4387 | *** Mouse events include actual glyph column and row for all event types. | 4440 | *** Mouse events include actual glyph column and row for all event types |
| 4441 | and all areas. | ||
| 4388 | 4442 | ||
| 4389 | +++ | 4443 | +++ |
| 4390 | *** New function `posn-actual-col-row' returns actual glyph coordinates. | 4444 | *** New function `posn-actual-col-row' returns the actual glyph coordinates |
| 4445 | of the mouse event position. | ||
| 4391 | 4446 | ||
| 4392 | +++ | 4447 | +++ |
| 4393 | *** Mouse events can now include image object in addition to string object. | 4448 | *** Mouse events can now indicate an image object clicked on. |
| 4394 | 4449 | ||
| 4395 | +++ | 4450 | +++ |
| 4396 | *** Mouse events include relative x and y pixel coordinates relative to | 4451 | *** Mouse events include relative X and Y pixel coordinates relative to |
| 4397 | the top left corner of the object (image or character) clicked on. | 4452 | the top left corner of the object (image or character) clicked on. |
| 4398 | 4453 | ||
| 4399 | +++ | 4454 | +++ |
| @@ -4401,19 +4456,20 @@ the top left corner of the object (image or character) clicked on. | |||
| 4401 | (image or character) clicked on. | 4456 | (image or character) clicked on. |
| 4402 | 4457 | ||
| 4403 | +++ | 4458 | +++ |
| 4404 | *** New functions 'posn-object', 'posn-object-x-y', and | 4459 | *** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'. |
| 4405 | 'posn-object-width-height' return the image or string object of a mouse | 4460 | |
| 4406 | click, the x and y pixel coordinates relative to the top left corner | 4461 | These return the image or string object of a mouse click, the X and Y |
| 4407 | of that object, and the total width and height of that object. | 4462 | pixel coordinates relative to the top left corner of that object, and |
| 4463 | the total width and height of that object. | ||
| 4408 | 4464 | ||
| 4409 | ** Text property and overlay changes: | 4465 | ** Text property and overlay changes: |
| 4410 | 4466 | ||
| 4411 | +++ | 4467 | +++ |
| 4412 | *** Arguments for remove-overlays are now optional, so that you can | 4468 | *** Arguments for `remove-overlays' are now optional, so that you can |
| 4413 | remove all overlays in the buffer by just calling (remove-overlays). | 4469 | remove all overlays in the buffer with just (remove-overlays). |
| 4414 | 4470 | ||
| 4415 | +++ | 4471 | +++ |
| 4416 | *** New variable char-property-alias-alist. | 4472 | *** New variable `char-property-alias-alist'. |
| 4417 | 4473 | ||
| 4418 | This variable allows you to create alternative names for text | 4474 | This variable allows you to create alternative names for text |
| 4419 | properties. It works at the same level as `default-text-properties', | 4475 | properties. It works at the same level as `default-text-properties', |
| @@ -4428,9 +4484,10 @@ whose cdr is the overlay in which the property was found, or nil if | |||
| 4428 | it was found as a text property or not found at all. | 4484 | it was found as a text property or not found at all. |
| 4429 | 4485 | ||
| 4430 | +++ | 4486 | +++ |
| 4431 | *** The new function remove-list-of-text-properties is almost the same | 4487 | *** The new function `remove-list-of-text-properties'. |
| 4432 | as `remove-text-properties'. The only difference is that it takes a | 4488 | |
| 4433 | list of property names as argument rather than a property list. | 4489 | It is like `remove-text-properties' except that it takes a list of |
| 4490 | property names as argument rather than a property list. | ||
| 4434 | 4491 | ||
| 4435 | ** Face changes | 4492 | ** Face changes |
| 4436 | 4493 | ||
| @@ -4443,12 +4500,12 @@ is now the preferred method for defining default faces in a way that | |||
| 4443 | makes a good use of the capabilities of the display. | 4500 | makes a good use of the capabilities of the display. |
| 4444 | 4501 | ||
| 4445 | +++ | 4502 | +++ |
| 4446 | *** New function display-supports-face-attributes-p can be used to test | 4503 | *** New function `display-supports-face-attributes-p' can be used to test |
| 4447 | whether a given set of face attributes is actually displayable. | 4504 | whether a given set of face attributes is actually displayable. |
| 4448 | 4505 | ||
| 4449 | A new predicate `supports' has also been added to the `defface' face | 4506 | A new predicate `supports' has also been added to the `defface' face |
| 4450 | specification language, which can be used to do this test for faces | 4507 | specification language, which can be used to do this test for faces |
| 4451 | defined with defface. | 4508 | defined with `defface'. |
| 4452 | 4509 | ||
| 4453 | --- | 4510 | --- |
| 4454 | *** The special treatment of faces whose names are of the form `fg:COLOR' | 4511 | *** The special treatment of faces whose names are of the form `fg:COLOR' |
| @@ -4476,10 +4533,11 @@ whether the given face displays differently from the default face or | |||
| 4476 | not (previously it did only a very cursory check). | 4533 | not (previously it did only a very cursory check). |
| 4477 | 4534 | ||
| 4478 | +++ | 4535 | +++ |
| 4479 | *** `face-attribute', `face-foreground', `face-background', and | 4536 | *** `face-attribute', `face-foreground', `face-background', `face-stipple'. |
| 4480 | `face-stipple' now accept a new optional argument, INHERIT, which | 4537 | |
| 4481 | controls how face inheritance is used when determining the value of a | 4538 | These now accept a new optional argument, INHERIT, which controls how |
| 4482 | face attribute. | 4539 | face inheritance is used when determining the value of a face |
| 4540 | attribute. | ||
| 4483 | 4541 | ||
| 4484 | +++ | 4542 | +++ |
| 4485 | *** New functions `face-attribute-relative-p' and `merge-face-attribute' | 4543 | *** New functions `face-attribute-relative-p' and `merge-face-attribute' |
| @@ -4494,9 +4552,6 @@ releases of Emacs, the order was the opposite. This change was made | |||
| 4494 | so that :inherit face lists operate identically to face lists in text | 4552 | so that :inherit face lists operate identically to face lists in text |
| 4495 | `face' properties. | 4553 | `face' properties. |
| 4496 | 4554 | ||
| 4497 | +++ | ||
| 4498 | *** New standard font-lock face `font-lock-preprocessor-face'. | ||
| 4499 | |||
| 4500 | --- | 4555 | --- |
| 4501 | *** `set-fontset-font', `fontset-info', `fontset-font' now operate on | 4556 | *** `set-fontset-font', `fontset-info', `fontset-font' now operate on |
| 4502 | the default fontset if the argument NAME is nil.. | 4557 | the default fontset if the argument NAME is nil.. |
| @@ -4514,11 +4569,11 @@ new variable `char-property-alias-alist'. | |||
| 4514 | +++ | 4569 | +++ |
| 4515 | *** font-lock can manage arbitrary text-properties beside `face'. | 4570 | *** font-lock can manage arbitrary text-properties beside `face'. |
| 4516 | 4571 | ||
| 4517 | *** the FACENAME returned in `font-lock-keywords' can be a list of the | 4572 | **** the FACENAME returned in `font-lock-keywords' can be a list of the |
| 4518 | form (face FACE PROP1 VAL1 PROP2 VAL2 ...) so you can set other | 4573 | form (face FACE PROP1 VAL1 PROP2 VAL2 ...) so you can set other |
| 4519 | properties than `face'. | 4574 | properties than `face'. |
| 4520 | 4575 | ||
| 4521 | *** `font-lock-extra-managed-props' can be set to make sure those | 4576 | **** `font-lock-extra-managed-props' can be set to make sure those |
| 4522 | extra properties are automatically cleaned up by font-lock. | 4577 | extra properties are automatically cleaned up by font-lock. |
| 4523 | 4578 | ||
| 4524 | --- | 4579 | --- |
| @@ -4550,8 +4605,12 @@ declaration will give the buffer XML or SGML mode, based on the new | |||
| 4550 | var `magic-mode-alist'. | 4605 | var `magic-mode-alist'. |
| 4551 | 4606 | ||
| 4552 | +++ | 4607 | +++ |
| 4553 | *** Major mode functions now run the new normal hook | 4608 | *** Use the new function `run-mode-hooks' to run the major mode's mode hook. |
| 4554 | `after-change-major-mode-hook', at their very end, after the mode hooks. | 4609 | |
| 4610 | +++ | ||
| 4611 | *** All major mode functions should now run the new normal hook | ||
| 4612 | `after-change-major-mode-hook', at their very end, after the mode | ||
| 4613 | hooks. `run-mode-hooks' does this automatically. | ||
| 4555 | 4614 | ||
| 4556 | --- | 4615 | --- |
| 4557 | *** If a major mode function has a non-nil `no-clone-indirect' | 4616 | *** If a major mode function has a non-nil `no-clone-indirect' |
| @@ -4581,7 +4640,7 @@ and simply passes them to `defcustom', if applicable. | |||
| 4581 | +++ | 4640 | +++ |
| 4582 | *** `minor-mode-list' now holds a list of minor mode commands. | 4641 | *** `minor-mode-list' now holds a list of minor mode commands. |
| 4583 | 4642 | ||
| 4584 | --- | 4643 | +++ |
| 4585 | *** `define-global-minor-mode'. | 4644 | *** `define-global-minor-mode'. |
| 4586 | 4645 | ||
| 4587 | This is a new name for what was formerly called | 4646 | This is a new name for what was formerly called |
| @@ -4591,9 +4650,10 @@ This is a new name for what was formerly called | |||
| 4591 | 4650 | ||
| 4592 | +++ | 4651 | +++ |
| 4593 | *** The new function `called-interactively-p' does what many people | 4652 | *** The new function `called-interactively-p' does what many people |
| 4594 | have mistakenly believed `interactive-p' did: it returns t if the | 4653 | have mistakenly believed `interactive-p' to do: it returns t if the |
| 4595 | calling function was called through `call-interactively'. This should | 4654 | calling function was called through `call-interactively'. |
| 4596 | only be used when you cannot solve the problem by adding a new | 4655 | |
| 4656 | Only use this when you cannot solve the problem by adding a new | ||
| 4597 | INTERACTIVE argument to the command. | 4657 | INTERACTIVE argument to the command. |
| 4598 | 4658 | ||
| 4599 | +++ | 4659 | +++ |
| @@ -4630,41 +4690,6 @@ been renamed to `disabled-command-function'. The variable | |||
| 4630 | *** `emacsserver' now runs `pre-command-hook' and `post-command-hook' | 4690 | *** `emacsserver' now runs `pre-command-hook' and `post-command-hook' |
| 4631 | when it receives a request from emacsclient. | 4691 | when it receives a request from emacsclient. |
| 4632 | 4692 | ||
| 4633 | ** Minibuffer changes: | ||
| 4634 | |||
| 4635 | +++ | ||
| 4636 | *** The functions all-completions and try-completion now accept lists | ||
| 4637 | of strings as well as hash-tables additionally to alists, obarrays | ||
| 4638 | and functions. Furthermore, the function `test-completion' is now | ||
| 4639 | exported to Lisp. The keys in alists and hash tables can be either | ||
| 4640 | strings or symbols, which are automatically converted with to strings. | ||
| 4641 | |||
| 4642 | +++ | ||
| 4643 | *** The new macro `dynamic-completion-table' supports using functions | ||
| 4644 | as a dynamic completion table. | ||
| 4645 | |||
| 4646 | (dynamic-completion-table FUN) | ||
| 4647 | |||
| 4648 | FUN is called with one argument, the string for which completion is required, | ||
| 4649 | and it should return an alist containing all the intended possible | ||
| 4650 | completions. This alist can be a full list of possible completions so that FUN | ||
| 4651 | can ignore the value of its argument. If completion is performed in the | ||
| 4652 | minibuffer, FUN will be called in the buffer from which the minibuffer was | ||
| 4653 | entered. `dynamic-completion-table' then computes the completion. | ||
| 4654 | |||
| 4655 | +++ | ||
| 4656 | *** The new macro `lazy-completion-table' initializes a variable | ||
| 4657 | as a lazy completion table. | ||
| 4658 | |||
| 4659 | (lazy-completion-table VAR FUN &rest ARGS) | ||
| 4660 | |||
| 4661 | If the completion table VAR is used for the first time (e.g., by passing VAR | ||
| 4662 | as an argument to `try-completion'), the function FUN is called with arguments | ||
| 4663 | ARGS. FUN must return the completion table that will be stored in VAR. If | ||
| 4664 | completion is requested in the minibuffer, FUN will be called in the buffer | ||
| 4665 | from which the minibuffer was entered. The return value of | ||
| 4666 | `lazy-completion-table' must be used to initialize the value of VAR. | ||
| 4667 | |||
| 4668 | ** Lisp file loading changes: | 4693 | ** Lisp file loading changes: |
| 4669 | 4694 | ||
| 4670 | +++ | 4695 | +++ |
| @@ -4677,8 +4702,8 @@ current file redefined it). | |||
| 4677 | defined. For a variable, it records just the variable name. | 4702 | defined. For a variable, it records just the variable name. |
| 4678 | 4703 | ||
| 4679 | +++ | 4704 | +++ |
| 4680 | *** The function symbol-file can now search specifically for function or | 4705 | *** The function `symbol-file' can now search specifically for function, |
| 4681 | variable definitions. | 4706 | variable or face definitions. |
| 4682 | 4707 | ||
| 4683 | +++ | 4708 | +++ |
| 4684 | *** `provide' and `featurep' now accept an optional second argument | 4709 | *** `provide' and `featurep' now accept an optional second argument |
| @@ -4693,10 +4718,11 @@ than 3 levels of nesting. | |||
| 4693 | +++ | 4718 | +++ |
| 4694 | ** Byte compiler changes: | 4719 | ** Byte compiler changes: |
| 4695 | 4720 | ||
| 4696 | *** The byte-compiler now displays the actual line and character | 4721 | *** The byte compiler now displays the actual line and character |
| 4697 | position of errors, where possible. Additionally, the form of its | 4722 | position of errors, where possible. Additionally, the form of its |
| 4698 | warning and error messages have been brought more in line with the | 4723 | warning and error messages have been brought into line with GNU standards |
| 4699 | output of other GNU tools. | 4724 | for these. As a result, you can use next-error and friends on the |
| 4725 | compilation output buffer. | ||
| 4700 | 4726 | ||
| 4701 | *** The new macro `with-no-warnings' suppresses all compiler warnings | 4727 | *** The new macro `with-no-warnings' suppresses all compiler warnings |
| 4702 | inside its body. In terms of execution, it is equivalent to `progn'. | 4728 | inside its body. In terms of execution, it is equivalent to `progn'. |
| @@ -4724,7 +4750,7 @@ efficient. Since byte code from recent versions of XEmacs won't | |||
| 4724 | generally run in Emacs and vice versa, this optimization doesn't lose | 4750 | generally run in Emacs and vice versa, this optimization doesn't lose |
| 4725 | you anything. | 4751 | you anything. |
| 4726 | 4752 | ||
| 4727 | *** The local variable `no-byte-compile' in elisp files is now obeyed. | 4753 | *** The local variable `no-byte-compile' in Lisp files is now obeyed. |
| 4728 | 4754 | ||
| 4729 | --- | 4755 | --- |
| 4730 | *** When a Lisp file uses CL functions at run-time, compiling the file | 4756 | *** When a Lisp file uses CL functions at run-time, compiling the file |
| @@ -4772,7 +4798,7 @@ the time it takes to convert the format. | |||
| 4772 | wasteful. | 4798 | wasteful. |
| 4773 | 4799 | ||
| 4774 | --- | 4800 | --- |
| 4775 | *** set-buffer-file-coding-system now takes an additional argument, | 4801 | *** `set-buffer-file-coding-system' now takes an additional argument, |
| 4776 | NOMODIFY. If it is non-nil, it means don't mark the buffer modified. | 4802 | NOMODIFY. If it is non-nil, it means don't mark the buffer modified. |
| 4777 | 4803 | ||
| 4778 | +++ | 4804 | +++ |
| @@ -4799,7 +4825,7 @@ it is read from a file without decoding. | |||
| 4799 | hash tables defined by the Lisp function `define-translation-hash-table'. | 4825 | hash tables defined by the Lisp function `define-translation-hash-table'. |
| 4800 | 4826 | ||
| 4801 | --- | 4827 | --- |
| 4802 | *** New function quail-find-key returns a list of keys to type in the | 4828 | *** New function `quail-find-key' returns a list of keys to type in the |
| 4803 | current input method to input a character. | 4829 | current input method to input a character. |
| 4804 | 4830 | ||
| 4805 | ** Mode line changes: | 4831 | ** Mode line changes: |
| @@ -4807,7 +4833,7 @@ current input method to input a character. | |||
| 4807 | +++ | 4833 | +++ |
| 4808 | *** New function `format-mode-line'. | 4834 | *** New function `format-mode-line'. |
| 4809 | 4835 | ||
| 4810 | This returns the mode-line or header-line of the selected (or a | 4836 | This returns the mode line or header line of the selected (or a |
| 4811 | specified) window as a string with or without text properties. | 4837 | specified) window as a string with or without text properties. |
| 4812 | 4838 | ||
| 4813 | +++ | 4839 | +++ |
| @@ -4869,13 +4895,13 @@ debugging output on the stderr file handle to a file. | |||
| 4869 | +++ | 4895 | +++ |
| 4870 | *** A number of hooks have been renamed to better follow the conventions: | 4896 | *** A number of hooks have been renamed to better follow the conventions: |
| 4871 | 4897 | ||
| 4872 | find-file-hooks to find-file-hook, | 4898 | `find-file-hooks' to `find-file-hook', |
| 4873 | find-file-not-found-hooks to find-file-not-found-functions, | 4899 | `find-file-not-found-hooks' to `find-file-not-found-functions', |
| 4874 | write-file-hooks to write-file-functions, | 4900 | `write-file-hooks' to `write-file-functions', |
| 4875 | write-contents-hooks to write-contents-functions, | 4901 | `write-contents-hooks' to `write-contents-functions', |
| 4876 | x-lost-selection-hooks to x-lost-selection-functions, | 4902 | `x-lost-selection-hooks' to `x-lost-selection-functions', |
| 4877 | x-sent-selection-hooks to x-sent-selection-functions, | 4903 | `x-sent-selection-hooks' to `x-sent-selection-functions', |
| 4878 | delete-frame-hook to delete-frame-functions. | 4904 | `delete-frame-hook' to `delete-frame-functions'. |
| 4879 | 4905 | ||
| 4880 | In each case the old name remains as an alias for the moment. | 4906 | In each case the old name remains as an alias for the moment. |
| 4881 | 4907 | ||
| @@ -4887,6 +4913,87 @@ Use the LOCAL arg of `add-hook'. | |||
| 4887 | --- | 4913 | --- |
| 4888 | *** New function `x-send-client-message' sends a client message when | 4914 | *** New function `x-send-client-message' sends a client message when |
| 4889 | running under X. | 4915 | running under X. |
| 4916 | |||
| 4917 | ** GC changes: | ||
| 4918 | |||
| 4919 | +++ | ||
| 4920 | *** New variables `gc-elapsed' and `gcs-done' provide extra information | ||
| 4921 | on garbage collection. | ||
| 4922 | |||
| 4923 | +++ | ||
| 4924 | *** The normal hook `post-gc-hook' is run at the end of garbage collection. | ||
| 4925 | |||
| 4926 | The hook is run with GC inhibited, so use it with care. | ||
| 4927 | |||
| 4928 | * New Packages for Lisp Programming in Emacs 22.1 | ||
| 4929 | |||
| 4930 | +++ | ||
| 4931 | ** The new library button.el implements simple and fast `clickable | ||
| 4932 | buttons' in emacs buffers. Buttons are much lighter-weight than the | ||
| 4933 | `widgets' implemented by widget.el, and can be used by lisp code that | ||
| 4934 | doesn't require the full power of widgets. Emacs uses buttons for | ||
| 4935 | such things as help and apropos buffers. | ||
| 4936 | |||
| 4937 | --- | ||
| 4938 | ** The new library tree-widget.el provides a widget to display a set | ||
| 4939 | of hierarchical data as an outline. For example, the tree-widget is | ||
| 4940 | well suited to display a hierarchy of directories and files. | ||
| 4941 | |||
| 4942 | ** The new library bindat.el provides functions to unpack and pack | ||
| 4943 | binary data structures, such as network packets, to and from Lisp | ||
| 4944 | data structures. | ||
| 4945 | |||
| 4946 | --- | ||
| 4947 | ** master-mode.el implements a minor mode for scrolling a slave | ||
| 4948 | buffer without leaving your current buffer, the master buffer. | ||
| 4949 | |||
| 4950 | It can be used by sql.el, for example: the SQL buffer is the master | ||
| 4951 | and its SQLi buffer is the slave. This allows you to scroll the SQLi | ||
| 4952 | buffer containing the output from the SQL buffer containing the | ||
| 4953 | commands. | ||
| 4954 | |||
| 4955 | This is how to use sql.el and master.el together: the variable | ||
| 4956 | sql-buffer contains the slave buffer. It is a local variable in the | ||
| 4957 | SQL buffer. | ||
| 4958 | |||
| 4959 | (add-hook 'sql-mode-hook | ||
| 4960 | (function (lambda () | ||
| 4961 | (master-mode t) | ||
| 4962 | (master-set-slave sql-buffer)))) | ||
| 4963 | (add-hook 'sql-set-sqli-hook | ||
| 4964 | (function (lambda () | ||
| 4965 | (master-set-slave sql-buffer)))) | ||
| 4966 | |||
| 4967 | +++ | ||
| 4968 | ** The new library benchmark.el does timing measurements on Lisp code. | ||
| 4969 | |||
| 4970 | This includes measuring garbage collection time. | ||
| 4971 | |||
| 4972 | +++ | ||
| 4973 | ** The new library testcover.el does test coverage checking. | ||
| 4974 | |||
| 4975 | This is so you can tell whether you've tested all paths in your Lisp | ||
| 4976 | code. It works with edebug. | ||
| 4977 | |||
| 4978 | The function `testcover-start' instruments all functions in a given | ||
| 4979 | file. Then test your code. The function `testcover-mark-all' adds | ||
| 4980 | overlay "splotches" to the Lisp file's buffer to show where coverage | ||
| 4981 | is lacking. The command `testcover-next-mark' (bind it to a key!) | ||
| 4982 | will move point forward to the next spot that has a splotch. | ||
| 4983 | |||
| 4984 | Normally, a red splotch indicates the form was never completely | ||
| 4985 | evaluated; a brown splotch means it always evaluated to the same | ||
| 4986 | value. The red splotches are skipped for forms that can't possibly | ||
| 4987 | complete their evaluation, such as `error'. The brown splotches are | ||
| 4988 | skipped for forms that are expected to always evaluate to the same | ||
| 4989 | value, such as (setq x 14). | ||
| 4990 | |||
| 4991 | For difficult cases, you can add do-nothing macros to your code to | ||
| 4992 | help out the test coverage tool. The macro `noreturn' suppresses a | ||
| 4993 | red splotch. It is an error if the argument to `noreturn' does | ||
| 4994 | return. The macro `1value' suppresses a brown splotch for its argument. | ||
| 4995 | This macro is a no-op except during test-coverage -- then it signals | ||
| 4996 | an error if the argument actually returns differing values. | ||
| 4890 | 4997 | ||
| 4891 | * Installation changes in Emacs 21.3 | 4998 | * Installation changes in Emacs 21.3 |
| 4892 | 4999 | ||
| @@ -10715,8 +10822,8 @@ can make FCC copies more closely resemble copies that recipients get | |||
| 10715 | 10822 | ||
| 10716 | **** you can specify an arbitrary function for actually transmitting | 10823 | **** you can specify an arbitrary function for actually transmitting |
| 10717 | the message; included in feedmail are interfaces for /bin/[r]mail, | 10824 | the message; included in feedmail are interfaces for /bin/[r]mail, |
| 10718 | /usr/lib/sendmail, and elisp smtpmail; it's easy to write a new | 10825 | /usr/lib/sendmail, and Emacs Lisp smtpmail; it's easy to write a new |
| 10719 | function for something else (10-20 lines of elisp) | 10826 | function for something else (10-20 lines of Lisp code). |
| 10720 | 10827 | ||
| 10721 | ** Dired changes | 10828 | ** Dired changes |
| 10722 | 10829 | ||
| @@ -9,9 +9,6 @@ to the FSF. | |||
| 9 | 9 | ||
| 10 | * Small but important fixes needed in existing features: | 10 | * Small but important fixes needed in existing features: |
| 11 | 11 | ||
| 12 | ** Convert everything that uses post-command-idle-hook | ||
| 13 | to use idle timers instead. | ||
| 14 | |||
| 15 | ** Fix the kill/yank treatment of invisible text. At the moment, | 12 | ** Fix the kill/yank treatment of invisible text. At the moment, |
| 16 | invisible text is placed in the kill-ring, so that the contents of | 13 | invisible text is placed in the kill-ring, so that the contents of |
| 17 | the ring may not correspond to the text as displayed to the user. It | 14 | the ring may not correspond to the text as displayed to the user. It |
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 513bc8f21ba..1370f05a9d6 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2005-05-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * make-docfile.c (DIRECTORY_SEP): New macro. | ||
| 4 | (IS_DIRECTORY_SEP): Use it. | ||
| 5 | |||
| 1 | 2005-03-18 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 6 | 2005-03-18 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 2 | 7 | ||
| 3 | * emacsclient.c: Avoid expansion of getcwd when defined as a macro. | 8 | * emacsclient.c: Avoid expansion of getcwd when defined as a macro. |
diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c index e502061b759..dafd8f8914c 100644 --- a/lib-src/make-docfile.c +++ b/lib-src/make-docfile.c | |||
| @@ -60,8 +60,16 @@ Boston, MA 02111-1307, USA. */ | |||
| 60 | #define READ_BINARY "r" | 60 | #define READ_BINARY "r" |
| 61 | #endif /* not DOS_NT */ | 61 | #endif /* not DOS_NT */ |
| 62 | 62 | ||
| 63 | #ifndef DIRECTORY_SEP | ||
| 64 | #ifdef MAC_OS8 | ||
| 65 | #define DIRECTORY_SEP ':' | ||
| 66 | #else /* not MAC_OS8 */ | ||
| 67 | #define DIRECTORY_SEP '/' | ||
| 68 | #endif /* not MAC_OS8 */ | ||
| 69 | #endif | ||
| 70 | |||
| 63 | #ifndef IS_DIRECTORY_SEP | 71 | #ifndef IS_DIRECTORY_SEP |
| 64 | #define IS_DIRECTORY_SEP(_c_) ((_c_) == '/') | 72 | #define IS_DIRECTORY_SEP(_c_) ((_c_) == DIRECTORY_SEP) |
| 65 | #endif | 73 | #endif |
| 66 | 74 | ||
| 67 | int scan_file (); | 75 | int scan_file (); |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 766432edf98..aaaf1be4fa8 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,632 @@ | |||
| 1 | 2005-05-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * subr.el (send-string, send-region): | ||
| 4 | Remove obsolescence declaration. | ||
| 5 | (window-dot, set-window-dot, read-input, show-buffer) | ||
| 6 | (eval-current-buffer, string-to-int): | ||
| 7 | Add release number to obsolescence declarations. | ||
| 8 | |||
| 9 | 2005-05-19 Kim F. Storm <storm@cua.dk> | ||
| 10 | |||
| 11 | * ido.el (ido-magic-forward-char): Enter ido-find-file at end of input. | ||
| 12 | (ido-magic-backward-char): Enter ido-switch-buffer at start of input. | ||
| 13 | |||
| 14 | 2005-05-20 Matt Hodges <MPHodges@member.fsf.org> | ||
| 15 | |||
| 16 | * faces.el (list-faces-display): Make back button respect optional | ||
| 17 | regexp arg. | ||
| 18 | |||
| 19 | 2005-05-19 Juanma Barranquero <lekktu@gmail.com> | ||
| 20 | |||
| 21 | * calculator.el (calculator-radix-grouping-mode) | ||
| 22 | (calculator-radix-grouping-digits, calculator-displayer) | ||
| 23 | (calculator-radix-grouping-separator, calculator-copy-displayer): | ||
| 24 | * dabbrev.el (dabbrev-search-these-buffers-only): | ||
| 25 | * diff-mode.el (diff-jump-to-old-file, diff-update-on-the-fly) | ||
| 26 | (diff-advance-after-apply-hunk, diff-mode-hook) | ||
| 27 | (diff-minor-mode-prefix): | ||
| 28 | * imenu.el (imenu-use-popup-menu): | ||
| 29 | * jit-lock.el (jit-lock-context-time): | ||
| 30 | * newcomment.el (comment-fill-column, comment-column) | ||
| 31 | (comment-style, comment-padding, comment-multi-line) | ||
| 32 | (comment-empty-lines, comment-auto-fill-only-comments): | ||
| 33 | * reveal.el (reveal-around-mark): | ||
| 34 | * uniquify.el (uniquify-buffer-name-style) | ||
| 35 | (uniquify-after-kill-buffer-p) | ||
| 36 | (uniquify-ask-about-buffer-names-p, uniquify-ignore-buffers-re) | ||
| 37 | (uniquify-min-dir-content, uniquify-separator) | ||
| 38 | (uniquify-trailing-separator-p, uniquify-strip-common-suffix): | ||
| 39 | * w32-vars.el (w32-fixed-font-alist): | ||
| 40 | * emacs-lisp/testcover.el (testcover-potentially-1value-functions): | ||
| 41 | * obsolete/rsz-mini.el (resize-minibuffer-frame-max-height): | ||
| 42 | * progmodes/antlr-mode.el (antlr-font-lock-maximum-decoration): | ||
| 43 | * progmodes/perl-mode.el (perl-indent-level) | ||
| 44 | (perl-continued-statement-offset, perl-continued-brace-offset) | ||
| 45 | (perl-brace-offset, perl-brace-imaginary-offset) | ||
| 46 | (perl-label-offset, perl-indent-continued-arguments) | ||
| 47 | (perl-tab-always-indent, perl-tab-to-comment, perl-nochange): | ||
| 48 | * progmodes/tcl.el (tcl-indent-level) | ||
| 49 | (tcl-continued-indent-level, tcl-auto-newline) | ||
| 50 | (tcl-tab-always-indent, tcl-electric-hash-style) | ||
| 51 | (tcl-help-directory-list, tcl-use-smart-word-finder) | ||
| 52 | (tcl-application, tcl-command-switches, tcl-prompt-regexp) | ||
| 53 | (inferior-tcl-source-command): | ||
| 54 | * textmodes/fill.el (enable-kinsoku): | ||
| 55 | * textmodes/reftex-vars.el (reftex-index-phrases-wrap-long-lines): | ||
| 56 | * textmodes/table.el (table-yank-handler): | ||
| 57 | Specify missing group (and type, if simple) in defcustom. | ||
| 58 | |||
| 59 | 2005-05-19 Luc Teirlinck <teirllm@auburn.edu> | ||
| 60 | |||
| 61 | * progmodes/compile.el (compilation-finish-function): Fix defvar. | ||
| 62 | |||
| 63 | 2005-05-19 Richard M. Stallman <rms@gnu.org> | ||
| 64 | |||
| 65 | * progmodes/make-mode.el (makefile-mode): Use run-mode-hooks. | ||
| 66 | |||
| 67 | * subr.el (event-basic-type): Don't get an error. | ||
| 68 | (left-fringe-p): Function deleted. | ||
| 69 | |||
| 70 | * buff-menu.el (Buffer-menu-buffer-face): In group Buffer-menu. | ||
| 71 | |||
| 72 | * dired-aux.el (dired-copy-file-recursive): Handle symlinks | ||
| 73 | in recursive copy. | ||
| 74 | |||
| 75 | * frame.el (show-trailing-whitespace): In group `whitespace-faces'. | ||
| 76 | |||
| 77 | * emacs-lisp/byte-run.el (eval-when-compile): Doc fix. | ||
| 78 | |||
| 79 | * emacs-lisp/bytecomp.el (byte-compile-file-form-custom-declare-variable): | ||
| 80 | Call byte-compile-nogroup-warn if appropriate. | ||
| 81 | |||
| 82 | * progmodes/compile.el (compilation-finish-function): Mark obsolete. | ||
| 83 | (compilation-set-window): Don't call left-fringe-p; do it directly. | ||
| 84 | |||
| 85 | 2005-05-19 Jay Belanger <belanger@truman.edu> | ||
| 86 | |||
| 87 | * calc/calc-graph.el (calc-graph-format-data): Make sure | ||
| 88 | var-PlotRejects is bound before trying to check its value. | ||
| 89 | |||
| 90 | 2005-05-19 Carsten Dominik <dominik@science.uva.nl> | ||
| 91 | |||
| 92 | * textmodes/reftex.el (reftex-isearch-minor-mode): Moved the | ||
| 93 | definition of this variable from reftex-global.el to reftex.el, | ||
| 94 | because it is needed in the menu. | ||
| 95 | |||
| 96 | 2005-05-19 Lute Kamstra <lute@gnu.org> | ||
| 97 | |||
| 98 | * emacs-lisp/copyright.el (copyright-fix-years): Make sure all | ||
| 99 | years are fixed. Don't insert a space after a dash. | ||
| 100 | |||
| 101 | 2005-05-19 Kim F. Storm <storm@cua.dk> | ||
| 102 | |||
| 103 | * emulation/crisp.el (crisp-home, crisp-end): Put CUA property. | ||
| 104 | |||
| 105 | 2005-05-19 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 106 | |||
| 107 | * font-lock.el (lisp-font-lock-keywords-2): Do \\) only in | ||
| 108 | strings, because (eq ... ?\\) is fairly frequent. | ||
| 109 | |||
| 110 | * progmodes/make-mode.el (makefile-add-this-line-targets): | ||
| 111 | Simplify and integrate into `makefile-pickup-targets'. | ||
| 112 | (makefile-add-this-line-macro): Simplify and integrate into | ||
| 113 | `makefile-pickup-macros. | ||
| 114 | (makefile-pickup-filenames-as-targets): Simplify. | ||
| 115 | (makefile-previous-dependency, makefile-match-dependency): Don't | ||
| 116 | stumble over `::'. | ||
| 117 | |||
| 118 | 2005-05-19 Nick Roberts <nickrob@snap.net.nz> | ||
| 119 | |||
| 120 | * subr.el (post-command-idle-hook, post-command-idle-delay): | ||
| 121 | Remove obsoletion of post-command-idle-hook and | ||
| 122 | post-command-idle-delay. | ||
| 123 | |||
| 124 | * faces.el (list-faces-display): Provide button when describe-face | ||
| 125 | is called to take user back to the list of faces. | ||
| 126 | |||
| 127 | * help-fns.el (describe-variable): Remove hyperlinks in a | ||
| 128 | variable's value as these are quite frequently inappropriate. | ||
| 129 | |||
| 130 | * follow.el (follow-submit-feedback, follow-mode): Remove | ||
| 131 | references to post-command-idle-hook. | ||
| 132 | |||
| 133 | 2005-05-18 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 134 | |||
| 135 | * progmodes/make-mode.el (makefile-previous-dependency) | ||
| 136 | (makefile-match-dependency): Check for := (and in bsd mode also | ||
| 137 | !=) to give a better result, even when font-lock is not on. | ||
| 138 | |||
| 139 | 2005-05-18 Jay Belanger <belanger@truman.edu> | ||
| 140 | |||
| 141 | * calc/calc-help.el (calc-s-prefix-help): Add | ||
| 142 | `calc-copy-special-constant' to help string. | ||
| 143 | |||
| 144 | 2005-05-18 Luc Teirlinck <teirllm@auburn.edu> | ||
| 145 | |||
| 146 | * emacs-lisp/eldoc.el (eldoc-mode): Doc fix. | ||
| 147 | |||
| 148 | 2005-05-18 Jay Belanger <belanger@truman.edu> | ||
| 149 | |||
| 150 | * calc/calc-poly.el (math-factor-poly-coefs): Make sure the terms | ||
| 151 | in linear factors are in proper order. | ||
| 152 | |||
| 153 | 2005-05-18 Carsten Dominik <dominik@science.uva.nl> | ||
| 154 | |||
| 155 | * textmodes/reftex-vars.el (reftex-cite-format-builtin): Support | ||
| 156 | for jurabib. | ||
| 157 | |||
| 158 | * textmodes/reftex.el (featurep): Define aliases for overlay | ||
| 159 | commands, for XEmacs compatibility, and use these aliases in | ||
| 160 | overlay initializations. | ||
| 161 | (reftex-highlight): Use `reftex-move-overlay'. | ||
| 162 | (reftex-unhighlight): Use `reftex-delete-overlay'. | ||
| 163 | (reftex-uniq): Funktion removed. Use `reftex-uniquify' instead. | ||
| 164 | (reftex-access-search-path): Use `reftex-uniquify' instead of | ||
| 165 | `reftex-uniq' | ||
| 166 | |||
| 167 | * textmodes/reftex-sel.el (reftex-select-unmark): Overlay | ||
| 168 | `before-string' property modification enables for Emacs as well. | ||
| 169 | (reftex-select-item): Use `reftex-delete-overlay'. | ||
| 170 | (reftex-select-mark): Use `reftex-make-overlay' and | ||
| 171 | `reftex-overlay-put'. | ||
| 172 | (reftex-select-unmark): Use `reftex-delete-overlay' and | ||
| 173 | `reftex-overlay-put'. | ||
| 174 | |||
| 175 | 2005-05-18 Lute Kamstra <lute@gnu.org> | ||
| 176 | |||
| 177 | * emacs-lisp/lisp.el (check-parens): Fix docstring. | ||
| 178 | |||
| 179 | 2005-05-18 Juanma Barranquero <lekktu@gmail.com> | ||
| 180 | |||
| 181 | * add-log.el (add-change-log-entry): | ||
| 182 | * array.el (array-make-template, array-reconfigure-rows) | ||
| 183 | (array-init-max-row, array-init-max-column) | ||
| 184 | (array-init-columns-per-line, array-init-field-width): | ||
| 185 | * replace.el (replace-match-maybe-edit, perform-replace): | ||
| 186 | * textmodes/spell.el (spell-region): | ||
| 187 | Replace `read-input' by `read-string'. | ||
| 188 | |||
| 189 | * forms.el (forms-mode): | ||
| 190 | * finder.el (finder-compile-keywords): | ||
| 191 | * shadowfile.el (shadow-read-files): | ||
| 192 | Replace `eval-current-buffer' by `eval-buffer'. | ||
| 193 | |||
| 194 | * terminal.el (te-pass-through): | ||
| 195 | * net/ange-ftp.el (ange-ftp-process-filter, ange-ftp-gwp-filter) | ||
| 196 | (ange-ftp-raw-send-cmd): | ||
| 197 | * net/telnet.el (telnet-interrupt-subjob, telnet-c-z) | ||
| 198 | (send-process-next-char, telnet-initial-filter, telnet): | ||
| 199 | Replace `send-string' by `process-send-string'. | ||
| 200 | |||
| 201 | * progmodes/prolog.el (inferior-prolog-mode): Doc fix. | ||
| 202 | (prolog-consult-region): Replace `send-string' by | ||
| 203 | `process-send-string'; replace `send-region' by | ||
| 204 | `process-send-region'. | ||
| 205 | |||
| 206 | * progmodes/delphi.el (delphi-log-msg): | ||
| 207 | Replace `set-window-dot' by `set-window-point'. | ||
| 208 | |||
| 209 | * subr.el (window-dot, set-window-dot, read-input, send-string) | ||
| 210 | (send-region, show-buffer, eval-current-buffer): | ||
| 211 | Make really obsolete, as the comment says. | ||
| 212 | |||
| 213 | 2005-05-17 Kim F. Storm <storm@cua.dk> | ||
| 214 | |||
| 215 | * emulation/cua-base.el (cua-use-hyper-key): Doc fix. | ||
| 216 | (cua--init-keymaps): Bind C-return instead of S-return to set | ||
| 217 | rectangle mark. | ||
| 218 | |||
| 219 | * emulation/cua-rect.el (cua--init-rectangles): Bind C-return | ||
| 220 | instead of S-return to toggle/clear rectangle mark. | ||
| 221 | |||
| 222 | 2005-05-17 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 223 | |||
| 224 | * progmodes/make-mode.el (makefile-dependency-skip): New variable. | ||
| 225 | (makefile-macroassign-regex, makefile-make-font-lock-keywords): | ||
| 226 | Also fontify plain strings assigned to variables, mostly so that a | ||
| 227 | colon has a face and is thus not taken as a dependency separator. | ||
| 228 | (makefile-previous-dependency): Inline the new matcher, because it | ||
| 229 | is too complex to work in both directions. | ||
| 230 | (makefile-match-dependency): Eliminate `backward' arg (see above). | ||
| 231 | Completely reimplemented so as to not sometimes go into an endless | ||
| 232 | loop. It should also be more efficient, because first it only | ||
| 233 | searches for `:', instead of applying the very complex regexp. | ||
| 234 | (makefile-mode): Cancel `font-lock-support-mode', because blocks | ||
| 235 | to be fontified in one piece can be too long for JIT. Makefiles | ||
| 236 | are never *that* big. | ||
| 237 | |||
| 238 | 2005-05-17 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 239 | |||
| 240 | * dired.el (dired-mode): Simplify. | ||
| 241 | |||
| 242 | 2005-05-17 Lute Kamstra <lute@gnu.org> | ||
| 243 | |||
| 244 | * emacs-lisp/easy-mmode.el (define-minor-mode): Don't generate a | ||
| 245 | defcustom for the mode hook variable. | ||
| 246 | |||
| 247 | * emacs-lisp/authors.el (authors): Do parse the ChangeLogs of the | ||
| 248 | Emacs Lisp Reference Manual. | ||
| 249 | |||
| 250 | 2005-05-17 Juanma Barranquero <lekktu@gmail.com> | ||
| 251 | |||
| 252 | * emacs-lisp/cl.el (eql, floatp-safe, plusp, minusp, oddp) | ||
| 253 | (evenp, list*): | ||
| 254 | * emacs-lisp/cl-macs.el (macrolet, symbol-macrolet): | ||
| 255 | * emacs-lisp/cl-seq.el (subsetp, tree-equal): Doc fixes. | ||
| 256 | |||
| 257 | * net/tramp-smb.el (tramp-smb-open-connection): | ||
| 258 | Pass `tramp-chunksize' as fifth (required) argument. | ||
| 259 | |||
| 260 | 2005-05-16 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 261 | |||
| 262 | * font-lock.el (lisp-font-lock-keywords-1): Set | ||
| 263 | `font-lock-negation-char-face' for [^...] char group. | ||
| 264 | (lisp-font-lock-keywords-2): Highlight regexp's \\( \\| \\). | ||
| 265 | |||
| 266 | * progmodes/make-mode.el (makefile-dependency-regex): Turn it into | ||
| 267 | a var, and refine it to mask one more level of nested vars. | ||
| 268 | (makefile-rule-action-regex): Turn it into a var, and refine it so | ||
| 269 | it recognizes backslashed continuation lines as belonging to the | ||
| 270 | same command. | ||
| 271 | (makefile-macroassign-regex): Refine it so it recognizes | ||
| 272 | backslashed continuation lines as belonging to the same command. | ||
| 273 | (makefile-var-use-regex): Don't look at the next char, because it | ||
| 274 | might be the same one to be skipped by the initial [^$], leading | ||
| 275 | to an overlooked variable use. | ||
| 276 | (makefile-make-font-lock-keywords): Remove two parameters, which | ||
| 277 | are now variables that some of the modes set locally. Handle | ||
| 278 | dependency and rule action matching through functions, because | ||
| 279 | regexps alone match too often. Dependency matching now comes | ||
| 280 | last, so it can check, whether a colon already matched something | ||
| 281 | else. | ||
| 282 | (makefile-mode): Inform that font-lock improves makefile parsing | ||
| 283 | capabilities. | ||
| 284 | (makefile-match-dependency, makefile-match-action): New functions. | ||
| 285 | |||
| 286 | 2005-05-16 Juanma Barranquero <lekktu@gmail.com> | ||
| 287 | |||
| 288 | * emacs-lisp/cl-extra.el (equalp): Doc fix. | ||
| 289 | |||
| 290 | * align.el (align-regexp): | ||
| 291 | * ansi-color.el (ansi-color-get-face): | ||
| 292 | * array.el (array-reconfigure-rows, array-init-max-row) | ||
| 293 | (array-init-max-column, array-init-columns-per-line) | ||
| 294 | (array-init-field-width): | ||
| 295 | * dired-aux.el (dired-trample-file-versions): | ||
| 296 | * dired-x.el (dired-mark-sexp): | ||
| 297 | * ediff-diff.el (ediff-extract-diffs, ediff-get-diff3-group): | ||
| 298 | * edmacro.el (edmacro-finish-edit, edmacro-parse-keys): | ||
| 299 | * emerge.el (emerge-extract-diffs, emerge-get-diff3-group): | ||
| 300 | * faces.el (face-read-integer): | ||
| 301 | * files.el (backup-extract-version, insert-directory): | ||
| 302 | * hexl.el (hexl-insert-decimal-char): | ||
| 303 | * server.el (server-process-filter): | ||
| 304 | * shell.el (shell-extract-num): | ||
| 305 | * startup.el (command-line-1): | ||
| 306 | * term.el (term-command-hook): | ||
| 307 | * time-stamp.el (time-stamp, time-stamp-string-preprocess) | ||
| 308 | (time-stamp-do-number): | ||
| 309 | * time.el (display-time-update): | ||
| 310 | * timezone.el (timezone-parse-date, timezone-zone-to-minute) | ||
| 311 | (timezone-fix-time): | ||
| 312 | * vms-patch.el (vms-suspend-resume-hook): | ||
| 313 | * calendar/appt.el (appt-convert-time): | ||
| 314 | * calendar/cal-bahai.el (mark-bahai-diary-entries): | ||
| 315 | * calendar/cal-hebrew.el (mark-hebrew-diary-entries): | ||
| 316 | * calendar/cal-islam.el (mark-islamic-diary-entries): | ||
| 317 | * calendar/calendar.el (calendar-cursor-to-date) | ||
| 318 | (calendar-star-date): | ||
| 319 | * calendar/diary-lib.el (diary-attrtype-convert) | ||
| 320 | (mark-diary-entries, diary-entry-time): | ||
| 321 | * calendar/solar.el (solar-get-number): | ||
| 322 | * emacs-lisp/lisp-mnt.el (lm-last-modified-date): | ||
| 323 | * emacs-lisp/re-builder.el (reb-display-subexp): | ||
| 324 | * emulation/edt.el (edt-set-scroll-margins): | ||
| 325 | * emulation/tpu-extras.el (tpu-set-scroll-margins): | ||
| 326 | * emulation/vip.el (vip-get-ex-token, vip-get-ex-buffer) | ||
| 327 | (vip-get-ex-count): | ||
| 328 | * emulation/viper-ex.el (viper-get-ex-token) | ||
| 329 | (viper-get-ex-buffer, viper-get-ex-count, ex-next): | ||
| 330 | * international/fontset.el (fontset-plain-name): | ||
| 331 | * mail/feedmail.el (feedmail-look-at-queue-directory): | ||
| 332 | * mail/mailalias.el (mail-get-names): | ||
| 333 | * mail/rmail.el (rmail-convert-to-babyl-format): | ||
| 334 | * mail/rmailsum.el (rmail-make-basic-summary-line) | ||
| 335 | (rmail-summary-next-same-subject, rmail-summary-rmail-update) | ||
| 336 | (rmail-summary-goto-msg): | ||
| 337 | * mail/smtpmail.el (smtpmail-read-response): | ||
| 338 | * net/ange-ftp.el (ange-ftp-guess-hash-mark-size) | ||
| 339 | (ange-ftp-vms-add-file-entry): | ||
| 340 | * play/gametree.el (gametree-looking-at-ply) | ||
| 341 | (gametree-current-branch-score): | ||
| 342 | * progmodes/ada-xref.el (ada-prj-find-prj-file) | ||
| 343 | (ada-xref-find-in-modified-ali, ada-find-in-src-path): | ||
| 344 | * progmodes/cperl-mode.el (condition-case): | ||
| 345 | * progmodes/ebrowse.el (ebrowse-set-tree-indentation) | ||
| 346 | (ebrowse-set-member-buffer-column-width) | ||
| 347 | (ebrowse-select-1st-to-9nth): | ||
| 348 | * progmodes/etags.el (etags-snarf-tag): | ||
| 349 | * progmodes/flymake.el (flymake-parse-line): | ||
| 350 | * progmodes/idlw-shell.el (idlwave-shell-parse-line) | ||
| 351 | (idlwave-shell-filter-bp, idlwave-shell-goto-next-error) | ||
| 352 | (idlwave-shell-menu-def): | ||
| 353 | * progmodes/ps-mode.el (ps-run-goto-error): | ||
| 354 | * progmodes/vhdl-mode.el (vhdl-read-offset, vhdl-load-cache) | ||
| 355 | (vhdl-speedbar-contract-level): | ||
| 356 | * term/mac-win.el (x-handle-numeric-switch): | ||
| 357 | * term/sun-mouse.el (sun-get-frame-data): | ||
| 358 | * term/w32-win.el (x-handle-numeric-switch): | ||
| 359 | * term/x-win.el (x-handle-numeric-switch): | ||
| 360 | * textmodes/ispell.el (ispell-parse-output): | ||
| 361 | * textmodes/nroff-mode.el (nroff-outline-level): | ||
| 362 | * textmodes/reftex-cite.el (reftex-bib-sort-year) | ||
| 363 | (reftex-bib-sort-year-reverse, reftex-format-citation): | ||
| 364 | * textmodes/reftex-parse.el (reftex-init-section-numbers) | ||
| 365 | (reftex-section-number): | ||
| 366 | * textmodes/texinfmt.el (texinfo-paragraphindent): Replace | ||
| 367 | `string-to-int' by `string-to-number'. | ||
| 368 | |||
| 369 | * international/latexenc.el: Add page marker to force the "Local | ||
| 370 | Variables:" string out of the last page. | ||
| 371 | |||
| 372 | 2005-05-16 Nick Roberts <nickrob@snap.net.nz> | ||
| 373 | |||
| 374 | * progmodes/gud.el (gud-tooltip-mode): Add gud prefix to | ||
| 375 | tooltip-change-major-mode. | ||
| 376 | (gud-tooltip-print-command): Remove case where gud-minor-mode | ||
| 377 | is gdb ("--fullname"). | ||
| 378 | (gud-tooltip-tips): Turn GUD tooltips off for this case and | ||
| 379 | explain to user. | ||
| 380 | |||
| 381 | 2005-05-16 Jay Belanger <belanger@truman.edu> | ||
| 382 | |||
| 383 | * calc/calc-store.el (calc-copy-special-constant): New function. | ||
| 384 | |||
| 385 | * calc/calc-ext.el (calc-init-extensions): Add binding for | ||
| 386 | `calc-copy-special-constant'. | ||
| 387 | |||
| 388 | * calc/calc-prog.el (calc-edit-format-macro-buffer): Add a case | ||
| 389 | for the `calc-copy-special-constant' command. | ||
| 390 | |||
| 391 | 2005-05-16 Nick Roberts <nickrob@snap.net.nz> | ||
| 392 | |||
| 393 | * subr.el (left-fringe-p): New function. | ||
| 394 | |||
| 395 | * progmodes/compile.el (compilation-setup): Set local value of | ||
| 396 | overlay-arrow-string to "" always. | ||
| 397 | (compilation-set-window): Left fringe then don't scroll. No left | ||
| 398 | fringe then no arrow and scroll message to top. | ||
| 399 | (compilation-context-lines): Adjust doc string accordingly. | ||
| 400 | |||
| 401 | 2005-05-16 Kim F. Storm <storm@cua.dk> | ||
| 402 | |||
| 403 | * ido.el (ido-magic-forward-char, ido-magic-backward-char) | ||
| 404 | (ido-magic-delete-char): New commands for C-f, C-b, C-d. | ||
| 405 | (ido-wide-find-dir-or-delete-dir): New command for M-d. | ||
| 406 | (ido-define-mode-map): Bind them. Add C-x prefix to fallback commands. | ||
| 407 | (ido-read-file-name): Handle commands with ido property value | ||
| 408 | equal to find-file as reading a file name, to allow C-d to enter dired. | ||
| 409 | (ibuffer-find-file): Add ido property with value find-file. | ||
| 410 | |||
| 411 | 2005-05-15 Kim F. Storm <storm@cua.dk> | ||
| 412 | |||
| 413 | * subr.el (open-network-stream-nowait): Remove. | ||
| 414 | (open-network-stream-server): Remove. | ||
| 415 | |||
| 416 | 2005-05-15 Richard M. Stallman <rms@gnu.org> | ||
| 417 | |||
| 418 | * faces.el (describe-face): Output a definition link button. | ||
| 419 | |||
| 420 | * help-mode.el (help-face-def): New button type. | ||
| 421 | |||
| 422 | * emacs-lisp/copyright.el (copyright-fix-years): | ||
| 423 | Match properly if the first year is 2-digit. | ||
| 424 | Don't mess up the whitespace after the years by filling. | ||
| 425 | |||
| 426 | * dired-aux.el (dired-mark-confirm): | ||
| 427 | Pass t to dired-get-marked-files for DISTINGUISH-ONE-MARKED. | ||
| 428 | |||
| 429 | * dired.el (dired-map-over-marks): New arg DISTINGUISH-ONE-MARKED. | ||
| 430 | (dired-get-marked-files): New arg DISTINGUISH-ONE-MARKED. | ||
| 431 | (dired-mark-pop-up): Handle FILES = (t FILE) specially. | ||
| 432 | |||
| 433 | * emacs-lisp/lisp-mode.el (lisp-mode-variables): | ||
| 434 | Set font-lock-comment-start-skip. | ||
| 435 | |||
| 436 | * font-lock.el (font-lock-comment-start-skip): New variable. | ||
| 437 | (font-lock-comment-end-skip): New variable. | ||
| 438 | (font-lock-fontify-syntactically-region): Use them if non-nil. | ||
| 439 | |||
| 440 | 2005-05-15 Jay Belanger <belanger@truman.edu> | ||
| 441 | |||
| 442 | * calc/calc-store.el (calc-store-value): Return a string rather | ||
| 443 | than display it as a message. | ||
| 444 | Use calc-var-name for variable name. | ||
| 445 | (calc-store-into): Add the result of calc-store-value to message. | ||
| 446 | (calc-copy-variable): Add a message. | ||
| 447 | (calc-store-exchange): Improve error messages. | ||
| 448 | (calc-store-binary, calc-store-map): Don't reset the values of | ||
| 449 | special constants. | ||
| 450 | |||
| 451 | 2005-05-14 Luc Teirlinck <teirllm@auburn.edu> | ||
| 452 | |||
| 453 | * emacs-lisp/derived.el (define-derived-mode): Add link to Elisp | ||
| 454 | manual to docstring. | ||
| 455 | |||
| 456 | * files.el (hack-local-variables-confirm): Add STRING argument. | ||
| 457 | Make the function handle non file visiting buffers correctly. | ||
| 458 | (hack-local-variables-prop-line, hack-local-variables) | ||
| 459 | (hack-one-local-variable): Use STRING arg of | ||
| 460 | `hack-local-variables-confirm'. | ||
| 461 | |||
| 462 | 2005-05-14 Michael Albinus <michael.albinus@gmx.de> | ||
| 463 | |||
| 464 | Sync with Tramp 2.0.49. | ||
| 465 | |||
| 466 | * tramp.el (tramp-handle-dired-call-process) | ||
| 467 | (tramp-handle-insert-directory):`insert-buffer' cannot be used | ||
| 468 | because the contents of the Tramp buffer is changed before | ||
| 469 | insertion (`expand-file' and alike). | ||
| 470 | (tramp-handle-insert-directory): If `localname' has an empty | ||
| 471 | nondirectory name, it must not be quoted. | ||
| 472 | (tramp-pre-connection): Add parameter CHUNKSIZE. Make local | ||
| 473 | variable `tramp-chunksize'. Change callees. | ||
| 474 | (tramp-open-connection-setup-interactive-shell): Check remote host | ||
| 475 | for buggy `send-process-string' implementation. Set | ||
| 476 | `tramp-chunksize' if found. Reported by Michael Kifer | ||
| 477 | <kifer@cs.sunysb.edu> (and a lot of other people all the years). | ||
| 478 | (tramp-handle-shell-command): `insert-buffer' cannot be used | ||
| 479 | because the contents of the Tramp buffer is changed before | ||
| 480 | insertion (`expand-file' and alike). Reported by Fr,Ai(Bd,Ai(Bric Bothamy | ||
| 481 | <frederic.bothamy@free.fr>. | ||
| 482 | (tramp-set-auto-save): Actions should be done for Tramp file name | ||
| 483 | handler only. Ange-FTP has its own auto-save mechanism. Reported | ||
| 484 | by Richard G. Bielawski <Richard.G.Bielawski@wellsfargo.com>. | ||
| 485 | (tramp-set-auto-save-file-modes): Set file modes of | ||
| 486 | `buffer-auto-save-file-name' to ?\600 as fallback solution. | ||
| 487 | Reported by Ferenc Wagner <wferi@tba.elte.hu>. | ||
| 488 | (tramp-bug): Remove obsolete variable. | ||
| 489 | (tramp-append-tramp-buffers): Rewrite partly. More suitable check | ||
| 490 | for presence of `mml-mode'. Make it running for older Emacsen as | ||
| 491 | well. | ||
| 492 | |||
| 493 | 2005-05-14 John Paul Wallington <jpw@pobox.com> | ||
| 494 | |||
| 495 | * ibuf-ext.el (define-ibuffer-filter filename): | ||
| 496 | If `dired-directory' is a list, use its car. | ||
| 497 | |||
| 498 | 2005-05-14 Daniel Brockman <daniel@brockman.se> (tiny change) | ||
| 499 | |||
| 500 | * ibuffer.el (define-ibuffer-column filename): | ||
| 501 | If `dired-directory' is a list, use its car. | ||
| 502 | |||
| 503 | 2005-05-14 Richard M. Stallman <rms@gnu.org> | ||
| 504 | |||
| 505 | * subr.el (symbol-file): Doc fix. | ||
| 506 | |||
| 507 | * emacs-lisp/bytecomp.el (byte-compile-nogroup-warn): New function. | ||
| 508 | (byte-compile-form): Call byte-compile-nogroup-warn. | ||
| 509 | (byte-compile-warning-types): Doc fix. | ||
| 510 | |||
| 511 | * eshell/esh-mode.el (eshell-find-tag): Use with-no-warnings. | ||
| 512 | |||
| 513 | * progmodes/cc-engine.el (c-literal-faces): | ||
| 514 | Add font-lock-comment-delimiter-face. | ||
| 515 | |||
| 516 | * net/net-utils.el (dig): Use with-no-warnings. | ||
| 517 | |||
| 518 | * mail/supercite.el (sc-cite-frame-alist, sc-uncite-frame-alist) | ||
| 519 | (sc-recite-frame-alist, sc-default-cite-frame) | ||
| 520 | (sc-default-uncite-frame, sc-default-recite-frame) | ||
| 521 | (sc-attrib-selection-list, sc-rewrite-header-list): | ||
| 522 | Mark as risky-local-variable. | ||
| 523 | |||
| 524 | * international/ogonek.el (ogonek-jak, ogonek-how): | ||
| 525 | Don't use beginning-of-buffer. | ||
| 526 | |||
| 527 | * emacs-lisp/eldoc.el (eldoc-documentation-function): Add autoload. | ||
| 528 | |||
| 529 | * calendar/solar.el (solar-data-list): Move definition up. | ||
| 530 | |||
| 531 | * dnd.el (dnd-protocol-alist): Add autoload. | ||
| 532 | |||
| 533 | * progmodes/sh-script.el: Many doc usage fixes. | ||
| 534 | (sh-indent-after-do): Change default to match common styles. | ||
| 535 | |||
| 536 | 2005-05-13 Luc Teirlinck <teirllm@auburn.edu> | ||
| 537 | |||
| 538 | * files.el (interpreter-mode-alist) | ||
| 539 | (auto-mode-interpreter-regexp): Doc fixes. | ||
| 540 | |||
| 541 | 2005-05-13 Matt Hodges <MPHodges@member.fsf.org> | ||
| 542 | |||
| 543 | * tmm.el (tmm-get-keymap): Include only active menus and menu | ||
| 544 | items. | ||
| 545 | |||
| 546 | * emacs-lisp/easymenu.el (easy-menu-define): Doc fixes. | ||
| 547 | |||
| 548 | 2005-05-13 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 549 | |||
| 550 | * dired.el (dired-mode): make-variable-buffer-local => | ||
| 551 | make-local-variable | ||
| 552 | |||
| 553 | 2005-05-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 554 | |||
| 555 | * term/mac-win.el (mac-select-convert-to-string): Try coding | ||
| 556 | systems in mac-script-code-coding-systems if specified one cannot | ||
| 557 | encode string for `com.apple.traditional-mac-plain-text'. | ||
| 558 | |||
| 559 | 2005-05-13 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 560 | |||
| 561 | * progmodes/make-mode.el (makefile-targets-face) | ||
| 562 | (makefile-shell-face, makefile-makepp-perl-face): New faces. | ||
| 563 | (makefile-dependency-regex): Fix it to not make the colon in | ||
| 564 | $(var:a=b) special. | ||
| 565 | (makefile-rule-action-regex): New regexp for highlighting embedded | ||
| 566 | Shell strings. | ||
| 567 | (makefile-macroassign-regex): Handle != for highlighting as | ||
| 568 | embedded Shell strings. | ||
| 569 | (makefile-var-use-regex): New const. | ||
| 570 | (makefile-statements, makefile-automake-statements) | ||
| 571 | (makefile-gmake-statements, makefile-makepp-statements) | ||
| 572 | (makefile-bsdmake-statements): New consts. | ||
| 573 | (makefile-make-font-lock-keywords): New function. | ||
| 574 | (makefile-automake-font-lock-keywords) | ||
| 575 | (makefile-gmake-font-lock-keywords) | ||
| 576 | (makefile-makepp-font-lock-keywords) | ||
| 577 | (makefile-bsdmake-font-lock-keywords): New consts. | ||
| 578 | (makefile-mode-map): Add switchers between the various submodes. | ||
| 579 | (makefile-mode): Document the availability of the variants. | ||
| 580 | (makefile-automake-mode, makefile-gmake-mode) | ||
| 581 | (makefile-makepp-mode, makefile-bsdmake-mode): New derived modes. | ||
| 582 | |||
| 583 | * files.el (auto-mode-alist, interpreter-mode-alist): Set up the | ||
| 584 | new variants of makefile-mode. | ||
| 585 | |||
| 586 | 2005-05-12 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 587 | |||
| 588 | * font-lock.el (font-lock-comment-delimiter-face): Fix up | ||
| 589 | the inheritance. | ||
| 590 | |||
| 591 | 2005-05-12 Luc Teirlinck <teirllm@auburn.edu> | ||
| 592 | |||
| 593 | * progmodes/inf-lisp.el (inferior-lisp-mode-hook) | ||
| 594 | (inferior-lisp-load-hook): Convert defcustoms back to defvars. | ||
| 595 | |||
| 596 | * files.el (normal-mode): Extend the scope of the | ||
| 597 | `enable-local-variables' binding to include the `set-auto-mode' call. | ||
| 598 | (magic-mode-alist): Doc fix. | ||
| 599 | |||
| 600 | 2005-05-12 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 601 | |||
| 602 | * font-lock.el (font-lock-comment-delimiter-face): Inherit from | ||
| 603 | font-lock-comment-face rather than copying its setting. | ||
| 604 | |||
| 605 | 2005-05-12 Andreas Schwab <schwab@suse.de> | ||
| 606 | |||
| 607 | * eshell/esh-mode.el (eshell-send-input): Doc fix. | ||
| 608 | |||
| 609 | 2005-05-12 Lute Kamstra <lute@gnu.org> | ||
| 610 | |||
| 611 | * emacs-lisp/generic.el (define-generic-mode): Don't generate a | ||
| 612 | defcustom for the mode hook variable. Delete the last argument. | ||
| 613 | * generic-x.el: Fix callers of define-generic-mode. | ||
| 614 | (generic-x-modes): Delete group. | ||
| 615 | (show-tabs-tab-face, show-tabs-space-face): Put them in the | ||
| 616 | generic-x customization group. | ||
| 617 | |||
| 618 | 2005-05-12 Kim F. Storm <storm@cua.dk> | ||
| 619 | |||
| 620 | * font-lock.el (font-lock-negation-char-face): Default to "off". | ||
| 621 | |||
| 622 | * progmodes/cc-fonts.el (c-basic-matchers-before): Don't apply | ||
| 623 | font-lock-negation-char-face to ! in !=. | ||
| 624 | |||
| 625 | 2005-05-12 Masatake YAMATO <jet@gyve.org> | ||
| 626 | |||
| 627 | * add-log.el (find-change-log): Fix typos in the docstring | ||
| 628 | of function. | ||
| 629 | |||
| 1 | 2005-05-11 Arne J,Ax(Brgensen <arne@arnested.dk> | 630 | 2005-05-11 Arne J,Ax(Brgensen <arne@arnested.dk> |
| 2 | 631 | ||
| 3 | * international/latexenc.el (latexenc-find-file-coding-system): | 632 | * international/latexenc.el (latexenc-find-file-coding-system): |
| @@ -21,6 +650,12 @@ | |||
| 21 | 650 | ||
| 22 | 2005-05-11 Stefan Monnier <monnier@iro.umontreal.ca> | 651 | 2005-05-11 Stefan Monnier <monnier@iro.umontreal.ca> |
| 23 | 652 | ||
| 653 | * font-lock.el (font-lock-fontify-syntactically-region): Don't use | ||
| 654 | comment-end if comment-start-skip is not set. | ||
| 655 | Obey the font-lock-comment-delimiter-face variables. | ||
| 656 | |||
| 657 | 2005-05-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 658 | |||
| 24 | * files.el (executable-find): Move from executable.el. Use locate-file. | 659 | * files.el (executable-find): Move from executable.el. Use locate-file. |
| 25 | * progmodes/executable.el (executable-find): Move to files.el. | 660 | * progmodes/executable.el (executable-find): Move to files.el. |
| 26 | 661 | ||
| @@ -33,6 +668,11 @@ | |||
| 33 | (mouse-select, mouse-select-internal, mouse-extend-internal): | 668 | (mouse-select, mouse-select-internal, mouse-extend-internal): |
| 34 | Use it to implement mouse-1-click-follows-link functionality. | 669 | Use it to implement mouse-1-click-follows-link functionality. |
| 35 | 670 | ||
| 671 | 2005-05-11 Richard M. Stallman <rms@gnu.org> | ||
| 672 | |||
| 673 | * font-lock.el (font-lock-fontify-syntactically-region): | ||
| 674 | Use font-lock-comment-delimiter-face for comment delimiters. | ||
| 675 | |||
| 36 | 2005-05-10 Jay Belanger <belanger@truman.edu> | 676 | 2005-05-10 Jay Belanger <belanger@truman.edu> |
| 37 | 677 | ||
| 38 | * calc/calc-help.el (calc-m-prefix-help): Add mention of | 678 | * calc/calc-help.el (calc-m-prefix-help): Add mention of |
| @@ -53,6 +693,9 @@ | |||
| 53 | * cus-edit.el (custom-file): Call file-chase-links. | 693 | * cus-edit.el (custom-file): Call file-chase-links. |
| 54 | 694 | ||
| 55 | * files.el (read-directory-name): Fix previous change. | 695 | * files.el (read-directory-name): Fix previous change. |
| 696 | (hack-local-variables-confirm): New function. | ||
| 697 | (hack-local-variables-prop-line, hack-local-variables) | ||
| 698 | (hack-one-local-variable): Use it. | ||
| 56 | 699 | ||
| 57 | 2005-05-10 Lute Kamstra <lute@gnu.org> | 700 | 2005-05-10 Lute Kamstra <lute@gnu.org> |
| 58 | 701 | ||
| @@ -1123,7 +1766,7 @@ | |||
| 1123 | 1766 | ||
| 1124 | 2005-04-15 Carsten Dominik <dominik@science.uva.nl> | 1767 | 2005-04-15 Carsten Dominik <dominik@science.uva.nl> |
| 1125 | 1768 | ||
| 1126 | * textmodes/org.el: (org-agenda-date-prompt): Rename from | 1769 | * textmodes/org.el (org-agenda-date-prompt): Rename from |
| 1127 | `org-agenda-date-today'. | 1770 | `org-agenda-date-today'. |
| 1128 | (org-evaluate-time-range): Insert at point instead of directly | 1771 | (org-evaluate-time-range): Insert at point instead of directly |
| 1129 | after time range. | 1772 | after time range. |
| @@ -1327,7 +1970,7 @@ | |||
| 1327 | to dnd-insert-text. | 1970 | to dnd-insert-text. |
| 1328 | (x-dnd-protocol-alist, x-dnd-open-file-other-window) | 1971 | (x-dnd-protocol-alist, x-dnd-open-file-other-window) |
| 1329 | (x-dnd-handle-one-url, x-dnd-get-local-file-uri) | 1972 | (x-dnd-handle-one-url, x-dnd-get-local-file-uri) |
| 1330 | (x-dnd-get-local-file-name, x-dnd-open-local-file) | 1973 | (x-dnd-get-local-file-name, x-dnd-open-local-file) |
| 1331 | (x-dnd-open-file, x-dnd-insert-text): Move to dnd.el (without x-). | 1974 | (x-dnd-open-file, x-dnd-insert-text): Move to dnd.el (without x-). |
| 1332 | 1975 | ||
| 1333 | * dnd.el (dnd-protocol-alist): New file with generic DND functions. | 1976 | * dnd.el (dnd-protocol-alist): New file with generic DND functions. |
| @@ -2374,7 +3017,7 @@ | |||
| 2374 | 3017 | ||
| 2375 | 2005-03-24 Jay Belanger <belanger@truman.edu> | 3018 | 2005-03-24 Jay Belanger <belanger@truman.edu> |
| 2376 | 3019 | ||
| 2377 | * calc/calc-embed.el (calc-embedded-mode-change): Save all | 3020 | * calc/calc-embed.el (calc-embedded-mode-change): Save all |
| 2378 | relevant mode settings in calc-embedded-original-modes when modes | 3021 | relevant mode settings in calc-embedded-original-modes when modes |
| 2379 | are permanently changed. | 3022 | are permanently changed. |
| 2380 | 3023 | ||
| @@ -4074,7 +4717,7 @@ | |||
| 4074 | (calc-set-language): Set math-expr-special-function-mapping. | 4717 | (calc-set-language): Set math-expr-special-function-mapping. |
| 4075 | 4718 | ||
| 4076 | * calc/calc-prog.el (calc-edit-user-syntax, calc-fix-token-name) | 4719 | * calc/calc-prog.el (calc-edit-user-syntax, calc-fix-token-name) |
| 4077 | (calc-write-parse-table-part): Add LaTeX support. | 4720 | (calc-write-parse-table-part): Add LaTeX support. |
| 4078 | 4721 | ||
| 4079 | * calc/calc.el (calc-language): Adjust docstring. | 4722 | * calc/calc.el (calc-language): Adjust docstring. |
| 4080 | (calc-set-mode-line): Add LaTeX support. | 4723 | (calc-set-mode-line): Add LaTeX support. |
| @@ -5049,7 +5692,7 @@ | |||
| 5049 | 5692 | ||
| 5050 | 2004-12-31 Jay Belanger <belanger@truman.edu> | 5693 | 2004-12-31 Jay Belanger <belanger@truman.edu> |
| 5051 | 5694 | ||
| 5052 | * calc/calc-store.el (calcVar-digit, calcVar-oper): Remove the need | 5695 | * calc/calc-store.el (calcVar-digit, calcVar-oper): Remove the need |
| 5053 | for "var-" at the beginning of the minibuffer. | 5696 | for "var-" at the beginning of the minibuffer. |
| 5054 | 5697 | ||
| 5055 | 2004-12-31 Richard M. Stallman <rms@gnu.org> | 5698 | 2004-12-31 Richard M. Stallman <rms@gnu.org> |
| @@ -5899,7 +6542,7 @@ | |||
| 5899 | * calendar/holidays.el (holiday-easter-etc): Make arguments | 6542 | * calendar/holidays.el (holiday-easter-etc): Make arguments |
| 5900 | optional for backwards compatibility. Doc fix. | 6543 | optional for backwards compatibility. Doc fix. |
| 5901 | Remove un-necessary local vars mandatory, output-list. | 6544 | Remove un-necessary local vars mandatory, output-list. |
| 5902 | (holiday-advent): Make arguments optional for backwards | 6545 | (holiday-advent): Make arguments optional for backwards |
| 5903 | compatibility. Doc fix. | 6546 | compatibility. Doc fix. |
| 5904 | 6547 | ||
| 5905 | 2004-12-06 Stefan Monnier <monnier@iro.umontreal.ca> | 6548 | 2004-12-06 Stefan Monnier <monnier@iro.umontreal.ca> |
| @@ -7008,7 +7651,7 @@ | |||
| 7008 | disp-trail by declared variable. | 7651 | disp-trail by declared variable. |
| 7009 | 7652 | ||
| 7010 | * calc/calc-sel.el (calc-edit-disp-trail): Declare it. | 7653 | * calc/calc-sel.el (calc-edit-disp-trail): Declare it. |
| 7011 | (calc-finish-selection-edit): Replace variable disp-trail by | 7654 | (calc-finish-selection-edit): Replace variable disp-trail by |
| 7012 | declared variable. | 7655 | declared variable. |
| 7013 | (calc-selection-cache-entry): Move declaration to earlier in the file. | 7656 | (calc-selection-cache-entry): Move declaration to earlier in the file. |
| 7014 | (calc-selection-cache-num, calc-selection-cache-comp) | 7657 | (calc-selection-cache-num, calc-selection-cache-comp) |
| @@ -7024,14 +7667,14 @@ | |||
| 7024 | (calc-sel-reselect): New variable. | 7667 | (calc-sel-reselect): New variable. |
| 7025 | (calc-auto-selection, calc-enter-selection, calc-edit-selection) | 7668 | (calc-auto-selection, calc-enter-selection, calc-edit-selection) |
| 7026 | (calc-sel-evaluate, calc-sel-expand-formula, calc-sel-expand-formula) | 7669 | (calc-sel-evaluate, calc-sel-expand-formula, calc-sel-expand-formula) |
| 7027 | (calc-sel-mult-both-sides, calc-sel-add-both-sides): Replace variable | 7670 | (calc-sel-mult-both-sides, calc-sel-add-both-sides): Replace variable |
| 7028 | reselect with declared variable. | 7671 | reselect with declared variable. |
| 7029 | 7672 | ||
| 7030 | * calc/calc-rewr.el (math-regs, math-num-regs, math-prog-last) | 7673 | * calc/calc-rewr.el (math-regs, math-num-regs, math-prog-last) |
| 7031 | (math-bound-vars, math-conds, math-copy-neg, math-rhs) | 7674 | (math-bound-vars, math-conds, math-copy-neg, math-rhs) |
| 7032 | (math-pattern, math-remembering, math-aliased-vars, math-mt-many) | 7675 | (math-pattern, math-remembering, math-aliased-vars, math-mt-many) |
| 7033 | (math-import-list, math-rewrite-phase): Declare them. | 7676 | (math-import-list, math-rewrite-phase): Declare them. |
| 7034 | (math-rewrite): Use let* to declare variables. | 7677 | (math-rewrite): Use let* to declare variables. |
| 7035 | (calc-rewrite-selection): Make rules a local variable. | 7678 | (calc-rewrite-selection): Make rules a local variable. |
| 7036 | (calc-rewr-sel): New variable. | 7679 | (calc-rewr-sel): New variable. |
| 7037 | (calc-rewrite-selection, calc-locate-selection-marker) | 7680 | (calc-rewrite-selection, calc-locate-selection-marker) |
| @@ -7264,15 +7907,15 @@ | |||
| 7264 | 7907 | ||
| 7265 | 2004-11-15 Jay Belanger <belanger@truman.edu> | 7908 | 2004-11-15 Jay Belanger <belanger@truman.edu> |
| 7266 | 7909 | ||
| 7267 | * calc/calcalg2.el (math-integrate-by-parts): Remove unused | 7910 | * calc/calcalg2.el (math-integrate-by-parts): Remove unused |
| 7268 | variable var-thing. | 7911 | variable var-thing. |
| 7269 | (math-integ-depth, math-integ-level, math-integral-limit) | 7912 | (math-integ-depth, math-integ-level, math-integral-limit) |
| 7270 | (math-enable-subst, math-any-substs, math-integ-msg) | 7913 | (math-enable-subst, math-any-substs, math-integ-msg) |
| 7271 | (math-prev-parts-v, math-good-parts, math-max-integral-limit) | 7914 | (math-prev-parts-v, math-good-parts, math-max-integral-limit) |
| 7272 | (math-int-threshold, math-int-factors, math-double-roots) | 7915 | (math-int-threshold, math-int-factors, math-double-roots) |
| 7273 | (math-solve-simplifying, var-IntegLimit, math-solve-sign) | 7916 | (math-solve-simplifying, var-IntegLimit, math-solve-sign) |
| 7274 | (var-GenCount): Declare these variables. | 7917 | (var-GenCount): Declare these variables. |
| 7275 | (calcFunc-integ): Don't check if var-IntegLimit is bound. | 7918 | (calcFunc-integ): Don't check if var-IntegLimit is bound. |
| 7276 | (math-integral-cache, math-integral-cache-state): | 7919 | (math-integral-cache, math-integral-cache-state): |
| 7277 | Move declarations to earlier in the file. | 7920 | Move declarations to earlier in the file. |
| 7278 | (math-deriv-var, math-deriv-total, math-deriv-symb) | 7921 | (math-deriv-var, math-deriv-total, math-deriv-symb) |
| @@ -7280,7 +7923,7 @@ | |||
| 7280 | (math-so-far, math-integ-expr, math-expr-parts, calc-low) | 7923 | (math-so-far, math-integ-expr, math-expr-parts, calc-low) |
| 7281 | (calc-high, math-solve-var, math-solve-full, math-solve-vars) | 7924 | (calc-high, math-solve-var, math-solve-full, math-solve-vars) |
| 7282 | (math-try-solve-sign, math-solve-b, math-solve-system-vv) | 7925 | (math-try-solve-sign, math-solve-b, math-solve-system-vv) |
| 7283 | (math-solve-res): New variables | 7926 | (math-solve-res): New variables |
| 7284 | (math-derivative, calcFunc-deriv, calcFunc-tderiv) | 7927 | (math-derivative, calcFunc-deriv, calcFunc-tderiv) |
| 7285 | (math-integral, math-replace-integral-parts) | 7928 | (math-integral, math-replace-integral-parts) |
| 7286 | (math-integrate-by-parts, calc-dump-integral-cache) | 7929 | (math-integrate-by-parts, calc-dump-integral-cache) |
| @@ -7384,18 +8027,18 @@ | |||
| 7384 | 8027 | ||
| 7385 | 2004-11-12 Jay Belanger <belanger@truman.edu> | 8028 | 2004-11-12 Jay Belanger <belanger@truman.edu> |
| 7386 | 8029 | ||
| 7387 | * calc/calc-graph.el (calc-dumb-map): Declare it. | 8030 | * calc/calc-graph.el (calc-dumb-map): Declare it. |
| 7388 | (calc-graph-show-dumb): Check if calc-dumb-map is non-nil rather | 8031 | (calc-graph-show-dumb): Check if calc-dumb-map is non-nil rather |
| 7389 | than unbound. | 8032 | than unbound. |
| 7390 | (calc-graph-name): Made `end' a local variable. | 8033 | (calc-graph-name): Made `end' a local variable. |
| 7391 | (calc-graph-lookup): Made `varname' a local variable. | 8034 | (calc-graph-lookup): Made `varname' a local variable. |
| 7392 | (var-DUMMY, var-DUMMY2, var-PlotRejects, calc-gnuplot-trail-mark): | 8035 | (var-DUMMY, var-DUMMY2, var-PlotRejects, calc-gnuplot-trail-mark): |
| 7393 | Declare them. | 8036 | Declare them. |
| 7394 | (calc-graph-format-data): Don't check if var-PlotRejects is bound. | 8037 | (calc-graph-format-data): Don't check if var-PlotRejects is bound. |
| 7395 | (calc-graph-plot, calc-graph-compute-3d): Remove references to | 8038 | (calc-graph-plot, calc-graph-compute-3d): Remove references to |
| 7396 | the unused variable y3vec. | 8039 | the unused variable y3vec. |
| 7397 | (calc-graph-show-dumb): Remove reference to unused variable found-pt. | 8040 | (calc-graph-show-dumb): Remove reference to unused variable found-pt. |
| 7398 | (calc-graph-kill-hook, calc-graph-plot): Remove reference to | 8041 | (calc-graph-kill-hook, calc-graph-plot): Remove reference to |
| 7399 | calc-graph-prev-kill-hook. | 8042 | calc-graph-prev-kill-hook. |
| 7400 | (calc-graph-yvalue, calc-graph-yvec, calc-graph-numsteps) | 8043 | (calc-graph-yvalue, calc-graph-yvec, calc-graph-numsteps) |
| 7401 | (calc-graph-numsteps3, calc-graph-xvalue, calc-graph-xvec) | 8044 | (calc-graph-numsteps3, calc-graph-xvalue, calc-graph-xvec) |
| @@ -7408,7 +8051,7 @@ | |||
| 7408 | (calc-graph-y3step, calc-graph-y3step, calc-graph-zval) | 8051 | (calc-graph-y3step, calc-graph-y3step, calc-graph-zval) |
| 7409 | (calc-graph-stepcount, calc-graph-is-splot) | 8052 | (calc-graph-stepcount, calc-graph-is-splot) |
| 7410 | (calc-graph-surprise-splot, calc-graph-blank) | 8053 | (calc-graph-surprise-splot, calc-graph-blank) |
| 7411 | (calc-graph-non-blank, calc-graph-curve-num): New variables. | 8054 | (calc-graph-non-blank, calc-graph-curve-num): New variables. |
| 7412 | (calc-graph-plot, calc-graph-compute-2d, calc-graph-refine-2d) | 8055 | (calc-graph-plot, calc-graph-compute-2d, calc-graph-refine-2d) |
| 7413 | (calc-graph-recompute-2d, calc-graph-compute-3d) | 8056 | (calc-graph-recompute-2d, calc-graph-compute-3d) |
| 7414 | (calc-graph-format-data): Replace undeclared variables with the | 8057 | (calc-graph-format-data): Replace undeclared variables with the |
| @@ -7482,28 +8125,28 @@ | |||
| 7482 | 8125 | ||
| 7483 | 2004-11-11 Jay Belanger <belanger@truman.edu> | 8126 | 2004-11-11 Jay Belanger <belanger@truman.edu> |
| 7484 | 8127 | ||
| 7485 | * calc/calc-comb.el (math-prime-factors-finished): Declare it as | 8128 | * calc/calc-comb.el (math-prime-factors-finished): Declare it as |
| 7486 | a variable. | 8129 | a variable. |
| 7487 | (calcFunc-dfac): Replace unbound max by n. | 8130 | (calcFunc-dfac): Replace unbound max by n. |
| 7488 | (math-stirling-local-cache): New variable. | 8131 | (math-stirling-local-cache): New variable. |
| 7489 | (math-stirling-number, math-stirling-1, math-stirling-2): | 8132 | (math-stirling-number, math-stirling-1, math-stirling-2): |
| 7490 | Replace the variable `cache' by the declared variable | 8133 | Replace the variable `cache' by the declared variable |
| 7491 | math-stirling-local-cache. | 8134 | math-stirling-local-cache. |
| 7492 | (var-RandSeed): Declare it as a variable. | 8135 | (var-RandSeed): Declare it as a variable. |
| 7493 | (math-init-random-base, math-random-digit): Don't check to see if | 8136 | (math-init-random-base, math-random-digit): Don't check to see if |
| 7494 | var-RandSeed is bound. | 8137 | var-RandSeed is bound. |
| 7495 | (math-random-cache, math-gaussian-cache, calc-verbose-nextprime): | 8138 | (math-random-cache, math-gaussian-cache, calc-verbose-nextprime): |
| 7496 | Declare them instead of just setting them. | 8139 | Declare them instead of just setting them. |
| 7497 | (math-init-random-base): Made i a local variable. | 8140 | (math-init-random-base): Made i a local variable. |
| 7498 | (math-random-digit): Made math-random-last a local variable. | 8141 | (math-random-digit): Made math-random-last a local variable. |
| 7499 | (math-prime-test-cache): Move declaration to before it is used. | 8142 | (math-prime-test-cache): Move declaration to before it is used. |
| 7500 | (math-prime-test-cache-k, math-prime-test-cache-q) | 8143 | (math-prime-test-cache-k, math-prime-test-cache-q) |
| 7501 | (math-prime-test-cache-nm1, math-prime-factors-finished): | 8144 | (math-prime-test-cache-nm1, math-prime-factors-finished): |
| 7502 | Declare them as variables. | 8145 | Declare them as variables. |
| 7503 | 8146 | ||
| 7504 | 2004-11-11 Jay Belanger <belanger@truman.edu> | 8147 | 2004-11-11 Jay Belanger <belanger@truman.edu> |
| 7505 | 8148 | ||
| 7506 | * calc/calc-ext.el (math-defcache): Use defvar for the new | 8149 | * calc/calc-ext.el (math-defcache): Use defvar for the new |
| 7507 | variables it creates. | 8150 | variables it creates. |
| 7508 | 8151 | ||
| 7509 | 2004-11-11 Lars Hansen <larsh@math.ku.dk> | 8152 | 2004-11-11 Lars Hansen <larsh@math.ku.dk> |
| @@ -7519,45 +8162,45 @@ | |||
| 7519 | 8162 | ||
| 7520 | 2004-11-10 Jay Belanger <belanger@truman.edu> | 8163 | 2004-11-10 Jay Belanger <belanger@truman.edu> |
| 7521 | 8164 | ||
| 7522 | * calc/calc-aent.el (calc-do-quick-calc): Use kill-new to append | 8165 | * calc/calc-aent.el (calc-do-quick-calc): Use kill-new to append |
| 7523 | string to kill-ring. | 8166 | string to kill-ring. |
| 7524 | 8167 | ||
| 7525 | * calc/calc-aent.el (calc-alg-exp, math-toks) | 8168 | * calc/calc-aent.el (calc-alg-exp, math-toks) |
| 7526 | (math-exp-pos,math-exp-old-pos, math-exp-token) | 8169 | (math-exp-pos,math-exp-old-pos, math-exp-token) |
| 7527 | (math-exp-keep-spaces, math-exp-str): New variables. | 8170 | (math-exp-keep-spaces, math-exp-str): New variables. |
| 7528 | (calc-do-alg-entry, calcAlg-equals, calcAlg-edit) | 8171 | (calc-do-alg-entry, calcAlg-equals, calcAlg-edit) |
| 7529 | (calcAlg-enter): Use declared variable calc-alg-exp. | 8172 | (calcAlg-enter): Use declared variable calc-alg-exp. |
| 7530 | (math-build-parse-table, math-find-user-token): Use declared | 8173 | (math-build-parse-table, math-find-user-token): Use declared |
| 7531 | variable math-toks. | 8174 | variable math-toks. |
| 7532 | (math-read-exprs, math-read-token, calc-check-user-syntax) | 8175 | (math-read-exprs, math-read-token, calc-check-user-syntax) |
| 7533 | (calc-match-user-syntax, match-factor-after, math-read-factor): | 8176 | (calc-match-user-syntax, match-factor-after, math-read-factor): |
| 7534 | Use declared variables math-exp-pos math-exp-old-pos. | 8177 | Use declared variables math-exp-pos math-exp-old-pos. |
| 7535 | (math-read-exprs, math-read-token, math-read-expr-level) | 8178 | (math-read-exprs, math-read-token, math-read-expr-level) |
| 7536 | (calc-check-user-syntax, calc-match-user-syntax) | 8179 | (calc-check-user-syntax, calc-match-user-syntax) |
| 7537 | (match-factor-after, math-read-factor): Use declared variable | 8180 | (match-factor-after, math-read-factor): Use declared variable |
| 7538 | math-exp-token. | 8181 | math-exp-token. |
| 7539 | (math-read-exprs, math-read-expr-list, math-read-token) | 8182 | (math-read-exprs, math-read-expr-list, math-read-token) |
| 7540 | (math-read-factor): Use declared variable math-exp-keep-spaces. | 8183 | (math-read-factor): Use declared variable math-exp-keep-spaces. |
| 7541 | (math-read-exprs, math-read-token): Use declared variable | 8184 | (math-read-exprs, math-read-token): Use declared variable |
| 7542 | math-exp-str. | 8185 | math-exp-str. |
| 7543 | (calc-match-user-syntax): Make m a local variable. | 8186 | (calc-match-user-syntax): Make m a local variable. |
| 7544 | 8187 | ||
| 7545 | * calc/calc-ext.el (math-read-expr): Use declared variables | 8188 | * calc/calc-ext.el (math-read-expr): Use declared variables |
| 7546 | math-exp-pos, math-exp-old-pos, math-exp-str, math-exp-token, | 8189 | math-exp-pos, math-exp-old-pos, math-exp-str, math-exp-token, |
| 7547 | math-exp-keep-spaces. | 8190 | math-exp-keep-spaces. |
| 7548 | 8191 | ||
| 7549 | * calc/calc-forms.el (math-read-angle-bracket): Use declared | 8192 | * calc/calc-forms.el (math-read-angle-bracket): Use declared |
| 7550 | variables math-exp-pos, math-exp-str. | 8193 | variables math-exp-pos, math-exp-str. |
| 7551 | 8194 | ||
| 7552 | * calc/calc-lang.el (math-parse-tex-sum): Use declared variable | 8195 | * calc/calc-lang.el (math-parse-tex-sum): Use declared variable |
| 7553 | math-exp-old-pos. | 8196 | math-exp-old-pos. |
| 7554 | (math-parse-fortran-vector, math-parse-fortran-vector-end) | 8197 | (math-parse-fortran-vector, math-parse-fortran-vector-end) |
| 7555 | (math-parse-eqn-prime): Use declared variable math-exp-token. | 8198 | (math-parse-eqn-prime): Use declared variable math-exp-token. |
| 7556 | 8199 | ||
| 7557 | * calc/calc-vec.el (math-read-brackets, math-check-for-commas): | 8200 | * calc/calc-vec.el (math-read-brackets, math-check-for-commas): |
| 7558 | Use declared variable math-exp-pos. | 8201 | Use declared variable math-exp-pos. |
| 7559 | (math-check-for-commas): Use declared variable math-exp-str. | 8202 | (math-check-for-commas): Use declared variable math-exp-str. |
| 7560 | (math-read-brackets): Use declared variables math-exp-old-pos, | 8203 | (math-read-brackets): Use declared variables math-exp-old-pos, |
| 7561 | math-exp-keep-spaces. | 8204 | math-exp-keep-spaces. |
| 7562 | (math-read-brackets, math-read-vector, math-read-matrix): | 8205 | (math-read-brackets, math-read-vector, math-read-matrix): |
| 7563 | Use declared variable math-exp-token. | 8206 | Use declared variable math-exp-token. |
| @@ -7595,42 +8238,42 @@ | |||
| 7595 | 8238 | ||
| 7596 | 2004-11-09 Jay Belanger <belanger@truman.edu> | 8239 | 2004-11-09 Jay Belanger <belanger@truman.edu> |
| 7597 | 8240 | ||
| 7598 | * calc/calc-ext.el (calc-init-extensions): Remove old code. | 8241 | * calc/calc-ext.el (calc-init-extensions): Remove old code. |
| 7599 | 8242 | ||
| 7600 | * calc/calc-ext.el (math-expr-data, math-mt-many, math-mt-func) | 8243 | * calc/calc-ext.el (math-expr-data, math-mt-many, math-mt-func) |
| 7601 | (calc-z-prefix-buf, calc-z-prefix-msgs): New variables. | 8244 | (calc-z-prefix-buf, calc-z-prefix-msgs): New variables. |
| 7602 | (calc-z-prefix-help, calc-user-function-list): Use declared | 8245 | (calc-z-prefix-help, calc-user-function-list): Use declared |
| 7603 | variables calc-z-prefix-buf, calc-z-prefix-msgs. | 8246 | variables calc-z-prefix-buf, calc-z-prefix-msgs. |
| 7604 | (math-map-tree, math-map-tree-rec): Use declared variables | 8247 | (math-map-tree, math-map-tree-rec): Use declared variables |
| 7605 | math-mt-many, math-mt-func. | 8248 | math-mt-many, math-mt-func. |
| 7606 | (math-read-expression, math-read-string): Use declared variable | 8249 | (math-read-expression, math-read-string): Use declared variable |
| 7607 | math-expr-data. | 8250 | math-expr-data. |
| 7608 | 8251 | ||
| 7609 | * calc/calc-ext.el (math-normalize-nonstandard): Use declared | 8252 | * calc/calc-ext.el (math-normalize-nonstandard): Use declared |
| 7610 | variable math-normalize-a. | 8253 | variable math-normalize-a. |
| 7611 | 8254 | ||
| 7612 | * calc/calc.el (math-normalize-a): New variable. | 8255 | * calc/calc.el (math-normalize-a): New variable. |
| 7613 | (math-normalize): Use declared variable math-normalize-a. | 8256 | (math-normalize): Use declared variable math-normalize-a. |
| 7614 | 8257 | ||
| 7615 | * calc/calc-poly.el (math-expand-form): Use declared variable | 8258 | * calc/calc-poly.el (math-expand-form): Use declared variable |
| 7616 | math-mt-many. | 8259 | math-mt-many. |
| 7617 | 8260 | ||
| 7618 | * calc/calc-rewr.el (math-rewrite, math-rewrite-phase): | 8261 | * calc/calc-rewr.el (math-rewrite, math-rewrite-phase): |
| 7619 | Use declared variable math-mt-many. | 8262 | Use declared variable math-mt-many. |
| 7620 | (math-rewrite): Use declared variable math-mt-func. | 8263 | (math-rewrite): Use declared variable math-mt-func. |
| 7621 | 8264 | ||
| 7622 | * calc/calc-vec.el (math-read-brackets, math-read-vector) | 8265 | * calc/calc-vec.el (math-read-brackets, math-read-vector) |
| 7623 | (math-read-matrix): Use declared variable math-expr-data. | 8266 | (math-read-matrix): Use declared variable math-expr-data. |
| 7624 | 8267 | ||
| 7625 | * calc/calc-lang.el (math-parse-fortran-vector) | 8268 | * calc/calc-lang.el (math-parse-fortran-vector) |
| 7626 | (math-parse-fortran-vector-end, math-parse-tex-sum) | 8269 | (math-parse-fortran-vector-end, math-parse-tex-sum) |
| 7627 | (math-parse-eqn-matrix, math-parse-eqn-prime) | 8270 | (math-parse-eqn-matrix, math-parse-eqn-prime) |
| 7628 | (math-read-math-subscr): Use declared variable math-expr-data. | 8271 | (math-read-math-subscr): Use declared variable math-expr-data. |
| 7629 | 8272 | ||
| 7630 | * calc/calc-aent.el (math-read-exprs, math-read-expr-list) | 8273 | * calc/calc-aent.el (math-read-exprs, math-read-expr-list) |
| 7631 | (math-read-expr-level, math-read-token, calc-check-user-syntax) | 8274 | (math-read-expr-level, math-read-token, calc-check-user-syntax) |
| 7632 | (calc-match-user-syntax, math-read-if, math-factor-after) | 8275 | (calc-match-user-syntax, math-read-if, math-factor-after) |
| 7633 | (math-read-factor): Use declared variable math-expr-data. | 8276 | (math-read-factor): Use declared variable math-expr-data. |
| 7634 | 8277 | ||
| 7635 | 2004-11-09 Glenn Morris <gmorris@ast.cam.ac.uk> | 8278 | 2004-11-09 Glenn Morris <gmorris@ast.cam.ac.uk> |
| 7636 | 8279 | ||
| @@ -7663,14 +8306,14 @@ | |||
| 7663 | 2004-11-09 Jay Belanger <belanger@truman.edu> | 8306 | 2004-11-09 Jay Belanger <belanger@truman.edu> |
| 7664 | 8307 | ||
| 7665 | * calc/calc.el (calc-mode-hook, calc-trail-mode-hook) | 8308 | * calc/calc.el (calc-mode-hook, calc-trail-mode-hook) |
| 7666 | (calc-start-hook, calc-end-hook, calc-load-hook): New variables. | 8309 | (calc-start-hook, calc-end-hook, calc-load-hook): New variables. |
| 7667 | 8310 | ||
| 7668 | * calc/calc.el (calc, calc-trail-display, calc-mode): | 8311 | * calc/calc.el (calc, calc-trail-display, calc-mode): |
| 7669 | Remove obsolete sections. | 8312 | Remove obsolete sections. |
| 7670 | 8313 | ||
| 7671 | * calc/calc.el (calc-x-paste-text): Remove. | 8314 | * calc/calc.el (calc-x-paste-text): Remove. |
| 7672 | 8315 | ||
| 7673 | * calc/calc-ext.el (calc-init-extensions): Bind calc-yank to | 8316 | * calc/calc-ext.el (calc-init-extensions): Bind calc-yank to |
| 7674 | mouse-2. | 8317 | mouse-2. |
| 7675 | 8318 | ||
| 7676 | 2004-11-09 Nick Roberts <nickrob@snap.net.nz> | 8319 | 2004-11-09 Nick Roberts <nickrob@snap.net.nz> |
| @@ -7716,14 +8359,14 @@ | |||
| 7716 | 8359 | ||
| 7717 | 2004-11-08 Jay Belanger <belanger@truman.edu> | 8360 | 2004-11-08 Jay Belanger <belanger@truman.edu> |
| 7718 | 8361 | ||
| 7719 | * calc/calcalg2.el (math-do-integral-methods): Try linear then | 8362 | * calc/calcalg2.el (math-do-integral-methods): Try linear then |
| 7720 | non-linear substitutions. | 8363 | non-linear substitutions. |
| 7721 | 8364 | ||
| 7722 | 2004-11-08 Jay Belanger <belanger@truman.edu> | 8365 | 2004-11-08 Jay Belanger <belanger@truman.edu> |
| 7723 | 8366 | ||
| 7724 | * calc/calcalg2.el (math-linear-subst-tried): New variable. | 8367 | * calc/calcalg2.el (math-linear-subst-tried): New variable. |
| 7725 | (math-do-integral): Set `math-linear-subst-tried' to nil. | 8368 | (math-do-integral): Set `math-linear-subst-tried' to nil. |
| 7726 | (math-do-integral-methods): Use `math-linear-subst-tried' to | 8369 | (math-do-integral-methods): Use `math-linear-subst-tried' to |
| 7727 | determine what type of substitution to try. | 8370 | determine what type of substitution to try. |
| 7728 | (math-integ-try-linear-substituion): | 8371 | (math-integ-try-linear-substituion): |
| 7729 | Set `math-linear-subst-tried' to t. | 8372 | Set `math-linear-subst-tried' to t. |
| @@ -8327,7 +8970,7 @@ | |||
| 8327 | 2004-10-26 Jay Belanger <belanger@truman.edu> | 8970 | 2004-10-26 Jay Belanger <belanger@truman.edu> |
| 8328 | 8971 | ||
| 8329 | * calc/calc.el (calc,full-calc, calc-quit, calc-keypad) | 8972 | * calc/calc.el (calc,full-calc, calc-quit, calc-keypad) |
| 8330 | (full-calc-keypad, calc-trail-display): Use an extra argument | 8973 | (full-calc-keypad, calc-trail-display): Use an extra argument |
| 8331 | instead of `interactive-p'. | 8974 | instead of `interactive-p'. |
| 8332 | 8975 | ||
| 8333 | * calc/calc-misc.el (calc-other-window): Use an extra argument | 8976 | * calc/calc-misc.el (calc-other-window): Use an extra argument |
| @@ -8372,7 +9015,7 @@ | |||
| 8372 | 9015 | ||
| 8373 | 2004-10-25 Jay Belanger <belanger@truman.edu> | 9016 | 2004-10-25 Jay Belanger <belanger@truman.edu> |
| 8374 | 9017 | ||
| 8375 | * calc/calc-incom.el (calc-digit-dots): Inhibit read-only before | 9018 | * calc/calc-incom.el (calc-digit-dots): Inhibit read-only before |
| 8376 | erasing minibuffer. | 9019 | erasing minibuffer. |
| 8377 | 9020 | ||
| 8378 | 2004-10-25 Simon Josefsson <jas@extundo.com> | 9021 | 2004-10-25 Simon Josefsson <jas@extundo.com> |
| @@ -9358,7 +10001,7 @@ | |||
| 9358 | (calc-invocation-macro, calc-show-banner): Give these values as | 10001 | (calc-invocation-macro, calc-show-banner): Give these values as |
| 9359 | part of `calc-mode-var-list's initialization after the variables | 10002 | part of `calc-mode-var-list's initialization after the variables |
| 9360 | are declared with defvar. | 10003 | are declared with defvar. |
| 9361 | (calc-bug-address): Change email address to send bug reports to. | 10004 | (calc-bug-address): Change email address to send bug reports to. |
| 9362 | Change the maintainer address at the top. | 10005 | Change the maintainer address at the top. |
| 9363 | (calc-mode): Compare `calc-settings-file' to `user-init-file' rather | 10006 | (calc-mode): Compare `calc-settings-file' to `user-init-file' rather |
| 9364 | than "\\.emacs" to determine if it is the user-init-file. | 10007 | than "\\.emacs" to determine if it is the user-init-file. |
| @@ -15654,7 +16297,7 @@ | |||
| 15654 | 16297 | ||
| 15655 | 2004-02-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 16298 | 2004-02-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 15656 | 16299 | ||
| 15657 | * x-dnd.el (x-dnd-types-alist): Add COMPOUND_TEXT, FILE_NAME | 16300 | * x-dnd.el (x-dnd-types-alist): Add COMPOUND_TEXT, FILE_NAME |
| 15658 | handled by x-dnd-handle-file-name. | 16301 | handled by x-dnd-handle-file-name. |
| 15659 | (x-dnd-known-types): Add COMPOUND_TEXT. | 16302 | (x-dnd-known-types): Add COMPOUND_TEXT. |
| 15660 | (x-dnd-init-frame): Call x-dnd-init-motif-for-frame. | 16303 | (x-dnd-init-frame): Call x-dnd-init-motif-for-frame. |
diff --git a/lisp/add-log.el b/lisp/add-log.el index 2714df554b8..6dcbfca0c26 100644 --- a/lisp/add-log.el +++ b/lisp/add-log.el | |||
| @@ -250,6 +250,9 @@ Note: The search is conducted only within 10%, at the beginning of the file." | |||
| 250 | ;; Acknowledgements. | 250 | ;; Acknowledgements. |
| 251 | ;; Don't include plain "From" because that is vague; | 251 | ;; Don't include plain "From" because that is vague; |
| 252 | ;; we want to encourage people to say something more specific. | 252 | ;; we want to encourage people to say something more specific. |
| 253 | ;; Note that the FSF does not use "Patches by"; our convention | ||
| 254 | ;; is to put the name of the author of the changes at the top | ||
| 255 | ;; of the change log entry. | ||
| 253 | ("\\(^\\( +\\|\t\\)\\| \\)\\(Patch\\(es\\)? by\\|Report\\(ed by\\| from\\)\\|Suggest\\(ed by\\|ion from\\)\\)" | 256 | ("\\(^\\( +\\|\t\\)\\| \\)\\(Patch\\(es\\)? by\\|Report\\(ed by\\| from\\)\\|Suggest\\(ed by\\|ion from\\)\\)" |
| 254 | 3 'change-log-acknowledgement-face)) | 257 | 3 'change-log-acknowledgement-face)) |
| 255 | "Additional expressions to highlight in Change Log mode.") | 258 | "Additional expressions to highlight in Change Log mode.") |
| @@ -375,10 +378,10 @@ nil, by matching `change-log-version-number-regexp-list'." | |||
| 375 | 378 | ||
| 376 | Optional arg FILE-NAME specifies the file to use. | 379 | Optional arg FILE-NAME specifies the file to use. |
| 377 | If FILE-NAME is nil, use the value of `change-log-default-name'. | 380 | If FILE-NAME is nil, use the value of `change-log-default-name'. |
| 378 | If 'change-log-default-name' is nil, behave as though it were 'ChangeLog' | 381 | If `change-log-default-name' is nil, behave as though it were 'ChangeLog' |
| 379 | \(or whatever we use on this operating system). | 382 | \(or whatever we use on this operating system). |
| 380 | 383 | ||
| 381 | If 'change-log-default-name' contains a leading directory component, then | 384 | If `change-log-default-name' contains a leading directory component, then |
| 382 | simply find it in the current directory. Otherwise, search in the current | 385 | simply find it in the current directory. Otherwise, search in the current |
| 383 | directory and its successive parents for a file so named. | 386 | directory and its successive parents for a file so named. |
| 384 | 387 | ||
| @@ -489,13 +492,13 @@ non-nil, otherwise in local time." | |||
| 489 | 492 | ||
| 490 | (if whoami | 493 | (if whoami |
| 491 | (progn | 494 | (progn |
| 492 | (setq full-name (read-input "Full name: " full-name)) | 495 | (setq full-name (read-string "Full name: " full-name)) |
| 493 | ;; Note that some sites have room and phone number fields in | 496 | ;; Note that some sites have room and phone number fields in |
| 494 | ;; full name which look silly when inserted. Rather than do | 497 | ;; full name which look silly when inserted. Rather than do |
| 495 | ;; anything about that here, let user give prefix argument so that | 498 | ;; anything about that here, let user give prefix argument so that |
| 496 | ;; s/he can edit the full name field in prompter if s/he wants. | 499 | ;; s/he can edit the full name field in prompter if s/he wants. |
| 497 | (setq mailing-address | 500 | (setq mailing-address |
| 498 | (read-input "Mailing address: " mailing-address)))) | 501 | (read-string "Mailing address: " mailing-address)))) |
| 499 | 502 | ||
| 500 | (unless (equal file-name buffer-file-name) | 503 | (unless (equal file-name buffer-file-name) |
| 501 | (if (or other-window (window-dedicated-p (selected-window))) | 504 | (if (or other-window (window-dedicated-p (selected-window))) |
diff --git a/lisp/align.el b/lisp/align.el index 5238a75807d..563e839f5fe 100644 --- a/lisp/align.el +++ b/lisp/align.el | |||
| @@ -938,10 +938,10 @@ region, call `align-regexp' and type in that regular expression." | |||
| 938 | (if current-prefix-arg | 938 | (if current-prefix-arg |
| 939 | (list (read-string "Complex align using regexp: " | 939 | (list (read-string "Complex align using regexp: " |
| 940 | "\\(\\s-*\\)") | 940 | "\\(\\s-*\\)") |
| 941 | (string-to-int | 941 | (string-to-number |
| 942 | (read-string | 942 | (read-string |
| 943 | "Parenthesis group to modify (justify if negative): " "1")) | 943 | "Parenthesis group to modify (justify if negative): " "1")) |
| 944 | (string-to-int | 944 | (string-to-number |
| 945 | (read-string "Amount of spacing (or column if negative): " | 945 | (read-string "Amount of spacing (or column if negative): " |
| 946 | (number-to-string align-default-spacing))) | 946 | (number-to-string align-default-spacing))) |
| 947 | (y-or-n-p "Repeat throughout line? ")) | 947 | (y-or-n-p "Repeat throughout line? ")) |
diff --git a/lisp/ansi-color.el b/lisp/ansi-color.el index e505f91e901..9b36a403b5d 100644 --- a/lisp/ansi-color.el +++ b/lisp/ansi-color.el | |||
| @@ -619,7 +619,7 @@ ESCAPE-SEQ is a SGR control sequences such as \\033[34m. The parameter | |||
| 619 | (while (string-match ansi-color-r escape-seq i) | 619 | (while (string-match ansi-color-r escape-seq i) |
| 620 | (setq i (match-end 0) | 620 | (setq i (match-end 0) |
| 621 | val (ansi-color-get-face-1 | 621 | val (ansi-color-get-face-1 |
| 622 | (string-to-int (match-string 0 escape-seq) 10))) | 622 | (string-to-number (match-string 0 escape-seq) 10))) |
| 623 | (cond ((not val)) | 623 | (cond ((not val)) |
| 624 | ((eq val 'default) | 624 | ((eq val 'default) |
| 625 | (setq f (list val))) | 625 | (setq f (list val))) |
diff --git a/lisp/array.el b/lisp/array.el index 3aa5d4bd319..f65f14ac550 100644 --- a/lisp/array.el +++ b/lisp/array.el | |||
| @@ -607,7 +607,7 @@ If optional ARG is given, copy through ARG rows up." | |||
| 607 | (let ((check t) | 607 | (let ((check t) |
| 608 | (len)) | 608 | (len)) |
| 609 | (while check | 609 | (while check |
| 610 | (setq array-init-field (read-input "Initial field value: ")) | 610 | (setq array-init-field (read-string "Initial field value: ")) |
| 611 | (setq len (length array-init-field)) | 611 | (setq len (length array-init-field)) |
| 612 | (if (/= len array-field-width) | 612 | (if (/= len array-field-width) |
| 613 | (if (y-or-n-p (format "Change field width to %d? " len)) | 613 | (if (y-or-n-p (format "Change field width to %d? " len)) |
| @@ -647,8 +647,8 @@ of array-rows-numbered." | |||
| 647 | (<= new-columns-per-line array-max-column)) | 647 | (<= new-columns-per-line array-max-column)) |
| 648 | (setq check nil) | 648 | (setq check nil) |
| 649 | (setq new-columns-per-line | 649 | (setq new-columns-per-line |
| 650 | (string-to-int | 650 | (string-to-number |
| 651 | (read-input | 651 | (read-string |
| 652 | (format "Columns per line (1 - %d): " array-max-column))))))) | 652 | (format "Columns per line (1 - %d): " array-max-column))))))) |
| 653 | ;; Check on new-rows-numbered. It has to be done this way | 653 | ;; Check on new-rows-numbered. It has to be done this way |
| 654 | ;; because interactive does not have y-or-n-p. | 654 | ;; because interactive does not have y-or-n-p. |
| @@ -927,22 +927,22 @@ Entering array mode calls the function `array-mode-hook'." | |||
| 927 | (defun array-init-max-row (&optional arg) | 927 | (defun array-init-max-row (&optional arg) |
| 928 | "Initialize the value of `array-max-row'." | 928 | "Initialize the value of `array-max-row'." |
| 929 | (setq array-max-row | 929 | (setq array-max-row |
| 930 | (or arg (string-to-int (read-input "Number of array rows: "))))) | 930 | (or arg (string-to-number (read-string "Number of array rows: "))))) |
| 931 | 931 | ||
| 932 | (defun array-init-max-column (&optional arg) | 932 | (defun array-init-max-column (&optional arg) |
| 933 | "Initialize the value of `array-max-column'." | 933 | "Initialize the value of `array-max-column'." |
| 934 | (setq array-max-column | 934 | (setq array-max-column |
| 935 | (or arg (string-to-int (read-input "Number of array columns: "))))) | 935 | (or arg (string-to-number (read-string "Number of array columns: "))))) |
| 936 | 936 | ||
| 937 | (defun array-init-columns-per-line (&optional arg) | 937 | (defun array-init-columns-per-line (&optional arg) |
| 938 | "Initialize the value of `array-columns-per-line'." | 938 | "Initialize the value of `array-columns-per-line'." |
| 939 | (setq array-columns-per-line | 939 | (setq array-columns-per-line |
| 940 | (or arg (string-to-int (read-input "Array columns per line: "))))) | 940 | (or arg (string-to-number (read-string "Array columns per line: "))))) |
| 941 | 941 | ||
| 942 | (defun array-init-field-width (&optional arg) | 942 | (defun array-init-field-width (&optional arg) |
| 943 | "Initialize the value of `array-field-width'." | 943 | "Initialize the value of `array-field-width'." |
| 944 | (setq array-field-width | 944 | (setq array-field-width |
| 945 | (or arg (string-to-int (read-input "Field width: "))))) | 945 | (or arg (string-to-number (read-string "Field width: "))))) |
| 946 | 946 | ||
| 947 | (defun array-init-rows-numbered (&optional arg) | 947 | (defun array-init-rows-numbered (&optional arg) |
| 948 | "Initialize the value of `array-rows-numbered'." | 948 | "Initialize the value of `array-rows-numbered'." |
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el index 7d0ac885c2f..a968d14a0a9 100644 --- a/lisp/buff-menu.el +++ b/lisp/buff-menu.el | |||
| @@ -77,6 +77,7 @@ | |||
| 77 | (defface Buffer-menu-buffer-face | 77 | (defface Buffer-menu-buffer-face |
| 78 | '((t (:weight bold))) | 78 | '((t (:weight bold))) |
| 79 | "Face used to highlight buffer name." | 79 | "Face used to highlight buffer name." |
| 80 | :group 'Buffer-menu | ||
| 80 | :group 'font-lock-highlighting-faces) | 81 | :group 'font-lock-highlighting-faces) |
| 81 | 82 | ||
| 82 | (defcustom Buffer-menu-buffer+size-width 26 | 83 | (defcustom Buffer-menu-buffer+size-width 26 |
| @@ -754,7 +755,7 @@ For more information, see the function `buffer-menu'." | |||
| 754 | (int-to-string (nth 3 buffer)) | 755 | (int-to-string (nth 3 buffer)) |
| 755 | `(buffer-name ,(nth 2 buffer) | 756 | `(buffer-name ,(nth 2 buffer) |
| 756 | buffer ,(car buffer) | 757 | buffer ,(car buffer) |
| 757 | face Buffer-menu-buffer-face | 758 | font-lock-face Buffer-menu-buffer-face |
| 758 | mouse-face highlight | 759 | mouse-face highlight |
| 759 | help-echo "mouse-2: select this buffer")) | 760 | help-echo "mouse-2: select this buffer")) |
| 760 | " " | 761 | " " |
diff --git a/lisp/calc/calc-comb.el b/lisp/calc/calc-comb.el index c7bf225fe7c..b4b397c43f6 100644 --- a/lisp/calc/calc-comb.el +++ b/lisp/calc/calc-comb.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-comb.el --- combinatoric functions for Calc | 1 | ;;; calc-comb.el --- combinatoric functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-cplx.el b/lisp/calc/calc-cplx.el index 90d90e666bb..32d8a07ffc0 100644 --- a/lisp/calc/calc-cplx.el +++ b/lisp/calc/calc-cplx.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-cplx.el --- Complex number functions for Calc | 1 | ;;; calc-cplx.el --- Complex number functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-ext.el b/lisp/calc/calc-ext.el index 5b23dabbbf5..adbdf7a96e2 100644 --- a/lisp/calc/calc-ext.el +++ b/lisp/calc/calc-ext.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-ext.el --- various extension functions for Calc | 1 | ;;; calc-ext.el --- various extension functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
| @@ -416,6 +416,7 @@ | |||
| 416 | (define-key calc-mode-map "sd" 'calc-declare-variable) | 416 | (define-key calc-mode-map "sd" 'calc-declare-variable) |
| 417 | (define-key calc-mode-map "se" 'calc-edit-variable) | 417 | (define-key calc-mode-map "se" 'calc-edit-variable) |
| 418 | (define-key calc-mode-map "si" 'calc-insert-variables) | 418 | (define-key calc-mode-map "si" 'calc-insert-variables) |
| 419 | (define-key calc-mode-map "sk" 'calc-copy-special-constant) | ||
| 419 | (define-key calc-mode-map "sl" 'calc-let) | 420 | (define-key calc-mode-map "sl" 'calc-let) |
| 420 | (define-key calc-mode-map "sm" 'calc-store-map) | 421 | (define-key calc-mode-map "sm" 'calc-store-map) |
| 421 | (define-key calc-mode-map "sn" 'calc-store-neg) | 422 | (define-key calc-mode-map "sn" 'calc-store-neg) |
| @@ -1075,7 +1076,8 @@ calc-vector-pop-covariance calc-vector-pop-sdev | |||
| 1075 | calc-vector-pop-variance calc-vector-product calc-vector-sdev | 1076 | calc-vector-pop-variance calc-vector-product calc-vector-sdev |
| 1076 | calc-vector-sum calc-vector-variance) | 1077 | calc-vector-sum calc-vector-variance) |
| 1077 | 1078 | ||
| 1078 | ("calc-store" calc-assign calc-copy-variable calc-declare-variable | 1079 | ("calc-store" calc-assign calc-copy-special-constant |
| 1080 | calc-copy-variable calc-declare-variable | ||
| 1079 | calc-edit-AlgSimpRules calc-edit-Decls calc-edit-EvalRules | 1081 | calc-edit-AlgSimpRules calc-edit-Decls calc-edit-EvalRules |
| 1080 | calc-edit-ExtSimpRules calc-edit-FitRules calc-edit-GenCount | 1082 | calc-edit-ExtSimpRules calc-edit-FitRules calc-edit-GenCount |
| 1081 | calc-edit-Holidays calc-edit-IntegLimit calc-edit-LineStyles | 1083 | calc-edit-Holidays calc-edit-IntegLimit calc-edit-LineStyles |
diff --git a/lisp/calc/calc-fin.el b/lisp/calc/calc-fin.el index 88af22746a0..c65e8341394 100644 --- a/lisp/calc/calc-fin.el +++ b/lisp/calc/calc-fin.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-fin.el --- financial functions for Calc | 1 | ;;; calc-fin.el --- financial functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-forms.el b/lisp/calc/calc-forms.el index 10e4793c7a5..ad2ef9dbbff 100644 --- a/lisp/calc/calc-forms.el +++ b/lisp/calc/calc-forms.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-forms.el --- data format conversion functions for Calc | 1 | ;;; calc-forms.el --- data format conversion functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004, 2005 | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: David Gillespie <daveg@synaptics.com> | 6 | ;; Author: David Gillespie <daveg@synaptics.com> |
diff --git a/lisp/calc/calc-funcs.el b/lisp/calc/calc-funcs.el index 9a0802f0a2b..7ae9f524c90 100644 --- a/lisp/calc/calc-funcs.el +++ b/lisp/calc/calc-funcs.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-funcs.el --- well-known functions for Calc | 1 | ;;; calc-funcs.el --- well-known functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-graph.el b/lisp/calc/calc-graph.el index 09bea69cf73..113cdcd33bc 100644 --- a/lisp/calc/calc-graph.el +++ b/lisp/calc/calc-graph.el | |||
| @@ -864,6 +864,7 @@ | |||
| 864 | "e" (int-to-string (nth 2 calc-graph-zval)))))) | 864 | "e" (int-to-string (nth 2 calc-graph-zval)))))) |
| 865 | (insert "\n")) | 865 | (insert "\n")) |
| 866 | (and (not (equal calc-graph-zval '(skip))) | 866 | (and (not (equal calc-graph-zval '(skip))) |
| 867 | (boundp 'var-PlotRejects) | ||
| 867 | (eq (car-safe var-PlotRejects) 'vec) | 868 | (eq (car-safe var-PlotRejects) 'vec) |
| 868 | (nconc var-PlotRejects | 869 | (nconc var-PlotRejects |
| 869 | (list (list 'vec | 870 | (list (list 'vec |
diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el index da2b8434c17..84176b36eea 100644 --- a/lisp/calc/calc-help.el +++ b/lisp/calc/calc-help.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-help.el --- help display functions for Calc, | 1 | ;;; calc-help.el --- help display functions for Calc, |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2004, 2005 | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: David Gillespie <daveg@synaptics.com> | 6 | ;; Author: David Gillespie <daveg@synaptics.com> |
| @@ -526,7 +526,7 @@ C-w Describe how there is no warranty for Calc." | |||
| 526 | (interactive) | 526 | (interactive) |
| 527 | (calc-do-prefix-help | 527 | (calc-do-prefix-help |
| 528 | '("Store, inTo, Xchg, Unstore; Recall, 0-9; : (:=); = (=>)" | 528 | '("Store, inTo, Xchg, Unstore; Recall, 0-9; : (:=); = (=>)" |
| 529 | "Let; Copy; Declare; Insert, Perm; Edit" | 529 | "Let; Copy, K=copy constant; Declare; Insert, Perm; Edit" |
| 530 | "Negate, +, -, *, /, ^, &, |, [, ]; Map" | 530 | "Negate, +, -, *, /, ^, &, |, [, ]; Map" |
| 531 | "SHIFT + Decls, GenCount, TimeZone, Holidays; IntegLimit" | 531 | "SHIFT + Decls, GenCount, TimeZone, Holidays; IntegLimit" |
| 532 | "SHIFT + LineStyles, PointStyles, plotRejects; Units" | 532 | "SHIFT + LineStyles, PointStyles, plotRejects; Units" |
diff --git a/lisp/calc/calc-incom.el b/lisp/calc/calc-incom.el index 691380e18fe..3fdec5a4b06 100644 --- a/lisp/calc/calc-incom.el +++ b/lisp/calc/calc-incom.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-incom.el --- complex data type input functions for Calc | 1 | ;;; calc-incom.el --- complex data type input functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-keypd.el b/lisp/calc/calc-keypd.el index 2c2a0f0f4aa..ad1e4664661 100644 --- a/lisp/calc/calc-keypd.el +++ b/lisp/calc/calc-keypd.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-keypd.el --- mouse-capable keypad input for Calc | 1 | ;;; calc-keypd.el --- mouse-capable keypad input for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-macs.el b/lisp/calc/calc-macs.el index 8b532a49e98..1004a8f1f56 100644 --- a/lisp/calc/calc-macs.el +++ b/lisp/calc/calc-macs.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-macs.el --- important macros for Calc | 1 | ;;; calc-macs.el --- important macros for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-map.el b/lisp/calc/calc-map.el index 726a500c10a..e636dd565fa 100644 --- a/lisp/calc/calc-map.el +++ b/lisp/calc/calc-map.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-map.el --- higher-order functions for Calc | 1 | ;;; calc-map.el --- higher-order functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-misc.el b/lisp/calc/calc-misc.el index 3b2f95d9be8..e8bdfe2fa5a 100644 --- a/lisp/calc/calc-misc.el +++ b/lisp/calc/calc-misc.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-misc.el --- miscellaenous functions for Calc | 1 | ;;; calc-misc.el --- miscellaenous functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-mode.el b/lisp/calc/calc-mode.el index 1c5bd29e804..e0e2ccbd717 100644 --- a/lisp/calc/calc-mode.el +++ b/lisp/calc/calc-mode.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-mode.el --- calculator modes for Calc | 1 | ;;; calc-mode.el --- calculator modes for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-mtx.el b/lisp/calc/calc-mtx.el index 6cac30a3bb7..ea79c98252e 100644 --- a/lisp/calc/calc-mtx.el +++ b/lisp/calc/calc-mtx.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-mtx.el --- matrix functions for Calc | 1 | ;;; calc-mtx.el --- matrix functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-poly.el b/lisp/calc/calc-poly.el index e887e77030e..89d8273d6d6 100644 --- a/lisp/calc/calc-poly.el +++ b/lisp/calc/calc-poly.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-poly.el --- polynomial functions for Calc | 1 | ;;; calc-poly.el --- polynomial functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
| @@ -692,12 +692,13 @@ | |||
| 692 | 692 | ||
| 693 | ;; Check if linear in math-fet-x. | 693 | ;; Check if linear in math-fet-x. |
| 694 | ((not (cdr (cdr p))) | 694 | ((not (cdr (cdr p))) |
| 695 | (math-add (math-factor-protect | 695 | (math-sort-terms |
| 696 | (math-sort-terms | 696 | (math-add (math-factor-protect |
| 697 | (math-factor-expr (car p)))) | 697 | (math-sort-terms |
| 698 | (math-mul math-fet-x (math-factor-protect | 698 | (math-factor-expr (car p)))) |
| 699 | (math-sort-terms | 699 | (math-mul math-fet-x (math-factor-protect |
| 700 | (math-factor-expr (nth 1 p))))))) | 700 | (math-sort-terms |
| 701 | (math-factor-expr (nth 1 p)))))))) | ||
| 701 | 702 | ||
| 702 | ;; If symbolic coefficients, use FactorRules. | 703 | ;; If symbolic coefficients, use FactorRules. |
| 703 | ((let ((pp p)) | 704 | ((let ((pp p)) |
diff --git a/lisp/calc/calc-prog.el b/lisp/calc/calc-prog.el index 01ca770ba27..230b0f6a6c5 100644 --- a/lisp/calc/calc-prog.el +++ b/lisp/calc/calc-prog.el | |||
| @@ -902,6 +902,7 @@ | |||
| 902 | (calc-edit-macro-combine-var-name)) | 902 | (calc-edit-macro-combine-var-name)) |
| 903 | ((or | 903 | ((or |
| 904 | (string-equal type "calc-copy-variable") | 904 | (string-equal type "calc-copy-variable") |
| 905 | (string-equal type "calc-copy-special-constant") | ||
| 905 | (string-equal type "calc-declare-variable")) | 906 | (string-equal type "calc-declare-variable")) |
| 906 | (forward-line 1) | 907 | (forward-line 1) |
| 907 | (calc-edit-macro-combine-var-name) | 908 | (calc-edit-macro-combine-var-name) |
diff --git a/lisp/calc/calc-rewr.el b/lisp/calc/calc-rewr.el index c520c4d390c..2afb16b7535 100644 --- a/lisp/calc/calc-rewr.el +++ b/lisp/calc/calc-rewr.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-rewr.el --- rewriting functions for Calc | 1 | ;;; calc-rewr.el --- rewriting functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-rules.el b/lisp/calc/calc-rules.el index 7a11cfa5012..14fb59ce376 100644 --- a/lisp/calc/calc-rules.el +++ b/lisp/calc/calc-rules.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-rules.el --- rules for simplifying algebraic expressions in Calc | 1 | ;;; calc-rules.el --- rules for simplifying algebraic expressions in Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-stat.el b/lisp/calc/calc-stat.el index 9fdd634027e..c1b8ebc307c 100644 --- a/lisp/calc/calc-stat.el +++ b/lisp/calc/calc-stat.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-stat.el --- statistical functions for Calc | 1 | ;;; calc-stat.el --- statistical functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-store.el b/lisp/calc/calc-store.el index f59cad99802..35db6d71019 100644 --- a/lisp/calc/calc-store.el +++ b/lisp/calc/calc-store.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-store.el --- value storage functions for Calc | 1 | ;;; calc-store.el --- value storage functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
| @@ -57,15 +57,20 @@ | |||
| 57 | ( | . calc-store-concat ) )))) | 57 | ( | . calc-store-concat ) )))) |
| 58 | (if found | 58 | (if found |
| 59 | (funcall (cdr found)) | 59 | (funcall (cdr found)) |
| 60 | (calc-store-value var (or calc-given-value (calc-top 1)) | 60 | (let ((msg |
| 61 | "" calc-given-value-flag) | 61 | (calc-store-value var (or calc-given-value (calc-top 1)) |
| 62 | (message "Stored to variable \"%s\"" (calc-var-name var)))) | 62 | "" calc-given-value-flag))) |
| 63 | (message (concat "Stored to variable \"%s\"" msg) | ||
| 64 | (calc-var-name var))))) | ||
| 63 | (setq var (calc-is-assignments (calc-top 1))) | 65 | (setq var (calc-is-assignments (calc-top 1))) |
| 64 | (if var | 66 | (if var |
| 65 | (while var | 67 | (while var |
| 66 | (calc-store-value (car (car var)) (cdr (car var)) | 68 | (let ((msg |
| 67 | (if (not (cdr var)) "") | 69 | (calc-store-value (car (car var)) (cdr (car var)) |
| 68 | (if (not (cdr var)) 1)) | 70 | (if (not (cdr var)) "") |
| 71 | (if (not (cdr var)) 1)))) | ||
| 72 | (message (concat "Stored to variable \"%s\"" msg) | ||
| 73 | (calc-var-name var))) | ||
| 69 | (setq var (cdr var)))))))) | 74 | (setq var (cdr var)))))))) |
| 70 | 75 | ||
| 71 | (defun calc-store-plus (&optional var) | 76 | (defun calc-store-plus (&optional var) |
| @@ -109,22 +114,26 @@ | |||
| 109 | (calc-store-binary var "n" '- n)) | 114 | (calc-store-binary var "n" '- n)) |
| 110 | 115 | ||
| 111 | (defun calc-store-value (var value tag &optional pop) | 116 | (defun calc-store-value (var value tag &optional pop) |
| 112 | (if var | 117 | (let ((msg "")) |
| 113 | (let ((old (calc-var-value var))) | 118 | (if var |
| 114 | (set var value) | 119 | (let ((old (calc-var-value var))) |
| 115 | (if pop (or calc-store-keep (calc-pop-stack pop))) | 120 | (set var value) |
| 116 | (calc-record-undo (list 'store (symbol-name var) old)) | 121 | (if pop (or calc-store-keep (calc-pop-stack pop))) |
| 117 | (if tag | 122 | (calc-record-undo (list 'store (symbol-name var) old)) |
| 118 | (let ((calc-full-trail-vectors nil)) | 123 | (if tag |
| 119 | (calc-record value (format ">%s%s" tag (calc-var-name var))))) | 124 | (let ((calc-full-trail-vectors nil)) |
| 120 | (and (memq var '(var-e var-i var-pi var-phi var-gamma)) | 125 | (calc-record value (format ">%s%s" tag (calc-var-name var))))) |
| 121 | (eq (car-safe old) 'special-const) | 126 | (cond |
| 122 | (message "(Note: Built-in definition of %s has been lost)" var)) | 127 | ((and (memq var '(var-e var-i var-pi var-phi var-gamma)) |
| 123 | (and (memq var '(var-inf var-uinf var-nan)) | 128 | (eq (car-safe old) 'special-const)) |
| 124 | (null old) | 129 | (setq msg (format " (Note: Built-in definition of %s has been lost)" |
| 125 | (message "(Note: %s has built-in meanings which may interfere)" | 130 | (calc-var-name var)))) |
| 126 | var)) | 131 | ((and (memq var '(var-inf var-uinf var-nan)) |
| 127 | (calc-refresh-evaltos var)))) | 132 | (null old)) |
| 133 | (setq msg (format " (Note: %s has built-in meanings which may interfere)" | ||
| 134 | (calc-var-name var))))) | ||
| 135 | (calc-refresh-evaltos var))) | ||
| 136 | msg)) | ||
| 128 | 137 | ||
| 129 | (defun calc-var-name (var) | 138 | (defun calc-var-name (var) |
| 130 | (if (symbolp var) (setq var (symbol-name var))) | 139 | (if (symbolp var) (setq var (symbol-name var))) |
| @@ -140,8 +149,12 @@ | |||
| 140 | (or var (setq var (calc-read-var-name (format "Store %s: " tag)))) | 149 | (or var (setq var (calc-read-var-name (format "Store %s: " tag)))) |
| 141 | (if var | 150 | (if var |
| 142 | (let ((old (calc-var-value var))) | 151 | (let ((old (calc-var-value var))) |
| 143 | (or old | 152 | (if (eq (car-safe old) 'special-const) |
| 144 | (error "No such variable: \"%s\"" (calc-var-name var))) | 153 | (error "\"%s\" is a special constant" (calc-var-name var))) |
| 154 | (if (not old) | ||
| 155 | (if (memq var '(var-inf var-uinf var-nan)) | ||
| 156 | (error "\"%s\" is a special variable" (calc-var-name var)) | ||
| 157 | (error "No such variable: \"%s\"" (calc-var-name var)))) | ||
| 145 | (if (stringp old) | 158 | (if (stringp old) |
| 146 | (setq old (math-read-expr old))) | 159 | (setq old (math-read-expr old))) |
| 147 | (if (eq (car-safe old) 'error) | 160 | (if (eq (car-safe old) 'error) |
| @@ -151,7 +164,7 @@ | |||
| 151 | (list func value old) | 164 | (list func value old) |
| 152 | (list func old value))) | 165 | (list func old value))) |
| 153 | tag (and (not val) 1)) | 166 | tag (and (not val) 1)) |
| 154 | (message "Stored to variable \"%s\"" (calc-var-name var))))))) | 167 | (message "Variable \"%s\" changed" (calc-var-name var))))))) |
| 155 | 168 | ||
| 156 | (defvar calc-var-name-map nil "Keymap for reading Calc variable names.") | 169 | (defvar calc-var-name-map nil "Keymap for reading Calc variable names.") |
| 157 | (if calc-var-name-map | 170 | (if calc-var-name-map |
| @@ -228,26 +241,32 @@ | |||
| 228 | (or var (setq var (calc-read-var-name (format "Store Mapping %s: " | 241 | (or var (setq var (calc-read-var-name (format "Store Mapping %s: " |
| 229 | (nth 2 oper))))) | 242 | (nth 2 oper))))) |
| 230 | (if var | 243 | (if var |
| 231 | (let ((old (or (calc-var-value var) | 244 | (let ((old (calc-var-value var))) |
| 232 | (error "No such variable: \"%s\"" | 245 | (if (eq (car-safe old) 'special-const) |
| 233 | (calc-var-name var)))) | 246 | (error "\"%s\" is a special constant" (calc-var-name var))) |
| 234 | (calc-simplify-mode (if (eq calc-simplify-mode 'none) | 247 | (if (not old) |
| 235 | 'num calc-simplify-mode)) | 248 | (if (memq var '(var-inf var-uinf var-nan)) |
| 236 | (values (and (> nargs 1) | 249 | (error "\"%s\" is a special variable" (calc-var-name var)) |
| 237 | (calc-top-list (1- nargs) (1+ calc-dollar-used))))) | 250 | (error "No such variable: \"%s\"" (calc-var-name var)))) |
| 238 | (message "Working...") | 251 | (let ((calc-simplify-mode (if (eq calc-simplify-mode 'none) |
| 239 | (calc-set-command-flag 'clear-message) | 252 | 'num calc-simplify-mode)) |
| 240 | (if (stringp old) | 253 | (values (and (> nargs 1) |
| 241 | (setq old (math-read-expr old))) | 254 | (calc-top-list (1- nargs) (1+ calc-dollar-used))))) |
| 242 | (if (eq (car-safe old) 'error) | 255 | (message "Working...") |
| 243 | (error "Bad format in variable contents: %s" (nth 2 old))) | 256 | (calc-set-command-flag 'clear-message) |
| 244 | (setq values (if (calc-is-inverse) | 257 | (if (stringp old) |
| 245 | (append values (list old)) | 258 | (setq old (math-read-expr old))) |
| 246 | (append (list old) values))) | 259 | (if (eq (car-safe old) 'error) |
| 247 | (calc-store-value var | 260 | (error "Bad format in variable contents: %s" (nth 2 old))) |
| 248 | (calc-normalize (cons (nth 1 oper) values)) | 261 | (setq values (if (calc-is-inverse) |
| 249 | (nth 2 oper) | 262 | (append values (list old)) |
| 250 | (+ calc-dollar-used (1- nargs)))))))) | 263 | (append (list old) values))) |
| 264 | (calc-store-value var | ||
| 265 | (calc-normalize (cons (nth 1 oper) values)) | ||
| 266 | (nth 2 oper) | ||
| 267 | (+ calc-dollar-used (1- nargs))) | ||
| 268 | (message "Variable \"%s\" changed" (calc-var-name var)))))))) | ||
| 269 | |||
| 251 | 270 | ||
| 252 | (defun calc-store-exchange (&optional var) | 271 | (defun calc-store-exchange (&optional var) |
| 253 | (interactive) | 272 | (interactive) |
| @@ -258,10 +277,12 @@ | |||
| 258 | (or var (setq var (calc-read-var-name "Exchange with: "))) | 277 | (or var (setq var (calc-read-var-name "Exchange with: "))) |
| 259 | (if var | 278 | (if var |
| 260 | (let ((value (calc-var-value var))) | 279 | (let ((value (calc-var-value var))) |
| 261 | (or value | ||
| 262 | (error "No such variable: \"%s\"" (calc-var-name var))) | ||
| 263 | (if (eq (car-safe value) 'special-const) | 280 | (if (eq (car-safe value) 'special-const) |
| 264 | (error "%s is a special constant" var)) | 281 | (error "\"%s\" is a special constant" (calc-var-name var))) |
| 282 | (if (not value) | ||
| 283 | (if (memq var '(var-inf var-uinf var-nan)) | ||
| 284 | (error "\"%s\" is a special variable" (calc-var-name var)) | ||
| 285 | (error "No such variable: \"%s\"" (calc-var-name var)))) | ||
| 265 | (setq top (or calc-given-value (calc-top 1))) | 286 | (setq top (or calc-given-value (calc-top 1))) |
| 266 | (calc-store-value var top nil) | 287 | (calc-store-value var top nil) |
| 267 | (calc-pop-push-record calc-given-value-flag | 288 | (calc-pop-push-record calc-given-value-flag |
| @@ -366,6 +387,26 @@ | |||
| 366 | (interactive) | 387 | (interactive) |
| 367 | (calc-recall (intern (format "var-q%c" last-command-char)))) | 388 | (calc-recall (intern (format "var-q%c" last-command-char)))) |
| 368 | 389 | ||
| 390 | (defun calc-copy-special-constant (&optional sconst var) | ||
| 391 | (interactive) | ||
| 392 | (let ((sc '(("") | ||
| 393 | ("e" . (special-const (math-e))) | ||
| 394 | ("pi" . (special-const (math-pi))) | ||
| 395 | ("i" . (special-const (math-imaginary 1))) | ||
| 396 | ("phi" . (special-const (math-phi))) | ||
| 397 | ("gamma" . (special-const (math-gamma-const)))))) | ||
| 398 | (calc-wrapper | ||
| 399 | (or sconst (setq sconst (completing-read "Special constant: " sc nil t))) | ||
| 400 | (unless (string= sconst "") | ||
| 401 | (let ((value (cdr (assoc sconst sc)))) | ||
| 402 | (or var (setq var (calc-read-var-name | ||
| 403 | (format "Copy special constant %s, to: " | ||
| 404 | sconst)))) | ||
| 405 | (if var | ||
| 406 | (let ((msg (calc-store-value var value ""))) | ||
| 407 | (message (concat "Special constant \"%s\" copied to \"%s\"" msg) | ||
| 408 | sconst (calc-var-name var))))))))) | ||
| 409 | |||
| 369 | (defun calc-copy-variable (&optional var1 var2) | 410 | (defun calc-copy-variable (&optional var1 var2) |
| 370 | (interactive) | 411 | (interactive) |
| 371 | (calc-wrapper | 412 | (calc-wrapper |
| @@ -378,7 +419,9 @@ | |||
| 378 | (format "Copy variable: %s, to: " | 419 | (format "Copy variable: %s, to: " |
| 379 | (calc-var-name var1))))) | 420 | (calc-var-name var1))))) |
| 380 | (if var2 | 421 | (if var2 |
| 381 | (calc-store-value var2 value "")))))) | 422 | (let ((msg (calc-store-value var2 value ""))) |
| 423 | (message (concat "Variable \"%s\" copied to \"%s\"" msg) | ||
| 424 | (calc-var-name var1) (calc-var-name var2)))))))) | ||
| 382 | 425 | ||
| 383 | (defvar calc-last-edited-variable nil) | 426 | (defvar calc-last-edited-variable nil) |
| 384 | (defun calc-edit-variable (&optional var) | 427 | (defun calc-edit-variable (&optional var) |
diff --git a/lisp/calc/calc-stuff.el b/lisp/calc/calc-stuff.el index 288ec70b00e..c6e8d8bbf27 100644 --- a/lisp/calc/calc-stuff.el +++ b/lisp/calc/calc-stuff.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-stuff.el --- miscellaneous functions for Calc | 1 | ;;; calc-stuff.el --- miscellaneous functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-trail.el b/lisp/calc/calc-trail.el index 4ecc9a06651..e86117585ff 100644 --- a/lisp/calc/calc-trail.el +++ b/lisp/calc/calc-trail.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-trail.el --- functions for manipulating the Calc "trail" | 1 | ;;; calc-trail.el --- functions for manipulating the Calc "trail" |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-undo.el b/lisp/calc/calc-undo.el index d946a1390d3..1837fe071f6 100644 --- a/lisp/calc/calc-undo.el +++ b/lisp/calc/calc-undo.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-undo.el --- undo functions for Calc | 1 | ;;; calc-undo.el --- undo functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc-vec.el b/lisp/calc/calc-vec.el index efe2e30ce71..1153eabed57 100644 --- a/lisp/calc/calc-vec.el +++ b/lisp/calc/calc-vec.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-vec.el --- vector functions for Calc | 1 | ;;; calc-vec.el --- vector functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index 617fc1ddc89..173785dc912 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc.el --- the GNU Emacs calculator | 1 | ;;; calc.el --- the GNU Emacs calculator |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, 2005 | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: David Gillespie <daveg@synaptics.com> | 6 | ;; Author: David Gillespie <daveg@synaptics.com> |
diff --git a/lisp/calc/calcalg3.el b/lisp/calc/calcalg3.el index bbba841c220..3fff729a012 100644 --- a/lisp/calc/calcalg3.el +++ b/lisp/calc/calcalg3.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calcalg3.el --- more algebraic functions for Calc | 1 | ;;; calcalg3.el --- more algebraic functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calc/calcsel2.el b/lisp/calc/calcsel2.el index 20020f57468..2a322b8b74b 100644 --- a/lisp/calc/calcsel2.el +++ b/lisp/calc/calcsel2.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calcsel2.el --- selection functions for Calc | 1 | ;;; calcsel2.el --- selection functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
diff --git a/lisp/calculator.el b/lisp/calculator.el index 76ff4053c7f..f11be4747b1 100644 --- a/lisp/calculator.el +++ b/lisp/calculator.el | |||
| @@ -105,15 +105,21 @@ at runtime." | |||
| 105 | "*Use digit grouping in radix output mode. | 105 | "*Use digit grouping in radix output mode. |
| 106 | If this is set, chunks of `calculator-radix-grouping-digits' characters | 106 | If this is set, chunks of `calculator-radix-grouping-digits' characters |
| 107 | will be separated by `calculator-radix-grouping-separator' when in radix | 107 | will be separated by `calculator-radix-grouping-separator' when in radix |
| 108 | output mode is active (determined by `calculator-output-radix').") | 108 | output mode is active (determined by `calculator-output-radix')." |
| 109 | :type 'boolean | ||
| 110 | :group 'calculator) | ||
| 109 | 111 | ||
| 110 | (defcustom calculator-radix-grouping-digits 4 | 112 | (defcustom calculator-radix-grouping-digits 4 |
| 111 | "*The number of digits used for grouping display in radix modes. | 113 | "*The number of digits used for grouping display in radix modes. |
| 112 | See `calculator-radix-grouping-mode'.") | 114 | See `calculator-radix-grouping-mode'." |
| 115 | :type 'integer | ||
| 116 | :group 'calculator) | ||
| 113 | 117 | ||
| 114 | (defcustom calculator-radix-grouping-separator "'" | 118 | (defcustom calculator-radix-grouping-separator "'" |
| 115 | "*The separator used in radix grouping display. | 119 | "*The separator used in radix grouping display. |
| 116 | See `calculator-radix-grouping-mode'.") | 120 | See `calculator-radix-grouping-mode'." |
| 121 | :type 'string | ||
| 122 | :group 'calculator) | ||
| 117 | 123 | ||
| 118 | (defcustom calculator-remove-zeros t | 124 | (defcustom calculator-remove-zeros t |
| 119 | "*Non-nil value means delete all redundant zero decimal digits. | 125 | "*Non-nil value means delete all redundant zero decimal digits. |
| @@ -140,7 +146,8 @@ of digits displayed). | |||
| 140 | 146 | ||
| 141 | An exception to the above is the case of the list (std C) where C is a | 147 | An exception to the above is the case of the list (std C) where C is a |
| 142 | character, in this case the `calculator-standard-displayer' function | 148 | character, in this case the `calculator-standard-displayer' function |
| 143 | will be used with this character for a format string.") | 149 | will be used with this character for a format string." |
| 150 | :group 'calculator) | ||
| 144 | 151 | ||
| 145 | (defcustom calculator-displayers | 152 | (defcustom calculator-displayers |
| 146 | '(((std ?n) "Standard display, decimal point or scientific") | 153 | '(((std ?n) "Standard display, decimal point or scientific") |
| @@ -169,7 +176,9 @@ floats, otherwise the Emacs reader will fail on them." | |||
| 169 | "*If non-nil, this is any value that can be used for | 176 | "*If non-nil, this is any value that can be used for |
| 170 | `calculator-displayer', to format a string before copying it with | 177 | `calculator-displayer', to format a string before copying it with |
| 171 | `calculator-copy'. If nil, then `calculator-displayer's normal value is | 178 | `calculator-copy'. If nil, then `calculator-displayer's normal value is |
| 172 | used.") | 179 | used." |
| 180 | :type 'boolean | ||
| 181 | :group 'calculator) | ||
| 173 | 182 | ||
| 174 | (defcustom calculator-2s-complement nil | 183 | (defcustom calculator-2s-complement nil |
| 175 | "*If non-nil, show negative numbers in 2s complement in radix modes. | 184 | "*If non-nil, show negative numbers in 2s complement in radix modes. |
diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el index d007e5b4546..c3f29e3d371 100644 --- a/lisp/calendar/appt.el +++ b/lisp/calendar/appt.el | |||
| @@ -633,11 +633,11 @@ hour and minute parts." | |||
| 633 | (min 0)) | 633 | (min 0)) |
| 634 | 634 | ||
| 635 | (string-match "[:.]\\([0-9][0-9]\\)" time2conv) | 635 | (string-match "[:.]\\([0-9][0-9]\\)" time2conv) |
| 636 | (setq min (string-to-int | 636 | (setq min (string-to-number |
| 637 | (match-string 1 time2conv))) | 637 | (match-string 1 time2conv))) |
| 638 | 638 | ||
| 639 | (string-match "[0-9]?[0-9][:.]" time2conv) | 639 | (string-match "[0-9]?[0-9][:.]" time2conv) |
| 640 | (setq hr (string-to-int | 640 | (setq hr (string-to-number |
| 641 | (match-string 0 time2conv))) | 641 | (match-string 0 time2conv))) |
| 642 | 642 | ||
| 643 | ;; convert the time appointment time into 24 hour time | 643 | ;; convert the time appointment time into 24 hour time |
diff --git a/lisp/calendar/cal-bahai.el b/lisp/calendar/cal-bahai.el index 2bcfaf648ec..7e6149d8e94 100644 --- a/lisp/calendar/cal-bahai.el +++ b/lisp/calendar/cal-bahai.el | |||
| @@ -340,13 +340,13 @@ nongregorian-diary-marking-hook." | |||
| 340 | (buffer-substring | 340 | (buffer-substring |
| 341 | (match-beginning m-name-pos) | 341 | (match-beginning m-name-pos) |
| 342 | (match-end m-name-pos)))) | 342 | (match-end m-name-pos)))) |
| 343 | (mm (string-to-int | 343 | (mm (string-to-number |
| 344 | (if m-pos | 344 | (if m-pos |
| 345 | (buffer-substring | 345 | (buffer-substring |
| 346 | (match-beginning m-pos) | 346 | (match-beginning m-pos) |
| 347 | (match-end m-pos)) | 347 | (match-end m-pos)) |
| 348 | ""))) | 348 | ""))) |
| 349 | (dd (string-to-int | 349 | (dd (string-to-number |
| 350 | (if d-pos | 350 | (if d-pos |
| 351 | (buffer-substring | 351 | (buffer-substring |
| 352 | (match-beginning d-pos) | 352 | (match-beginning d-pos) |
| @@ -365,14 +365,14 @@ nongregorian-diary-marking-hook." | |||
| 365 | (calendar-bahai-from-absolute | 365 | (calendar-bahai-from-absolute |
| 366 | (calendar-absolute-from-gregorian | 366 | (calendar-absolute-from-gregorian |
| 367 | (calendar-current-date))))) | 367 | (calendar-current-date))))) |
| 368 | (y (+ (string-to-int y-str) | 368 | (y (+ (string-to-number y-str) |
| 369 | (* 100 (/ current-y 100))))) | 369 | (* 100 (/ current-y 100))))) |
| 370 | (if (> (- y current-y) 50) | 370 | (if (> (- y current-y) 50) |
| 371 | (- y 100) | 371 | (- y 100) |
| 372 | (if (> (- current-y y) 50) | 372 | (if (> (- current-y y) 50) |
| 373 | (+ y 100) | 373 | (+ y 100) |
| 374 | y))) | 374 | y))) |
| 375 | (string-to-int y-str))))) | 375 | (string-to-number y-str))))) |
| 376 | (if dd-name | 376 | (if dd-name |
| 377 | (mark-calendar-days-named | 377 | (mark-calendar-days-named |
| 378 | (cdr (assoc-string (substring dd-name 0 3) | 378 | (cdr (assoc-string (substring dd-name 0 3) |
diff --git a/lisp/calendar/cal-hebrew.el b/lisp/calendar/cal-hebrew.el index f66b4966e57..8f9f7723d5d 100644 --- a/lisp/calendar/cal-hebrew.el +++ b/lisp/calendar/cal-hebrew.el | |||
| @@ -718,13 +718,13 @@ is provided for use as part of the nongregorian-diary-marking-hook." | |||
| 718 | (buffer-substring | 718 | (buffer-substring |
| 719 | (match-beginning m-name-pos) | 719 | (match-beginning m-name-pos) |
| 720 | (match-end m-name-pos)))) | 720 | (match-end m-name-pos)))) |
| 721 | (mm (string-to-int | 721 | (mm (string-to-number |
| 722 | (if m-pos | 722 | (if m-pos |
| 723 | (buffer-substring | 723 | (buffer-substring |
| 724 | (match-beginning m-pos) | 724 | (match-beginning m-pos) |
| 725 | (match-end m-pos)) | 725 | (match-end m-pos)) |
| 726 | ""))) | 726 | ""))) |
| 727 | (dd (string-to-int | 727 | (dd (string-to-number |
| 728 | (if d-pos | 728 | (if d-pos |
| 729 | (buffer-substring | 729 | (buffer-substring |
| 730 | (match-beginning d-pos) | 730 | (match-beginning d-pos) |
| @@ -743,14 +743,14 @@ is provided for use as part of the nongregorian-diary-marking-hook." | |||
| 743 | (calendar-hebrew-from-absolute | 743 | (calendar-hebrew-from-absolute |
| 744 | (calendar-absolute-from-gregorian | 744 | (calendar-absolute-from-gregorian |
| 745 | (calendar-current-date))))) | 745 | (calendar-current-date))))) |
| 746 | (y (+ (string-to-int y-str) | 746 | (y (+ (string-to-number y-str) |
| 747 | (* 100 (/ current-y 100))))) | 747 | (* 100 (/ current-y 100))))) |
| 748 | (if (> (- y current-y) 50) | 748 | (if (> (- y current-y) 50) |
| 749 | (- y 100) | 749 | (- y 100) |
| 750 | (if (> (- current-y y) 50) | 750 | (if (> (- current-y y) 50) |
| 751 | (+ y 100) | 751 | (+ y 100) |
| 752 | y))) | 752 | y))) |
| 753 | (string-to-int y-str))))) | 753 | (string-to-number y-str))))) |
| 754 | (if dd-name | 754 | (if dd-name |
| 755 | (mark-calendar-days-named | 755 | (mark-calendar-days-named |
| 756 | (cdr (assoc-string dd-name | 756 | (cdr (assoc-string dd-name |
diff --git a/lisp/calendar/cal-islam.el b/lisp/calendar/cal-islam.el index 1ac6f0677b1..786c71f24ce 100644 --- a/lisp/calendar/cal-islam.el +++ b/lisp/calendar/cal-islam.el | |||
| @@ -337,13 +337,13 @@ provided for use as part of the nongregorian-diary-marking-hook." | |||
| 337 | (buffer-substring | 337 | (buffer-substring |
| 338 | (match-beginning m-name-pos) | 338 | (match-beginning m-name-pos) |
| 339 | (match-end m-name-pos)))) | 339 | (match-end m-name-pos)))) |
| 340 | (mm (string-to-int | 340 | (mm (string-to-number |
| 341 | (if m-pos | 341 | (if m-pos |
| 342 | (buffer-substring | 342 | (buffer-substring |
| 343 | (match-beginning m-pos) | 343 | (match-beginning m-pos) |
| 344 | (match-end m-pos)) | 344 | (match-end m-pos)) |
| 345 | ""))) | 345 | ""))) |
| 346 | (dd (string-to-int | 346 | (dd (string-to-number |
| 347 | (if d-pos | 347 | (if d-pos |
| 348 | (buffer-substring | 348 | (buffer-substring |
| 349 | (match-beginning d-pos) | 349 | (match-beginning d-pos) |
| @@ -362,14 +362,14 @@ provided for use as part of the nongregorian-diary-marking-hook." | |||
| 362 | (calendar-islamic-from-absolute | 362 | (calendar-islamic-from-absolute |
| 363 | (calendar-absolute-from-gregorian | 363 | (calendar-absolute-from-gregorian |
| 364 | (calendar-current-date))))) | 364 | (calendar-current-date))))) |
| 365 | (y (+ (string-to-int y-str) | 365 | (y (+ (string-to-number y-str) |
| 366 | (* 100 (/ current-y 100))))) | 366 | (* 100 (/ current-y 100))))) |
| 367 | (if (> (- y current-y) 50) | 367 | (if (> (- y current-y) 50) |
| 368 | (- y 100) | 368 | (- y 100) |
| 369 | (if (> (- current-y y) 50) | 369 | (if (> (- current-y y) 50) |
| 370 | (+ y 100) | 370 | (+ y 100) |
| 371 | y))) | 371 | y))) |
| 372 | (string-to-int y-str))))) | 372 | (string-to-number y-str))))) |
| 373 | (if dd-name | 373 | (if dd-name |
| 374 | (mark-calendar-days-named | 374 | (mark-calendar-days-named |
| 375 | (cdr (assoc-string dd-name | 375 | (cdr (assoc-string dd-name |
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 305ecc1e9bc..45754110319 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el | |||
| @@ -2574,7 +2574,7 @@ ERROR is t, otherwise just returns nil." | |||
| 2574 | (if (not (looking-at " ")) | 2574 | (if (not (looking-at " ")) |
| 2575 | (re-search-backward "[^0-9]")) | 2575 | (re-search-backward "[^0-9]")) |
| 2576 | (list month | 2576 | (list month |
| 2577 | (string-to-int (buffer-substring (1+ (point)) (+ 4 (point)))) | 2577 | (string-to-number (buffer-substring (1+ (point)) (+ 4 (point)))) |
| 2578 | year)) | 2578 | year)) |
| 2579 | (if (looking-at "\\*") | 2579 | (if (looking-at "\\*") |
| 2580 | (save-excursion | 2580 | (save-excursion |
| @@ -2964,7 +2964,7 @@ calendar window has been prepared." | |||
| 2964 | (make-local-variable 'calendar-starred-day) | 2964 | (make-local-variable 'calendar-starred-day) |
| 2965 | (forward-char 1) | 2965 | (forward-char 1) |
| 2966 | (setq calendar-starred-day | 2966 | (setq calendar-starred-day |
| 2967 | (string-to-int | 2967 | (string-to-number |
| 2968 | (buffer-substring (point) (- (point) 2)))) | 2968 | (buffer-substring (point) (- (point) 2)))) |
| 2969 | (delete-char -2) | 2969 | (delete-char -2) |
| 2970 | (insert "**") | 2970 | (insert "**") |
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index 1832e0cd0fb..312b8841cf9 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el | |||
| @@ -205,7 +205,7 @@ Valid TYPEs are: string, symbol, int, stringtnil, tnil." | |||
| 205 | (let (ret) | 205 | (let (ret) |
| 206 | (setq ret (cond ((eq type 'string) attrvalue) | 206 | (setq ret (cond ((eq type 'string) attrvalue) |
| 207 | ((eq type 'symbol) (read attrvalue)) | 207 | ((eq type 'symbol) (read attrvalue)) |
| 208 | ((eq type 'int) (string-to-int attrvalue)) | 208 | ((eq type 'int) (string-to-number attrvalue)) |
| 209 | ((eq type 'stringtnil) | 209 | ((eq type 'stringtnil) |
| 210 | (cond ((string= "t" attrvalue) t) | 210 | (cond ((string= "t" attrvalue) t) |
| 211 | ((string= "nil" attrvalue) nil) | 211 | ((string= "nil" attrvalue) nil) |
| @@ -908,13 +908,13 @@ diary entries." | |||
| 908 | (buffer-substring-no-properties | 908 | (buffer-substring-no-properties |
| 909 | (match-beginning m-name-pos) | 909 | (match-beginning m-name-pos) |
| 910 | (match-end m-name-pos)))) | 910 | (match-end m-name-pos)))) |
| 911 | (mm (string-to-int | 911 | (mm (string-to-number |
| 912 | (if m-pos | 912 | (if m-pos |
| 913 | (buffer-substring-no-properties | 913 | (buffer-substring-no-properties |
| 914 | (match-beginning m-pos) | 914 | (match-beginning m-pos) |
| 915 | (match-end m-pos)) | 915 | (match-end m-pos)) |
| 916 | ""))) | 916 | ""))) |
| 917 | (dd (string-to-int | 917 | (dd (string-to-number |
| 918 | (if d-pos | 918 | (if d-pos |
| 919 | (buffer-substring-no-properties | 919 | (buffer-substring-no-properties |
| 920 | (match-beginning d-pos) | 920 | (match-beginning d-pos) |
| @@ -931,7 +931,7 @@ diary entries." | |||
| 931 | (let* ((current-y | 931 | (let* ((current-y |
| 932 | (extract-calendar-year | 932 | (extract-calendar-year |
| 933 | (calendar-current-date))) | 933 | (calendar-current-date))) |
| 934 | (y (+ (string-to-int y-str) | 934 | (y (+ (string-to-number y-str) |
| 935 | (* 100 | 935 | (* 100 |
| 936 | (/ current-y 100))))) | 936 | (/ current-y 100))))) |
| 937 | (if (> (- y current-y) 50) | 937 | (if (> (- y current-y) 50) |
| @@ -939,7 +939,7 @@ diary entries." | |||
| 939 | (if (> (- current-y y) 50) | 939 | (if (> (- current-y y) 50) |
| 940 | (+ y 100) | 940 | (+ y 100) |
| 941 | y))) | 941 | y))) |
| 942 | (string-to-int y-str)))) | 942 | (string-to-number y-str)))) |
| 943 | (save-excursion | 943 | (save-excursion |
| 944 | (setq entry (buffer-substring-no-properties | 944 | (setq entry (buffer-substring-no-properties |
| 945 | (point) (line-end-position)) | 945 | (point) (line-end-position)) |
| @@ -1149,22 +1149,22 @@ be used instead of a colon (:) to separate the hour and minute parts." | |||
| 1149 | (cond ((string-match ; Military time | 1149 | (cond ((string-match ; Military time |
| 1150 | "\\`[ \t\n\\^M]*\\([0-9]?[0-9]\\)[:.]?\\([0-9][0-9]\\)\\(\\>\\|[^ap]\\)" | 1150 | "\\`[ \t\n\\^M]*\\([0-9]?[0-9]\\)[:.]?\\([0-9][0-9]\\)\\(\\>\\|[^ap]\\)" |
| 1151 | s) | 1151 | s) |
| 1152 | (+ (* 100 (string-to-int | 1152 | (+ (* 100 (string-to-number |
| 1153 | (substring s (match-beginning 1) (match-end 1)))) | 1153 | (substring s (match-beginning 1) (match-end 1)))) |
| 1154 | (string-to-int (substring s (match-beginning 2) (match-end 2))))) | 1154 | (string-to-number (substring s (match-beginning 2) (match-end 2))))) |
| 1155 | ((string-match ; Hour only XXam or XXpm | 1155 | ((string-match ; Hour only XXam or XXpm |
| 1156 | "\\`[ \t\n\\^M]*\\([0-9]?[0-9]\\)\\([ap]\\)m\\>" s) | 1156 | "\\`[ \t\n\\^M]*\\([0-9]?[0-9]\\)\\([ap]\\)m\\>" s) |
| 1157 | (+ (* 100 (% (string-to-int | 1157 | (+ (* 100 (% (string-to-number |
| 1158 | (substring s (match-beginning 1) (match-end 1))) | 1158 | (substring s (match-beginning 1) (match-end 1))) |
| 1159 | 12)) | 1159 | 12)) |
| 1160 | (if (equal ?a (downcase (aref s (match-beginning 2)))) | 1160 | (if (equal ?a (downcase (aref s (match-beginning 2)))) |
| 1161 | 0 1200))) | 1161 | 0 1200))) |
| 1162 | ((string-match ; Hour and minute XX:XXam or XX:XXpm | 1162 | ((string-match ; Hour and minute XX:XXam or XX:XXpm |
| 1163 | "\\`[ \t\n\\^M]*\\([0-9]?[0-9]\\)[:.]\\([0-9][0-9]\\)\\([ap]\\)m\\>" s) | 1163 | "\\`[ \t\n\\^M]*\\([0-9]?[0-9]\\)[:.]\\([0-9][0-9]\\)\\([ap]\\)m\\>" s) |
| 1164 | (+ (* 100 (% (string-to-int | 1164 | (+ (* 100 (% (string-to-number |
| 1165 | (substring s (match-beginning 1) (match-end 1))) | 1165 | (substring s (match-beginning 1) (match-end 1))) |
| 1166 | 12)) | 1166 | 12)) |
| 1167 | (string-to-int (substring s (match-beginning 2) (match-end 2))) | 1167 | (string-to-number (substring s (match-beginning 2) (match-end 2))) |
| 1168 | (if (equal ?a (downcase (aref s (match-beginning 3)))) | 1168 | (if (equal ?a (downcase (aref s (match-beginning 3)))) |
| 1169 | 0 1200))) | 1169 | 0 1200))) |
| 1170 | (t diary-unknown-time)))) ; Unrecognizable | 1170 | (t diary-unknown-time)))) ; Unrecognizable |
diff --git a/lisp/calendar/solar.el b/lisp/calendar/solar.el index 5eca356af59..8401aeb9bfd 100644 --- a/lisp/calendar/solar.el +++ b/lisp/calendar/solar.el | |||
| @@ -227,7 +227,7 @@ Needed for polar areas, in order to know whether the day lasts 0 or 24 hours.") | |||
| 227 | Returns nil if nothing was entered." | 227 | Returns nil if nothing was entered." |
| 228 | (let ((x (read-string prompt ""))) | 228 | (let ((x (read-string prompt ""))) |
| 229 | (if (not (string-equal x "")) | 229 | (if (not (string-equal x "")) |
| 230 | (string-to-int x)))) | 230 | (string-to-number x)))) |
| 231 | 231 | ||
| 232 | ;; The condition-case stuff is needed to catch bogus arithmetic | 232 | ;; The condition-case stuff is needed to catch bogus arithmetic |
| 233 | ;; exceptions that occur on some machines (like Sparcs) | 233 | ;; exceptions that occur on some machines (like Sparcs) |
| @@ -643,48 +643,6 @@ since January 1st, 2000, at 12 ET." | |||
| 643 | ; equation of time, in hours | 643 | ; equation of time, in hours |
| 644 | (list app i time-eq nut))) | 644 | (list app i time-eq nut))) |
| 645 | 645 | ||
| 646 | (defun solar-longitude (d) | ||
| 647 | "Longitude of sun on astronomical (Julian) day number D. | ||
| 648 | Accurary is about 0.0006 degree (about 365.25*24*60*0.0006/360 = 1 minutes). | ||
| 649 | |||
| 650 | The values of calendar-daylight-savings-starts, | ||
| 651 | calendar-daylight-savings-starts-time, calendar-daylight-savings-ends, | ||
| 652 | calendar-daylight-savings-ends-time, calendar-daylight-time-offset, and | ||
| 653 | calendar-time-zone are used to interpret local time." | ||
| 654 | (let* ((a-d (calendar-absolute-from-astro d)) | ||
| 655 | ;; get Universal Time | ||
| 656 | (date (calendar-astro-from-absolute | ||
| 657 | (- a-d | ||
| 658 | (if (dst-in-effect a-d) | ||
| 659 | (/ calendar-daylight-time-offset 24.0 60.0) 0) | ||
| 660 | (/ calendar-time-zone 60.0 24.0)))) | ||
| 661 | ;; get Ephemeris Time | ||
| 662 | (date (+ date (solar-ephemeris-correction | ||
| 663 | (extract-calendar-year | ||
| 664 | (calendar-gregorian-from-absolute | ||
| 665 | (floor | ||
| 666 | (calendar-absolute-from-astro | ||
| 667 | date))))))) | ||
| 668 | (U (/ (- date 2451545) 3652500)) | ||
| 669 | (longitude | ||
| 670 | (+ 4.9353929 | ||
| 671 | (* 62833.1961680 U) | ||
| 672 | (* 0.0000001 | ||
| 673 | (apply '+ | ||
| 674 | (mapcar '(lambda (x) | ||
| 675 | (* (car x) | ||
| 676 | (sin (mod | ||
| 677 | (+ (car (cdr x)) | ||
| 678 | (* (car (cdr (cdr x))) U)) | ||
| 679 | (* 2 pi))))) | ||
| 680 | solar-data-list))))) | ||
| 681 | (aberration | ||
| 682 | (* 0.0000001 (- (* 17 (cos (+ 3.10 (* 62830.14 U)))) 973))) | ||
| 683 | (A1 (mod (+ 2.18 (* U (+ -3375.70 (* 0.36 U)))) (* 2 pi))) | ||
| 684 | (A2 (mod (+ 3.51 (* U (+ 125666.39 (* 0.10 U)))) (* 2 pi))) | ||
| 685 | (nutation (* -0.0000001 (+ (* 834 (sin A1)) (* 64 (sin A2)))))) | ||
| 686 | (mod (radians-to-degrees (+ longitude aberration nutation)) 360.0))) | ||
| 687 | |||
| 688 | (defconst solar-data-list | 646 | (defconst solar-data-list |
| 689 | '((403406 4.721964 1.621043) | 647 | '((403406 4.721964 1.621043) |
| 690 | (195207 5.937458 62830.348067) | 648 | (195207 5.937458 62830.348067) |
| @@ -737,6 +695,48 @@ calendar-time-zone are used to interpret local time." | |||
| 737 | (10 1.50 21463.25) | 695 | (10 1.50 21463.25) |
| 738 | (10 2.55 157208.40))) | 696 | (10 2.55 157208.40))) |
| 739 | 697 | ||
| 698 | (defun solar-longitude (d) | ||
| 699 | "Longitude of sun on astronomical (Julian) day number D. | ||
| 700 | Accurary is about 0.0006 degree (about 365.25*24*60*0.0006/360 = 1 minutes). | ||
| 701 | |||
| 702 | The values of calendar-daylight-savings-starts, | ||
| 703 | calendar-daylight-savings-starts-time, calendar-daylight-savings-ends, | ||
| 704 | calendar-daylight-savings-ends-time, calendar-daylight-time-offset, and | ||
| 705 | calendar-time-zone are used to interpret local time." | ||
| 706 | (let* ((a-d (calendar-absolute-from-astro d)) | ||
| 707 | ;; get Universal Time | ||
| 708 | (date (calendar-astro-from-absolute | ||
| 709 | (- a-d | ||
| 710 | (if (dst-in-effect a-d) | ||
| 711 | (/ calendar-daylight-time-offset 24.0 60.0) 0) | ||
| 712 | (/ calendar-time-zone 60.0 24.0)))) | ||
| 713 | ;; get Ephemeris Time | ||
| 714 | (date (+ date (solar-ephemeris-correction | ||
| 715 | (extract-calendar-year | ||
| 716 | (calendar-gregorian-from-absolute | ||
| 717 | (floor | ||
| 718 | (calendar-absolute-from-astro | ||
| 719 | date))))))) | ||
| 720 | (U (/ (- date 2451545) 3652500)) | ||
| 721 | (longitude | ||
| 722 | (+ 4.9353929 | ||
| 723 | (* 62833.1961680 U) | ||
| 724 | (* 0.0000001 | ||
| 725 | (apply '+ | ||
| 726 | (mapcar '(lambda (x) | ||
| 727 | (* (car x) | ||
| 728 | (sin (mod | ||
| 729 | (+ (car (cdr x)) | ||
| 730 | (* (car (cdr (cdr x))) U)) | ||
| 731 | (* 2 pi))))) | ||
| 732 | solar-data-list))))) | ||
| 733 | (aberration | ||
| 734 | (* 0.0000001 (- (* 17 (cos (+ 3.10 (* 62830.14 U)))) 973))) | ||
| 735 | (A1 (mod (+ 2.18 (* U (+ -3375.70 (* 0.36 U)))) (* 2 pi))) | ||
| 736 | (A2 (mod (+ 3.51 (* U (+ 125666.39 (* 0.10 U)))) (* 2 pi))) | ||
| 737 | (nutation (* -0.0000001 (+ (* 834 (sin A1)) (* 64 (sin A2)))))) | ||
| 738 | (mod (radians-to-degrees (+ longitude aberration nutation)) 360.0))) | ||
| 739 | |||
| 740 | (defun solar-ephemeris-correction (year) | 740 | (defun solar-ephemeris-correction (year) |
| 741 | "Ephemeris time minus Universal Time during Gregorian year. | 741 | "Ephemeris time minus Universal Time during Gregorian year. |
| 742 | Result is in days. | 742 | Result is in days. |
diff --git a/lisp/dabbrev.el b/lisp/dabbrev.el index 22e81db9210..5dea9892115 100644 --- a/lisp/dabbrev.el +++ b/lisp/dabbrev.el | |||
| @@ -282,7 +282,8 @@ A mode setting this variable should make it buffer local." | |||
| 282 | "If non-nil, a list of buffers which dabbrev should search. | 282 | "If non-nil, a list of buffers which dabbrev should search. |
| 283 | If this variable is non-nil, dabbrev will only look in these buffers. | 283 | If this variable is non-nil, dabbrev will only look in these buffers. |
| 284 | It will not even look in the current buffer if it is not a member of | 284 | It will not even look in the current buffer if it is not a member of |
| 285 | this list.") | 285 | this list." |
| 286 | :group 'dabbrev) | ||
| 286 | 287 | ||
| 287 | ;;---------------------------------------------------------------- | 288 | ;;---------------------------------------------------------------- |
| 288 | ;; Internal variables | 289 | ;; Internal variables |
diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el index d69685ac86f..c16738f6570 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el | |||
| @@ -70,7 +70,8 @@ | |||
| 70 | (defcustom diff-jump-to-old-file nil | 70 | (defcustom diff-jump-to-old-file nil |
| 71 | "*Non-nil means `diff-goto-source' jumps to the old file. | 71 | "*Non-nil means `diff-goto-source' jumps to the old file. |
| 72 | Else, it jumps to the new file." | 72 | Else, it jumps to the new file." |
| 73 | :type '(boolean)) | 73 | :type 'boolean |
| 74 | :group 'diff-mode) | ||
| 74 | 75 | ||
| 75 | (defcustom diff-update-on-the-fly t | 76 | (defcustom diff-update-on-the-fly t |
| 76 | "*Non-nil means hunk headers are kept up-to-date on-the-fly. | 77 | "*Non-nil means hunk headers are kept up-to-date on-the-fly. |
| @@ -79,17 +80,20 @@ need to be kept consistent with the actual diff. This can | |||
| 79 | either be done on the fly (but this sometimes interacts poorly with the | 80 | either be done on the fly (but this sometimes interacts poorly with the |
| 80 | undo mechanism) or whenever the file is written (can be slow | 81 | undo mechanism) or whenever the file is written (can be slow |
| 81 | when editing big diffs)." | 82 | when editing big diffs)." |
| 82 | :type '(boolean)) | 83 | :type 'boolean |
| 84 | :group 'diff-mode) | ||
| 83 | 85 | ||
| 84 | (defcustom diff-advance-after-apply-hunk t | 86 | (defcustom diff-advance-after-apply-hunk t |
| 85 | "*Non-nil means `diff-apply-hunk' will move to the next hunk after applying." | 87 | "*Non-nil means `diff-apply-hunk' will move to the next hunk after applying." |
| 86 | :type 'boolean) | 88 | :type 'boolean |
| 89 | :group 'diff-mode) | ||
| 87 | 90 | ||
| 88 | 91 | ||
| 89 | (defcustom diff-mode-hook nil | 92 | (defcustom diff-mode-hook nil |
| 90 | "Run after setting up the `diff-mode' major mode." | 93 | "Run after setting up the `diff-mode' major mode." |
| 91 | :type 'hook | 94 | :type 'hook |
| 92 | :options '(diff-delete-empty-files diff-make-unified)) | 95 | :options '(diff-delete-empty-files diff-make-unified) |
| 96 | :group 'diff-mode) | ||
| 93 | 97 | ||
| 94 | (defvar diff-outline-regexp | 98 | (defvar diff-outline-regexp |
| 95 | "\\([*+][*+][*+] [^0-9]\\|@@ ...\\|\\*\\*\\* [0-9].\\|--- [0-9]..\\)") | 99 | "\\([*+][*+][*+] [^0-9]\\|@@ ...\\|\\*\\*\\* [0-9].\\|--- [0-9]..\\)") |
| @@ -159,7 +163,8 @@ when editing big diffs)." | |||
| 159 | 163 | ||
| 160 | (defcustom diff-minor-mode-prefix "\C-c=" | 164 | (defcustom diff-minor-mode-prefix "\C-c=" |
| 161 | "Prefix key for `diff-minor-mode' commands." | 165 | "Prefix key for `diff-minor-mode' commands." |
| 162 | :type '(choice (string "\e") (string "C-c=") string)) | 166 | :type '(choice (string "\e") (string "C-c=") string) |
| 167 | :group 'diff-mode) | ||
| 163 | 168 | ||
| 164 | (easy-mmode-defmap diff-minor-mode-map | 169 | (easy-mmode-defmap diff-minor-mode-map |
| 165 | `((,diff-minor-mode-prefix . ,diff-mode-shared-map)) | 170 | `((,diff-minor-mode-prefix . ,diff-mode-shared-map)) |
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 9a1449823ca..eec3045b53a 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el | |||
| @@ -428,7 +428,7 @@ with a prefix argument." | |||
| 428 | (setq base-version-list ; there was a base version to which | 428 | (setq base-version-list ; there was a base version to which |
| 429 | (assoc (substring fn 0 start-vn) ; this looks like a | 429 | (assoc (substring fn 0 start-vn) ; this looks like a |
| 430 | dired-file-version-alist)) ; subversion | 430 | dired-file-version-alist)) ; subversion |
| 431 | (not (memq (string-to-int (substring fn (+ 2 start-vn))) | 431 | (not (memq (string-to-number (substring fn (+ 2 start-vn))) |
| 432 | base-version-list)) ; this one doesn't make the cut | 432 | base-version-list)) ; this one doesn't make the cut |
| 433 | (progn (beginning-of-line) | 433 | (progn (beginning-of-line) |
| 434 | (delete-char 1) | 434 | (delete-char 1) |
| @@ -760,7 +760,10 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.") | |||
| 760 | ;; The files used are determined by ARG (as in dired-get-marked-files). | 760 | ;; The files used are determined by ARG (as in dired-get-marked-files). |
| 761 | (or (eq dired-no-confirm t) | 761 | (or (eq dired-no-confirm t) |
| 762 | (memq op-symbol dired-no-confirm) | 762 | (memq op-symbol dired-no-confirm) |
| 763 | (let ((files (dired-get-marked-files t arg)) | 763 | ;; Pass t for DISTINGUISH-ONE-MARKED so that a single file which |
| 764 | ;; is marked pops up a window. That will help the user see | ||
| 765 | ;; it isn't the current line file. | ||
| 766 | (let ((files (dired-get-marked-files t arg nil t)) | ||
| 764 | (string (if (eq op-symbol 'compress) "Compress or uncompress" | 767 | (string (if (eq op-symbol 'compress) "Compress or uncompress" |
| 765 | (capitalize (symbol-name op-symbol))))) | 768 | (capitalize (symbol-name op-symbol))))) |
| 766 | (dired-mark-pop-up nil op-symbol files (function y-or-n-p) | 769 | (dired-mark-pop-up nil op-symbol files (function y-or-n-p) |
| @@ -1132,23 +1135,29 @@ Special value `always' suppresses confirmation." | |||
| 1132 | 1135 | ||
| 1133 | (defun dired-copy-file-recursive (from to ok-flag &optional | 1136 | (defun dired-copy-file-recursive (from to ok-flag &optional |
| 1134 | preserve-time top recursive) | 1137 | preserve-time top recursive) |
| 1135 | (if (and recursive | 1138 | (let ((attrs (file-attributes from))) |
| 1136 | (eq t (car (file-attributes from))) ; A directory, no symbolic link. | 1139 | (if (and recursive |
| 1137 | (or (eq recursive 'always) | 1140 | (eq t (car attrs)) |
| 1138 | (yes-or-no-p (format "Recursive copies of %s " from)))) | 1141 | (or (eq recursive 'always) |
| 1139 | (let ((files (directory-files from nil dired-re-no-dot))) | 1142 | (yes-or-no-p (format "Recursive copies of %s " from)))) |
| 1140 | (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask any more. | 1143 | ;; This is a directory. |
| 1141 | (if (file-exists-p to) | 1144 | (let ((files (directory-files from nil dired-re-no-dot))) |
| 1142 | (or top (dired-handle-overwrite to)) | 1145 | (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask any more. |
| 1143 | (make-directory to)) | 1146 | (if (file-exists-p to) |
| 1144 | (while files | 1147 | (or top (dired-handle-overwrite to)) |
| 1145 | (dired-copy-file-recursive | 1148 | (make-directory to)) |
| 1146 | (expand-file-name (car files) from) | 1149 | (while files |
| 1147 | (expand-file-name (car files) to) | 1150 | (dired-copy-file-recursive |
| 1148 | ok-flag preserve-time nil recursive) | 1151 | (expand-file-name (car files) from) |
| 1149 | (setq files (cdr files)))) | 1152 | (expand-file-name (car files) to) |
| 1150 | (or top (dired-handle-overwrite to)) ; Just a file. | 1153 | ok-flag preserve-time nil recursive) |
| 1151 | (copy-file from to ok-flag dired-copy-preserve-time))) | 1154 | (setq files (cdr files)))) |
| 1155 | ;; Not a directory. | ||
| 1156 | (or top (dired-handle-overwrite to)) | ||
| 1157 | (if (stringp (car attrs)) | ||
| 1158 | ;; It is a symlink | ||
| 1159 | (make-symbolic-link (car attrs) to ok-flag) | ||
| 1160 | (copy-file from to ok-flag dired-copy-preserve-time))))) | ||
| 1152 | 1161 | ||
| 1153 | ;;;###autoload | 1162 | ;;;###autoload |
| 1154 | (defun dired-rename-file (file newname ok-if-already-exists) | 1163 | (defun dired-rename-file (file newname ok-if-already-exists) |
diff --git a/lisp/dired-x.el b/lisp/dired-x.el index 6b44b73b170..86c955650e8 100644 --- a/lisp/dired-x.el +++ b/lisp/dired-x.el | |||
| @@ -1501,10 +1501,10 @@ to mark all zero length files." | |||
| 1501 | (if (looking-at dired-re-inode-size) | 1501 | (if (looking-at dired-re-inode-size) |
| 1502 | (progn | 1502 | (progn |
| 1503 | (goto-char (match-end 0)) | 1503 | (goto-char (match-end 0)) |
| 1504 | (setq inode (string-to-int (buffer-substring (match-beginning 1) | 1504 | (setq inode (string-to-number (buffer-substring (match-beginning 1) |
| 1505 | (match-end 1))) | 1505 | (match-end 1))) |
| 1506 | s (string-to-int (buffer-substring (match-beginning 2) | 1506 | s (string-to-number (buffer-substring (match-beginning 2) |
| 1507 | (match-end 2))))) | 1507 | (match-end 2))))) |
| 1508 | (setq inode nil | 1508 | (setq inode nil |
| 1509 | s nil)) | 1509 | s nil)) |
| 1510 | (setq mode (buffer-substring (point) (+ mode-len (point)))) | 1510 | (setq mode (buffer-substring (point) (+ mode-len (point)))) |
| @@ -1516,10 +1516,10 @@ to mark all zero length files." | |||
| 1516 | (re-search-forward dired-move-to-filename-regexp) | 1516 | (re-search-forward dired-move-to-filename-regexp) |
| 1517 | (goto-char (match-beginning 1)) | 1517 | (goto-char (match-beginning 1)) |
| 1518 | (forward-char -1) | 1518 | (forward-char -1) |
| 1519 | (setq size (string-to-int (buffer-substring (save-excursion | 1519 | (setq size (string-to-number (buffer-substring (save-excursion |
| 1520 | (backward-word 1) | 1520 | (backward-word 1) |
| 1521 | (setq pos (point))) | 1521 | (setq pos (point))) |
| 1522 | (point)))) | 1522 | (point)))) |
| 1523 | (goto-char pos) | 1523 | (goto-char pos) |
| 1524 | (backward-word 1) | 1524 | (backward-word 1) |
| 1525 | ;; if no gid is displayed, gid will be set to uid | 1525 | ;; if no gid is displayed, gid will be set to uid |
diff --git a/lisp/dired.el b/lisp/dired.el index afea6b173a6..43f05dcf881 100644 --- a/lisp/dired.el +++ b/lisp/dired.el | |||
| @@ -450,7 +450,8 @@ Return value is the number of files marked, or nil if none were marked." | |||
| 450 | "flagged" "marked")))) | 450 | "flagged" "marked")))) |
| 451 | (and (> count 0) count))) | 451 | (and (> count 0) count))) |
| 452 | 452 | ||
| 453 | (defmacro dired-map-over-marks (body arg &optional show-progress) | 453 | (defmacro dired-map-over-marks (body arg &optional show-progress |
| 454 | distinguish-one-marked) | ||
| 454 | "Eval BODY with point on each marked line. Return a list of BODY's results. | 455 | "Eval BODY with point on each marked line. Return a list of BODY's results. |
| 455 | If no marked file could be found, execute BODY on the current line. | 456 | If no marked file could be found, execute BODY on the current line. |
| 456 | If ARG is an integer, use the next ARG (or previous -ARG, if ARG<0) | 457 | If ARG is an integer, use the next ARG (or previous -ARG, if ARG<0) |
| @@ -465,7 +466,10 @@ No guarantee is made about the position on the marked line. | |||
| 465 | Search starts at the beginning of the buffer, thus the car of the list | 466 | Search starts at the beginning of the buffer, thus the car of the list |
| 466 | corresponds to the line nearest to the buffer's bottom. This | 467 | corresponds to the line nearest to the buffer's bottom. This |
| 467 | is also true for (positive and negative) integer values of ARG. | 468 | is also true for (positive and negative) integer values of ARG. |
| 468 | BODY should not be too long as it is expanded four times." | 469 | BODY should not be too long as it is expanded four times. |
| 470 | |||
| 471 | If DISTINGUISH-ONE-MARKED is non-nil, then if we find just one marked file, | ||
| 472 | return (t FILENAME) instead of (FILENAME)." | ||
| 469 | ;; | 473 | ;; |
| 470 | ;;Warning: BODY must not add new lines before point - this may cause an | 474 | ;;Warning: BODY must not add new lines before point - this may cause an |
| 471 | ;;endless loop. | 475 | ;;endless loop. |
| @@ -505,13 +509,15 @@ BODY should not be too long as it is expanded four times." | |||
| 505 | (set-marker next-position nil) | 509 | (set-marker next-position nil) |
| 506 | (setq next-position (and (re-search-forward regexp nil t) | 510 | (setq next-position (and (re-search-forward regexp nil t) |
| 507 | (point-marker))))) | 511 | (point-marker))))) |
| 512 | (if (and ,distinguish-one-marked (= (length results) 1)) | ||
| 513 | (setq results (cons t results))) | ||
| 508 | (if found | 514 | (if found |
| 509 | results | 515 | results |
| 510 | (list ,body))))) | 516 | (list ,body))))) |
| 511 | ;; save-excursion loses, again | 517 | ;; save-excursion loses, again |
| 512 | (dired-move-to-filename))) | 518 | (dired-move-to-filename))) |
| 513 | 519 | ||
| 514 | (defun dired-get-marked-files (&optional localp arg filter) | 520 | (defun dired-get-marked-files (&optional localp arg filter distinguish-one-marked) |
| 515 | "Return the marked files' names as list of strings. | 521 | "Return the marked files' names as list of strings. |
| 516 | The list is in the same order as the buffer, that is, the car is the | 522 | The list is in the same order as the buffer, that is, the car is the |
| 517 | first marked file. | 523 | first marked file. |
| @@ -522,13 +528,21 @@ Optional second argument ARG specifies files near point | |||
| 522 | If ARG is otherwise non-nil, use file. Usually ARG comes from | 528 | If ARG is otherwise non-nil, use file. Usually ARG comes from |
| 523 | the command's prefix arg. | 529 | the command's prefix arg. |
| 524 | Optional third argument FILTER, if non-nil, is a function to select | 530 | Optional third argument FILTER, if non-nil, is a function to select |
| 525 | some of the files--those for which (funcall FILTER FILENAME) is non-nil." | 531 | some of the files--those for which (funcall FILTER FILENAME) is non-nil. |
| 526 | (let ((all-of-them | 532 | |
| 527 | (save-excursion | 533 | If DISTINGUISH-ONE-MARKED is non-nil, then if we find just one marked file, |
| 528 | (dired-map-over-marks (dired-get-filename localp) arg))) | 534 | return (t FILENAME) instead of (FILENAME). |
| 529 | result) | 535 | Don't use that together with FILTER." |
| 536 | (let* ((all-of-them | ||
| 537 | (save-excursion | ||
| 538 | (dired-map-over-marks | ||
| 539 | (dired-get-filename localp) | ||
| 540 | arg nil distinguish-one-marked))) | ||
| 541 | result) | ||
| 530 | (if (not filter) | 542 | (if (not filter) |
| 531 | (nreverse all-of-them) | 543 | (if (and distinguish-one-marked (eq (car all-of-them) t)) |
| 544 | all-of-them | ||
| 545 | (nreverse all-of-them)) | ||
| 532 | (dolist (file all-of-them) | 546 | (dolist (file all-of-them) |
| 533 | (if (funcall filter file) | 547 | (if (funcall filter file) |
| 534 | (push file result))) | 548 | (push file result))) |
| @@ -1535,9 +1549,8 @@ Keybindings: | |||
| 1535 | (setq dired-switches-alist nil) | 1549 | (setq dired-switches-alist nil) |
| 1536 | (dired-sort-other dired-actual-switches t) | 1550 | (dired-sort-other dired-actual-switches t) |
| 1537 | (when (featurep 'dnd) | 1551 | (when (featurep 'dnd) |
| 1538 | (make-variable-buffer-local 'dnd-protocol-alist) | 1552 | (set (make-local-variable 'dnd-protocol-alist) |
| 1539 | (setq dnd-protocol-alist | 1553 | (append dired-dnd-protocol-alist dnd-protocol-alist))) |
| 1540 | (append dired-dnd-protocol-alist dnd-protocol-alist))) | ||
| 1541 | (run-mode-hooks 'dired-mode-hook)) | 1554 | (run-mode-hooks 'dired-mode-hook)) |
| 1542 | 1555 | ||
| 1543 | ;; Idiosyncratic dired commands that don't deal with marks. | 1556 | ;; Idiosyncratic dired commands that don't deal with marks. |
| @@ -2537,15 +2550,21 @@ FUNCTION should not manipulate files, just read input | |||
| 2537 | (an argument or confirmation). | 2550 | (an argument or confirmation). |
| 2538 | The window is not shown if there is just one file or | 2551 | The window is not shown if there is just one file or |
| 2539 | OP-SYMBOL is a member of the list in `dired-no-confirm'. | 2552 | OP-SYMBOL is a member of the list in `dired-no-confirm'. |
| 2540 | FILES is the list of marked files." | 2553 | FILES is the list of marked files. It can also be (t FILENAME) |
| 2554 | in the case of one marked file, to distinguish that from using | ||
| 2555 | just the current file." | ||
| 2541 | (or bufname (setq bufname " *Marked Files*")) | 2556 | (or bufname (setq bufname " *Marked Files*")) |
| 2542 | (if (or (eq dired-no-confirm t) | 2557 | (if (or (eq dired-no-confirm t) |
| 2543 | (memq op-symbol dired-no-confirm) | 2558 | (memq op-symbol dired-no-confirm) |
| 2559 | ;; If FILES defaulted to the current line's file. | ||
| 2544 | (= (length files) 1)) | 2560 | (= (length files) 1)) |
| 2545 | (apply function args) | 2561 | (apply function args) |
| 2546 | (with-current-buffer (get-buffer-create bufname) | 2562 | (with-current-buffer (get-buffer-create bufname) |
| 2547 | (erase-buffer) | 2563 | (erase-buffer) |
| 2548 | (dired-format-columns-of-files files) | 2564 | ;; Handle (t FILE) just like (FILE), here. |
| 2565 | ;; That value is used (only in some cases), to mean | ||
| 2566 | ;; just one file that was marked, rather than the current line file. | ||
| 2567 | (dired-format-columns-of-files (if (eq (car files) t) (cdr files) files)) | ||
| 2549 | (remove-text-properties (point-min) (point-max) | 2568 | (remove-text-properties (point-min) (point-max) |
| 2550 | '(mouse-face nil help-echo nil))) | 2569 | '(mouse-face nil help-echo nil))) |
| 2551 | (save-window-excursion | 2570 | (save-window-excursion |
diff --git a/lisp/dnd.el b/lisp/dnd.el index 927f2e3bdb6..96c9e18a3f1 100644 --- a/lisp/dnd.el +++ b/lisp/dnd.el | |||
| @@ -36,6 +36,7 @@ | |||
| 36 | ;;; Customizable variables | 36 | ;;; Customizable variables |
| 37 | 37 | ||
| 38 | 38 | ||
| 39 | ;;;###autoload | ||
| 39 | (defcustom dnd-protocol-alist | 40 | (defcustom dnd-protocol-alist |
| 40 | '( | 41 | '( |
| 41 | ("^file:///" . dnd-open-local-file) ; XDND format. | 42 | ("^file:///" . dnd-open-local-file) ; XDND format. |
diff --git a/lisp/ediff-diff.el b/lisp/ediff-diff.el index c41d733aaca..4c13e6fc0e1 100644 --- a/lisp/ediff-diff.el +++ b/lisp/ediff-diff.el | |||
| @@ -393,20 +393,20 @@ one optional arguments, diff-number to refine.") | |||
| 393 | (ediff-with-current-buffer diff-buffer | 393 | (ediff-with-current-buffer diff-buffer |
| 394 | (goto-char (point-min)) | 394 | (goto-char (point-min)) |
| 395 | (while (re-search-forward ediff-match-diff-line nil t) | 395 | (while (re-search-forward ediff-match-diff-line nil t) |
| 396 | (let* ((a-begin (string-to-int (buffer-substring (match-beginning 1) | 396 | (let* ((a-begin (string-to-number (buffer-substring (match-beginning 1) |
| 397 | (match-end 1)))) | 397 | (match-end 1)))) |
| 398 | (a-end (let ((b (match-beginning 3)) | 398 | (a-end (let ((b (match-beginning 3)) |
| 399 | (e (match-end 3))) | 399 | (e (match-end 3))) |
| 400 | (if b | 400 | (if b |
| 401 | (string-to-int (buffer-substring b e)) | 401 | (string-to-number (buffer-substring b e)) |
| 402 | a-begin))) | 402 | a-begin))) |
| 403 | (diff-type (buffer-substring (match-beginning 4) (match-end 4))) | 403 | (diff-type (buffer-substring (match-beginning 4) (match-end 4))) |
| 404 | (b-begin (string-to-int (buffer-substring (match-beginning 5) | 404 | (b-begin (string-to-number (buffer-substring (match-beginning 5) |
| 405 | (match-end 5)))) | 405 | (match-end 5)))) |
| 406 | (b-end (let ((b (match-beginning 7)) | 406 | (b-end (let ((b (match-beginning 7)) |
| 407 | (e (match-end 7))) | 407 | (e (match-end 7))) |
| 408 | (if b | 408 | (if b |
| 409 | (string-to-int (buffer-substring b e)) | 409 | (string-to-number (buffer-substring b e)) |
| 410 | b-begin))) | 410 | b-begin))) |
| 411 | a-begin-pt a-end-pt b-begin-pt b-end-pt | 411 | a-begin-pt a-end-pt b-begin-pt b-end-pt |
| 412 | c-begin c-end c-begin-pt c-end-pt) | 412 | c-begin c-end c-begin-pt c-end-pt) |
| @@ -934,16 +934,16 @@ delimiter regions")) | |||
| 934 | ;; it is a "c" group | 934 | ;; it is a "c" group |
| 935 | (if (match-beginning 2) | 935 | (if (match-beginning 2) |
| 936 | ;; it has two numbers | 936 | ;; it has two numbers |
| 937 | (list (string-to-int | 937 | (list (string-to-number |
| 938 | (buffer-substring (match-beginning 1) (match-end 1))) | 938 | (buffer-substring (match-beginning 1) (match-end 1))) |
| 939 | (1+ (string-to-int | 939 | (1+ (string-to-number |
| 940 | (buffer-substring (match-beginning 3) (match-end 3))))) | 940 | (buffer-substring (match-beginning 3) (match-end 3))))) |
| 941 | ;; it has one number | 941 | ;; it has one number |
| 942 | (let ((x (string-to-int | 942 | (let ((x (string-to-number |
| 943 | (buffer-substring (match-beginning 1) (match-end 1))))) | 943 | (buffer-substring (match-beginning 1) (match-end 1))))) |
| 944 | (list x (1+ x)))) | 944 | (list x (1+ x)))) |
| 945 | ;; it is an "a" group | 945 | ;; it is an "a" group |
| 946 | (let ((x (1+ (string-to-int | 946 | (let ((x (1+ (string-to-number |
| 947 | (buffer-substring (match-beginning 1) (match-end 1)))))) | 947 | (buffer-substring (match-beginning 1) (match-end 1)))))) |
| 948 | (list x x))))) | 948 | (list x x))))) |
| 949 | 949 | ||
diff --git a/lisp/edmacro.el b/lisp/edmacro.el index 09872f3ef2c..a8382a7f081 100644 --- a/lisp/edmacro.el +++ b/lisp/edmacro.el | |||
| @@ -280,7 +280,7 @@ or nil, use a compact 80-column format." | |||
| 280 | (let ((str (buffer-substring (match-beginning 1) | 280 | (let ((str (buffer-substring (match-beginning 1) |
| 281 | (match-end 1)))) | 281 | (match-end 1)))) |
| 282 | (unless (equal str "") | 282 | (unless (equal str "") |
| 283 | (setq mac-counter (string-to-int str)))) | 283 | (setq mac-counter (string-to-number str)))) |
| 284 | t) | 284 | t) |
| 285 | ((looking-at "Format:[ \t]*\"\\([^\n]*\\)\"[ \t]*$") | 285 | ((looking-at "Format:[ \t]*\"\\([^\n]*\\)\"[ \t]*$") |
| 286 | (when edmacro-store-hook | 286 | (when edmacro-store-hook |
| @@ -698,7 +698,7 @@ This function assumes that the events can be stored in a string." | |||
| 698 | (times 1)) | 698 | (times 1)) |
| 699 | (setq pos (match-end 0)) | 699 | (setq pos (match-end 0)) |
| 700 | (when (string-match "\\([0-9]+\\)\\*." word) | 700 | (when (string-match "\\([0-9]+\\)\\*." word) |
| 701 | (setq times (string-to-int (substring word 0 (match-end 1)))) | 701 | (setq times (string-to-number (substring word 0 (match-end 1)))) |
| 702 | (setq word (substring word (1+ (match-end 1))))) | 702 | (setq word (substring word (1+ (match-end 1))))) |
| 703 | (cond ((string-match "^<<.+>>$" word) | 703 | (cond ((string-match "^<<.+>>$" word) |
| 704 | (setq key (vconcat (if (eq (key-binding [?\M-x]) | 704 | (setq key (vconcat (if (eq (key-binding [?\M-x]) |
diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index 8eb177dd9ca..6280af2fb72 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; authors.el --- utility for maintaining Emacs' AUTHORS file -*-coding: iso-2022-7bit;-*- | 1 | ;;; authors.el --- utility for maintaining Emacs' AUTHORS file -*-coding: iso-2022-7bit;-*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2000, 2003 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2000, 2003, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Gerd Moellmann <gerd@gnu.org> | 5 | ;; Author: Gerd Moellmann <gerd@gnu.org> |
| 6 | ;; Maintainer: Kim F. Storm <storm@cua.dk> | 6 | ;; Maintainer: Kim F. Storm <storm@cua.dk> |
| @@ -597,8 +597,7 @@ buffer *Authors Errors* containing references to unknown files." | |||
| 597 | (unless (file-exists-p (expand-file-name "src/emacs.c" root)) | 597 | (unless (file-exists-p (expand-file-name "src/emacs.c" root)) |
| 598 | (error "Not the root directory of Emacs: %s" root)) | 598 | (error "Not the root directory of Emacs: %s" root)) |
| 599 | (dolist (log logs) | 599 | (dolist (log logs) |
| 600 | (when (and (string-match "ChangeLog\\(.[0-9]+\\)?$" log) | 600 | (when (string-match "ChangeLog\\(.[0-9]+\\)?$" log) |
| 601 | (not (string-match "/lispref/" log))) | ||
| 602 | (message "Scanning %s..." log) | 601 | (message "Scanning %s..." log) |
| 603 | (authors-scan-change-log log table))) | 602 | (authors-scan-change-log log table))) |
| 604 | (let ((els (authors-process-lines "find" root "-name" "*.el"))) | 603 | (let ((els (authors-process-lines "find" root "-name" "*.el"))) |
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el index 1472d576e49..7fc01901cfe 100644 --- a/lisp/emacs-lisp/byte-run.el +++ b/lisp/emacs-lisp/byte-run.el | |||
| @@ -175,8 +175,9 @@ If you think you need this, you're probably making a mistake somewhere." | |||
| 175 | ;;; byte-compile-macro-environment. | 175 | ;;; byte-compile-macro-environment. |
| 176 | 176 | ||
| 177 | (defmacro eval-when-compile (&rest body) | 177 | (defmacro eval-when-compile (&rest body) |
| 178 | "Like `progn', but evaluates the body at compile time. | 178 | "Like `progn', but evaluates the body at compile time if you're compiling. |
| 179 | The result of the body appears to the compiler as a quoted constant." | 179 | Thus, the result of the body appears to the compiler as a quoted constant. |
| 180 | In interpreted code, this is entirely equivalent to `progn'." | ||
| 180 | (declare (debug t) (indent 0)) | 181 | (declare (debug t) (indent 0)) |
| 181 | ;; Not necessary because we have it in b-c-initial-macro-environment | 182 | ;; Not necessary because we have it in b-c-initial-macro-environment |
| 182 | ;; (list 'quote (eval (cons 'progn body))) | 183 | ;; (list 'quote (eval (cons 'progn body))) |
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index a752f9f9b61..f1798d941bf 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -338,8 +338,8 @@ Elements of the list may be be: | |||
| 338 | 338 | ||
| 339 | free-vars references to variables not in the current lexical scope. | 339 | free-vars references to variables not in the current lexical scope. |
| 340 | unresolved calls to unknown functions. | 340 | unresolved calls to unknown functions. |
| 341 | callargs lambda calls with args that don't match the definition. | 341 | callargs function calls with args that don't match the definition. |
| 342 | redefine function cell redefined from a macro to a lambda or vice | 342 | redefine function name redefined from a macro to ordinary function or vice |
| 343 | versa, or redefined to take a different number of arguments. | 343 | versa, or redefined to take a different number of arguments. |
| 344 | obsolete obsolete variables and functions. | 344 | obsolete obsolete variables and functions. |
| 345 | noruntime functions that may not be defined at runtime (typically | 345 | noruntime functions that may not be defined at runtime (typically |
| @@ -1244,6 +1244,20 @@ extra args." | |||
| 1244 | (dolist (elt '(format message error)) | 1244 | (dolist (elt '(format message error)) |
| 1245 | (put elt 'byte-compile-format-like t)) | 1245 | (put elt 'byte-compile-format-like t)) |
| 1246 | 1246 | ||
| 1247 | ;; Warn if a custom definition fails to specify :group. | ||
| 1248 | (defun byte-compile-nogroup-warn (form) | ||
| 1249 | (let ((keyword-args (cdr (cdr (cdr (cdr form))))) | ||
| 1250 | (name (cadr form))) | ||
| 1251 | (unless (plist-get keyword-args :group) | ||
| 1252 | (byte-compile-warn | ||
| 1253 | "%s for `%s' fails to specify containing group" | ||
| 1254 | (cdr (assq (car form) | ||
| 1255 | '((custom-declare-group . defgroup) | ||
| 1256 | (custom-declare-face . defface) | ||
| 1257 | (custom-declare-variable . defcustom)))) | ||
| 1258 | (if (and (consp name) (eq (car name) 'quote)) | ||
| 1259 | (cadr name) name))))) | ||
| 1260 | |||
| 1247 | ;; Warn if the function or macro is being redefined with a different | 1261 | ;; Warn if the function or macro is being redefined with a different |
| 1248 | ;; number of arguments. | 1262 | ;; number of arguments. |
| 1249 | (defun byte-compile-arglist-warn (form macrop) | 1263 | (defun byte-compile-arglist-warn (form macrop) |
| @@ -2156,6 +2170,8 @@ list that represents a doc string reference. | |||
| 2156 | (put 'custom-declare-variable 'byte-hunk-handler | 2170 | (put 'custom-declare-variable 'byte-hunk-handler |
| 2157 | 'byte-compile-file-form-custom-declare-variable) | 2171 | 'byte-compile-file-form-custom-declare-variable) |
| 2158 | (defun byte-compile-file-form-custom-declare-variable (form) | 2172 | (defun byte-compile-file-form-custom-declare-variable (form) |
| 2173 | (when (memq 'callargs byte-compile-warnings) | ||
| 2174 | (byte-compile-nogroup-warn form)) | ||
| 2159 | (when (memq 'free-vars byte-compile-warnings) | 2175 | (when (memq 'free-vars byte-compile-warnings) |
| 2160 | (push (nth 1 (nth 1 form)) byte-compile-bound-variables)) | 2176 | (push (nth 1 (nth 1 form)) byte-compile-bound-variables)) |
| 2161 | (let ((tail (nthcdr 4 form))) | 2177 | (let ((tail (nthcdr 4 form))) |
| @@ -2729,7 +2745,7 @@ If FORM is a lambda or a macro, byte-compile it as a function." | |||
| 2729 | (when (byte-compile-const-symbol-p fn) | 2745 | (when (byte-compile-const-symbol-p fn) |
| 2730 | (byte-compile-warn "`%s' called as a function" fn)) | 2746 | (byte-compile-warn "`%s' called as a function" fn)) |
| 2731 | (and (memq 'interactive-only byte-compile-warnings) | 2747 | (and (memq 'interactive-only byte-compile-warnings) |
| 2732 | (memq (car form) byte-compile-interactive-only-functions) | 2748 | (memq fn byte-compile-interactive-only-functions) |
| 2733 | (byte-compile-warn "`%s' used from Lisp code\n\ | 2749 | (byte-compile-warn "`%s' used from Lisp code\n\ |
| 2734 | That command is designed for interactive use only" fn)) | 2750 | That command is designed for interactive use only" fn)) |
| 2735 | (if (and handler | 2751 | (if (and handler |
| @@ -2739,8 +2755,10 @@ That command is designed for interactive use only" fn)) | |||
| 2739 | (progn | 2755 | (progn |
| 2740 | (byte-compile-set-symbol-position fn) | 2756 | (byte-compile-set-symbol-position fn) |
| 2741 | (funcall handler form)) | 2757 | (funcall handler form)) |
| 2742 | (if (memq 'callargs byte-compile-warnings) | 2758 | (when (memq 'callargs byte-compile-warnings) |
| 2743 | (byte-compile-callargs-warn form)) | 2759 | (if (memq fn '(custom-declare-group custom-declare-variable custom-declare-face)) |
| 2760 | (byte-compile-nogroup-warn form)) | ||
| 2761 | (byte-compile-callargs-warn form)) | ||
| 2744 | (byte-compile-normal-call form)) | 2762 | (byte-compile-normal-call form)) |
| 2745 | (if (memq 'cl-functions byte-compile-warnings) | 2763 | (if (memq 'cl-functions byte-compile-warnings) |
| 2746 | (byte-compile-cl-warn form)))) | 2764 | (byte-compile-cl-warn form)))) |
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index bfd21e27d05..727e45b1289 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el | |||
| @@ -61,7 +61,7 @@ TYPE is a Common Lisp type specifier." | |||
| 61 | ;;; Predicates. | 61 | ;;; Predicates. |
| 62 | 62 | ||
| 63 | (defun equalp (x y) | 63 | (defun equalp (x y) |
| 64 | "T if two Lisp objects have similar structures and contents. | 64 | "Return t if two Lisp objects have similar structures and contents. |
| 65 | This is like `equal', except that it accepts numerically equal | 65 | This is like `equal', except that it accepts numerically equal |
| 66 | numbers of different types (float vs. integer), and also compares | 66 | numbers of different types (float vs. integer), and also compares |
| 67 | strings case-insensitively." | 67 | strings case-insensitively." |
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 137366c1c13..8bc195bdae8 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -1335,7 +1335,7 @@ Unlike `flet', this macro is fully compliant with the Common Lisp standard. | |||
| 1335 | ;; The following ought to have a better definition for use with newer | 1335 | ;; The following ought to have a better definition for use with newer |
| 1336 | ;; byte compilers. | 1336 | ;; byte compilers. |
| 1337 | (defmacro macrolet (bindings &rest body) | 1337 | (defmacro macrolet (bindings &rest body) |
| 1338 | "Make temporary macro defns. | 1338 | "Make temporary macro definitions. |
| 1339 | This is like `flet', but for macros instead of functions. | 1339 | This is like `flet', but for macros instead of functions. |
| 1340 | 1340 | ||
| 1341 | \(fn ((NAME ARGLIST BODY...) ...) FORM...)" | 1341 | \(fn ((NAME ARGLIST BODY...) ...) FORM...)" |
| @@ -1351,7 +1351,7 @@ This is like `flet', but for macros instead of functions. | |||
| 1351 | cl-macro-environment)))))) | 1351 | cl-macro-environment)))))) |
| 1352 | 1352 | ||
| 1353 | (defmacro symbol-macrolet (bindings &rest body) | 1353 | (defmacro symbol-macrolet (bindings &rest body) |
| 1354 | "Make symbol macro defns. | 1354 | "Make symbol macro definitions. |
| 1355 | Within the body FORMs, references to the variable NAME will be replaced | 1355 | Within the body FORMs, references to the variable NAME will be replaced |
| 1356 | by EXPANSION, and (setq NAME ...) will act like (setf EXPANSION ...). | 1356 | by EXPANSION, and (setq NAME ...) will act like (setf EXPANSION ...). |
| 1357 | 1357 | ||
diff --git a/lisp/emacs-lisp/cl-seq.el b/lisp/emacs-lisp/cl-seq.el index 93237f0206f..cb202700a00 100644 --- a/lisp/emacs-lisp/cl-seq.el +++ b/lisp/emacs-lisp/cl-seq.el | |||
| @@ -800,7 +800,7 @@ Keywords supported: :test :test-not :key" | |||
| 800 | (apply 'nset-difference cl-list2 cl-list1 cl-keys))))) | 800 | (apply 'nset-difference cl-list2 cl-list1 cl-keys))))) |
| 801 | 801 | ||
| 802 | (defun subsetp (cl-list1 cl-list2 &rest cl-keys) | 802 | (defun subsetp (cl-list1 cl-list2 &rest cl-keys) |
| 803 | "True if LIST1 is a subset of LIST2. | 803 | "Return true if LIST1 is a subset of LIST2. |
| 804 | I.e., if every element of LIST1 also appears in LIST2. | 804 | I.e., if every element of LIST1 also appears in LIST2. |
| 805 | Keywords supported: :test :test-not :key" | 805 | Keywords supported: :test :test-not :key" |
| 806 | (cond ((null cl-list1) t) ((null cl-list2) nil) | 806 | (cond ((null cl-list1) t) ((null cl-list2) nil) |
| @@ -888,7 +888,7 @@ Keywords supported: :test :test-not :key" | |||
| 888 | (setq cl-tree (cdr cl-tree)))))) | 888 | (setq cl-tree (cdr cl-tree)))))) |
| 889 | 889 | ||
| 890 | (defun tree-equal (cl-x cl-y &rest cl-keys) | 890 | (defun tree-equal (cl-x cl-y &rest cl-keys) |
| 891 | "T if trees X and Y have `eql' leaves. | 891 | "Return t if trees X and Y have `eql' leaves. |
| 892 | Atoms are compared by `eql'; cons cells are compared recursively. | 892 | Atoms are compared by `eql'; cons cells are compared recursively. |
| 893 | Keywords supported: :test :test-not :key" | 893 | Keywords supported: :test :test-not :key" |
| 894 | (cl-parsing-keywords (:test :test-not :key) () | 894 | (cl-parsing-keywords (:test :test-not :key) () |
diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el index 2f6c799f528..11835629bd7 100644 --- a/lisp/emacs-lisp/cl.el +++ b/lisp/emacs-lisp/cl.el | |||
| @@ -115,7 +115,7 @@ a future Emacs interpreter will be able to use it.") | |||
| 115 | ;;; Predicates. | 115 | ;;; Predicates. |
| 116 | 116 | ||
| 117 | (defun eql (a b) ; See compiler macro in cl-macs.el | 117 | (defun eql (a b) ; See compiler macro in cl-macs.el |
| 118 | "T if the two args are the same Lisp object. | 118 | "Return t if the two args are the same Lisp object. |
| 119 | Floating-point numbers of equal value are `eql', but they may not be `eq'." | 119 | Floating-point numbers of equal value are `eql', but they may not be `eq'." |
| 120 | (if (numberp a) | 120 | (if (numberp a) |
| 121 | (equal a b) | 121 | (equal a b) |
| @@ -301,25 +301,25 @@ definitions to shadow the loaded ones for use in file byte-compilation." | |||
| 301 | ;;; Numbers. | 301 | ;;; Numbers. |
| 302 | 302 | ||
| 303 | (defun floatp-safe (x) | 303 | (defun floatp-safe (x) |
| 304 | "T if OBJECT is a floating point number. | 304 | "Return t if OBJECT is a floating point number. |
| 305 | On Emacs versions that lack floating-point support, this function | 305 | On Emacs versions that lack floating-point support, this function |
| 306 | always returns nil." | 306 | always returns nil." |
| 307 | (and (numberp x) (not (integerp x)))) | 307 | (and (numberp x) (not (integerp x)))) |
| 308 | 308 | ||
| 309 | (defun plusp (x) | 309 | (defun plusp (x) |
| 310 | "T if NUMBER is positive." | 310 | "Return t if NUMBER is positive." |
| 311 | (> x 0)) | 311 | (> x 0)) |
| 312 | 312 | ||
| 313 | (defun minusp (x) | 313 | (defun minusp (x) |
| 314 | "T if NUMBER is negative." | 314 | "Return t if NUMBER is negative." |
| 315 | (< x 0)) | 315 | (< x 0)) |
| 316 | 316 | ||
| 317 | (defun oddp (x) | 317 | (defun oddp (x) |
| 318 | "T if INTEGER is odd." | 318 | "Return t if INTEGER is odd." |
| 319 | (eq (logand x 1) 1)) | 319 | (eq (logand x 1) 1)) |
| 320 | 320 | ||
| 321 | (defun evenp (x) | 321 | (defun evenp (x) |
| 322 | "T if INTEGER is even." | 322 | "Return t if INTEGER is even." |
| 323 | (eq (logand x 1) 0)) | 323 | (eq (logand x 1) 0)) |
| 324 | 324 | ||
| 325 | (defvar *random-state* (vector 'cl-random-state-tag -1 30 (cl-random-time))) | 325 | (defvar *random-state* (vector 'cl-random-state-tag -1 30 (cl-random-time))) |
| @@ -503,7 +503,7 @@ SEQ, this is like `mapcar'. With several, it is like the Common Lisp | |||
| 503 | ;; x)) | 503 | ;; x)) |
| 504 | 504 | ||
| 505 | (defun list* (arg &rest rest) ; See compiler macro in cl-macs.el | 505 | (defun list* (arg &rest rest) ; See compiler macro in cl-macs.el |
| 506 | "Return a new list with specified args as elements, cons'd to last arg. | 506 | "Return a new list with specified args as elements, consed to last arg. |
| 507 | Thus, `(list* A B C D)' is equivalent to `(nconc (list A B C) D)', or to | 507 | Thus, `(list* A B C D)' is equivalent to `(nconc (list A B C) D)', or to |
| 508 | `(cons A (cons B (cons C D)))'." | 508 | `(cons A (cons B (cons C D)))'." |
| 509 | (cond ((not rest) arg) | 509 | (cond ((not rest) arg) |
diff --git a/lisp/emacs-lisp/copyright.el b/lisp/emacs-lisp/copyright.el index d0ceaa96716..0b46912c8fd 100644 --- a/lisp/emacs-lisp/copyright.el +++ b/lisp/emacs-lisp/copyright.el | |||
| @@ -183,32 +183,36 @@ Uses heuristic: year >= 50 means 19xx, < 50 means 20xx." | |||
| 183 | (widen) | 183 | (widen) |
| 184 | (goto-char (point-min)) | 184 | (goto-char (point-min)) |
| 185 | (if (re-search-forward copyright-regexp (+ (point) copyright-limit) t) | 185 | (if (re-search-forward copyright-regexp (+ (point) copyright-limit) t) |
| 186 | (let ((s (match-beginning 2)) (e (make-marker)) | 186 | (let ((s (match-beginning 2)) |
| 187 | (e (copy-marker (1+ (match-end 2)))) | ||
| 188 | (p (make-marker)) | ||
| 187 | last) | 189 | last) |
| 188 | (set-marker e (1+ (match-end 2))) | ||
| 189 | (goto-char s) | 190 | (goto-char s) |
| 190 | (while (and (< (point) (marker-position e)) | 191 | (while (re-search-forward "[0-9]+" e t) |
| 191 | (re-search-forward "\\([^0-9]\\)\\([0-9]+\\)[^0-9]" | 192 | (set-marker p (point)) |
| 192 | (marker-position e) t)) | 193 | (goto-char (match-beginning 0)) |
| 193 | (let ((p (point)) | 194 | (let ((sep (char-before)) |
| 194 | (sep (match-string 1)) | 195 | (year (string-to-number (match-string 0)))) |
| 195 | (year (string-to-number (match-string 2)))) | 196 | (when (and sep |
| 196 | (goto-char (1+ (match-beginning 0))) | 197 | (/= (char-syntax sep) ?\s) |
| 197 | (unless (= (char-syntax (string-to-char sep)) ?\s) | 198 | (/= sep ?-)) |
| 198 | (insert " ")) | 199 | (insert " ")) |
| 199 | (if (< year 100) | 200 | (when (< year 100) |
| 200 | (insert (if (>= year 50) "19" "20"))) | 201 | (insert (if (>= year 50) "19" "20")))) |
| 201 | (goto-char p) | 202 | (goto-char p) |
| 202 | (setq last p))) | 203 | (setq last p)) |
| 203 | (when last | 204 | (when last |
| 204 | (goto-char last) | 205 | (goto-char last) |
| 205 | (let ((fill-prefix " ")) | 206 | ;; Don't mess up whitespace after the years. |
| 206 | (fill-region s last)) | 207 | (skip-chars-backward " \t") |
| 207 | ) | 208 | (save-restriction |
| 209 | (narrow-to-region (point-min) (point)) | ||
| 210 | (let ((fill-prefix " ")) | ||
| 211 | (fill-region s last)))) | ||
| 208 | (set-marker e nil) | 212 | (set-marker e nil) |
| 213 | (set-marker p nil) | ||
| 209 | (copyright-update nil t)) | 214 | (copyright-update nil t)) |
| 210 | (message "No copyright message") | 215 | (message "No copyright message"))) |
| 211 | (goto-char (point-min)))) | ||
| 212 | 216 | ||
| 213 | ;;;###autoload | 217 | ;;;###autoload |
| 214 | (define-skeleton copyright | 218 | (define-skeleton copyright |
diff --git a/lisp/emacs-lisp/derived.el b/lisp/emacs-lisp/derived.el index a10b8546d03..c00028ad218 100644 --- a/lisp/emacs-lisp/derived.el +++ b/lisp/emacs-lisp/derived.el | |||
| @@ -158,7 +158,9 @@ Note that if the documentation string had been left out, it would have | |||
| 158 | been generated automatically, with a reference to the keymap. | 158 | been generated automatically, with a reference to the keymap. |
| 159 | 159 | ||
| 160 | The new mode runs the hook constructed by the function | 160 | The new mode runs the hook constructed by the function |
| 161 | `derived-mode-hook-name'." | 161 | `derived-mode-hook-name'. |
| 162 | |||
| 163 | See Info node `(elisp)Derived Modes' for more details." | ||
| 162 | (declare (debug (&define name symbolp sexp [&optional stringp] | 164 | (declare (debug (&define name symbolp sexp [&optional stringp] |
| 163 | [&rest keywordp sexp] def-body))) | 165 | [&rest keywordp sexp] def-body))) |
| 164 | 166 | ||
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el index a02f7be7d13..0892af1bb35 100644 --- a/lisp/emacs-lisp/easy-mmode.el +++ b/lisp/emacs-lisp/easy-mmode.el | |||
| @@ -36,7 +36,6 @@ | |||
| 36 | ;; For each mode, easy-mmode defines the following: | 36 | ;; For each mode, easy-mmode defines the following: |
| 37 | ;; <mode> : The minor mode predicate. A buffer-local variable. | 37 | ;; <mode> : The minor mode predicate. A buffer-local variable. |
| 38 | ;; <mode>-map : The keymap possibly associated to <mode>. | 38 | ;; <mode>-map : The keymap possibly associated to <mode>. |
| 39 | ;; <mode>-hook : The hook run at the end of the toggle function. | ||
| 40 | ;; see `define-minor-mode' documentation | 39 | ;; see `define-minor-mode' documentation |
| 41 | ;; | 40 | ;; |
| 42 | ;; eval | 41 | ;; eval |
| @@ -90,7 +89,7 @@ replacing its case-insensitive matches with the literal string in LIGHTER." | |||
| 90 | (defmacro define-minor-mode (mode doc &optional init-value lighter keymap &rest body) | 89 | (defmacro define-minor-mode (mode doc &optional init-value lighter keymap &rest body) |
| 91 | "Define a new minor mode MODE. | 90 | "Define a new minor mode MODE. |
| 92 | This function defines the associated control variable MODE, keymap MODE-map, | 91 | This function defines the associated control variable MODE, keymap MODE-map, |
| 93 | toggle command MODE, and hook MODE-hook. | 92 | and toggle command MODE. |
| 94 | 93 | ||
| 95 | DOC is the documentation for the mode toggle command. | 94 | DOC is the documentation for the mode toggle command. |
| 96 | Optional INIT-VALUE is the initial value of the mode's variable. | 95 | Optional INIT-VALUE is the initial value of the mode's variable. |
| @@ -103,11 +102,11 @@ The above three arguments can be skipped if keyword arguments are | |||
| 103 | used (see below). | 102 | used (see below). |
| 104 | 103 | ||
| 105 | BODY contains code that will be executed each time the mode is (dis)activated. | 104 | BODY contains code that will be executed each time the mode is (dis)activated. |
| 106 | It will be executed after any toggling but before running the hooks. | 105 | It will be executed after any toggling but before running the hook variable |
| 107 | Before the actual body code, you can write | 106 | `mode-HOOK'. |
| 108 | keyword arguments (alternating keywords and values). | 107 | Before the actual body code, you can write keyword arguments (alternating |
| 109 | These following keyword arguments are supported (other keywords | 108 | keywords and values). These following keyword arguments are supported (other |
| 110 | will be passed to `defcustom' if the minor mode is global): | 109 | keywords will be passed to `defcustom' if the minor mode is global): |
| 111 | :group GROUP Custom group name to use in all generated `defcustom' forms. | 110 | :group GROUP Custom group name to use in all generated `defcustom' forms. |
| 112 | Defaults to MODE without the possible trailing \"-mode\". | 111 | Defaults to MODE without the possible trailing \"-mode\". |
| 113 | Don't use this default group name unless you have written a | 112 | Don't use this default group name unless you have written a |
| @@ -241,12 +240,6 @@ With zero or negative ARG turn mode off. | |||
| 241 | ;; up-to-here. | 240 | ;; up-to-here. |
| 242 | :autoload-end | 241 | :autoload-end |
| 243 | 242 | ||
| 244 | ;; The toggle's hook. | ||
| 245 | (defcustom ,hook nil | ||
| 246 | ,(format "Hook run at the end of function `%s'." mode-name) | ||
| 247 | ,@group | ||
| 248 | :type 'hook) | ||
| 249 | |||
| 250 | ;; Define the minor-mode keymap. | 243 | ;; Define the minor-mode keymap. |
| 251 | ,(unless (symbolp keymap) ;nil is also a symbol. | 244 | ,(unless (symbolp keymap) ;nil is also a symbol. |
| 252 | `(defvar ,keymap-sym | 245 | `(defvar ,keymap-sym |
| @@ -323,8 +316,8 @@ in which `%s' turns it on." | |||
| 323 | (with-current-buffer buf | 316 | (with-current-buffer buf |
| 324 | (if ,global-mode (,turn-on) (when ,mode (,mode -1)))))) | 317 | (if ,global-mode (,turn-on) (when ,mode (,mode -1)))))) |
| 325 | 318 | ||
| 326 | ;; Autoloading easy-mmode-define-global-mode | 319 | ;; Autoloading define-global-minor-mode autoloads everything |
| 327 | ;; autoloads everything up-to-here. | 320 | ;; up-to-here. |
| 328 | :autoload-end | 321 | :autoload-end |
| 329 | 322 | ||
| 330 | ;; List of buffers left to process. | 323 | ;; List of buffers left to process. |
diff --git a/lisp/emacs-lisp/easymenu.el b/lisp/emacs-lisp/easymenu.el index 78ba1fe27bf..c9f1769ae14 100644 --- a/lisp/emacs-lisp/easymenu.el +++ b/lisp/emacs-lisp/easymenu.el | |||
| @@ -65,7 +65,7 @@ It returns the remaining items of the displayed menu. | |||
| 65 | :visible INCLUDE | 65 | :visible INCLUDE |
| 66 | 66 | ||
| 67 | INCLUDE is an expression; this menu is only visible if this | 67 | INCLUDE is an expression; this menu is only visible if this |
| 68 | expression has a non-nil value. `:include' is an alias for `:visible'. | 68 | expression has a non-nil value. `:included' is an alias for `:visible'. |
| 69 | 69 | ||
| 70 | :active ENABLE | 70 | :active ENABLE |
| 71 | 71 | ||
| @@ -110,10 +110,10 @@ keyboard equivalent. | |||
| 110 | ENABLE is an expression; the item is enabled for selection | 110 | ENABLE is an expression; the item is enabled for selection |
| 111 | whenever this expression's value is non-nil. | 111 | whenever this expression's value is non-nil. |
| 112 | 112 | ||
| 113 | :included INCLUDE | 113 | :visible INCLUDE |
| 114 | 114 | ||
| 115 | INCLUDE is an expression; this item is only visible if this | 115 | INCLUDE is an expression; this item is only visible if this |
| 116 | expression has a non-nil value. | 116 | expression has a non-nil value. `:included' is an alias for `:visible'. |
| 117 | 117 | ||
| 118 | :suffix FORM | 118 | :suffix FORM |
| 119 | 119 | ||
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el index b23217151e3..bf6b601ef7a 100644 --- a/lisp/emacs-lisp/eldoc.el +++ b/lisp/emacs-lisp/eldoc.el | |||
| @@ -141,9 +141,9 @@ truncated to make more of the arglist or documentation string visible." | |||
| 141 | "Toggle ElDoc mode on or off. | 141 | "Toggle ElDoc mode on or off. |
| 142 | In ElDoc mode, the echo area displays information about a | 142 | In ElDoc mode, the echo area displays information about a |
| 143 | function or variable in the text where point is. If point is | 143 | function or variable in the text where point is. If point is |
| 144 | on a documented variable, it displays that variable's doc string. | 144 | on a documented variable, it displays the first line of that |
| 145 | Otherwise it displays the argument list of the function called | 145 | variable's doc string. Otherwise it displays the argument list |
| 146 | in the expression point is on. | 146 | of the function called in the expression point is on. |
| 147 | 147 | ||
| 148 | With prefix ARG, turn ElDoc mode on if and only if ARG is positive." | 148 | With prefix ARG, turn ElDoc mode on if and only if ARG is positive." |
| 149 | :group 'eldoc :lighter eldoc-minor-mode-string | 149 | :group 'eldoc :lighter eldoc-minor-mode-string |
| @@ -229,6 +229,7 @@ With prefix ARG, turn ElDoc mode on if and only if ARG is positive." | |||
| 229 | (not (eq (selected-window) (minibuffer-window))))) | 229 | (not (eq (selected-window) (minibuffer-window))))) |
| 230 | 230 | ||
| 231 | 231 | ||
| 232 | ;;;###autoload | ||
| 232 | (defvar eldoc-documentation-function nil | 233 | (defvar eldoc-documentation-function nil |
| 233 | "If non-nil, function to call to return doc string. | 234 | "If non-nil, function to call to return doc string. |
| 234 | The function of no args should return a one-line string for displaying | 235 | The function of no args should return a one-line string for displaying |
diff --git a/lisp/emacs-lisp/generic.el b/lisp/emacs-lisp/generic.el index 410b1d8eaa5..e41de879846 100644 --- a/lisp/emacs-lisp/generic.el +++ b/lisp/emacs-lisp/generic.el | |||
| @@ -117,46 +117,37 @@ instead (which see).") | |||
| 117 | ;;;###autoload | 117 | ;;;###autoload |
| 118 | (defmacro define-generic-mode (mode comment-list keyword-list | 118 | (defmacro define-generic-mode (mode comment-list keyword-list |
| 119 | font-lock-list auto-mode-list | 119 | font-lock-list auto-mode-list |
| 120 | function-list &optional docstring | 120 | function-list &optional docstring) |
| 121 | &rest custom-keyword-args) | ||
| 122 | "Create a new generic mode MODE. | 121 | "Create a new generic mode MODE. |
| 123 | 122 | ||
| 124 | MODE is the name of the command for the generic mode; don't quote | 123 | MODE is the name of the command for the generic mode; don't quote it. |
| 125 | it. The optional DOCSTRING is the documentation for the mode | 124 | The optional DOCSTRING is the documentation for the mode command. If |
| 126 | command. If you do not supply it, `define-generic-mode' uses a | 125 | you do not supply it, `define-generic-mode' uses a default |
| 127 | default documentation string instead. | 126 | documentation string instead. |
| 128 | 127 | ||
| 129 | COMMENT-LIST is a list in which each element is either a | 128 | COMMENT-LIST is a list in which each element is either a character, a |
| 130 | character, a string of one or two characters, or a cons cell. A | 129 | string of one or two characters, or a cons cell. A character or a |
| 131 | character or a string is set up in the mode's syntax table as a | 130 | string is set up in the mode's syntax table as a \"comment starter\". |
| 132 | \"comment starter\". If the entry is a cons cell, the `car' is | 131 | If the entry is a cons cell, the `car' is set up as a \"comment |
| 133 | set up as a \"comment starter\" and the `cdr' as a \"comment | 132 | starter\" and the `cdr' as a \"comment ender\". (Use nil for the |
| 134 | ender\". (Use nil for the latter if you want comments to end at | 133 | latter if you want comments to end at the end of the line.) Note that |
| 135 | the end of the line.) Note that the syntax table has limitations | 134 | the syntax table has limitations about what comment starters and |
| 136 | about what comment starters and enders are actually possible. | 135 | enders are actually possible. |
| 137 | 136 | ||
| 138 | KEYWORD-LIST is a list of keywords to highlight with | 137 | KEYWORD-LIST is a list of keywords to highlight with |
| 139 | `font-lock-keyword-face'. Each keyword should be a string. | 138 | `font-lock-keyword-face'. Each keyword should be a string. |
| 140 | 139 | ||
| 141 | FONT-LOCK-LIST is a list of additional expressions to highlight. | 140 | FONT-LOCK-LIST is a list of additional expressions to highlight. Each |
| 142 | Each element of this list should have the same form as an element | 141 | element of this list should have the same form as an element of |
| 143 | of `font-lock-keywords'. | 142 | `font-lock-keywords'. |
| 144 | 143 | ||
| 145 | AUTO-MODE-LIST is a list of regular expressions to add to | 144 | AUTO-MODE-LIST is a list of regular expressions to add to |
| 146 | `auto-mode-alist'. These regular expressions are added when | 145 | `auto-mode-alist'. These regular expressions are added when Emacs |
| 147 | Emacs runs the macro expansion. | 146 | runs the macro expansion. |
| 148 | 147 | ||
| 149 | FUNCTION-LIST is a list of functions to call to do some | 148 | FUNCTION-LIST is a list of functions to call to do some additional |
| 150 | additional setup. The mode command calls these functions just | 149 | setup. The mode command calls these functions just before it runs the |
| 151 | before it runs the mode hook. | 150 | mode hook `MODE-hook'. |
| 152 | |||
| 153 | The optional CUSTOM-KEYWORD-ARGS are pairs of keywords and values | ||
| 154 | to include in the generated `defcustom' form for the mode hook | ||
| 155 | variable `MODE-hook'. The default value for the `:group' keyword | ||
| 156 | is MODE with the final \"-mode\" (if any) removed. (Don't use | ||
| 157 | this default group name unless you have written a `defgroup' to | ||
| 158 | define that group properly.) You can specify keyword arguments | ||
| 159 | without specifying a docstring. | ||
| 160 | 151 | ||
| 161 | See the file generic-x.el for some examples of `define-generic-mode'." | 152 | See the file generic-x.el for some examples of `define-generic-mode'." |
| 162 | (declare (debug (sexp def-form def-form def-form form def-form | 153 | (declare (debug (sexp def-form def-form def-form form def-form |
| @@ -167,22 +158,9 @@ See the file generic-x.el for some examples of `define-generic-mode'." | |||
| 167 | (when (eq (car-safe mode) 'quote) | 158 | (when (eq (car-safe mode) 'quote) |
| 168 | (setq mode (eval mode))) | 159 | (setq mode (eval mode))) |
| 169 | 160 | ||
| 170 | (when (and docstring (not (stringp docstring))) | ||
| 171 | ;; DOCSTRING is not a string so we assume that it's actually the | ||
| 172 | ;; first keyword of CUSTOM-KEYWORD-ARGS. | ||
| 173 | (push docstring custom-keyword-args) | ||
| 174 | (setq docstring nil)) | ||
| 175 | |||
| 176 | (let* ((name (symbol-name mode)) | 161 | (let* ((name (symbol-name mode)) |
| 177 | (pretty-name (capitalize (replace-regexp-in-string | 162 | (pretty-name (capitalize (replace-regexp-in-string |
| 178 | "-mode\\'" "" name))) | 163 | "-mode\\'" "" name)))) |
| 179 | (mode-hook (intern (concat name "-hook")))) | ||
| 180 | |||
| 181 | (unless (plist-get custom-keyword-args :group) | ||
| 182 | (setq custom-keyword-args | ||
| 183 | (plist-put custom-keyword-args | ||
| 184 | :group `',(intern (replace-regexp-in-string | ||
| 185 | "-mode\\'" "" name))))) | ||
| 186 | 164 | ||
| 187 | `(progn | 165 | `(progn |
| 188 | ;; Add a new entry. | 166 | ;; Add a new entry. |
| @@ -192,15 +170,11 @@ See the file generic-x.el for some examples of `define-generic-mode'." | |||
| 192 | (dolist (re ,auto-mode-list) | 170 | (dolist (re ,auto-mode-list) |
| 193 | (add-to-list 'auto-mode-alist (cons re ',mode))) | 171 | (add-to-list 'auto-mode-alist (cons re ',mode))) |
| 194 | 172 | ||
| 195 | (defcustom ,mode-hook nil | ||
| 196 | ,(concat "Hook run when entering " pretty-name " mode.") | ||
| 197 | :type 'hook | ||
| 198 | ,@custom-keyword-args) | ||
| 199 | |||
| 200 | (defun ,mode () | 173 | (defun ,mode () |
| 201 | ,(or docstring | 174 | ,(or docstring |
| 202 | (concat pretty-name " mode.\n" | 175 | (concat pretty-name " mode.\n" |
| 203 | "This a generic mode defined with `define-generic-mode'.")) | 176 | "This a generic mode defined with `define-generic-mode'.\n" |
| 177 | "It runs `" name "-hook' as the last thing it does.")) | ||
| 204 | (interactive) | 178 | (interactive) |
| 205 | (generic-mode-internal ',mode ,comment-list ,keyword-list | 179 | (generic-mode-internal ',mode ,comment-list ,keyword-list |
| 206 | ,font-lock-list ,function-list))))) | 180 | ,font-lock-list ,function-list))))) |
diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el index 701da1c4dec..a385a32935e 100644 --- a/lisp/emacs-lisp/lisp-mnt.el +++ b/lisp/emacs-lisp/lisp-mnt.el | |||
| @@ -418,7 +418,7 @@ ISO-DATE non-nil means return the date in ISO 8601 format." | |||
| 418 | (format "%s-%s-%s" yyyy mm dd) | 418 | (format "%s-%s-%s" yyyy mm dd) |
| 419 | (format "%s %s %s" | 419 | (format "%s %s %s" |
| 420 | dd | 420 | dd |
| 421 | (nth (string-to-int mm) | 421 | (nth (string-to-number mm) |
| 422 | '("" "Jan" "Feb" "Mar" "Apr" "May" "Jun" | 422 | '("" "Jan" "Feb" "Mar" "Apr" "May" "Jun" |
| 423 | "Jul" "Aug" "Sep" "Oct" "Nov" "Dec")) | 423 | "Jul" "Aug" "Sep" "Oct" "Nov" "Dec")) |
| 424 | yyyy)))))) | 424 | yyyy)))))) |
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 8f4245cb9a1..bb815481bf0 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el | |||
| @@ -192,6 +192,9 @@ | |||
| 192 | ;; Look within the line for a ; following an even number of backslashes | 192 | ;; Look within the line for a ; following an even number of backslashes |
| 193 | ;; after either a non-backslash or the line beginning. | 193 | ;; after either a non-backslash or the line beginning. |
| 194 | (setq comment-start-skip "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+ *") | 194 | (setq comment-start-skip "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+ *") |
| 195 | (make-local-variable 'font-lock-comment-start-skip) | ||
| 196 | ;; Font lock mode uses this only when it KNOWS a comment is starting. | ||
| 197 | (setq font-lock-comment-start-skip ";+ *") | ||
| 195 | (make-local-variable 'comment-add) | 198 | (make-local-variable 'comment-add) |
| 196 | (setq comment-add 1) ;default to `;;' in comment-region | 199 | (setq comment-add 1) ;default to `;;' in comment-region |
| 197 | (make-local-variable 'comment-column) | 200 | (make-local-variable 'comment-column) |
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index f9442bc0084..955bc4499bc 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; lisp.el --- Lisp editing commands for Emacs | 1 | ;;; lisp.el --- Lisp editing commands for Emacs |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1985, 86, 1994, 2000, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1985, 1986, 1994, 2000, 2004, 2005 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| 6 | ;; Keywords: lisp, languages | 7 | ;; Keywords: lisp, languages |
| @@ -487,9 +488,9 @@ If region is active, insert enclosing characters at region boundaries." | |||
| 487 | More accurately, check the narrowed part of the buffer for unbalanced | 488 | More accurately, check the narrowed part of the buffer for unbalanced |
| 488 | expressions (\"sexps\") in general. This is done according to the | 489 | expressions (\"sexps\") in general. This is done according to the |
| 489 | current syntax table and will find unbalanced brackets or quotes as | 490 | current syntax table and will find unbalanced brackets or quotes as |
| 490 | appropriate. (See Info node `(emacs)Lists and Sexps'.) If imbalance | 491 | appropriate. (See Info node `(emacs)Parentheses'.) If imbalance is |
| 491 | is found, an error is signalled and point is left at the first | 492 | found, an error is signalled and point is left at the first unbalanced |
| 492 | unbalanced character." | 493 | character." |
| 493 | (interactive) | 494 | (interactive) |
| 494 | (condition-case data | 495 | (condition-case data |
| 495 | ;; Buffer can't have more than (point-max) sexps. | 496 | ;; Buffer can't have more than (point-max) sexps. |
diff --git a/lisp/emacs-lisp/re-builder.el b/lisp/emacs-lisp/re-builder.el index 1c8d12fef0e..a2aed39d00a 100644 --- a/lisp/emacs-lisp/re-builder.el +++ b/lisp/emacs-lisp/re-builder.el | |||
| @@ -557,7 +557,7 @@ optional fourth argument FORCE is non-nil." | |||
| 557 | (interactive) | 557 | (interactive) |
| 558 | 558 | ||
| 559 | (setq reb-subexp-displayed | 559 | (setq reb-subexp-displayed |
| 560 | (or subexp (string-to-int (format "%c" last-command-char)))) | 560 | (or subexp (string-to-number (format "%c" last-command-char)))) |
| 561 | (reb-update-modestring) | 561 | (reb-update-modestring) |
| 562 | (reb-do-update reb-subexp-displayed)) | 562 | (reb-do-update reb-subexp-displayed)) |
| 563 | 563 | ||
diff --git a/lisp/emacs-lisp/testcover.el b/lisp/emacs-lisp/testcover.el index 23e9a54b1bb..f77b1a00e2c 100644 --- a/lisp/emacs-lisp/testcover.el +++ b/lisp/emacs-lisp/testcover.el | |||
| @@ -147,7 +147,8 @@ call to one of the `testcover-1value-functions'." | |||
| 147 | (defcustom testcover-potentially-1value-functions | 147 | (defcustom testcover-potentially-1value-functions |
| 148 | '(add-hook and beep or remove-hook unless when) | 148 | '(add-hook and beep or remove-hook unless when) |
| 149 | "Functions that are potentially 1-valued. No brown splotch if actually | 149 | "Functions that are potentially 1-valued. No brown splotch if actually |
| 150 | 1-valued, no error if actually multi-valued.") | 150 | 1-valued, no error if actually multi-valued." |
| 151 | :group 'testcover) | ||
| 151 | 152 | ||
| 152 | (defface testcover-nohits-face | 153 | (defface testcover-nohits-face |
| 153 | '((t (:background "DeepPink2"))) | 154 | '((t (:background "DeepPink2"))) |
diff --git a/lisp/emerge.el b/lisp/emerge.el index f9821111e71..1f105163f46 100644 --- a/lisp/emerge.el +++ b/lisp/emerge.el | |||
| @@ -657,20 +657,20 @@ This is *not* a user option, since Emerge uses it for its own processing.") | |||
| 657 | diff-buffer | 657 | diff-buffer |
| 658 | (goto-char (point-min)) | 658 | (goto-char (point-min)) |
| 659 | (while (re-search-forward emerge-match-diff-line nil t) | 659 | (while (re-search-forward emerge-match-diff-line nil t) |
| 660 | (let* ((a-begin (string-to-int (buffer-substring (match-beginning 1) | 660 | (let* ((a-begin (string-to-number (buffer-substring (match-beginning 1) |
| 661 | (match-end 1)))) | 661 | (match-end 1)))) |
| 662 | (a-end (let ((b (match-beginning 3)) | 662 | (a-end (let ((b (match-beginning 3)) |
| 663 | (e (match-end 3))) | 663 | (e (match-end 3))) |
| 664 | (if b | 664 | (if b |
| 665 | (string-to-int (buffer-substring b e)) | 665 | (string-to-number (buffer-substring b e)) |
| 666 | a-begin))) | 666 | a-begin))) |
| 667 | (diff-type (buffer-substring (match-beginning 4) (match-end 4))) | 667 | (diff-type (buffer-substring (match-beginning 4) (match-end 4))) |
| 668 | (b-begin (string-to-int (buffer-substring (match-beginning 5) | 668 | (b-begin (string-to-number (buffer-substring (match-beginning 5) |
| 669 | (match-end 5)))) | 669 | (match-end 5)))) |
| 670 | (b-end (let ((b (match-beginning 7)) | 670 | (b-end (let ((b (match-beginning 7)) |
| 671 | (e (match-end 7))) | 671 | (e (match-end 7))) |
| 672 | (if b | 672 | (if b |
| 673 | (string-to-int (buffer-substring b e)) | 673 | (string-to-number (buffer-substring b e)) |
| 674 | b-begin)))) | 674 | b-begin)))) |
| 675 | ;; fix the beginning and end numbers, because diff is somewhat | 675 | ;; fix the beginning and end numbers, because diff is somewhat |
| 676 | ;; strange about how it numbers lines | 676 | ;; strange about how it numbers lines |
| @@ -862,16 +862,16 @@ This is *not* a user option, since Emerge uses it for its own processing.") | |||
| 862 | ;; it is a "c" group | 862 | ;; it is a "c" group |
| 863 | (if (match-beginning 2) | 863 | (if (match-beginning 2) |
| 864 | ;; it has two numbers | 864 | ;; it has two numbers |
| 865 | (list (string-to-int | 865 | (list (string-to-number |
| 866 | (buffer-substring (match-beginning 1) (match-end 1))) | 866 | (buffer-substring (match-beginning 1) (match-end 1))) |
| 867 | (1+ (string-to-int | 867 | (1+ (string-to-number |
| 868 | (buffer-substring (match-beginning 3) (match-end 3))))) | 868 | (buffer-substring (match-beginning 3) (match-end 3))))) |
| 869 | ;; it has one number | 869 | ;; it has one number |
| 870 | (let ((x (string-to-int | 870 | (let ((x (string-to-number |
| 871 | (buffer-substring (match-beginning 1) (match-end 1))))) | 871 | (buffer-substring (match-beginning 1) (match-end 1))))) |
| 872 | (list x (1+ x)))) | 872 | (list x (1+ x)))) |
| 873 | ;; it is an "a" group | 873 | ;; it is an "a" group |
| 874 | (let ((x (1+ (string-to-int | 874 | (let ((x (1+ (string-to-number |
| 875 | (buffer-substring (match-beginning 1) (match-end 1)))))) | 875 | (buffer-substring (match-beginning 1) (match-end 1)))))) |
| 876 | (list x x))))) | 876 | (list x x))))) |
| 877 | 877 | ||
diff --git a/lisp/emulation/crisp.el b/lisp/emulation/crisp.el index 2ca819c0424..97706fdfab0 100644 --- a/lisp/emulation/crisp.el +++ b/lisp/emulation/crisp.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; crisp.el --- CRiSP/Brief Emacs emulator | 1 | ;;; crisp.el --- CRiSP/Brief Emacs emulator |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997, 1998, 1999, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Gary D. Foster <Gary.Foster@Corp.Sun.COM> | 5 | ;; Author: Gary D. Foster <Gary.Foster@Corp.Sun.COM> |
| 6 | ;; Keywords: emulations brief crisp | 6 | ;; Keywords: emulations brief crisp |
| @@ -386,10 +386,8 @@ With ARG, turn CRiSP mode on if ARG is positive, off otherwise." | |||
| 386 | minor-mode-map-alist)))) | 386 | minor-mode-map-alist)))) |
| 387 | 387 | ||
| 388 | ;; Interaction with other packages. | 388 | ;; Interaction with other packages. |
| 389 | (eval-after-load 'cua | 389 | (put 'crisp-home 'CUA 'move) |
| 390 | '(progn | 390 | (put 'crisp-end 'CUA 'move) |
| 391 | (add-to-list 'cua--standard-movement-commands 'crisp-home) | ||
| 392 | (add-to-list 'cua--standard-movement-commands 'crisp-end))) | ||
| 393 | 391 | ||
| 394 | (run-hooks 'crisp-load-hook) | 392 | (run-hooks 'crisp-load-hook) |
| 395 | (provide 'crisp) | 393 | (provide 'crisp) |
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index e9679c66dd3..6ea6bfb7f3d 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; cua-base.el --- emulate CUA key bindings | 1 | ;;; cua-base.el --- emulate CUA key bindings |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 | 3 | ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2005 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Kim F. Storm <storm@cua.dk> | 6 | ;; Author: Kim F. Storm <storm@cua.dk> |
| @@ -159,13 +159,13 @@ | |||
| 159 | ;; left edge of a rectangle start in the middle of a TAB character. | 159 | ;; left edge of a rectangle start in the middle of a TAB character. |
| 160 | ;; Sounds strange? Try it! | 160 | ;; Sounds strange? Try it! |
| 161 | ;; | 161 | ;; |
| 162 | ;; To start a rectangle, use [S-return] and extend it using the normal | 162 | ;; To start a rectangle, use [C-return] and extend it using the normal |
| 163 | ;; movement keys (up, down, left, right, home, end, C-home, | 163 | ;; movement keys (up, down, left, right, home, end, C-home, |
| 164 | ;; C-end). Once the rectangle has the desired size, you can cut or | 164 | ;; C-end). Once the rectangle has the desired size, you can cut or |
| 165 | ;; copy it using C-x and C-c (or C-w and M-w), and you can | 165 | ;; copy it using C-x and C-c (or C-w and M-w), and you can |
| 166 | ;; subsequently insert it - as a rectangle - using C-v (or C-y). So | 166 | ;; subsequently insert it - as a rectangle - using C-v (or C-y). So |
| 167 | ;; the only new command you need to know to work with cua-mode | 167 | ;; the only new command you need to know to work with cua-mode |
| 168 | ;; rectangles is S-return! | 168 | ;; rectangles is C-return! |
| 169 | ;; | 169 | ;; |
| 170 | ;; Normally, when you paste a rectangle using C-v (C-y), each line of | 170 | ;; Normally, when you paste a rectangle using C-v (C-y), each line of |
| 171 | ;; the rectangle is inserted into the existing lines in the buffer. | 171 | ;; the rectangle is inserted into the existing lines in the buffer. |
| @@ -183,7 +183,7 @@ | |||
| 183 | ;; entire rectangle overlay (but not the contents) in the given | 183 | ;; entire rectangle overlay (but not the contents) in the given |
| 184 | ;; direction. | 184 | ;; direction. |
| 185 | ;; | 185 | ;; |
| 186 | ;; [S-return] cancels the rectangle | 186 | ;; [C-return] cancels the rectangle |
| 187 | ;; [C-space] activates the region bounded by the rectangle | 187 | ;; [C-space] activates the region bounded by the rectangle |
| 188 | 188 | ||
| 189 | ;; If you type a normal (self-inserting) character when the rectangle is | 189 | ;; If you type a normal (self-inserting) character when the rectangle is |
| @@ -194,7 +194,7 @@ | |||
| 194 | ;; bottom of the rectangle. So, for example, to comment out an entire | 194 | ;; bottom of the rectangle. So, for example, to comment out an entire |
| 195 | ;; paragraph like this one, just place the cursor on the first character | 195 | ;; paragraph like this one, just place the cursor on the first character |
| 196 | ;; of the first line, and enter the following: | 196 | ;; of the first line, and enter the following: |
| 197 | ;; S-return M-} ; ; <space> S-return | 197 | ;; C-return M-} ; ; <space> C-return |
| 198 | 198 | ||
| 199 | ;; cua-mode's rectangle support also includes all the normal rectangle | 199 | ;; cua-mode's rectangle support also includes all the normal rectangle |
| 200 | ;; functions with easy access: | 200 | ;; functions with easy access: |
| @@ -330,12 +330,12 @@ interpreted as a register number." | |||
| 330 | :group 'cua) | 330 | :group 'cua) |
| 331 | 331 | ||
| 332 | (defcustom cua-use-hyper-key nil | 332 | (defcustom cua-use-hyper-key nil |
| 333 | "*If non-nil, bind rectangle commands to H-? instead of M-?. | 333 | "*If non-nil, bind rectangle commands to H-... instead of M-.... |
| 334 | If set to 'also, toggle region command is also on S-return. | 334 | If set to 'also, toggle region command is also on C-return. |
| 335 | Must be set prior to enabling CUA." | 335 | Must be set prior to enabling CUA." |
| 336 | :type '(choice (const :tag "Meta key and S-return" nil) | 336 | :type '(choice (const :tag "Meta key and C-return" nil) |
| 337 | (const :tag "Hyper key only" only) | 337 | (const :tag "Hyper key only" only) |
| 338 | (const :tag "Hyper key and S-return" also)) | 338 | (const :tag "Hyper key and C-return" also)) |
| 339 | :group 'cua) | 339 | :group 'cua) |
| 340 | 340 | ||
| 341 | (defcustom cua-enable-region-auto-help nil | 341 | (defcustom cua-enable-region-auto-help nil |
| @@ -1235,7 +1235,7 @@ If ARG is the atom `-', scroll upward by nearly full screen." | |||
| 1235 | 1235 | ||
| 1236 | (defun cua--init-keymaps () | 1236 | (defun cua--init-keymaps () |
| 1237 | (unless (eq cua-use-hyper-key 'only) | 1237 | (unless (eq cua-use-hyper-key 'only) |
| 1238 | (define-key cua-global-keymap [(shift return)] 'cua-set-rectangle-mark)) | 1238 | (define-key cua-global-keymap [(control return)] 'cua-set-rectangle-mark)) |
| 1239 | (when cua-use-hyper-key | 1239 | (when cua-use-hyper-key |
| 1240 | (cua--M/H-key cua-global-keymap 'space 'cua-set-rectangle-mark) | 1240 | (cua--M/H-key cua-global-keymap 'space 'cua-set-rectangle-mark) |
| 1241 | (define-key cua-global-keymap [(hyper mouse-1)] 'cua-mouse-set-rectangle-mark)) | 1241 | (define-key cua-global-keymap [(hyper mouse-1)] 'cua-mouse-set-rectangle-mark)) |
diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el index 5c24c2dc36f..932448079dd 100644 --- a/lisp/emulation/cua-rect.el +++ b/lisp/emulation/cua-rect.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; cua-rect.el --- CUA unified rectangle support | 1 | ;;; cua-rect.el --- CUA unified rectangle support |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997-2002, 2004, 2005 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997-2002, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Kim F. Storm <storm@cua.dk> | 5 | ;; Author: Kim F. Storm <storm@cua.dk> |
| 6 | ;; Keywords: keyboard emulations convenience CUA | 6 | ;; Keywords: keyboard emulations convenience CUA |
| @@ -1403,8 +1403,8 @@ With prefix arg, indent to that column." | |||
| 1403 | 1403 | ||
| 1404 | (defun cua--init-rectangles () | 1404 | (defun cua--init-rectangles () |
| 1405 | (unless (eq cua-use-hyper-key 'only) | 1405 | (unless (eq cua-use-hyper-key 'only) |
| 1406 | (define-key cua--rectangle-keymap [(shift return)] 'cua-clear-rectangle-mark) | 1406 | (define-key cua--rectangle-keymap [(control return)] 'cua-clear-rectangle-mark) |
| 1407 | (define-key cua--region-keymap [(shift return)] 'cua-toggle-rectangle-mark)) | 1407 | (define-key cua--region-keymap [(control return)] 'cua-toggle-rectangle-mark)) |
| 1408 | (when cua-use-hyper-key | 1408 | (when cua-use-hyper-key |
| 1409 | (cua--rect-M/H-key 'space 'cua-clear-rectangle-mark) | 1409 | (cua--rect-M/H-key 'space 'cua-clear-rectangle-mark) |
| 1410 | (cua--M/H-key cua--region-keymap 'space 'cua-toggle-rectangle-mark)) | 1410 | (cua--M/H-key cua--region-keymap 'space 'cua-toggle-rectangle-mark)) |
diff --git a/lisp/emulation/edt.el b/lisp/emulation/edt.el index ff0298e9a17..01f0af6f307 100644 --- a/lisp/emulation/edt.el +++ b/lisp/emulation/edt.el | |||
| @@ -1256,16 +1256,16 @@ Argument BOTTOM is the bottom margin in number of lines or percent of window." | |||
| 1256 | ;; set top scroll margin | 1256 | ;; set top scroll margin |
| 1257 | (or (string= top "") | 1257 | (or (string= top "") |
| 1258 | (if (string= "%" (substring top -1)) | 1258 | (if (string= "%" (substring top -1)) |
| 1259 | (setq edt-top-scroll-margin (string-to-int top)) | 1259 | (setq edt-top-scroll-margin (string-to-number top)) |
| 1260 | (setq edt-top-scroll-margin | 1260 | (setq edt-top-scroll-margin |
| 1261 | (/ (1- (+ (* (string-to-int top) 100) (window-height))) | 1261 | (/ (1- (+ (* (string-to-number top) 100) (window-height))) |
| 1262 | (window-height))))) | 1262 | (window-height))))) |
| 1263 | ;; set bottom scroll margin | 1263 | ;; set bottom scroll margin |
| 1264 | (or (string= bottom "") | 1264 | (or (string= bottom "") |
| 1265 | (if (string= "%" (substring bottom -1)) | 1265 | (if (string= "%" (substring bottom -1)) |
| 1266 | (setq edt-bottom-scroll-margin (string-to-int bottom)) | 1266 | (setq edt-bottom-scroll-margin (string-to-number bottom)) |
| 1267 | (setq edt-bottom-scroll-margin | 1267 | (setq edt-bottom-scroll-margin |
| 1268 | (/ (1- (+ (* (string-to-int bottom) 100) (window-height))) | 1268 | (/ (1- (+ (* (string-to-number bottom) 100) (window-height))) |
| 1269 | (window-height))))) | 1269 | (window-height))))) |
| 1270 | ;; report scroll margin settings if running interactively | 1270 | ;; report scroll margin settings if running interactively |
| 1271 | (and (interactive-p) | 1271 | (and (interactive-p) |
diff --git a/lisp/emulation/pc-select.el b/lisp/emulation/pc-select.el index 188e335687c..1221fca5199 100644 --- a/lisp/emulation/pc-select.el +++ b/lisp/emulation/pc-select.el | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | ;;; (or MAC GUI or MS-windoze (bah)) look-and-feel | 2 | ;;; (or MAC GUI or MS-windoze (bah)) look-and-feel |
| 3 | ;;; including key bindings. | 3 | ;;; including key bindings. |
| 4 | 4 | ||
| 5 | ;; Copyright (C) 1995, 1996, 1997, 2000, 2001 Free Software Foundation, Inc. | 5 | ;; Copyright (C) 1995, 1996, 1997, 2000, 2001, 2005 Free Software Foundation, Inc. |
| 6 | 6 | ||
| 7 | ;; Author: Michael Staats <michael@thp.Uni-Duisburg.DE> | 7 | ;; Author: Michael Staats <michael@thp.Uni-Duisburg.DE> |
| 8 | ;; Keywords: convenience emulation | 8 | ;; Keywords: convenience emulation |
diff --git a/lisp/emulation/tpu-edt.el b/lisp/emulation/tpu-edt.el index f8f608b01d0..ec0eef05321 100644 --- a/lisp/emulation/tpu-edt.el +++ b/lisp/emulation/tpu-edt.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; tpu-edt.el --- Emacs emulating TPU emulating EDT | 1 | ;;; tpu-edt.el --- Emacs emulating TPU emulating EDT |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1994, 1995, 2000 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1993, 1994, 1995, 2000, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Rob Riepel <riepel@networking.stanford.edu> | 5 | ;; Author: Rob Riepel <riepel@networking.stanford.edu> |
| 6 | ;; Maintainer: Rob Riepel <riepel@networking.stanford.edu> | 6 | ;; Maintainer: Rob Riepel <riepel@networking.stanford.edu> |
diff --git a/lisp/emulation/tpu-extras.el b/lisp/emulation/tpu-extras.el index ced88ff3fdf..9c417dd3a40 100644 --- a/lisp/emulation/tpu-extras.el +++ b/lisp/emulation/tpu-extras.el | |||
| @@ -440,16 +440,16 @@ version that respects the bottom scroll margin." | |||
| 440 | ;; set top scroll margin | 440 | ;; set top scroll margin |
| 441 | (or (string= top "") | 441 | (or (string= top "") |
| 442 | (if (string= "%" (substring top -1)) | 442 | (if (string= "%" (substring top -1)) |
| 443 | (setq tpu-top-scroll-margin (string-to-int top)) | 443 | (setq tpu-top-scroll-margin (string-to-number top)) |
| 444 | (setq tpu-top-scroll-margin | 444 | (setq tpu-top-scroll-margin |
| 445 | (/ (1- (+ (* (string-to-int top) 100) (window-height))) | 445 | (/ (1- (+ (* (string-to-number top) 100) (window-height))) |
| 446 | (window-height))))) | 446 | (window-height))))) |
| 447 | ;; set bottom scroll margin | 447 | ;; set bottom scroll margin |
| 448 | (or (string= bottom "") | 448 | (or (string= bottom "") |
| 449 | (if (string= "%" (substring bottom -1)) | 449 | (if (string= "%" (substring bottom -1)) |
| 450 | (setq tpu-bottom-scroll-margin (string-to-int bottom)) | 450 | (setq tpu-bottom-scroll-margin (string-to-number bottom)) |
| 451 | (setq tpu-bottom-scroll-margin | 451 | (setq tpu-bottom-scroll-margin |
| 452 | (/ (1- (+ (* (string-to-int bottom) 100) (window-height))) | 452 | (/ (1- (+ (* (string-to-number bottom) 100) (window-height))) |
| 453 | (window-height))))) | 453 | (window-height))))) |
| 454 | ;; report scroll margin settings if running interactively | 454 | ;; report scroll margin settings if running interactively |
| 455 | (and (interactive-p) | 455 | (and (interactive-p) |
diff --git a/lisp/emulation/vip.el b/lisp/emulation/vip.el index af878085ba8..19f08d54989 100644 --- a/lisp/emulation/vip.el +++ b/lisp/emulation/vip.el | |||
| @@ -2177,7 +2177,7 @@ a token has type \(command, address, end-mark\) and value." | |||
| 2177 | (cond ((string= ex-token-type "plus") "add-number") | 2177 | (cond ((string= ex-token-type "plus") "add-number") |
| 2178 | ((string= ex-token-type "minus") "sub-number") | 2178 | ((string= ex-token-type "minus") "sub-number") |
| 2179 | (t "abs-number"))) | 2179 | (t "abs-number"))) |
| 2180 | (setq ex-token (string-to-int (buffer-substring (point) (mark))))) | 2180 | (setq ex-token (string-to-number (buffer-substring (point) (mark))))) |
| 2181 | ((looking-at "\\$") | 2181 | ((looking-at "\\$") |
| 2182 | (forward-char 1) | 2182 | (forward-char 1) |
| 2183 | (setq ex-token-type "end")) | 2183 | (setq ex-token-type "end")) |
| @@ -2471,7 +2471,7 @@ a token has type \(command, address, end-mark\) and value." | |||
| 2471 | (progn | 2471 | (progn |
| 2472 | (set-mark (point)) | 2472 | (set-mark (point)) |
| 2473 | (re-search-forward "[0-9][0-9]*") | 2473 | (re-search-forward "[0-9][0-9]*") |
| 2474 | (setq ex-count (string-to-int (buffer-substring (point) (mark)))) | 2474 | (setq ex-count (string-to-number (buffer-substring (point) (mark)))) |
| 2475 | (skip-chars-forward " \t"))) | 2475 | (skip-chars-forward " \t"))) |
| 2476 | (if (looking-at "[pl#]") | 2476 | (if (looking-at "[pl#]") |
| 2477 | (progn | 2477 | (progn |
| @@ -2496,7 +2496,7 @@ a token has type \(command, address, end-mark\) and value." | |||
| 2496 | (progn | 2496 | (progn |
| 2497 | (set-mark (point)) | 2497 | (set-mark (point)) |
| 2498 | (re-search-forward "[0-9][0-9]*") | 2498 | (re-search-forward "[0-9][0-9]*") |
| 2499 | (setq ex-count (string-to-int (buffer-substring (point) (mark)))) | 2499 | (setq ex-count (string-to-number (buffer-substring (point) (mark)))) |
| 2500 | (skip-chars-forward " \t"))) | 2500 | (skip-chars-forward " \t"))) |
| 2501 | (if (looking-at "[pl#]") | 2501 | (if (looking-at "[pl#]") |
| 2502 | (progn | 2502 | (progn |
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el index 8023336b18b..4593d84c6fc 100644 --- a/lisp/emulation/viper-cmd.el +++ b/lisp/emulation/viper-cmd.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; viper-cmd.el --- Vi command support for Viper | 1 | ;;; viper-cmd.el --- Vi command support for Viper |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997, 98, 99, 2000, 01, 02 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997, 98, 99, 2000, 01, 02, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> | 5 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> |
| 6 | 6 | ||
diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el index 90b006ffb65..7e8a5cbeb99 100644 --- a/lisp/emulation/viper-ex.el +++ b/lisp/emulation/viper-ex.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; viper-ex.el --- functions implementing the Ex commands for Viper | 1 | ;;; viper-ex.el --- functions implementing the Ex commands for Viper |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1994, 95, 96, 97, 98, 2000, 01, 02, 04, 05 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1994, 95, 96, 97, 98, 2000, 01, 02, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> | 5 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> |
| 6 | 6 | ||
| @@ -434,7 +434,7 @@ reversed." | |||
| 434 | ((eq ex-token-type 'minus) 'sub-number) | 434 | ((eq ex-token-type 'minus) 'sub-number) |
| 435 | (t 'abs-number))) | 435 | (t 'abs-number))) |
| 436 | (setq ex-token | 436 | (setq ex-token |
| 437 | (string-to-int (buffer-substring (point) (mark t))))) | 437 | (string-to-number (buffer-substring (point) (mark t))))) |
| 438 | ((looking-at "\\$") | 438 | ((looking-at "\\$") |
| 439 | (forward-char 1) | 439 | (forward-char 1) |
| 440 | (setq ex-token-type 'end)) | 440 | (setq ex-token-type 'end)) |
| @@ -912,7 +912,7 @@ reversed." | |||
| 912 | (progn | 912 | (progn |
| 913 | (set-mark (point)) | 913 | (set-mark (point)) |
| 914 | (re-search-forward "[0-9][0-9]*") | 914 | (re-search-forward "[0-9][0-9]*") |
| 915 | (setq ex-count (string-to-int (buffer-substring (point) (mark t)))) | 915 | (setq ex-count (string-to-number (buffer-substring (point) (mark t)))) |
| 916 | (skip-chars-forward " \t"))) | 916 | (skip-chars-forward " \t"))) |
| 917 | (if (looking-at "[pl#]") | 917 | (if (looking-at "[pl#]") |
| 918 | (progn | 918 | (progn |
| @@ -938,7 +938,7 @@ reversed." | |||
| 938 | (progn | 938 | (progn |
| 939 | (set-mark (point)) | 939 | (set-mark (point)) |
| 940 | (re-search-forward "[0-9][0-9]*") | 940 | (re-search-forward "[0-9][0-9]*") |
| 941 | (setq ex-count (string-to-int (buffer-substring (point) (mark t)))) | 941 | (setq ex-count (string-to-number (buffer-substring (point) (mark t)))) |
| 942 | (skip-chars-forward " \t"))) | 942 | (skip-chars-forward " \t"))) |
| 943 | (if (looking-at "[pl#]") | 943 | (if (looking-at "[pl#]") |
| 944 | (progn | 944 | (progn |
| @@ -1490,7 +1490,7 @@ reversed." | |||
| 1490 | (progn | 1490 | (progn |
| 1491 | (ex-edit t) | 1491 | (ex-edit t) |
| 1492 | (throw 'ex-edit nil)) | 1492 | (throw 'ex-edit nil)) |
| 1493 | (setq count (string-to-int ex-file)) | 1493 | (setq count (string-to-number ex-file)) |
| 1494 | (if (= count 0) (setq count 1)) | 1494 | (if (= count 0) (setq count 1)) |
| 1495 | (if (< count 0) (error "Usage: `next <count>' (count >= 0)")))) | 1495 | (if (< count 0) (error "Usage: `next <count>' (count >= 0)")))) |
| 1496 | (setq count 1)) | 1496 | (setq count 1)) |
diff --git a/lisp/emulation/viper-keym.el b/lisp/emulation/viper-keym.el index e5074b95838..a74ca05b3df 100644 --- a/lisp/emulation/viper-keym.el +++ b/lisp/emulation/viper-keym.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; viper-keym.el --- Viper keymaps | 1 | ;;; viper-keym.el --- Viper keymaps |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1994, 95, 96, 97, 2000, 01, 02 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1994, 95, 96, 97, 2000, 01, 02, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> | 5 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> |
| 6 | 6 | ||
diff --git a/lisp/emulation/viper-macs.el b/lisp/emulation/viper-macs.el index df0e37e7c25..9fd73efb9b9 100644 --- a/lisp/emulation/viper-macs.el +++ b/lisp/emulation/viper-macs.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; viper-macs.el --- functions implementing keyboard macros for Viper | 1 | ;;; viper-macs.el --- functions implementing keyboard macros for Viper |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1994, 95, 96, 97, 2000, 01, 02 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1994, 95, 96, 97, 2000, 01, 02, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> | 5 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> |
| 6 | 6 | ||
diff --git a/lisp/emulation/viper-util.el b/lisp/emulation/viper-util.el index 527a04084e2..497e4a1e559 100644 --- a/lisp/emulation/viper-util.el +++ b/lisp/emulation/viper-util.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; viper-util.el --- Utilities used by viper.el | 1 | ;;; viper-util.el --- Utilities used by viper.el |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1994, 95, 96, 97, 99, 2000, 01, 02 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1994, 95, 96, 97, 99, 2000, 01, 02, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> | 5 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> |
| 6 | 6 | ||
diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el index be5a8e3467a..e3582f2165a 100644 --- a/lisp/emulation/viper.el +++ b/lisp/emulation/viper.el | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | ;; and a venomous VI PERil. | 3 | ;; and a venomous VI PERil. |
| 4 | ;; Viper Is also a Package for Emacs Rebels. | 4 | ;; Viper Is also a Package for Emacs Rebels. |
| 5 | 5 | ||
| 6 | ;; Copyright (C) 1994, 95, 96, 97, 98, 99, 2000, 01, 02, 05 Free Software Foundation, Inc. | 6 | ;; Copyright (C) 1994, 95, 96, 97, 98, 99, 2000, 01, 02, 2005 Free Software Foundation, Inc. |
| 7 | 7 | ||
| 8 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> | 8 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> |
| 9 | ;; Keywords: emulations | 9 | ;; Keywords: emulations |
diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el index cbee9fd626e..050c82cc310 100644 --- a/lisp/eshell/esh-mode.el +++ b/lisp/eshell/esh-mode.el | |||
| @@ -520,7 +520,8 @@ This is used by `eshell-watch-for-password-prompt'." | |||
| 520 | (let ((inhibit-read-only t) | 520 | (let ((inhibit-read-only t) |
| 521 | (no-default (eobp)) | 521 | (no-default (eobp)) |
| 522 | (find-tag-default-function 'ignore)) | 522 | (find-tag-default-function 'ignore)) |
| 523 | (setq tagname (car (find-tag-interactive "Find tag: "))) | 523 | (with-no-warnings |
| 524 | (setq tagname (car (find-tag-interactive "Find tag: ")))) | ||
| 524 | (find-tag tagname next-p regexp-p))) | 525 | (find-tag tagname next-p regexp-p))) |
| 525 | 526 | ||
| 526 | (defun eshell-move-argument (limit func property arg) | 527 | (defun eshell-move-argument (limit func property arg) |
| @@ -666,7 +667,7 @@ waiting for input." | |||
| 666 | (eshell-match-result "alpha\n")) | 667 | (eshell-match-result "alpha\n")) |
| 667 | 668 | ||
| 668 | (defun eshell-send-input (&optional use-region queue-p no-newline) | 669 | (defun eshell-send-input (&optional use-region queue-p no-newline) |
| 669 | "Send the input received to Eshell for parsing and processing.. | 670 | "Send the input received to Eshell for parsing and processing. |
| 670 | After `eshell-last-output-end', sends all text from that marker to | 671 | After `eshell-last-output-end', sends all text from that marker to |
| 671 | point as input. Before that marker, calls `eshell-get-old-input' to | 672 | point as input. Before that marker, calls `eshell-get-old-input' to |
| 672 | retrieve old input, copies it to the end of the buffer, and sends it. | 673 | retrieve old input, copies it to the end of the buffer, and sends it. |
diff --git a/lisp/faces.el b/lisp/faces.el index 3b620927d10..f4522c8a155 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -1014,7 +1014,7 @@ name of the attribute for prompting. Value is the new attribute value." | |||
| 1014 | ((member new-value '("unspecified-fg" "unspecified-bg")) | 1014 | ((member new-value '("unspecified-fg" "unspecified-bg")) |
| 1015 | new-value) | 1015 | new-value) |
| 1016 | (t | 1016 | (t |
| 1017 | (string-to-int new-value))))) | 1017 | (string-to-number new-value))))) |
| 1018 | 1018 | ||
| 1019 | 1019 | ||
| 1020 | (defun read-face-attribute (face attribute &optional frame) | 1020 | (defun read-face-attribute (face attribute &optional frame) |
| @@ -1184,6 +1184,7 @@ arg, prompt for a regular expression." | |||
| 1184 | (save-excursion | 1184 | (save-excursion |
| 1185 | (save-match-data | 1185 | (save-match-data |
| 1186 | (search-backward face-name) | 1186 | (search-backward face-name) |
| 1187 | (setq help-xref-stack-item `(list-faces-display ,regexp)) | ||
| 1187 | (help-xref-button 0 'help-customize-face face))) | 1188 | (help-xref-button 0 'help-customize-face face))) |
| 1188 | (let ((beg (point)) | 1189 | (let ((beg (point)) |
| 1189 | (line-beg (line-beginning-position))) | 1190 | (line-beg (line-beginning-position))) |
| @@ -1258,17 +1259,32 @@ If FRAME is omitted or nil, use the selected frame." | |||
| 1258 | (insert "Face: " (symbol-name f)) | 1259 | (insert "Face: " (symbol-name f)) |
| 1259 | (if (not (facep f)) | 1260 | (if (not (facep f)) |
| 1260 | (insert " undefined face.\n") | 1261 | (insert " undefined face.\n") |
| 1261 | (let ((customize-label "customize this face")) | 1262 | (let ((customize-label "customize this face") |
| 1263 | file-name) | ||
| 1262 | (princ (concat " (" customize-label ")\n")) | 1264 | (princ (concat " (" customize-label ")\n")) |
| 1263 | (insert "Documentation: " | 1265 | (insert "Documentation: " |
| 1264 | (or (face-documentation f) | 1266 | (or (face-documentation f) |
| 1265 | "Not documented as a face.") | 1267 | "Not documented as a face.") |
| 1266 | "\n\n") | 1268 | "\n") |
| 1267 | (with-current-buffer standard-output | 1269 | (with-current-buffer standard-output |
| 1268 | (save-excursion | 1270 | (save-excursion |
| 1269 | (re-search-backward | 1271 | (re-search-backward |
| 1270 | (concat "\\(" customize-label "\\)") nil t) | 1272 | (concat "\\(" customize-label "\\)") nil t) |
| 1271 | (help-xref-button 1 'help-customize-face f))) | 1273 | (help-xref-button 1 'help-customize-face f))) |
| 1274 | ;; The next 4 sexps are copied from describe-function-1 | ||
| 1275 | ;; and simplified. | ||
| 1276 | (setq file-name (symbol-file f 'defface)) | ||
| 1277 | (when file-name | ||
| 1278 | (princ "Defined in `") | ||
| 1279 | (princ file-name) | ||
| 1280 | (princ "'") | ||
| 1281 | ;; Make a hyperlink to the library. | ||
| 1282 | (save-excursion | ||
| 1283 | (re-search-backward "`\\([^`']+\\)'" nil t) | ||
| 1284 | (help-xref-button 1 'help-face-def f file-name)) | ||
| 1285 | (princ ".") | ||
| 1286 | (terpri) | ||
| 1287 | (terpri)) | ||
| 1272 | (dolist (a attrs) | 1288 | (dolist (a attrs) |
| 1273 | (let ((attr (face-attribute f (car a) frame))) | 1289 | (let ((attr (face-attribute f (car a) frame))) |
| 1274 | (insert (make-string (- max-width (length (cdr a))) ?\ ) | 1290 | (insert (make-string (- max-width (length (cdr a))) ?\ ) |
| @@ -2048,7 +2064,7 @@ Note: Other faces cannot inherit from the cursor face." | |||
| 2048 | (t :inverse-video t)) | 2064 | (t :inverse-video t)) |
| 2049 | "Basic face for highlighting trailing whitespace." | 2065 | "Basic face for highlighting trailing whitespace." |
| 2050 | :version "21.1" | 2066 | :version "21.1" |
| 2051 | :group 'font-lock ; like `show-trailing-whitespace' | 2067 | :group 'whitespace ; like `show-trailing-whitespace' |
| 2052 | :group 'basic-faces) | 2068 | :group 'basic-faces) |
| 2053 | 2069 | ||
| 2054 | (defface escape-glyph '((((background dark)) :foreground "cyan") | 2070 | (defface escape-glyph '((((background dark)) :foreground "cyan") |
diff --git a/lisp/files.el b/lisp/files.el index 99847b2f3fc..d519f041152 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -541,7 +541,7 @@ DIR should be an absolute directory name. It defaults to | |||
| 541 | the value of `default-directory'." | 541 | the value of `default-directory'." |
| 542 | (unless dir | 542 | (unless dir |
| 543 | (setq dir default-directory)) | 543 | (setq dir default-directory)) |
| 544 | (read-file-name prompt dir (or default-dirname | 544 | (read-file-name prompt dir (or default-dirname |
| 545 | (if initial (expand-file-name initial dir) | 545 | (if initial (expand-file-name initial dir) |
| 546 | dir)) | 546 | dir)) |
| 547 | mustmatch initial | 547 | mustmatch initial |
| @@ -1728,10 +1728,10 @@ or from Lisp without specifying the optional argument FIND-FILE; | |||
| 1728 | in that case, this function acts as if `enable-local-variables' were t." | 1728 | in that case, this function acts as if `enable-local-variables' were t." |
| 1729 | (interactive) | 1729 | (interactive) |
| 1730 | (or find-file (funcall (or default-major-mode 'fundamental-mode))) | 1730 | (or find-file (funcall (or default-major-mode 'fundamental-mode))) |
| 1731 | (report-errors "File mode specification error: %s" | 1731 | (let ((enable-local-variables (or (not find-file) enable-local-variables))) |
| 1732 | (set-auto-mode)) | 1732 | (report-errors "File mode specification error: %s" |
| 1733 | (report-errors "File local-variables error: %s" | 1733 | (set-auto-mode)) |
| 1734 | (let ((enable-local-variables (or (not find-file) enable-local-variables))) | 1734 | (report-errors "File local-variables error: %s" |
| 1735 | (hack-local-variables))) | 1735 | (hack-local-variables))) |
| 1736 | (if (fboundp 'ucs-set-table-for-input) ; don't lose when building | 1736 | (if (fboundp 'ucs-set-table-for-input) ; don't lose when building |
| 1737 | (ucs-set-table-for-input))) | 1737 | (ucs-set-table-for-input))) |
| @@ -1762,9 +1762,11 @@ in that case, this function acts as if `enable-local-variables' were t." | |||
| 1762 | ("\\.ad[abs]\\'" . ada-mode) | 1762 | ("\\.ad[abs]\\'" . ada-mode) |
| 1763 | ("\\.ad[bs].dg\\'" . ada-mode) | 1763 | ("\\.ad[bs].dg\\'" . ada-mode) |
| 1764 | ("\\.\\([pP]\\([Llm]\\|erl\\|od\\)\\|al\\)\\'" . perl-mode) | 1764 | ("\\.\\([pP]\\([Llm]\\|erl\\|od\\)\\|al\\)\\'" . perl-mode) |
| 1765 | ("\\.mk\\'" . makefile-mode) | 1765 | ("\\.mk\\'" . makefile-gmake-mode) ; Might be any make, give Gnu the host advantage |
| 1766 | ("\\([Mm]\\|GNUm\\)akep*file\\'" . makefile-mode) | 1766 | ("[Mm]akefile\\'" . makefile-mode) |
| 1767 | ("\\.am\\'" . makefile-mode) ;For Automake. | 1767 | ("GNUmakefile\\'" . makefile-gmake-mode) |
| 1768 | ("Makeppfile\\'" . makefile-makepp-mode) | ||
| 1769 | ("\\.am\\'" . makefile-automake-mode) | ||
| 1768 | ;; Less common extensions come here | 1770 | ;; Less common extensions come here |
| 1769 | ;; so more common ones above are found faster. | 1771 | ;; so more common ones above are found faster. |
| 1770 | ("\\.texinfo\\'" . texinfo-mode) | 1772 | ("\\.texinfo\\'" . texinfo-mode) |
| @@ -1936,13 +1938,13 @@ and `magic-mode-alist', which determines modes based on file contents.") | |||
| 1936 | ("more" . text-mode) | 1938 | ("more" . text-mode) |
| 1937 | ("less" . text-mode) | 1939 | ("less" . text-mode) |
| 1938 | ("pg" . text-mode) | 1940 | ("pg" . text-mode) |
| 1939 | ("make" . makefile-mode) ; Debian uses this | 1941 | ("make" . makefile-gmake-mode) ; Debian uses this |
| 1940 | ("guile" . scheme-mode) | 1942 | ("guile" . scheme-mode) |
| 1941 | ("clisp" . lisp-mode))) | 1943 | ("clisp" . lisp-mode))) |
| 1942 | "Alist mapping interpreter names to major modes. | 1944 | "Alist mapping interpreter names to major modes. |
| 1943 | This is used for files whose first lines match `auto-mode-interpreter-regexp'. | 1945 | This is used for files whose first lines match `auto-mode-interpreter-regexp'. |
| 1944 | Each element looks like (INTERPRETER . MODE). | 1946 | Each element looks like (INTERPRETER . MODE). |
| 1945 | The car of each element is compared with | 1947 | The car of each element, a regular expression, is compared with |
| 1946 | the name of the interpreter specified in the first line. | 1948 | the name of the interpreter specified in the first line. |
| 1947 | If it matches, mode MODE is selected. | 1949 | If it matches, mode MODE is selected. |
| 1948 | 1950 | ||
| @@ -1959,13 +1961,12 @@ from the end of the file name anything that matches one of these regexps.") | |||
| 1959 | (defvar auto-mode-interpreter-regexp | 1961 | (defvar auto-mode-interpreter-regexp |
| 1960 | "#![ \t]?\\([^ \t\n]*\ | 1962 | "#![ \t]?\\([^ \t\n]*\ |
| 1961 | /bin/env[ \t]\\)?\\([^ \t\n]+\\)" | 1963 | /bin/env[ \t]\\)?\\([^ \t\n]+\\)" |
| 1962 | "Regular expression matching interpreters, for file mode determination. | 1964 | "Regexp matching interpreters, for file mode determination. |
| 1963 | This regular expression is matched against the first line of a file | 1965 | This regular expression is matched against the first line of a file |
| 1964 | to determine the file's mode in `set-auto-mode' when Emacs can't deduce | 1966 | to determine the file's mode in `set-auto-mode'. If it matches, the file |
| 1965 | a mode from the file's name. If it matches, the file is assumed to | 1967 | is assumed to be interpreted by the interpreter matched by the second group |
| 1966 | be interpreted by the interpreter matched by the second group of the | 1968 | of the regular expression. The mode is then determined as the mode |
| 1967 | regular expression. The mode is then determined as the mode associated | 1969 | associated with that interpreter in `interpreter-mode-alist'.") |
| 1968 | with that interpreter in `interpreter-mode-alist'.") | ||
| 1969 | 1970 | ||
| 1970 | (defvar magic-mode-alist | 1971 | (defvar magic-mode-alist |
| 1971 | `(;; The < comes before the groups (but the first) to reduce backtracking. | 1972 | `(;; The < comes before the groups (but the first) to reduce backtracking. |
| @@ -1992,7 +1993,7 @@ if REGEXP matches the text at the beginning of the buffer, | |||
| 1992 | to decide the buffer's major mode. | 1993 | to decide the buffer's major mode. |
| 1993 | 1994 | ||
| 1994 | If FUNCTION is nil, then it is not called. (That is a way of saying | 1995 | If FUNCTION is nil, then it is not called. (That is a way of saying |
| 1995 | \"allow `auto-mode-alist' to decide for these files.") | 1996 | \"allow `auto-mode-alist' to decide for these files.)") |
| 1996 | 1997 | ||
| 1997 | (defun set-auto-mode (&optional keep-mode-if-same) | 1998 | (defun set-auto-mode (&optional keep-mode-if-same) |
| 1998 | "Select major mode appropriate for current buffer. | 1999 | "Select major mode appropriate for current buffer. |
| @@ -2151,7 +2152,7 @@ Otherwise, return nil; point may be changed." | |||
| 2151 | (goto-char beg) | 2152 | (goto-char beg) |
| 2152 | end)))) | 2153 | end)))) |
| 2153 | 2154 | ||
| 2154 | (defun hack-local-variables-confirm () | 2155 | (defun hack-local-variables-confirm (string) |
| 2155 | (or (eq enable-local-variables t) | 2156 | (or (eq enable-local-variables t) |
| 2156 | (and enable-local-variables | 2157 | (and enable-local-variables |
| 2157 | (save-window-excursion | 2158 | (save-window-excursion |
| @@ -2168,8 +2169,10 @@ Otherwise, return nil; point may be changed." | |||
| 2168 | (save-excursion | 2169 | (save-excursion |
| 2169 | (beginning-of-line) | 2170 | (beginning-of-line) |
| 2170 | (set-window-start (selected-window) (point))) | 2171 | (set-window-start (selected-window) (point))) |
| 2171 | (y-or-n-p (format "Set local variables as specified in -*- line of %s? " | 2172 | (y-or-n-p (format string |
| 2172 | (file-name-nondirectory buffer-file-name))))))) | 2173 | (if buffer-file-name |
| 2174 | (file-name-nondirectory buffer-file-name) | ||
| 2175 | (concat "buffer " (buffer-name))))))))) | ||
| 2173 | 2176 | ||
| 2174 | (defun hack-local-variables-prop-line (&optional mode-only) | 2177 | (defun hack-local-variables-prop-line (&optional mode-only) |
| 2175 | "Set local variables specified in the -*- line. | 2178 | "Set local variables specified in the -*- line. |
| @@ -2225,7 +2228,8 @@ is specified, returning t if it is specified." | |||
| 2225 | (if mode-only mode-specified | 2228 | (if mode-only mode-specified |
| 2226 | (if (and result | 2229 | (if (and result |
| 2227 | (or mode-only | 2230 | (or mode-only |
| 2228 | (hack-local-variables-confirm))) | 2231 | (hack-local-variables-confirm |
| 2232 | "Set local variables as specified in -*- line of %s? "))) | ||
| 2229 | (let ((enable-local-eval enable-local-eval)) | 2233 | (let ((enable-local-eval enable-local-eval)) |
| 2230 | (while result | 2234 | (while result |
| 2231 | (hack-one-local-variable (car (car result)) (cdr (car result))) | 2235 | (hack-one-local-variable (car (car result)) (cdr (car result))) |
| @@ -2255,7 +2259,8 @@ is specified, returning t if it is specified." | |||
| 2255 | (when (let ((case-fold-search t)) | 2259 | (when (let ((case-fold-search t)) |
| 2256 | (and (search-forward "Local Variables:" nil t) | 2260 | (and (search-forward "Local Variables:" nil t) |
| 2257 | (or mode-only | 2261 | (or mode-only |
| 2258 | (hack-local-variables-confirm)))) | 2262 | (hack-local-variables-confirm |
| 2263 | "Set local variables as specified at end of %s? ")))) | ||
| 2259 | (skip-chars-forward " \t") | 2264 | (skip-chars-forward " \t") |
| 2260 | (let ((enable-local-eval enable-local-eval) | 2265 | (let ((enable-local-eval enable-local-eval) |
| 2261 | ;; suffix is what comes after "local variables:" in its line. | 2266 | ;; suffix is what comes after "local variables:" in its line. |
| @@ -2476,7 +2481,8 @@ is considered risky." | |||
| 2476 | (hack-one-local-variable-eval-safep val)) | 2481 | (hack-one-local-variable-eval-safep val)) |
| 2477 | ;; Permit eval if not root and user says ok. | 2482 | ;; Permit eval if not root and user says ok. |
| 2478 | (and (not (zerop (user-uid))) | 2483 | (and (not (zerop (user-uid))) |
| 2479 | (hack-local-variables-confirm))) | 2484 | (hack-local-variables-confirm |
| 2485 | "Process `eval' or hook local variables in %s? "))) | ||
| 2480 | (if (eq var 'eval) | 2486 | (if (eq var 'eval) |
| 2481 | (save-excursion (eval val)) | 2487 | (save-excursion (eval val)) |
| 2482 | (make-local-variable var) | 2488 | (make-local-variable var) |
| @@ -2982,7 +2988,7 @@ Uses the free variable `backup-extract-version-start', whose value should be | |||
| 2982 | the index in the name where the version number begins." | 2988 | the index in the name where the version number begins." |
| 2983 | (if (and (string-match "[0-9]+~$" fn backup-extract-version-start) | 2989 | (if (and (string-match "[0-9]+~$" fn backup-extract-version-start) |
| 2984 | (= (match-beginning 0) backup-extract-version-start)) | 2990 | (= (match-beginning 0) backup-extract-version-start)) |
| 2985 | (string-to-int (substring fn backup-extract-version-start -1)) | 2991 | (string-to-number (substring fn backup-extract-version-start -1)) |
| 2986 | 0)) | 2992 | 0)) |
| 2987 | 2993 | ||
| 2988 | ;; I believe there is no need to alter this behavior for VMS; | 2994 | ;; I believe there is no need to alter this behavior for VMS; |
| @@ -4546,7 +4552,7 @@ normally equivalent short `-D' option is just passed on to | |||
| 4546 | (if (string-match "ls (.*utils) \\([0-9.]*\\)$" version-out) | 4552 | (if (string-match "ls (.*utils) \\([0-9.]*\\)$" version-out) |
| 4547 | (let* ((version (match-string 1 version-out)) | 4553 | (let* ((version (match-string 1 version-out)) |
| 4548 | (split (split-string version "[.]")) | 4554 | (split (split-string version "[.]")) |
| 4549 | (numbers (mapcar 'string-to-int split)) | 4555 | (numbers (mapcar 'string-to-number split)) |
| 4550 | (min '(5 2 1)) | 4556 | (min '(5 2 1)) |
| 4551 | comparison) | 4557 | comparison) |
| 4552 | (while (and (not comparison) (or numbers min)) | 4558 | (while (and (not comparison) (or numbers min)) |
diff --git a/lisp/finder.el b/lisp/finder.el index 7a886e5480f..fb327524793 100644 --- a/lisp/finder.el +++ b/lisp/finder.el | |||
| @@ -182,7 +182,7 @@ no arguments compiles from `load-path'." | |||
| 182 | ;;; End: | 182 | ;;; End: |
| 183 | ;;; " (file-name-nondirectory generated-finder-keywords-file) " ends here\n") | 183 | ;;; " (file-name-nondirectory generated-finder-keywords-file) " ends here\n") |
| 184 | (kill-buffer "*finder-scratch*") | 184 | (kill-buffer "*finder-scratch*") |
| 185 | (eval-current-buffer) ;; So we get the new keyword list immediately | 185 | (eval-buffer) ;; So we get the new keyword list immediately |
| 186 | (basic-save-buffer)))) | 186 | (basic-save-buffer)))) |
| 187 | 187 | ||
| 188 | (defun finder-compile-keywords-make-dist () | 188 | (defun finder-compile-keywords-make-dist () |
diff --git a/lisp/follow.el b/lisp/follow.el index 61517a68ff1..74dc12f8881 100644 --- a/lisp/follow.el +++ b/lisp/follow.el | |||
| @@ -394,7 +394,6 @@ Used by `follow-window-size-change'.") | |||
| 394 | "Anders Lindgren <andersl@andersl.com>" | 394 | "Anders Lindgren <andersl@andersl.com>" |
| 395 | "follow.el" | 395 | "follow.el" |
| 396 | '(post-command-hook | 396 | '(post-command-hook |
| 397 | post-command-idle-hook | ||
| 398 | pre-command-hook | 397 | pre-command-hook |
| 399 | window-size-change-functions | 398 | window-size-change-functions |
| 400 | window-scroll-functions | 399 | window-scroll-functions |
| @@ -683,9 +682,6 @@ Keys specific to Follow mode: | |||
| 683 | (set 'scroll-on-clipped-lines nil)) | 682 | (set 'scroll-on-clipped-lines nil)) |
| 684 | (force-mode-line-update) | 683 | (force-mode-line-update) |
| 685 | (add-hook 'post-command-hook 'follow-post-command-hook t) | 684 | (add-hook 'post-command-hook 'follow-post-command-hook t) |
| 686 | (if (boundp 'post-command-idle-hook) | ||
| 687 | (add-hook 'post-command-idle-hook | ||
| 688 | 'follow-avoid-tail-recenter t)) | ||
| 689 | (run-hooks 'follow-mode-hook)) | 685 | (run-hooks 'follow-mode-hook)) |
| 690 | 686 | ||
| 691 | ((and (not follow-mode) follow-mode-orig) ; Off | 687 | ((and (not follow-mode) follow-mode-orig) ; Off |
diff --git a/lisp/font-lock.el b/lisp/font-lock.el index aae73bd1e03..5065553121d 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el | |||
| @@ -1311,12 +1311,19 @@ START should be at the beginning of a line." | |||
| 1311 | 1311 | ||
| 1312 | ;;; Syntactic fontification functions. | 1312 | ;;; Syntactic fontification functions. |
| 1313 | 1313 | ||
| 1314 | (defvar font-lock-comment-start-skip nil | ||
| 1315 | "If non-nil, Font Lock mode uses this instead of `comment-start-skip'.") | ||
| 1316 | |||
| 1317 | (defvar font-lock-comment-end-skip nil | ||
| 1318 | "If non-nil, Font Lock mode uses this instead of `comment-end'.") | ||
| 1319 | |||
| 1314 | (defun font-lock-fontify-syntactically-region (start end &optional loudly ppss) | 1320 | (defun font-lock-fontify-syntactically-region (start end &optional loudly ppss) |
| 1315 | "Put proper face on each string and comment between START and END. | 1321 | "Put proper face on each string and comment between START and END. |
| 1316 | START should be at the beginning of a line." | 1322 | START should be at the beginning of a line." |
| 1317 | (let ((comment-end-regexp | 1323 | (let ((comment-end-regexp |
| 1318 | (regexp-quote | 1324 | (or font-lock-comment-end-skip |
| 1319 | (replace-regexp-in-string "^ *" "" comment-end))) | 1325 | (regexp-quote |
| 1326 | (replace-regexp-in-string "^ *" "" comment-end)))) | ||
| 1320 | state face beg) | 1327 | state face beg) |
| 1321 | (if loudly (message "Fontifying %s... (syntactically...)" (buffer-name))) | 1328 | (if loudly (message "Fontifying %s... (syntactically...)" (buffer-name))) |
| 1322 | (goto-char start) | 1329 | (goto-char start) |
| @@ -1334,12 +1341,14 @@ START should be at the beginning of a line." | |||
| 1334 | 'syntax-table)) | 1341 | 'syntax-table)) |
| 1335 | (when face (put-text-property beg (point) 'face face)) | 1342 | (when face (put-text-property beg (point) 'face face)) |
| 1336 | (when (and (eq face 'font-lock-comment-face) | 1343 | (when (and (eq face 'font-lock-comment-face) |
| 1337 | comment-start-skip) | 1344 | (or font-lock-comment-start-skip |
| 1345 | comment-start-skip)) | ||
| 1338 | ;; Find the comment delimiters | 1346 | ;; Find the comment delimiters |
| 1339 | ;; and use font-lock-comment-delimiter-face for them. | 1347 | ;; and use font-lock-comment-delimiter-face for them. |
| 1340 | (save-excursion | 1348 | (save-excursion |
| 1341 | (goto-char beg) | 1349 | (goto-char beg) |
| 1342 | (if (looking-at comment-start-skip) | 1350 | (if (looking-at (or font-lock-comment-start-skip |
| 1351 | comment-start-skip)) | ||
| 1343 | (put-text-property beg (match-end 0) 'face | 1352 | (put-text-property beg (match-end 0) 'face |
| 1344 | font-lock-comment-delimiter-face))) | 1353 | font-lock-comment-delimiter-face))) |
| 1345 | (if (looking-back comment-end-regexp (point-at-bol)) | 1354 | (if (looking-back comment-end-regexp (point-at-bol)) |
| @@ -1655,27 +1664,6 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1655 | 1664 | ||
| 1656 | ;; But now we do it the custom way. Note that `defface' will not overwrite any | 1665 | ;; But now we do it the custom way. Note that `defface' will not overwrite any |
| 1657 | ;; faces declared above via `custom-declare-face'. | 1666 | ;; faces declared above via `custom-declare-face'. |
| 1658 | (defface font-lock-comment-delimiter-face | ||
| 1659 | '((((class grayscale) (background light)) | ||
| 1660 | (:foreground "DimGray" :weight bold :slant italic)) | ||
| 1661 | (((class grayscale) (background dark)) | ||
| 1662 | (:foreground "LightGray" :weight bold :slant italic)) | ||
| 1663 | (((class color) (min-colors 88) (background light)) | ||
| 1664 | (:foreground "Firebrick")) | ||
| 1665 | (((class color) (min-colors 88) (background dark)) | ||
| 1666 | (:foreground "chocolate1")) | ||
| 1667 | (((class color) (min-colors 16) (background light)) | ||
| 1668 | (:foreground "red")) | ||
| 1669 | (((class color) (min-colors 16) (background dark)) | ||
| 1670 | (:foreground "red1")) | ||
| 1671 | (((class color) (min-colors 8) (background light)) | ||
| 1672 | (:foreground "red")) | ||
| 1673 | (((class color) (min-colors 8) (background dark)) | ||
| 1674 | (:foreground "red1")) | ||
| 1675 | (t (:weight bold :slant italic))) | ||
| 1676 | "Font Lock mode face used to highlight comment delimiters." | ||
| 1677 | :group 'font-lock-highlighting-faces) | ||
| 1678 | |||
| 1679 | (defface font-lock-comment-face | 1667 | (defface font-lock-comment-face |
| 1680 | '((((class grayscale) (background light)) | 1668 | '((((class grayscale) (background light)) |
| 1681 | (:foreground "DimGray" :weight bold :slant italic)) | 1669 | (:foreground "DimGray" :weight bold :slant italic)) |
| @@ -1697,6 +1685,17 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1697 | "Font Lock mode face used to highlight comments." | 1685 | "Font Lock mode face used to highlight comments." |
| 1698 | :group 'font-lock-highlighting-faces) | 1686 | :group 'font-lock-highlighting-faces) |
| 1699 | 1687 | ||
| 1688 | (defface font-lock-comment-delimiter-face | ||
| 1689 | '((default :inherit font-lock-comment-face) | ||
| 1690 | (((class grayscale))) | ||
| 1691 | (((class color) (min-colors 16))) | ||
| 1692 | (((class color) (min-colors 8) (background light)) | ||
| 1693 | :foreground "red") | ||
| 1694 | (((class color) (min-colors 8) (background dark)) | ||
| 1695 | :foreground "red1")) | ||
| 1696 | "Font Lock mode face used to highlight comment delimiters." | ||
| 1697 | :group 'font-lock-highlighting-faces) | ||
| 1698 | |||
| 1700 | (defface font-lock-string-face | 1699 | (defface font-lock-string-face |
| 1701 | '((((class grayscale) (background light)) (:foreground "DimGray" :slant italic)) | 1700 | '((((class grayscale) (background light)) (:foreground "DimGray" :slant italic)) |
| 1702 | (((class grayscale) (background dark)) (:foreground "LightGray" :slant italic)) | 1701 | (((class grayscale) (background dark)) (:foreground "LightGray" :slant italic)) |
| @@ -1798,13 +1797,8 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1798 | "Font Lock mode face used to highlight warnings." | 1797 | "Font Lock mode face used to highlight warnings." |
| 1799 | :group 'font-lock-highlighting-faces) | 1798 | :group 'font-lock-highlighting-faces) |
| 1800 | 1799 | ||
| 1801 | ;; Matches font-lock-builtin-face, because that is used for #ifndef and | ||
| 1802 | ;; font-lock-keyword-face, which alas make-mode uses for ifndef | ||
| 1803 | (defface font-lock-negation-char-face | 1800 | (defface font-lock-negation-char-face |
| 1804 | '((((class color) (min-colors 88) (background light)) (:foreground "VioletRed" :weight bold)) | 1801 | '((t nil)) |
| 1805 | (((class color) (min-colors 88) (background dark)) (:foreground "MediumOrchid1" :weight bold)) | ||
| 1806 | (((class color) (min-colors 8)) (:foreground "red" :weight bold)) | ||
| 1807 | (t (:inverse-video t :weight bold))) | ||
| 1808 | "Font Lock mode face used to highlight easy to overlook negation." | 1802 | "Font Lock mode face used to highlight easy to overlook negation." |
| 1809 | :group 'font-lock-highlighting-faces) | 1803 | :group 'font-lock-highlighting-faces) |
| 1810 | 1804 | ||
| @@ -1974,109 +1968,112 @@ This function could be MATCHER in a MATCH-ANCHORED `font-lock-keywords' item." | |||
| 1974 | 1968 | ||
| 1975 | (defconst lisp-font-lock-keywords-1 | 1969 | (defconst lisp-font-lock-keywords-1 |
| 1976 | (eval-when-compile | 1970 | (eval-when-compile |
| 1977 | (list | 1971 | `(;; Definitions. |
| 1978 | ;; | 1972 | (,(concat "(\\(def\\(" |
| 1979 | ;; Definitions. | 1973 | ;; Function declarations. |
| 1980 | (list (concat "(\\(def\\(" | 1974 | "\\(advice\\|varalias\\|alias\\|generic\\|macro\\*?\\|method\\|" |
| 1981 | ;; Function declarations. | 1975 | "setf\\|subst\\*?\\|un\\*?\\|" |
| 1982 | "\\(advice\\|varalias\\|alias\\|generic\\|macro\\*?\\|method\\|" | 1976 | "ine-\\(condition\\|\\(?:derived\\|minor\\|generic\\)-mode\\|" |
| 1983 | "setf\\|subst\\*?\\|un\\*?\\|" | 1977 | "method-combination\\|setf-expander\\|skeleton\\|widget\\|" |
| 1984 | "ine-\\(condition\\|\\(?:derived\\|minor\\|generic\\)-mode\\|" | 1978 | "function\\|\\(compiler\\|modify\\|symbol\\)-macro\\)\\)\\|" |
| 1985 | "method-combination\\|setf-expander\\|skeleton\\|widget\\|" | 1979 | ;; Variable declarations. |
| 1986 | "function\\|\\(compiler\\|modify\\|symbol\\)-macro\\)\\)\\|" | 1980 | "\\(const\\(ant\\)?\\|custom\\|face\\|parameter\\|var\\)\\|" |
| 1987 | ;; Variable declarations. | 1981 | ;; Structure declarations. |
| 1988 | "\\(const\\(ant\\)?\\|custom\\|face\\|parameter\\|var\\)\\|" | 1982 | "\\(class\\|group\\|theme\\|package\\|struct\\|type\\)" |
| 1989 | ;; Structure declarations. | 1983 | "\\)\\)\\>" |
| 1990 | "\\(class\\|group\\|theme\\|package\\|struct\\|type\\)" | 1984 | ;; Any whitespace and defined object. |
| 1991 | "\\)\\)\\>" | 1985 | "[ \t'\(]*" |
| 1992 | ;; Any whitespace and defined object. | 1986 | "\\(setf[ \t]+\\sw+)\\|\\sw+\\)?") |
| 1993 | "[ \t'\(]*" | 1987 | (1 font-lock-keyword-face) |
| 1994 | "\\(setf[ \t]+\\sw+)\\|\\sw+\\)?") | 1988 | (9 (cond ((match-beginning 3) font-lock-function-name-face) |
| 1995 | '(1 font-lock-keyword-face) | 1989 | ((match-beginning 6) font-lock-variable-name-face) |
| 1996 | '(9 (cond ((match-beginning 3) font-lock-function-name-face) | 1990 | (t font-lock-type-face)) |
| 1997 | ((match-beginning 6) font-lock-variable-name-face) | 1991 | nil t)) |
| 1998 | (t font-lock-type-face)) | 1992 | ;; Emacs Lisp autoload cookies. |
| 1999 | nil t)) | 1993 | ("^;;;###\\(autoload\\)" 1 font-lock-warning-face prepend) |
| 2000 | ;; | 1994 | ;; Regexp negated char group. |
| 2001 | ;; Emacs Lisp autoload cookies. | 1995 | ("\\[\\(\\^\\)" 1 font-lock-negation-char-face prepend))) |
| 2002 | '("^;;;###\\(autoload\\)" 1 font-lock-warning-face prepend) | ||
| 2003 | )) | ||
| 2004 | "Subdued level highlighting for Lisp modes.") | 1996 | "Subdued level highlighting for Lisp modes.") |
| 2005 | 1997 | ||
| 2006 | (defconst lisp-font-lock-keywords-2 | 1998 | (defconst lisp-font-lock-keywords-2 |
| 2007 | (append lisp-font-lock-keywords-1 | 1999 | (append lisp-font-lock-keywords-1 |
| 2008 | (eval-when-compile | 2000 | (eval-when-compile |
| 2009 | (list | 2001 | `(;; Control structures. Emacs Lisp forms. |
| 2010 | ;; | 2002 | (,(concat |
| 2011 | ;; Control structures. Emacs Lisp forms. | 2003 | "(" (regexp-opt |
| 2012 | (cons (concat | 2004 | '("cond" "if" "while" "let" "let*" |
| 2013 | "(" (regexp-opt | 2005 | "prog" "progn" "progv" "prog1" "prog2" "prog*" |
| 2014 | '("cond" "if" "while" "let" "let*" | 2006 | "inline" "lambda" "save-restriction" "save-excursion" |
| 2015 | "prog" "progn" "progv" "prog1" "prog2" "prog*" | 2007 | "save-window-excursion" "save-selected-window" |
| 2016 | "inline" "lambda" "save-restriction" "save-excursion" | 2008 | "save-match-data" "save-current-buffer" "unwind-protect" |
| 2017 | "save-window-excursion" "save-selected-window" | 2009 | "condition-case" "track-mouse" |
| 2018 | "save-match-data" "save-current-buffer" "unwind-protect" | 2010 | "eval-after-load" "eval-and-compile" "eval-when-compile" |
| 2019 | "condition-case" "track-mouse" | 2011 | "eval-when" |
| 2020 | "eval-after-load" "eval-and-compile" "eval-when-compile" | 2012 | "with-category-table" |
| 2021 | "eval-when" | 2013 | "with-current-buffer" "with-electric-help" |
| 2022 | "with-category-table" | 2014 | "with-local-quit" "with-no-warnings" |
| 2023 | "with-current-buffer" "with-electric-help" | 2015 | "with-output-to-string" "with-output-to-temp-buffer" |
| 2024 | "with-local-quit" "with-no-warnings" | 2016 | "with-selected-window" "with-syntax-table" |
| 2025 | "with-output-to-string" "with-output-to-temp-buffer" | 2017 | "with-temp-buffer" "with-temp-file" "with-temp-message" |
| 2026 | "with-selected-window" "with-syntax-table" | 2018 | "with-timeout" "with-timeout-handler") t) |
| 2027 | "with-temp-buffer" "with-temp-file" "with-temp-message" | 2019 | "\\>") |
| 2028 | "with-timeout" "with-timeout-handler") t) | 2020 | . 1) |
| 2029 | "\\>") | 2021 | ;; Control structures. Common Lisp forms. |
| 2030 | 1) | 2022 | (,(concat |
| 2031 | ;; | 2023 | "(" (regexp-opt |
| 2032 | ;; Control structures. Common Lisp forms. | 2024 | '("when" "unless" "case" "ecase" "typecase" "etypecase" |
| 2033 | (cons (concat | 2025 | "ccase" "ctypecase" "handler-case" "handler-bind" |
| 2034 | "(" (regexp-opt | 2026 | "restart-bind" "restart-case" "in-package" |
| 2035 | '("when" "unless" "case" "ecase" "typecase" "etypecase" | 2027 | "break" "ignore-errors" |
| 2036 | "ccase" "ctypecase" "handler-case" "handler-bind" | 2028 | "loop" "do" "do*" "dotimes" "dolist" "the" "locally" |
| 2037 | "restart-bind" "restart-case" "in-package" | 2029 | "proclaim" "declaim" "declare" "symbol-macrolet" |
| 2038 | "break" "ignore-errors" | 2030 | "lexical-let" "lexical-let*" "flet" "labels" "compiler-let" |
| 2039 | "loop" "do" "do*" "dotimes" "dolist" "the" "locally" | 2031 | "destructuring-bind" "macrolet" "tagbody" "block" "go" |
| 2040 | "proclaim" "declaim" "declare" "symbol-macrolet" | 2032 | "multiple-value-bind" "multiple-value-prog1" |
| 2041 | "lexical-let" "lexical-let*" "flet" "labels" "compiler-let" | 2033 | "return" "return-from" |
| 2042 | "destructuring-bind" "macrolet" "tagbody" "block" "go" | 2034 | "with-accessors" "with-compilation-unit" |
| 2043 | "multiple-value-bind" "multiple-value-prog1" | 2035 | "with-condition-restarts" "with-hash-table-iterator" |
| 2044 | "return" "return-from" | 2036 | "with-input-from-string" "with-open-file" |
| 2045 | "with-accessors" "with-compilation-unit" | 2037 | "with-open-stream" "with-output-to-string" |
| 2046 | "with-condition-restarts" "with-hash-table-iterator" | 2038 | "with-package-iterator" "with-simple-restart" |
| 2047 | "with-input-from-string" "with-open-file" | 2039 | "with-slots" "with-standard-io-syntax") t) |
| 2048 | "with-open-stream" "with-output-to-string" | 2040 | "\\>") |
| 2049 | "with-package-iterator" "with-simple-restart" | 2041 | . 1) |
| 2050 | "with-slots" "with-standard-io-syntax") t) | 2042 | ;; Exit/Feature symbols as constants. |
| 2051 | "\\>") | 2043 | (,(concat "(\\(catch\\|throw\\|featurep\\|provide\\|require\\)\\>" |
| 2052 | 1) | 2044 | "[ \t']*\\(\\sw+\\)?") |
| 2053 | ;; | 2045 | (1 font-lock-keyword-face) |
| 2054 | ;; Exit/Feature symbols as constants. | 2046 | (2 font-lock-constant-face nil t)) |
| 2055 | (list (concat "(\\(catch\\|throw\\|featurep\\|provide\\|require\\)\\>" | 2047 | ;; Erroneous structures. |
| 2056 | "[ \t']*\\(\\sw+\\)?") | 2048 | ("(\\(abort\\|assert\\|warn\\|check-type\\|cerror\\|error\\|signal\\)\\>" 1 font-lock-warning-face) |
| 2057 | '(1 font-lock-keyword-face) | 2049 | ;; Words inside \\[] tend to be for `substitute-command-keys'. |
| 2058 | '(2 font-lock-constant-face nil t)) | 2050 | ("\\\\\\\\\\[\\(\\sw+\\)]" 1 font-lock-constant-face prepend) |
| 2059 | ;; | 2051 | ;; Words inside `' tend to be symbol names. |
| 2060 | ;; Erroneous structures. | 2052 | ("`\\(\\sw\\sw+\\)'" 1 font-lock-constant-face prepend) |
| 2061 | '("(\\(abort\\|assert\\|warn\\|check-type\\|cerror\\|error\\|signal\\)\\>" 1 font-lock-warning-face) | 2053 | ;; Constant values. |
| 2062 | ;; | 2054 | ("\\<:\\sw+\\>" 0 font-lock-builtin-face) |
| 2063 | ;; Words inside \\[] tend to be for `substitute-command-keys'. | 2055 | ;; ELisp and CLisp `&' keywords as types. |
| 2064 | '("\\\\\\\\\\[\\(\\sw+\\)]" 1 font-lock-constant-face prepend) | 2056 | ("\\&\\sw+\\>" . font-lock-type-face) |
| 2065 | ;; | 2057 | ;; Make regexp grouping constructs bold, so they stand out, but only in strings. |
| 2066 | ;; Words inside `' tend to be symbol names. | 2058 | ((lambda (bound) |
| 2067 | '("`\\(\\sw\\sw+\\)'" 1 font-lock-constant-face prepend) | 2059 | (if (re-search-forward "\\([\\][\\]\\)\\([(|)]\\)\\(\\?:\\)?" bound) |
| 2068 | ;; | 2060 | (let ((face (get-text-property (1- (point)) 'face))) |
| 2069 | ;; Constant values. | 2061 | (if (listp face) |
| 2070 | '("\\<:\\sw+\\>" 0 font-lock-builtin-face) | 2062 | (memq 'font-lock-string-face face) |
| 2071 | ;; | 2063 | (eq 'font-lock-string-face face))))) |
| 2072 | ;; ELisp and CLisp `&' keywords as types. | 2064 | (1 font-lock-comment-face prepend) ; Should we introduce a lowlight face for this? |
| 2073 | '("\\&\\sw+\\>" . font-lock-type-face) | 2065 | ; Ideally that would retain the color, dimmed 50%. |
| 2074 | ;; | 2066 | (2 'bold prepend) |
| 2067 | (3 font-lock-type-face prepend t)) | ||
| 2068 | ;; Underline innermost grouping, so that you can more easily see what belongs together. | ||
| 2069 | ;; 2005-05-12: Font-lock can go into an unbreakable endless loop on this -- something's broken. | ||
| 2070 | ;;("[\\][\\][(]\\(?:\\?:\\)?\\(\\(?:[^\\\"]+\\|[\\]\\(?:[^\\]\\|[\\][^(]\\)\\)+?\\)[\\][\\][)]" | ||
| 2071 | ;;1 'underline prepend) | ||
| 2075 | ;;; This is too general -- rms. | 2072 | ;;; This is too general -- rms. |
| 2076 | ;;; A user complained that he has functions whose names start with `do' | 2073 | ;;; A user complained that he has functions whose names start with `do' |
| 2077 | ;;; and that they get the wrong color. | 2074 | ;;; and that they get the wrong color. |
| 2078 | ;;; ;; CL `with-' and `do-' constructs | 2075 | ;;; ;; CL `with-' and `do-' constructs |
| 2079 | ;;; '("(\\(\\(do-\\|with-\\)\\(\\s_\\|\\w\\)*\\)" 1 font-lock-keyword-face) | 2076 | ;;; ("(\\(\\(do-\\|with-\\)\\(\\s_\\|\\w\\)*\\)" 1 font-lock-keyword-face) |
| 2080 | ))) | 2077 | ))) |
| 2081 | "Gaudy level highlighting for Lisp modes.") | 2078 | "Gaudy level highlighting for Lisp modes.") |
| 2082 | 2079 | ||
diff --git a/lisp/forms.el b/lisp/forms.el index aa0582c918a..61d2441a9ea 100644 --- a/lisp/forms.el +++ b/lisp/forms.el | |||
| @@ -63,7 +63,7 @@ | |||
| 63 | ;; Automatic mode switching is supported if you specify | 63 | ;; Automatic mode switching is supported if you specify |
| 64 | ;; "-*- forms -*-" in the first line of the control file. | 64 | ;; "-*- forms -*-" in the first line of the control file. |
| 65 | ;; | 65 | ;; |
| 66 | ;; The control file is visited, evaluated using `eval-current-buffer', | 66 | ;; The control file is visited, evaluated using `eval-buffer', |
| 67 | ;; and should set at least the following variables: | 67 | ;; and should set at least the following variables: |
| 68 | ;; | 68 | ;; |
| 69 | ;; forms-file [string] | 69 | ;; forms-file [string] |
| @@ -519,7 +519,7 @@ Commands: Equivalent keys in read-only mode: | |||
| 519 | (yes-or-no-p | 519 | (yes-or-no-p |
| 520 | (concat "Evaluate lisp code in buffer " | 520 | (concat "Evaluate lisp code in buffer " |
| 521 | (buffer-name) " to display forms "))) | 521 | (buffer-name) " to display forms "))) |
| 522 | (eval-current-buffer) | 522 | (eval-buffer) |
| 523 | (error "`enable-local-eval' inhibits buffer evaluation")) | 523 | (error "`enable-local-eval' inhibits buffer evaluation")) |
| 524 | 524 | ||
| 525 | ;; Check if the mandatory variables make sense. | 525 | ;; Check if the mandatory variables make sense. |
diff --git a/lisp/frame.el b/lisp/frame.el index e7cf62ef708..3693295e819 100644 --- a/lisp/frame.el +++ b/lisp/frame.el | |||
| @@ -1207,7 +1207,7 @@ left untouched. FRAME nil or omitted means use the selected frame." | |||
| 1207 | This is done in the face `trailing-whitespace'." | 1207 | This is done in the face `trailing-whitespace'." |
| 1208 | :tag "Highlight trailing whitespace." | 1208 | :tag "Highlight trailing whitespace." |
| 1209 | :type 'boolean | 1209 | :type 'boolean |
| 1210 | :group 'font-lock) | 1210 | :group 'whitespace-faces) |
| 1211 | 1211 | ||
| 1212 | 1212 | ||
| 1213 | 1213 | ||
diff --git a/lisp/generic-x.el b/lisp/generic-x.el index 31aa9299fbb..9ba06d42397 100644 --- a/lisp/generic-x.el +++ b/lisp/generic-x.el | |||
| @@ -116,11 +116,6 @@ | |||
| 116 | :group 'data | 116 | :group 'data |
| 117 | :version "20.3") | 117 | :version "20.3") |
| 118 | 118 | ||
| 119 | (defgroup generic-x-modes nil | ||
| 120 | "Individual modes in the collection of generic modes." | ||
| 121 | :group 'generic-x | ||
| 122 | :version "22.1") | ||
| 123 | |||
| 124 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 119 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 125 | ;; Default-Generic mode | 120 | ;; Default-Generic mode |
| 126 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 121 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| @@ -158,7 +153,7 @@ the regexp in `generic-find-file-regexp'. If the value is nil, | |||
| 158 | :type '(choice (const :tag "Don't check file names" nil) regexp)) | 153 | :type '(choice (const :tag "Don't check file names" nil) regexp)) |
| 159 | 154 | ||
| 160 | ;; This generic mode is always defined | 155 | ;; This generic mode is always defined |
| 161 | (define-generic-mode default-generic-mode (list ?#) nil nil nil nil :group 'generic-x-modes) | 156 | (define-generic-mode default-generic-mode (list ?#) nil nil nil nil) |
| 162 | 157 | ||
| 163 | ;; A more general solution would allow us to enter generic-mode for | 158 | ;; A more general solution would allow us to enter generic-mode for |
| 164 | ;; *any* comment character, but would require us to synthesize a new | 159 | ;; *any* comment character, but would require us to synthesize a new |
| @@ -308,8 +303,7 @@ your changes into effect." | |||
| 308 | '((nil "^\\([-A-Za-z0-9_]+\\)" 1) | 303 | '((nil "^\\([-A-Za-z0-9_]+\\)" 1) |
| 309 | ("*Directories*" "^\\s-*<Directory\\s-*\\([^>]+\\)>" 1) | 304 | ("*Directories*" "^\\s-*<Directory\\s-*\\([^>]+\\)>" 1) |
| 310 | ("*Locations*" "^\\s-*<Location\\s-*\\([^>]+\\)>" 1)))))) | 305 | ("*Locations*" "^\\s-*<Location\\s-*\\([^>]+\\)>" 1)))))) |
| 311 | "Generic mode for Apache or HTTPD configuration files." | 306 | "Generic mode for Apache or HTTPD configuration files.")) |
| 312 | :group 'generic-x-modes)) | ||
| 313 | 307 | ||
| 314 | (when (memq 'apache-log-generic-mode generic-extras-enable-list) | 308 | (when (memq 'apache-log-generic-mode generic-extras-enable-list) |
| 315 | 309 | ||
| @@ -322,8 +316,7 @@ your changes into effect." | |||
| 322 | (2 font-lock-variable-name-face))) | 316 | (2 font-lock-variable-name-face))) |
| 323 | '("access_log\\'") | 317 | '("access_log\\'") |
| 324 | nil | 318 | nil |
| 325 | "Mode for Apache log files" | 319 | "Mode for Apache log files")) |
| 326 | :group 'generic-x-modes)) | ||
| 327 | 320 | ||
| 328 | ;;; Samba | 321 | ;;; Samba |
| 329 | (when (memq 'samba-generic-mode generic-extras-enable-list) | 322 | (when (memq 'samba-generic-mode generic-extras-enable-list) |
| @@ -337,8 +330,7 @@ your changes into effect." | |||
| 337 | (2 font-lock-type-face))) | 330 | (2 font-lock-type-face))) |
| 338 | '("smb\\.conf\\'") | 331 | '("smb\\.conf\\'") |
| 339 | '(generic-bracket-support) | 332 | '(generic-bracket-support) |
| 340 | "Generic mode for Samba configuration files." | 333 | "Generic mode for Samba configuration files.")) |
| 341 | :group 'generic-x-modes)) | ||
| 342 | 334 | ||
| 343 | ;;; Fvwm | 335 | ;;; Fvwm |
| 344 | ;; This is pretty basic. Also, modes for other window managers could | 336 | ;; This is pretty basic. Also, modes for other window managers could |
| @@ -363,8 +355,7 @@ your changes into effect." | |||
| 363 | nil | 355 | nil |
| 364 | '("\\.fvwmrc\\'" "\\.fvwm2rc\\'") | 356 | '("\\.fvwmrc\\'" "\\.fvwm2rc\\'") |
| 365 | nil | 357 | nil |
| 366 | "Generic mode for FVWM configuration files." | 358 | "Generic mode for FVWM configuration files.")) |
| 367 | :group 'generic-x-modes)) | ||
| 368 | 359 | ||
| 369 | ;;; X Resource | 360 | ;;; X Resource |
| 370 | ;; I'm pretty sure I've seen an actual mode to do this, but I don't | 361 | ;; I'm pretty sure I've seen an actual mode to do this, but I don't |
| @@ -377,8 +368,7 @@ your changes into effect." | |||
| 377 | '(("^\\([^:\n]+:\\)" 1 font-lock-variable-name-face)) | 368 | '(("^\\([^:\n]+:\\)" 1 font-lock-variable-name-face)) |
| 378 | '("\\.Xdefaults\\'" "\\.Xresources\\'" "\\.Xenvironment\\'" "\\.ad\\'") | 369 | '("\\.Xdefaults\\'" "\\.Xresources\\'" "\\.Xenvironment\\'" "\\.ad\\'") |
| 379 | nil | 370 | nil |
| 380 | "Generic mode for X Resource configuration files." | 371 | "Generic mode for X Resource configuration files.")) |
| 381 | :group 'generic-x-modes)) | ||
| 382 | 372 | ||
| 383 | ;;; Hosts | 373 | ;;; Hosts |
| 384 | (when (memq 'hosts-generic-mode generic-extras-enable-list) | 374 | (when (memq 'hosts-generic-mode generic-extras-enable-list) |
| @@ -389,8 +379,7 @@ your changes into effect." | |||
| 389 | '(("\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 font-lock-constant-face)) | 379 | '(("\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 font-lock-constant-face)) |
| 390 | '("[hH][oO][sS][tT][sS]\\'") | 380 | '("[hH][oO][sS][tT][sS]\\'") |
| 391 | nil | 381 | nil |
| 392 | "Generic mode for HOSTS files." | 382 | "Generic mode for HOSTS files.")) |
| 393 | :group 'generic-x-modes)) | ||
| 394 | 383 | ||
| 395 | ;;; Windows INF files | 384 | ;;; Windows INF files |
| 396 | (when (memq 'inf-generic-mode generic-extras-enable-list) | 385 | (when (memq 'inf-generic-mode generic-extras-enable-list) |
| @@ -401,8 +390,7 @@ your changes into effect." | |||
| 401 | '(("^\\(\\[.*\\]\\)" 1 font-lock-constant-face)) | 390 | '(("^\\(\\[.*\\]\\)" 1 font-lock-constant-face)) |
| 402 | '("\\.[iI][nN][fF]\\'") | 391 | '("\\.[iI][nN][fF]\\'") |
| 403 | '(generic-bracket-support) | 392 | '(generic-bracket-support) |
| 404 | "Generic mode for MS-Windows INF files." | 393 | "Generic mode for MS-Windows INF files.")) |
| 405 | :group 'generic-x-modes)) | ||
| 406 | 394 | ||
| 407 | ;;; Windows INI files | 395 | ;;; Windows INI files |
| 408 | ;; Should define escape character as well! | 396 | ;; Should define escape character as well! |
| @@ -424,8 +412,7 @@ your changes into effect." | |||
| 424 | ("*Variables*" "^\\s-*\\([^=]+\\)\\s-*=" 1)))))) | 412 | ("*Variables*" "^\\s-*\\([^=]+\\)\\s-*=" 1)))))) |
| 425 | "Generic mode for MS-Windows INI files. | 413 | "Generic mode for MS-Windows INI files. |
| 426 | You can use `ini-generic-mode-find-file-hook' to enter this mode | 414 | You can use `ini-generic-mode-find-file-hook' to enter this mode |
| 427 | automatically for INI files whose names do not end in \".ini\"." | 415 | automatically for INI files whose names do not end in \".ini\".") |
| 428 | :group 'generic-x-modes) | ||
| 429 | 416 | ||
| 430 | (defun ini-generic-mode-find-file-hook () | 417 | (defun ini-generic-mode-find-file-hook () |
| 431 | "Hook function to enter Ini-Generic mode automatically for INI files. | 418 | "Hook function to enter Ini-Generic mode automatically for INI files. |
| @@ -453,8 +440,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 453 | (lambda () | 440 | (lambda () |
| 454 | (setq imenu-generic-expression | 441 | (setq imenu-generic-expression |
| 455 | '((nil "^\\s-*\\(.*\\)\\s-*=" 1)))))) | 442 | '((nil "^\\s-*\\(.*\\)\\s-*=" 1)))))) |
| 456 | "Generic mode for MS-Windows Registry files." | 443 | "Generic mode for MS-Windows Registry files.")) |
| 457 | :group 'generic-x-modes)) | ||
| 458 | 444 | ||
| 459 | ;;; DOS/Windows BAT files | 445 | ;;; DOS/Windows BAT files |
| 460 | (when (memq 'bat-generic-mode generic-extras-enable-list) | 446 | (when (memq 'bat-generic-mode generic-extras-enable-list) |
| @@ -506,7 +492,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 506 | "MD" "md" "Md" | 492 | "MD" "md" "Md" |
| 507 | "PATH" "path" "Path" | 493 | "PATH" "path" "Path" |
| 508 | "PAUSE" "pause" "Pause" | 494 | "PAUSE" "pause" "Pause" |
| 509 | "PROMPT" "prompt" "Prompt" | 495 | "PROMPT" "prompt" "Prompt" |
| 510 | "RD" "rd" "Rd" | 496 | "RD" "rd" "Rd" |
| 511 | "REN" "ren" "Ren" | 497 | "REN" "ren" "Ren" |
| 512 | "SET" "set" "Set" | 498 | "SET" "set" "Set" |
| @@ -528,8 +514,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 528 | "\\`[cC][oO][nN][fF][iI][gG]\\." | 514 | "\\`[cC][oO][nN][fF][iI][gG]\\." |
| 529 | "\\`[aA][uU][tT][oO][eE][xX][eE][cC]\\.") | 515 | "\\`[aA][uU][tT][oO][eE][xX][eE][cC]\\.") |
| 530 | '(generic-bat-mode-setup-function) | 516 | '(generic-bat-mode-setup-function) |
| 531 | "Generic mode for MS-Windows BAT files." | 517 | "Generic mode for MS-Windows BAT files.") |
| 532 | :group 'generic-x-modes) | ||
| 533 | 518 | ||
| 534 | (defvar bat-generic-mode-syntax-table nil | 519 | (defvar bat-generic-mode-syntax-table nil |
| 535 | "Syntax table in use in `bat-generic-mode' buffers.") | 520 | "Syntax table in use in `bat-generic-mode' buffers.") |
| @@ -608,8 +593,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 608 | (lambda () | 593 | (lambda () |
| 609 | (setq imenu-generic-expression | 594 | (setq imenu-generic-expression |
| 610 | '((nil "\\s-/\\([^/]+\\)/[i, \t\n]" 1)))))) | 595 | '((nil "\\s-/\\([^/]+\\)/[i, \t\n]" 1)))))) |
| 611 | "Mode for Mailagent rules files." | 596 | "Mode for Mailagent rules files.")) |
| 612 | :group 'generic-x-modes)) | ||
| 613 | 597 | ||
| 614 | ;; Solaris/Sys V prototype files | 598 | ;; Solaris/Sys V prototype files |
| 615 | (when (memq 'prototype-generic-mode generic-extras-enable-list) | 599 | (when (memq 'prototype-generic-mode generic-extras-enable-list) |
| @@ -632,8 +616,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 632 | (2 font-lock-variable-name-face))) | 616 | (2 font-lock-variable-name-face))) |
| 633 | '("prototype\\'") | 617 | '("prototype\\'") |
| 634 | nil | 618 | nil |
| 635 | "Mode for Sys V prototype files." | 619 | "Mode for Sys V prototype files.")) |
| 636 | :group 'generic-x-modes)) | ||
| 637 | 620 | ||
| 638 | ;; Solaris/Sys V pkginfo files | 621 | ;; Solaris/Sys V pkginfo files |
| 639 | (when (memq 'pkginfo-generic-mode generic-extras-enable-list) | 622 | (when (memq 'pkginfo-generic-mode generic-extras-enable-list) |
| @@ -646,8 +629,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 646 | (2 font-lock-variable-name-face))) | 629 | (2 font-lock-variable-name-face))) |
| 647 | '("pkginfo\\'") | 630 | '("pkginfo\\'") |
| 648 | nil | 631 | nil |
| 649 | "Mode for Sys V pkginfo files." | 632 | "Mode for Sys V pkginfo files.")) |
| 650 | :group 'generic-x-modes)) | ||
| 651 | 633 | ||
| 652 | ;; Javascript mode | 634 | ;; Javascript mode |
| 653 | ;; Includes extra keywords from Armando Singer [asinger@MAIL.COLGATE.EDU] | 635 | ;; Includes extra keywords from Armando Singer [asinger@MAIL.COLGATE.EDU] |
| @@ -726,8 +708,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 726 | (setq imenu-generic-expression | 708 | (setq imenu-generic-expression |
| 727 | '((nil "^function\\s-+\\([A-Za-z0-9_]+\\)" 1) | 709 | '((nil "^function\\s-+\\([A-Za-z0-9_]+\\)" 1) |
| 728 | ("*Variables*" "^var\\s-+\\([A-Za-z0-9_]+\\)" 1)))))) | 710 | ("*Variables*" "^var\\s-+\\([A-Za-z0-9_]+\\)" 1)))))) |
| 729 | "Mode for JavaScript files." | 711 | "Mode for JavaScript files.")) |
| 730 | :group 'generic-x-modes)) | ||
| 731 | 712 | ||
| 732 | ;; VRML files | 713 | ;; VRML files |
| 733 | (when (memq 'vrml-generic-mode generic-extras-enable-list) | 714 | (when (memq 'vrml-generic-mode generic-extras-enable-list) |
| @@ -780,8 +761,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 780 | ("*Definitions*" | 761 | ("*Definitions*" |
| 781 | "DEF\\s-+\\([-A-Za-z0-9_]+\\)\\s-+\\([A-Za-z0-9]+\\)\\s-*{" | 762 | "DEF\\s-+\\([-A-Za-z0-9_]+\\)\\s-+\\([A-Za-z0-9]+\\)\\s-*{" |
| 782 | 1)))))) | 763 | 1)))))) |
| 783 | "Generic Mode for VRML files." | 764 | "Generic Mode for VRML files.")) |
| 784 | :group 'generic-x-modes)) | ||
| 785 | 765 | ||
| 786 | ;; Java Manifests | 766 | ;; Java Manifests |
| 787 | (when (memq 'java-manifest-generic-mode generic-extras-enable-list) | 767 | (when (memq 'java-manifest-generic-mode generic-extras-enable-list) |
| @@ -802,8 +782,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 802 | (2 font-lock-constant-face))) | 782 | (2 font-lock-constant-face))) |
| 803 | '("[mM][aA][nN][iI][fF][eE][sS][tT]\\.[mM][fF]\\'") | 783 | '("[mM][aA][nN][iI][fF][eE][sS][tT]\\.[mM][fF]\\'") |
| 804 | nil | 784 | nil |
| 805 | "Mode for Java Manifest files" | 785 | "Mode for Java Manifest files")) |
| 806 | :group 'generic-x-modes)) | ||
| 807 | 786 | ||
| 808 | ;; Java properties files | 787 | ;; Java properties files |
| 809 | (when (memq 'java-properties-generic-mode generic-extras-enable-list) | 788 | (when (memq 'java-properties-generic-mode generic-extras-enable-list) |
| @@ -835,8 +814,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 835 | (lambda () | 814 | (lambda () |
| 836 | (setq imenu-generic-expression | 815 | (setq imenu-generic-expression |
| 837 | '((nil "^\\([^#! \t\n\r=:]+\\)" 1)))))) | 816 | '((nil "^\\([^#! \t\n\r=:]+\\)" 1)))))) |
| 838 | "Mode for Java properties files." | 817 | "Mode for Java properties files.")) |
| 839 | :group 'generic-x-modes)) | ||
| 840 | 818 | ||
| 841 | ;; C shell alias definitions | 819 | ;; C shell alias definitions |
| 842 | (when (memq 'alias-generic-mode generic-extras-enable-list) | 820 | (when (memq 'alias-generic-mode generic-extras-enable-list) |
| @@ -854,8 +832,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 854 | (lambda () | 832 | (lambda () |
| 855 | (setq imenu-generic-expression | 833 | (setq imenu-generic-expression |
| 856 | '((nil "^\\(alias\\|unalias\\)\\s-+\\([-a-zA-Z0-9_]+\\)" 2)))))) | 834 | '((nil "^\\(alias\\|unalias\\)\\s-+\\([-a-zA-Z0-9_]+\\)" 2)))))) |
| 857 | "Mode for C Shell alias files." | 835 | "Mode for C Shell alias files.")) |
| 858 | :group 'generic-x-modes)) | ||
| 859 | 836 | ||
| 860 | ;;; Windows RC files | 837 | ;;; Windows RC files |
| 861 | ;; Contributed by ACorreir@pervasive-sw.com (Alfred Correira) | 838 | ;; Contributed by ACorreir@pervasive-sw.com (Alfred Correira) |
| @@ -947,8 +924,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 947 | (2 font-lock-variable-name-face nil t)))) | 924 | (2 font-lock-variable-name-face nil t)))) |
| 948 | '("\\.[rR][cC]\\'") | 925 | '("\\.[rR][cC]\\'") |
| 949 | nil | 926 | nil |
| 950 | "Generic mode for MS-Windows Resource files." | 927 | "Generic mode for MS-Windows Resource files.")) |
| 951 | :group 'generic-x-modes)) | ||
| 952 | 928 | ||
| 953 | ;; InstallShield RUL files | 929 | ;; InstallShield RUL files |
| 954 | ;; Contributed by Alfred.Correira@Pervasive.Com | 930 | ;; Contributed by Alfred.Correira@Pervasive.Com |
| @@ -1568,8 +1544,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1568 | font-lock-variable-name-face "[^_]" "[^_]"))) ; is this face the best choice? | 1544 | font-lock-variable-name-face "[^_]" "[^_]"))) ; is this face the best choice? |
| 1569 | '("\\.[rR][uU][lL]\\'") | 1545 | '("\\.[rR][uU][lL]\\'") |
| 1570 | '(generic-rul-mode-setup-function) | 1546 | '(generic-rul-mode-setup-function) |
| 1571 | "Generic mode for InstallShield RUL files." | 1547 | "Generic mode for InstallShield RUL files.") |
| 1572 | :group 'generic-x-modes) | ||
| 1573 | 1548 | ||
| 1574 | (define-skeleton rul-if | 1549 | (define-skeleton rul-if |
| 1575 | "Insert an if statement." | 1550 | "Insert an if statement." |
| @@ -1619,8 +1594,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1619 | (2 font-lock-variable-name-face))) | 1594 | (2 font-lock-variable-name-face))) |
| 1620 | '("\\.mailrc\\'") | 1595 | '("\\.mailrc\\'") |
| 1621 | nil | 1596 | nil |
| 1622 | "Mode for mailrc files." | 1597 | "Mode for mailrc files.")) |
| 1623 | :group 'generic-x-modes)) | ||
| 1624 | 1598 | ||
| 1625 | ;; Inetd.conf | 1599 | ;; Inetd.conf |
| 1626 | (when (memq 'inetd-conf-generic-mode generic-extras-enable-list) | 1600 | (when (memq 'inetd-conf-generic-mode generic-extras-enable-list) |
| @@ -1640,8 +1614,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1640 | (function | 1614 | (function |
| 1641 | (lambda () | 1615 | (lambda () |
| 1642 | (setq imenu-generic-expression | 1616 | (setq imenu-generic-expression |
| 1643 | '((nil "^\\([-A-Za-z0-9_]+\\)" 1)))))) | 1617 | '((nil "^\\([-A-Za-z0-9_]+\\)" 1)))))))) |
| 1644 | :group 'generic-x-modes)) | ||
| 1645 | 1618 | ||
| 1646 | ;; Services | 1619 | ;; Services |
| 1647 | (when (memq 'etc-services-generic-mode generic-extras-enable-list) | 1620 | (when (memq 'etc-services-generic-mode generic-extras-enable-list) |
| @@ -1659,8 +1632,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1659 | (function | 1632 | (function |
| 1660 | (lambda () | 1633 | (lambda () |
| 1661 | (setq imenu-generic-expression | 1634 | (setq imenu-generic-expression |
| 1662 | '((nil "^\\([-A-Za-z0-9_]+\\)" 1)))))) | 1635 | '((nil "^\\([-A-Za-z0-9_]+\\)" 1)))))))) |
| 1663 | :group 'generic-x-modes)) | ||
| 1664 | 1636 | ||
| 1665 | ;; Password and Group files | 1637 | ;; Password and Group files |
| 1666 | (when (memq 'etc-passwd-generic-mode generic-extras-enable-list) | 1638 | (when (memq 'etc-passwd-generic-mode generic-extras-enable-list) |
| @@ -1702,8 +1674,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1702 | (function | 1674 | (function |
| 1703 | (lambda () | 1675 | (lambda () |
| 1704 | (setq imenu-generic-expression | 1676 | (setq imenu-generic-expression |
| 1705 | '((nil "^\\([-A-Za-z0-9_]+\\):" 1)))))) | 1677 | '((nil "^\\([-A-Za-z0-9_]+\\):" 1)))))))) |
| 1706 | :group 'generic-x-modes)) | ||
| 1707 | 1678 | ||
| 1708 | ;; Fstab | 1679 | ;; Fstab |
| 1709 | (when (memq 'etc-fstab-generic-mode generic-extras-enable-list) | 1680 | (when (memq 'etc-fstab-generic-mode generic-extras-enable-list) |
| @@ -1753,8 +1724,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1753 | (function | 1724 | (function |
| 1754 | (lambda () | 1725 | (lambda () |
| 1755 | (setq imenu-generic-expression | 1726 | (setq imenu-generic-expression |
| 1756 | '((nil "^\\([/-A-Za-z0-9_]+\\)\\s-+" 1)))))) | 1727 | '((nil "^\\([/-A-Za-z0-9_]+\\)\\s-+" 1)))))))) |
| 1757 | :group 'generic-x-modes)) | ||
| 1758 | 1728 | ||
| 1759 | ;; From Jacques Duthen <jacques.duthen@sncf.fr> | 1729 | ;; From Jacques Duthen <jacques.duthen@sncf.fr> |
| 1760 | (when (memq 'show-tabs-generic-mode generic-extras-enable-list) | 1730 | (when (memq 'show-tabs-generic-mode generic-extras-enable-list) |
| @@ -1780,7 +1750,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1780 | (((class color)) (:background "red")) | 1750 | (((class color)) (:background "red")) |
| 1781 | (t (:weight bold))) | 1751 | (t (:weight bold))) |
| 1782 | "Font Lock mode face used to highlight TABs." | 1752 | "Font Lock mode face used to highlight TABs." |
| 1783 | :group 'generic-x-modes) | 1753 | :group 'generic-x) |
| 1784 | 1754 | ||
| 1785 | (defface show-tabs-space-face | 1755 | (defface show-tabs-space-face |
| 1786 | '((((class grayscale) (background light)) (:background "DimGray" :weight bold)) | 1756 | '((((class grayscale) (background light)) (:background "DimGray" :weight bold)) |
| @@ -1789,7 +1759,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1789 | (((class color)) (:background "yellow")) | 1759 | (((class color)) (:background "yellow")) |
| 1790 | (t (:weight bold))) | 1760 | (t (:weight bold))) |
| 1791 | "Font Lock mode face used to highlight spaces." | 1761 | "Font Lock mode face used to highlight spaces." |
| 1792 | :group 'generic-x-modes) | 1762 | :group 'generic-x) |
| 1793 | 1763 | ||
| 1794 | (define-generic-mode show-tabs-generic-mode | 1764 | (define-generic-mode show-tabs-generic-mode |
| 1795 | nil ;; no comment char | 1765 | nil ;; no comment char |
| @@ -1798,8 +1768,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1798 | nil ;; no auto-mode-alist | 1768 | nil ;; no auto-mode-alist |
| 1799 | ;; '(show-tabs-generic-mode-hook-fun) | 1769 | ;; '(show-tabs-generic-mode-hook-fun) |
| 1800 | nil | 1770 | nil |
| 1801 | "Generic mode to show tabs and trailing spaces" | 1771 | "Generic mode to show tabs and trailing spaces")) |
| 1802 | :group 'generic-x-modes)) | ||
| 1803 | 1772 | ||
| 1804 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 1773 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 1805 | ;; DNS modes | 1774 | ;; DNS modes |
| @@ -1822,8 +1791,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1822 | ;; List of additional automode-alist expressions | 1791 | ;; List of additional automode-alist expressions |
| 1823 | '("/etc/named.boot\\'") | 1792 | '("/etc/named.boot\\'") |
| 1824 | ;; List of set up functions to call | 1793 | ;; List of set up functions to call |
| 1825 | nil | 1794 | nil)) |
| 1826 | :group 'generic-x-modes)) | ||
| 1827 | 1795 | ||
| 1828 | (when (memq 'named-database-generic-mode generic-extras-enable-list) | 1796 | (when (memq 'named-database-generic-mode generic-extras-enable-list) |
| 1829 | 1797 | ||
| @@ -1838,8 +1806,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1838 | ;; List of additional auto-mode-alist expressions | 1806 | ;; List of additional auto-mode-alist expressions |
| 1839 | nil | 1807 | nil |
| 1840 | ;; List of set up functions to call | 1808 | ;; List of set up functions to call |
| 1841 | nil | 1809 | nil) |
| 1842 | :group 'generic-x-modes) | ||
| 1843 | 1810 | ||
| 1844 | (defvar named-database-time-string "%Y%m%d%H" | 1811 | (defvar named-database-time-string "%Y%m%d%H" |
| 1845 | "Timestring for named serial numbers.") | 1812 | "Timestring for named serial numbers.") |
| @@ -1861,8 +1828,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1861 | ;; List of additional auto-mode-alist expressions | 1828 | ;; List of additional auto-mode-alist expressions |
| 1862 | '("/etc/resolv[e]?.conf\\'") | 1829 | '("/etc/resolv[e]?.conf\\'") |
| 1863 | ;; List of set up functions to call | 1830 | ;; List of set up functions to call |
| 1864 | nil | 1831 | nil)) |
| 1865 | :group 'generic-x-modes)) | ||
| 1866 | 1832 | ||
| 1867 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 1833 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 1868 | ;; Modes for spice and common electrical engineering circuit netlist formats | 1834 | ;; Modes for spice and common electrical engineering circuit netlist formats |
| @@ -1906,8 +1872,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1906 | (function | 1872 | (function |
| 1907 | (lambda() | 1873 | (lambda() |
| 1908 | (setq font-lock-defaults '(generic-font-lock-keywords nil t))))) | 1874 | (setq font-lock-defaults '(generic-font-lock-keywords nil t))))) |
| 1909 | "Generic mode for SPICE circuit netlist files." | 1875 | "Generic mode for SPICE circuit netlist files.")) |
| 1910 | :group 'generic-x-modes)) | ||
| 1911 | 1876 | ||
| 1912 | (when (memq 'ibis-generic-mode generic-extras-enable-list) | 1877 | (when (memq 'ibis-generic-mode generic-extras-enable-list) |
| 1913 | 1878 | ||
| @@ -1918,8 +1883,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1918 | ("\\(\\(_\\|\\w\\)+\\)\\s-*=" 1 font-lock-variable-name-face)) | 1883 | ("\\(\\(_\\|\\w\\)+\\)\\s-*=" 1 font-lock-variable-name-face)) |
| 1919 | '("\\.[iI][bB][sS]\\'") | 1884 | '("\\.[iI][bB][sS]\\'") |
| 1920 | '(generic-bracket-support) | 1885 | '(generic-bracket-support) |
| 1921 | "Generic mode for IBIS circuit netlist files." | 1886 | "Generic mode for IBIS circuit netlist files.")) |
| 1922 | :group 'generic-x-modes)) | ||
| 1923 | 1887 | ||
| 1924 | (when (memq 'astap-generic-mode generic-extras-enable-list) | 1888 | (when (memq 'astap-generic-mode generic-extras-enable-list) |
| 1925 | 1889 | ||
| @@ -1956,8 +1920,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 1956 | (function | 1920 | (function |
| 1957 | (lambda() | 1921 | (lambda() |
| 1958 | (setq font-lock-defaults '(generic-font-lock-keywords nil t))))) | 1922 | (setq font-lock-defaults '(generic-font-lock-keywords nil t))))) |
| 1959 | "Generic mode for ASTAP circuit netlist files." | 1923 | "Generic mode for ASTAP circuit netlist files.")) |
| 1960 | :group 'generic-x-modes)) | ||
| 1961 | 1924 | ||
| 1962 | (when (memq 'etc-modules-conf-generic-mode generic-extras-enable-list) | 1925 | (when (memq 'etc-modules-conf-generic-mode generic-extras-enable-list) |
| 1963 | 1926 | ||
| @@ -2001,8 +1964,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 2001 | ;; List of additional automode-alist expressions | 1964 | ;; List of additional automode-alist expressions |
| 2002 | '("/etc/modules.conf" "/etc/conf.modules") | 1965 | '("/etc/modules.conf" "/etc/conf.modules") |
| 2003 | ;; List of set up functions to call | 1966 | ;; List of set up functions to call |
| 2004 | nil | 1967 | nil)) |
| 2005 | :group 'generic-x-modes)) | ||
| 2006 | 1968 | ||
| 2007 | (provide 'generic-x) | 1969 | (provide 'generic-x) |
| 2008 | 1970 | ||
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 9f3a114adbe..14450ee3a14 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,17 @@ | |||
| 1 | 2005-05-16 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 2 | |||
| 3 | * gnus-art.el: Don't autoload mail-extract-address-components. | ||
| 4 | |||
| 5 | * gnus.el: Use eval-and-compile to autoload message-y-or-n-p. | ||
| 6 | |||
| 7 | * nndb.el: Don't declare the nndb back end two or more times; don't | ||
| 8 | autoload news-reply-mode, news-setup, cancel-timer and telnet. | ||
| 9 | |||
| 10 | * nntp.el: Autoload format-spec instead of format; use | ||
| 11 | eval-and-compile to evaluate autoload forms. | ||
| 12 | |||
| 13 | * spam-report.el (spam-report-process-queue): Use gnus-point-at-eol. | ||
| 14 | |||
| 1 | 2005-04-28 Katsumi Yamaoka <yamaoka@jpl.org> | 15 | 2005-04-28 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 16 | ||
| 3 | * gnus-art.el (article-date-ut): Support converting date in | 17 | * gnus-art.el (article-date-ut): Support converting date in |
| @@ -345,9 +359,6 @@ | |||
| 345 | 359 | ||
| 346 | * gnus-async.el: Ditto. | 360 | * gnus-async.el: Ditto. |
| 347 | 361 | ||
| 348 | * dgnushack.el: No need to ignore `run-with-idle-timer', XEmacs | ||
| 349 | has this function now. | ||
| 350 | |||
| 351 | 2005-03-16 Lute Kamstra <lute@gnu.org> | 362 | 2005-03-16 Lute Kamstra <lute@gnu.org> |
| 352 | 363 | ||
| 353 | * message.el (message-make-date): Require parse-time. | 364 | * message.el (message-make-date): Require parse-time. |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 55aaed15d90..b1a51d65edd 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -481,9 +481,6 @@ be fed to `format-time-string'." | |||
| 481 | :link '(custom-manual "(gnus)Article Date") | 481 | :link '(custom-manual "(gnus)Article Date") |
| 482 | :group 'gnus-article-washing) | 482 | :group 'gnus-article-washing) |
| 483 | 483 | ||
| 484 | (eval-and-compile | ||
| 485 | (autoload 'mail-extract-address-components "mail-extr")) | ||
| 486 | |||
| 487 | (defcustom gnus-save-all-headers t | 484 | (defcustom gnus-save-all-headers t |
| 488 | "*If non-nil, don't remove any headers before saving." | 485 | "*If non-nil, don't remove any headers before saving." |
| 489 | :group 'gnus-article-saving | 486 | :group 'gnus-article-saving |
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index 3112a07cb2e..98c41de45e5 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; gnus.el --- a newsreader for GNU Emacs | 1 | ;;; gnus.el --- a newsreader for GNU Emacs |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1987, 1988, 1989, 1990, 1993, 1994, 1995, 1996, 1997, | 3 | ;; Copyright (C) 1987, 1988, 1989, 1990, 1993, 1994, 1995, 1996, 1997, |
| 4 | ;; 1998, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. | 4 | ;; 1998, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet> | 6 | ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet> |
| 7 | ;; Lars Magne Ingebrigtsen <larsi@gnus.org> | 7 | ;; Lars Magne Ingebrigtsen <larsi@gnus.org> |
| @@ -34,7 +34,6 @@ | |||
| 34 | (require 'wid-edit) | 34 | (require 'wid-edit) |
| 35 | (require 'mm-util) | 35 | (require 'mm-util) |
| 36 | (require 'nnheader) | 36 | (require 'nnheader) |
| 37 | (autoload 'message-y-or-n-p "message" nil nil 'macro) | ||
| 38 | 37 | ||
| 39 | (defgroup gnus nil | 38 | (defgroup gnus nil |
| 40 | "The coffee-brewing, all singing, all dancing, kitchen sink newsreader." | 39 | "The coffee-brewing, all singing, all dancing, kitchen sink newsreader." |
| @@ -3925,6 +3924,9 @@ If NEWSGROUP is nil, return the global kill file name instead." | |||
| 3925 | (setq valids (cdr valids))) | 3924 | (setq valids (cdr valids))) |
| 3926 | outs)) | 3925 | outs)) |
| 3927 | 3926 | ||
| 3927 | (eval-and-compile | ||
| 3928 | (autoload 'message-y-or-n-p "message" nil nil 'macro)) | ||
| 3929 | |||
| 3928 | (defun gnus-read-group (prompt &optional default) | 3930 | (defun gnus-read-group (prompt &optional default) |
| 3929 | "Prompt the user for a group name. | 3931 | "Prompt the user for a group name. |
| 3930 | Disallow invalid group names." | 3932 | Disallow invalid group names." |
diff --git a/lisp/gnus/nndb.el b/lisp/gnus/nndb.el index bd8523f11b2..6aaf57c81e1 100644 --- a/lisp/gnus/nndb.el +++ b/lisp/gnus/nndb.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; nndb.el --- nndb access for Gnus | 1 | ;;; nndb.el --- nndb access for Gnus |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997, 1998, 2000, 2003, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997, 1998, 2000, 2003, 2004, 2005 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet> | 6 | ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet> |
| 6 | ;; Kai Grossjohann <grossjohann@ls6.informatik.uni-dortmund.de> | 7 | ;; Kai Grossjohann <grossjohann@ls6.informatik.uni-dortmund.de> |
| @@ -50,7 +51,9 @@ | |||
| 50 | ;;- | 51 | ;;- |
| 51 | ;; Register nndb with known select methods. | 52 | ;; Register nndb with known select methods. |
| 52 | 53 | ||
| 53 | (gnus-declare-backend "nndb" 'mail 'respool 'address 'prompt-address) | 54 | (require 'gnus-start) |
| 55 | (unless (assoc "nndb" gnus-valid-select-methods) | ||
| 56 | (gnus-declare-backend "nndb" 'mail 'respool 'address 'prompt-address)) | ||
| 54 | 57 | ||
| 55 | ;;; Code: | 58 | ;;; Code: |
| 56 | 59 | ||
| @@ -59,14 +62,6 @@ | |||
| 59 | (require 'nntp) | 62 | (require 'nntp) |
| 60 | (eval-when-compile (require 'cl)) | 63 | (eval-when-compile (require 'cl)) |
| 61 | 64 | ||
| 62 | (eval-and-compile | ||
| 63 | (autoload 'news-setup "rnewspost") | ||
| 64 | (autoload 'news-reply-mode "rnewspost") | ||
| 65 | (autoload 'cancel-timer "timer") | ||
| 66 | (autoload 'telnet "telnet" nil t) | ||
| 67 | (autoload 'telnet-send-input "telnet" nil t) | ||
| 68 | (autoload 'gnus-declare-backend "gnus-start")) | ||
| 69 | |||
| 70 | ;; Declare nndb as derived from nntp | 65 | ;; Declare nndb as derived from nntp |
| 71 | 66 | ||
| 72 | (nnoo-declare nndb nntp) | 67 | (nnoo-declare nndb nntp) |
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index 8a10600fcb8..ab85ad25931 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | ;;; nntp.el --- nntp access for Gnus | 1 | ;;; nntp.el --- nntp access for Gnus |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1987, 1988, 1989, 1990, 1992, 1993, 1994, 1995, 1996, | 3 | ;; Copyright (C) 1987, 1988, 1989, 1990, 1992, 1993, 1994, 1995, 1996, |
| 4 | ;; 1997, 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. | 4 | ;; 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005 |
| 5 | ;; Free Software Foundation, Inc. | ||
| 5 | 6 | ||
| 6 | ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> | 7 | ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 7 | ;; Keywords: news | 8 | ;; Keywords: news |
| @@ -1147,9 +1148,10 @@ password contained in '~/.nntp-authinfo'." | |||
| 1147 | (defun nntp-open-network-stream (buffer) | 1148 | (defun nntp-open-network-stream (buffer) |
| 1148 | (open-network-stream "nntpd" buffer nntp-address nntp-port-number)) | 1149 | (open-network-stream "nntpd" buffer nntp-address nntp-port-number)) |
| 1149 | 1150 | ||
| 1150 | (autoload 'format-spec "format") | 1151 | (eval-and-compile |
| 1151 | (autoload 'format-spec-make "format") | 1152 | (autoload 'format-spec "format-spec") |
| 1152 | (autoload 'open-tls-stream "tls") | 1153 | (autoload 'format-spec-make "format-spec") |
| 1154 | (autoload 'open-tls-stream "tls")) | ||
| 1153 | 1155 | ||
| 1154 | (defun nntp-open-ssl-stream (buffer) | 1156 | (defun nntp-open-ssl-stream (buffer) |
| 1155 | (let* ((process-connection-type nil) | 1157 | (let* ((process-connection-type nil) |
diff --git a/lisp/gnus/spam-report.el b/lisp/gnus/spam-report.el index b8283ffaaa8..59119dc5438 100644 --- a/lisp/gnus/spam-report.el +++ b/lisp/gnus/spam-report.el | |||
| @@ -159,7 +159,7 @@ symbol `ask', query before flushing the queue file." | |||
| 159 | (goto-char (point-min)) | 159 | (goto-char (point-min)) |
| 160 | (while (and (not (eobp)) | 160 | (while (and (not (eobp)) |
| 161 | (re-search-forward | 161 | (re-search-forward |
| 162 | "http://\\([^/]+\\)\\(/.*\\) *$" (point-at-eol) t)) | 162 | "http://\\([^/]+\\)\\(/.*\\) *$" (gnus-point-at-eol) t)) |
| 163 | (funcall spam-report-url-ping-function (match-string 1) (match-string 2)) | 163 | (funcall spam-report-url-ping-function (match-string 1) (match-string 2)) |
| 164 | (forward-line 1)) | 164 | (forward-line 1)) |
| 165 | (if (or (eq keep nil) | 165 | (if (or (eq keep nil) |
diff --git a/lisp/help-fns.el b/lisp/help-fns.el index 4bf0a4775a0..c11aaf6da76 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el | |||
| @@ -535,7 +535,9 @@ it is displayed along with the global value." | |||
| 535 | (terpri) | 535 | (terpri) |
| 536 | (let ((from (point))) | 536 | (let ((from (point))) |
| 537 | (pp val) | 537 | (pp val) |
| 538 | (help-xref-on-pp from (point)) | 538 | ;; Hyperlinks in variable's value are quite frequently |
| 539 | ;; inappropriate e.g C-h v <RET> features <RET> | ||
| 540 | ;; (help-xref-on-pp from (point)) | ||
| 539 | (if (< (point) (+ from 20)) | 541 | (if (< (point) (+ from 20)) |
| 540 | (delete-region (1- from) from))))) | 542 | (delete-region (1- from) from))))) |
| 541 | (terpri) | 543 | (terpri) |
| @@ -556,7 +558,8 @@ it is displayed along with the global value." | |||
| 556 | ;; sensible size before prettyprinting. -- fx | 558 | ;; sensible size before prettyprinting. -- fx |
| 557 | (let ((from (point))) | 559 | (let ((from (point))) |
| 558 | (pp val) | 560 | (pp val) |
| 559 | (help-xref-on-pp from (point)) | 561 | ;; See previous comment for this function. |
| 562 | ;; (help-xref-on-pp from (point)) | ||
| 560 | (if (< (point) (+ from 20)) | 563 | (if (< (point) (+ from 20)) |
| 561 | (delete-region (1- from) from)))))) | 564 | (delete-region (1- from) from)))))) |
| 562 | (terpri)) | 565 | (terpri)) |
diff --git a/lisp/help-mode.el b/lisp/help-mode.el index 8b0284089fc..d94f03200dc 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el | |||
| @@ -169,6 +169,18 @@ The format is (FUNCTION ARGS...).") | |||
| 169 | (goto-char (cdr location)))) | 169 | (goto-char (cdr location)))) |
| 170 | 'help-echo (purecopy"mouse-2, RET: find variable's definition")) | 170 | 'help-echo (purecopy"mouse-2, RET: find variable's definition")) |
| 171 | 171 | ||
| 172 | (define-button-type 'help-face-def | ||
| 173 | :supertype 'help-xref | ||
| 174 | 'help-function (lambda (fun file) | ||
| 175 | (require 'find-func) | ||
| 176 | ;; Don't use find-function-noselect because it follows | ||
| 177 | ;; aliases (which fails for built-in functions). | ||
| 178 | (let ((location | ||
| 179 | (find-function-search-for-symbol fun 'defface file))) | ||
| 180 | (pop-to-buffer (car location)) | ||
| 181 | (goto-char (cdr location)))) | ||
| 182 | 'help-echo (purecopy "mouse-2, RET: find face's definition")) | ||
| 183 | |||
| 172 | 184 | ||
| 173 | ;;;###autoload | 185 | ;;;###autoload |
| 174 | (defun help-mode () | 186 | (defun help-mode () |
diff --git a/lisp/hexl.el b/lisp/hexl.el index 99bbda91c6c..35674e1d10a 100644 --- a/lisp/hexl.el +++ b/lisp/hexl.el | |||
| @@ -874,7 +874,7 @@ Embedded whitespace, dashes, and periods in the string are ignored." | |||
| 874 | (defun hexl-insert-decimal-char (arg) | 874 | (defun hexl-insert-decimal-char (arg) |
| 875 | "Insert a character given by its decimal code ARG times at point." | 875 | "Insert a character given by its decimal code ARG times at point." |
| 876 | (interactive "p") | 876 | (interactive "p") |
| 877 | (let ((num (string-to-int (read-string "Decimal Number: ")))) | 877 | (let ((num (string-to-number (read-string "Decimal Number: ")))) |
| 878 | (if (< num 0) | 878 | (if (< num 0) |
| 879 | (error "Decimal number out of range") | 879 | (error "Decimal number out of range") |
| 880 | (hexl-insert-multibyte-char num arg)))) | 880 | (hexl-insert-multibyte-char num arg)))) |
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index e2e5d251371..87d9eb707eb 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el | |||
| @@ -1024,7 +1024,9 @@ currently used by buffers." | |||
| 1024 | (ibuffer-awhen (with-current-buffer buf | 1024 | (ibuffer-awhen (with-current-buffer buf |
| 1025 | (or buffer-file-name | 1025 | (or buffer-file-name |
| 1026 | (and (boundp 'dired-directory) | 1026 | (and (boundp 'dired-directory) |
| 1027 | dired-directory | 1027 | (if (stringp dired-directory) |
| 1028 | dired-directory | ||
| 1029 | (car dired-directory)) | ||
| 1028 | (expand-file-name dired-directory)))) | 1030 | (expand-file-name dired-directory)))) |
| 1029 | (string-match qualifier it))) | 1031 | (string-match qualifier it))) |
| 1030 | 1032 | ||
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index f2ebb5db324..213160b6f37 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el | |||
| @@ -1688,7 +1688,9 @@ If point is on a group name, this function operates on that group." | |||
| 1688 | (abbreviate-file-name | 1688 | (abbreviate-file-name |
| 1689 | (or buffer-file-name | 1689 | (or buffer-file-name |
| 1690 | (and (boundp 'dired-directory) | 1690 | (and (boundp 'dired-directory) |
| 1691 | dired-directory) | 1691 | (if (stringp dired-directory) |
| 1692 | dired-directory | ||
| 1693 | (car dired-directory))) | ||
| 1692 | "")))) | 1694 | "")))) |
| 1693 | 1695 | ||
| 1694 | (define-ibuffer-column filename-and-process | 1696 | (define-ibuffer-column filename-and-process |
diff --git a/lisp/ido.el b/lisp/ido.el index 519d57cbb88..24b8ba34b75 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -1392,10 +1392,15 @@ This function also adds a hook to the minibuffer." | |||
| 1392 | (define-key map [left] 'ido-prev-match) | 1392 | (define-key map [left] 'ido-prev-match) |
| 1393 | (define-key map "?" 'ido-completion-help) | 1393 | (define-key map "?" 'ido-completion-help) |
| 1394 | 1394 | ||
| 1395 | ;; Magic commands. | ||
| 1396 | (define-key map "\C-b" 'ido-magic-backward-char) | ||
| 1397 | (define-key map "\C-f" 'ido-magic-forward-char) | ||
| 1398 | (define-key map "\C-d" 'ido-magic-delete-char) | ||
| 1399 | |||
| 1395 | (when (memq ido-cur-item '(file dir)) | 1400 | (when (memq ido-cur-item '(file dir)) |
| 1396 | (define-key map "\C-b" (or ido-context-switch-command 'ido-enter-switch-buffer)) | 1401 | (define-key map "\C-x\C-b" (or ido-context-switch-command 'ido-enter-switch-buffer)) |
| 1397 | (define-key map "\C-d" (or (and ido-context-switch-command 'ignore) 'ido-enter-dired)) | 1402 | (define-key map "\C-x\C-f" 'ido-fallback-command) |
| 1398 | (define-key map "\C-f" 'ido-fallback-command) | 1403 | (define-key map "\C-x\C-d" (or (and ido-context-switch-command 'ignore) 'ido-enter-dired)) |
| 1399 | (define-key map [down] 'ido-next-match-dir) | 1404 | (define-key map [down] 'ido-next-match-dir) |
| 1400 | (define-key map [up] 'ido-prev-match-dir) | 1405 | (define-key map [up] 'ido-prev-match-dir) |
| 1401 | (define-key map [(meta up)] 'ido-prev-work-directory) | 1406 | (define-key map [(meta up)] 'ido-prev-work-directory) |
| @@ -1405,7 +1410,7 @@ This function also adds a hook to the minibuffer." | |||
| 1405 | (define-key map [(meta backspace)] 'ido-delete-backward-word-updir) | 1410 | (define-key map [(meta backspace)] 'ido-delete-backward-word-updir) |
| 1406 | (define-key map [(control backspace)] 'ido-up-directory) | 1411 | (define-key map [(control backspace)] 'ido-up-directory) |
| 1407 | (define-key map "\C-l" 'ido-reread-directory) | 1412 | (define-key map "\C-l" 'ido-reread-directory) |
| 1408 | (define-key map [(meta ?d)] 'ido-wide-find-dir) | 1413 | (define-key map [(meta ?d)] 'ido-wide-find-dir-or-delete-dir) |
| 1409 | (define-key map [(meta ?b)] 'ido-push-dir) | 1414 | (define-key map [(meta ?b)] 'ido-push-dir) |
| 1410 | (define-key map [(meta ?f)] 'ido-wide-find-file-or-pop-dir) | 1415 | (define-key map [(meta ?f)] 'ido-wide-find-file-or-pop-dir) |
| 1411 | (define-key map [(meta ?k)] 'ido-forget-work-directory) | 1416 | (define-key map [(meta ?k)] 'ido-forget-work-directory) |
| @@ -1426,8 +1431,8 @@ This function also adds a hook to the minibuffer." | |||
| 1426 | ) | 1431 | ) |
| 1427 | 1432 | ||
| 1428 | (when (eq ido-cur-item 'buffer) | 1433 | (when (eq ido-cur-item 'buffer) |
| 1429 | (define-key map "\C-f" (or ido-context-switch-command 'ido-enter-find-file)) | 1434 | (define-key map "\C-x\C-f" (or ido-context-switch-command 'ido-enter-find-file)) |
| 1430 | (define-key map "\C-b" 'ido-fallback-command) | 1435 | (define-key map "\C-x\C-b" 'ido-fallback-command) |
| 1431 | (define-key map "\C-k" 'ido-kill-buffer-at-head) | 1436 | (define-key map "\C-k" 'ido-kill-buffer-at-head) |
| 1432 | ) | 1437 | ) |
| 1433 | 1438 | ||
| @@ -2258,6 +2263,62 @@ If no merge has yet taken place, toggle automatic merging option." | |||
| 2258 | ((not ido-use-merged-list) | 2263 | ((not ido-use-merged-list) |
| 2259 | (ido-merge-work-directories)))) | 2264 | (ido-merge-work-directories)))) |
| 2260 | 2265 | ||
| 2266 | ;;; Magic C-f | ||
| 2267 | |||
| 2268 | (defun ido-magic-forward-char () | ||
| 2269 | "Move forward in user input or perform magic action. | ||
| 2270 | If no user input is present or at end of input, perform magic actions: | ||
| 2271 | C-x C-b ... C-f switch to ido-find-file. | ||
| 2272 | C-x C-f ... C-f fallback to non-ido find-file. | ||
| 2273 | C-x C-d ... C-f fallback to non-ido brief dired. | ||
| 2274 | C-x d ... C-f fallback to non-ido dired." | ||
| 2275 | (interactive) | ||
| 2276 | (cond | ||
| 2277 | ((not (eobp)) | ||
| 2278 | (forward-char 1)) | ||
| 2279 | ((memq ido-cur-item '(file dir)) | ||
| 2280 | (ido-fallback-command)) | ||
| 2281 | (ido-context-switch-command | ||
| 2282 | (call-interactively ido-context-switch-command)) | ||
| 2283 | ((eq ido-cur-item 'buffer) | ||
| 2284 | (ido-enter-find-file)))) | ||
| 2285 | |||
| 2286 | ;;; Magic C-b | ||
| 2287 | |||
| 2288 | (defun ido-magic-backward-char () | ||
| 2289 | "Move backward in user input or perform magic action. | ||
| 2290 | If no user input is present, or at start of input, perform magic actions: | ||
| 2291 | C-x C-f C-b switch to ido-switch-buffer. | ||
| 2292 | C-x C-d C-b switch to ido-switch-buffer. | ||
| 2293 | C-x d C-b switch to ido-switch-buffer. | ||
| 2294 | C-x C-b C-b fallback to non-ido switch-to-buffer." | ||
| 2295 | (interactive) | ||
| 2296 | (cond | ||
| 2297 | ((> (point) (minibuffer-prompt-end)) | ||
| 2298 | (forward-char -1)) | ||
| 2299 | ((eq ido-cur-item 'buffer) | ||
| 2300 | (ido-fallback-command)) | ||
| 2301 | (ido-context-switch-command | ||
| 2302 | (call-interactively ido-context-switch-command)) | ||
| 2303 | (t | ||
| 2304 | (ido-enter-switch-buffer)))) | ||
| 2305 | |||
| 2306 | ;;; Magic C-d | ||
| 2307 | |||
| 2308 | (defun ido-magic-delete-char () | ||
| 2309 | "Delete following char in user input or perform magic action. | ||
| 2310 | If at end of user input, perform magic actions: | ||
| 2311 | C-x C-f ... C-d enter dired on current directory." | ||
| 2312 | (interactive) | ||
| 2313 | (cond | ||
| 2314 | ((not (eobp)) | ||
| 2315 | (delete-char 1)) | ||
| 2316 | (ido-context-switch-command | ||
| 2317 | nil) | ||
| 2318 | ((memq ido-cur-item '(file dir)) | ||
| 2319 | (ido-enter-dired)))) | ||
| 2320 | |||
| 2321 | |||
| 2261 | ;;; TOGGLE FUNCTIONS | 2322 | ;;; TOGGLE FUNCTIONS |
| 2262 | 2323 | ||
| 2263 | (defun ido-toggle-case () | 2324 | (defun ido-toggle-case () |
| @@ -2505,6 +2566,14 @@ If no buffer or file exactly matching the prompt exists, maybe create a new one. | |||
| 2505 | (setq ido-rotate-temp t) | 2566 | (setq ido-rotate-temp t) |
| 2506 | (exit-minibuffer))) | 2567 | (exit-minibuffer))) |
| 2507 | 2568 | ||
| 2569 | (defun ido-wide-find-dir-or-delete-dir (&optional dir) | ||
| 2570 | "Prompt for DIR to search for using find, starting from current directory. | ||
| 2571 | If input stack is non-empty, delete current directory component." | ||
| 2572 | (interactive) | ||
| 2573 | (if ido-input-stack | ||
| 2574 | (ido-delete-backward-word-updir 1) | ||
| 2575 | (ido-wide-find-dir))) | ||
| 2576 | |||
| 2508 | (defun ido-push-dir () | 2577 | (defun ido-push-dir () |
| 2509 | "Move to previous directory in file name, push current input on stack." | 2578 | "Move to previous directory in file name, push current input on stack." |
| 2510 | (interactive) | 2579 | (interactive) |
| @@ -4077,6 +4146,7 @@ For details of keybindings, do `\\[describe-function] ido-find-file'." | |||
| 4077 | ;;; Helper functions for other programs | 4146 | ;;; Helper functions for other programs |
| 4078 | 4147 | ||
| 4079 | (put 'dired-do-rename 'ido 'ignore) | 4148 | (put 'dired-do-rename 'ido 'ignore) |
| 4149 | (put 'ibuffer-find-file 'ido 'find-file) | ||
| 4080 | 4150 | ||
| 4081 | ;;;###autoload | 4151 | ;;;###autoload |
| 4082 | (defun ido-read-buffer (prompt &optional default require-match) | 4152 | (defun ido-read-buffer (prompt &optional default require-match) |
| @@ -4111,7 +4181,8 @@ See `read-file-name' for additional parameters." | |||
| 4111 | (not (memq this-command ido-read-file-name-non-ido)) | 4181 | (not (memq this-command ido-read-file-name-non-ido)) |
| 4112 | (or (null predicate) (eq predicate 'file-exists-p))) | 4182 | (or (null predicate) (eq predicate 'file-exists-p))) |
| 4113 | (let* (ido-saved-vc-hb | 4183 | (let* (ido-saved-vc-hb |
| 4114 | (ido-context-switch-command 'ignore) | 4184 | (ido-context-switch-command |
| 4185 | (if (eq (get this-command 'ido) 'find-file) nil 'ignore)) | ||
| 4115 | (vc-handled-backends (and (boundp 'vc-handled-backends) vc-handled-backends)) | 4186 | (vc-handled-backends (and (boundp 'vc-handled-backends) vc-handled-backends)) |
| 4116 | (ido-current-directory (ido-expand-directory dir)) | 4187 | (ido-current-directory (ido-expand-directory dir)) |
| 4117 | (ido-directory-nonreadable (not (file-readable-p ido-current-directory))) | 4188 | (ido-directory-nonreadable (not (file-readable-p ido-current-directory))) |
| @@ -4126,6 +4197,8 @@ See `read-file-name' for additional parameters." | |||
| 4126 | (cond | 4197 | (cond |
| 4127 | ((eq ido-exit 'fallback) | 4198 | ((eq ido-exit 'fallback) |
| 4128 | (setq filename 'fallback)) | 4199 | (setq filename 'fallback)) |
| 4200 | ((eq ido-exit 'dired) | ||
| 4201 | (setq filename ido-current-directory)) | ||
| 4129 | (filename | 4202 | (filename |
| 4130 | (setq filename | 4203 | (setq filename |
| 4131 | (concat ido-current-directory filename)))))) | 4204 | (concat ido-current-directory filename)))))) |
diff --git a/lisp/imenu.el b/lisp/imenu.el index 831550bd7a3..92e00282ea0 100644 --- a/lisp/imenu.el +++ b/lisp/imenu.el | |||
| @@ -119,7 +119,8 @@ If t, always use a popup menu, | |||
| 119 | If `on-mouse' use a popup menu when `imenu' was invoked with the mouse." | 119 | If `on-mouse' use a popup menu when `imenu' was invoked with the mouse." |
| 120 | :type '(choice (const :tag "On Mouse" on-mouse) | 120 | :type '(choice (const :tag "On Mouse" on-mouse) |
| 121 | (const :tag "Never" nil) | 121 | (const :tag "Never" nil) |
| 122 | (other :tag "Always" t))) | 122 | (other :tag "Always" t)) |
| 123 | :group 'imenu) | ||
| 123 | 124 | ||
| 124 | (defcustom imenu-eager-completion-buffer | 125 | (defcustom imenu-eager-completion-buffer |
| 125 | (not (eq imenu-always-use-completion-buffer-p 'never)) | 126 | (not (eq imenu-always-use-completion-buffer-p 'never)) |
diff --git a/lisp/international/ccl.el b/lisp/international/ccl.el index bb717ec32ae..c445d7d40e1 100644 --- a/lisp/international/ccl.el +++ b/lisp/international/ccl.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; ccl.el --- CCL (Code Conversion Language) compiler | 1 | ;;; ccl.el --- CCL (Code Conversion Language) compiler |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 1998, 2001, 2002 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1998, 1999, 2000 |
| 5 | ;; Copyright (C) 2002 Free Software Foundation, Inc. | 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 6 | ;; Registration Number H14PRO021 | ||
| 6 | 7 | ||
| 7 | ;; Keywords: CCL, mule, multilingual, character set, coding-system | 8 | ;; Keywords: CCL, mule, multilingual, character set, coding-system |
| 8 | 9 | ||
diff --git a/lisp/international/characters.el b/lisp/international/characters.el index a8eeb2e4859..1bab1bcff33 100644 --- a/lisp/international/characters.el +++ b/lisp/international/characters.el | |||
| @@ -1,8 +1,10 @@ | |||
| 1 | ;;; characters.el --- set syntax and category for multibyte characters | 1 | ;;; characters.el --- set syntax and category for multibyte characters |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 1997 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 2000, 2001, 2002, 2003, 2004 |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Free Software Foundation, Inc. |
| 5 | ;; Copyright (C) 2001, 2002 Free Software Foundation, Inc. | 5 | ;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 7 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 8 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 9 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 10 | ;; Registration Number H13PRO009 |
diff --git a/lisp/international/codepage.el b/lisp/international/codepage.el index b9c819b7524..7571ccf986f 100644 --- a/lisp/international/codepage.el +++ b/lisp/international/codepage.el | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | ;;; codepage.el --- MS-DOS/MS-Windows specific coding systems | 1 | ;;; codepage.el --- MS-DOS/MS-Windows specific coding systems |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1998, 2005 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1998, 1999, 2000, 2002, 2005 Free Software Foundation, Inc. |
| 4 | ;; Copyright (C) 2000 | ||
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 4 | 7 | ||
| 5 | ;; Author: Eli Zaretskii | 8 | ;; Author: Eli Zaretskii |
| 6 | ;; Maintainer: FSF | 9 | ;; Maintainer: FSF |
diff --git a/lisp/international/encoded-kb.el b/lisp/international/encoded-kb.el index f016f1b9038..2354e658282 100644 --- a/lisp/international/encoded-kb.el +++ b/lisp/international/encoded-kb.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; encoded-kb.el --- handler to input multibyte characters encoded somehow | 1 | ;;; encoded-kb.el --- handler to input multibyte characters encoded somehow |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2004, 2005 |
| 5 | ;; Copyright (C) 2002 Free Software Foundation, Inc. | 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 6 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el index 2831db2b026..ee8e08c3956 100644 --- a/lisp/international/fontset.el +++ b/lisp/international/fontset.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; fontset.el --- commands for handling fontset | 1 | ;;; fontset.el --- commands for handling fontset |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 1997 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003 |
| 5 | ;; Copyright (C) 2001 Free Software Foundation, Inc. | 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 6 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/international/isearch-x.el b/lisp/international/isearch-x.el index aad6b6e745e..31691268c9c 100644 --- a/lisp/international/isearch-x.el +++ b/lisp/international/isearch-x.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; isearch-x.el --- extended isearch handling commands | 1 | ;;; isearch-x.el --- extended isearch handling commands |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 2001, 2004 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997, 1998, 2000 |
| 5 | ;; Copyright (C) 2001 Free Software Foundation, Inc. | 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 6 | ;; Registration Number H14PRO021 | ||
| 6 | 7 | ||
| 7 | ;; Keywords: multilingual, isearch | 8 | ;; Keywords: multilingual, isearch |
| 8 | 9 | ||
diff --git a/lisp/international/iso-ascii.el b/lisp/international/iso-ascii.el index 3bffb1795f0..0dbb4e4093a 100644 --- a/lisp/international/iso-ascii.el +++ b/lisp/international/iso-ascii.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; iso-ascii.el --- set up char tables for ISO 8859/1 on ASCII terminals | 1 | ;;; iso-ascii.el --- set up char tables for ISO 8859/1 on ASCII terminals |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1987, 1995 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1987, 1995, 1998, 2003 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Howard Gayle | 5 | ;; Author: Howard Gayle |
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
diff --git a/lisp/international/iso-cvt.el b/lisp/international/iso-cvt.el index 232fe5037ee..f7e325b0ca3 100644 --- a/lisp/international/iso-cvt.el +++ b/lisp/international/iso-cvt.el | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | ;;; iso-cvt.el --- translate ISO 8859-1 from/to various encodings -*- coding: iso-latin-1 -*- | 1 | ;;; iso-cvt.el --- translate ISO 8859-1 from/to various encodings -*- coding: iso-latin-1 -*- |
| 2 | ;; This file was formerly called gm-lingo.el. | 2 | ;; This file was formerly called gm-lingo.el. |
| 3 | 3 | ||
| 4 | ;; Copyright (C) 1993, 1994, 1995, 1996, 1998, 2000, 2003, 2004 | 4 | ;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2003, 2004 |
| 5 | ;; Free Software Foundation, Inc. | 5 | ;; Free Software Foundation, Inc. |
| 6 | 6 | ||
| 7 | ;; Author: Michael Gschwind <mike@vlsivie.tuwien.ac.at> | 7 | ;; Author: Michael Gschwind <mike@vlsivie.tuwien.ac.at> |
| 8 | ;; Keywords: tex, iso, latin, i18n | 8 | ;; Keywords: tex, iso, latin, i18n |
diff --git a/lisp/international/iso-transl.el b/lisp/international/iso-transl.el index a071b14b3d2..e0aa17b4916 100644 --- a/lisp/international/iso-transl.el +++ b/lisp/international/iso-transl.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; iso-transl.el --- keyboard input definitions for ISO 8859-1 -*- coding: iso-8859-1 -*- | 1 | ;;; iso-transl.el --- keyboard input definitions for ISO 8859-1 -*- coding: iso-8859-1 -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1987, 1993, 1994, 1995, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: Howard Gayle | 6 | ;; Author: Howard Gayle |
| 6 | ;; Maintainer: FSF | 7 | ;; Maintainer: FSF |
diff --git a/lisp/international/ja-dic-cnv.el b/lisp/international/ja-dic-cnv.el index 682a2a8f2b5..f145c602ffe 100644 --- a/lisp/international/ja-dic-cnv.el +++ b/lisp/international/ja-dic-cnv.el | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | ;;; ja-dic-cnv.el --- convert a Japanese dictionary (SKK-JISYO.L) to Emacs Lisp | 1 | ;;; ja-dic-cnv.el --- convert a Japanese dictionary (SKK-JISYO.L) to Emacs Lisp |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 2000 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1995, 2000 |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 5 | ;; Registration Number H14PRO021 | ||
| 5 | 6 | ||
| 6 | ;; Keywords: mule, multilingual, Japanese | 7 | ;; Keywords: mule, multilingual, Japanese |
| 7 | 8 | ||
diff --git a/lisp/international/ja-dic-utl.el b/lisp/international/ja-dic-utl.el index 07d9e1ff760..ba00977832a 100644 --- a/lisp/international/ja-dic-utl.el +++ b/lisp/international/ja-dic-utl.el | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | ;;; ja-dic-utl.el --- utilities for handling Japanese dictionary (SKK-JISYO.L) | 1 | ;;; ja-dic-utl.el --- utilities for handling Japanese dictionary (SKK-JISYO.L) |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 2000 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1995, 2000 |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 5 | ;; Registration Number H14PRO021 | ||
| 5 | 6 | ||
| 6 | ;; Keywords: mule, multilingual, Japanese | 7 | ;; Keywords: mule, multilingual, Japanese |
| 7 | 8 | ||
diff --git a/lisp/international/kinsoku.el b/lisp/international/kinsoku.el index 28d6409d46b..76ec5ded397 100644 --- a/lisp/international/kinsoku.el +++ b/lisp/international/kinsoku.el | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | ;;; kinsoku.el --- `Kinsoku' processing funcs -*- coding: iso-2022-7bit; -*- | 1 | ;;; kinsoku.el --- `Kinsoku' processing funcs -*- coding: iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 2003 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997, 1998 |
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 5 | 7 | ||
| 6 | ;; Keywords: mule, kinsoku | 8 | ;; Keywords: mule, kinsoku |
| 7 | 9 | ||
diff --git a/lisp/international/kkc.el b/lisp/international/kkc.el index 972bbbfdddf..be8d242c63e 100644 --- a/lisp/international/kkc.el +++ b/lisp/international/kkc.el | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | ;;; kkc.el --- Kana Kanji converter -*- coding: iso-2022-7bit; -*- | 1 | ;;; kkc.el --- Kana Kanji converter -*- coding: iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 1998 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997, 1998, 2000, 2001, 2003 |
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 5 | 7 | ||
| 6 | ;; Keywords: mule, multilingual, Japanese | 8 | ;; Keywords: mule, multilingual, Japanese |
| 7 | 9 | ||
diff --git a/lisp/international/latexenc.el b/lisp/international/latexenc.el index 39acbb33dfd..88da8ffed79 100644 --- a/lisp/international/latexenc.el +++ b/lisp/international/latexenc.el | |||
| @@ -173,6 +173,7 @@ coding system names is determined from `latex-inputenc-coding-alist'." | |||
| 173 | 'undecided)))) | 173 | 'undecided)))) |
| 174 | 'undecided)) | 174 | 'undecided)) |
| 175 | 175 | ||
| 176 | |||
| 176 | (provide 'latexenc) | 177 | (provide 'latexenc) |
| 177 | 178 | ||
| 178 | ;; arch-tag: f971bc3e-1fec-4609-8f2f-73dd41ab22e1 | 179 | ;; arch-tag: f971bc3e-1fec-4609-8f2f-73dd41ab22e1 |
diff --git a/lisp/international/latin1-disp.el b/lisp/international/latin1-disp.el index 86f5bf7a726..12b0c22b7ab 100644 --- a/lisp/international/latin1-disp.el +++ b/lisp/international/latin1-disp.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; latin1-disp.el --- display tables for other ISO 8859 on Latin-1 terminals -*-coding: iso-2022-7bit;-*- | 1 | ;;; latin1-disp.el --- display tables for other ISO 8859 on Latin-1 terminals -*-coding: iso-2022-7bit;-*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2000, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Dave Love <fx@gnu.org> | 5 | ;; Author: Dave Love <fx@gnu.org> |
| 6 | ;; Keywords: i18n | 6 | ;; Keywords: i18n |
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index 8a2c8da2665..daab87259a3 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el | |||
| @@ -1,8 +1,10 @@ | |||
| 1 | ;;; mule-cmds.el --- commands for mulitilingual environment -*-coding: iso-2022-7bit -*- | 1 | ;;; mule-cmds.el --- commands for mulitilingual environment -*-coding: iso-2022-7bit -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 |
| 4 | ;; Copyright (C) 1995, 2003 Electrotechnical Laboratory, JAPAN. | 4 | ;; Free Software Foundation, Inc. |
| 5 | ;; Licensed to the Free Software Foundation. | 5 | ;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 7 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 8 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 9 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 10 | ;; Registration Number H13PRO009 |
diff --git a/lisp/international/mule-conf.el b/lisp/international/mule-conf.el index 79bf4f3432a..0fb5d93af65 100644 --- a/lisp/international/mule-conf.el +++ b/lisp/international/mule-conf.el | |||
| @@ -1,8 +1,10 @@ | |||
| 1 | ;;; mule-conf.el --- configure multilingual environment | 1 | ;;; mule-conf.el --- configure multilingual environment |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2005 |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Free Software Foundation, Inc. |
| 5 | ;; Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. | 5 | ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 7 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 8 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 9 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 10 | ;; Registration Number H13PRO009 |
diff --git a/lisp/international/mule-diag.el b/lisp/international/mule-diag.el index a4423a67181..c79eb158695 100644 --- a/lisp/international/mule-diag.el +++ b/lisp/international/mule-diag.el | |||
| @@ -1,8 +1,10 @@ | |||
| 1 | ;;; mule-diag.el --- show diagnosis of multilingual environment (Mule) | 1 | ;;; mule-diag.el --- show diagnosis of multilingual environment (Mule) |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003 |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Free Software Foundation, Inc. |
| 5 | ;; Copyright (C) 2001, 2002 Free Software Foundation, Inc. | 5 | ;; Copyright (C) 1995, 1997, 1999, 2000, 2001, 2002, 2003 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 7 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 8 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 9 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 10 | ;; Registration Number H13PRO009 |
diff --git a/lisp/international/mule-util.el b/lisp/international/mule-util.el index b85d98a1787..236a34b84ab 100644 --- a/lisp/international/mule-util.el +++ b/lisp/international/mule-util.el | |||
| @@ -1,8 +1,10 @@ | |||
| 1 | ;;; mule-util.el --- utility functions for mulitilingual environment (mule) | 1 | ;;; mule-util.el --- utility functions for mulitilingual environment (mule) |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004 |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Free Software Foundation, Inc. |
| 5 | ;; Copyright (C) 2000, 2002, 2004 Free Software Foundation, Inc. | 5 | ;; Copyright (C) 1995, 1997, 1998, 1999, 2004 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 7 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 8 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 9 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 10 | ;; Registration Number H13PRO009 |
diff --git a/lisp/international/mule.el b/lisp/international/mule.el index cc7f41706d9..a583498e8b2 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el | |||
| @@ -1,8 +1,10 @@ | |||
| 1 | ;;; mule.el --- basic commands for multilingual environment | 1 | ;;; mule.el --- basic commands for multilingual environment |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Free Software Foundation, Inc. |
| 5 | ;; Copyright (C) 2001, 2002 Free Software Foundation, Inc. | 5 | ;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 7 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 8 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 9 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 10 | ;; Registration Number H13PRO009 |
diff --git a/lisp/international/ogonek.el b/lisp/international/ogonek.el index ebe2eaec900..112bc22cfc6 100644 --- a/lisp/international/ogonek.el +++ b/lisp/international/ogonek.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; ogonek.el --- change the encoding of Polish diacritics | 1 | ;;; ogonek.el --- change the encoding of Polish diacritics |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997, 1998, 2001 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: W{\l}odek Bzyl, Ryszard Kubiak | 5 | ;; Author: W{\l}odek Bzyl, Ryszard Kubiak |
| 6 | ;; Maintainer: rysiek@ipipan.gda.pl (Ryszard Kubiak) | 6 | ;; Maintainer: rysiek@ipipan.gda.pl (Ryszard Kubiak) |
| @@ -166,7 +166,7 @@ znak/ow diakrytycznych. Funkcje te mo/zna pogrupowa/c nast/epuj/aco. | |||
| 166 | (set-buffer (get-buffer-create " *ogonek-jak*")) | 166 | (set-buffer (get-buffer-create " *ogonek-jak*")) |
| 167 | (insert ogonek-informacja) | 167 | (insert ogonek-informacja) |
| 168 | (switch-to-buffer " *ogonek-jak*") | 168 | (switch-to-buffer " *ogonek-jak*") |
| 169 | (beginning-of-buffer)) | 169 | (goto-char (point-min))) |
| 170 | 170 | ||
| 171 | ;; ------ A Little Info in English -------- | 171 | ;; ------ A Little Info in English -------- |
| 172 | 172 | ||
| @@ -264,7 +264,7 @@ The functions come in the following groups. | |||
| 264 | (set-buffer (get-buffer-create " *ogonek-how*")) | 264 | (set-buffer (get-buffer-create " *ogonek-how*")) |
| 265 | (insert ogonek-information) | 265 | (insert ogonek-information) |
| 266 | (switch-to-buffer " *ogonek-how*") | 266 | (switch-to-buffer " *ogonek-how*") |
| 267 | (beginning-of-buffer)) | 267 | (goto-char (point-min))) |
| 268 | 268 | ||
| 269 | ;; ---- Variables keeping the suggested answers to dialogue questions ----- | 269 | ;; ---- Variables keeping the suggested answers to dialogue questions ----- |
| 270 | (defvar ogonek-encoding-choices | 270 | (defvar ogonek-encoding-choices |
diff --git a/lisp/international/quail.el b/lisp/international/quail.el index 7594923a7e9..01ec42109de 100644 --- a/lisp/international/quail.el +++ b/lisp/international/quail.el | |||
| @@ -1,9 +1,7 @@ | |||
| 1 | ;;; quail.el --- provides simple input method for multilingual text | 1 | ;;; quail.el --- provides simple input method for multilingual text |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 2000 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2003, 2004 |
| 5 | ;; Copyright (C) 2001, 2002 Free Software Foundation, Inc. | ||
| 6 | ;; Copyright (C) 2005 | ||
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H14PRO021 | 6 | ;; Registration Number H14PRO021 |
| 9 | 7 | ||
diff --git a/lisp/international/swedish.el b/lisp/international/swedish.el index b13a5e685b9..bf9fce5de65 100644 --- a/lisp/international/swedish.el +++ b/lisp/international/swedish.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; swedish.el --- miscellaneous functions for dealing with Swedish | 1 | ;;; swedish.el --- miscellaneous functions for dealing with Swedish |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1988 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1988, 2001 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Howard Gayle | 5 | ;; Author: Howard Gayle |
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
diff --git a/lisp/international/titdic-cnv.el b/lisp/international/titdic-cnv.el index e5772fdec00..46262938c68 100644 --- a/lisp/international/titdic-cnv.el +++ b/lisp/international/titdic-cnv.el | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | ;;; titdic-cnv.el --- convert cxterm dictionary (TIT format) to Quail package -*- coding:iso-2022-7bit; -*- | 1 | ;;; titdic-cnv.el --- convert cxterm dictionary (TIT format) to Quail package -*- coding:iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 1998, 2000, 2001 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997, 1998, 2000, 2001, 2002 |
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 5 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 7 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el index 100eb6076db..b34e26f74d4 100644 --- a/lisp/jit-lock.el +++ b/lisp/jit-lock.el | |||
| @@ -137,8 +137,9 @@ The value of this variable is used when JIT Lock mode is turned on." | |||
| 137 | 137 | ||
| 138 | (defcustom jit-lock-context-time 0.5 | 138 | (defcustom jit-lock-context-time 0.5 |
| 139 | "Idle time after which text is contextually refontified, if applicable." | 139 | "Idle time after which text is contextually refontified, if applicable." |
| 140 | :type '(number :tag "seconds")) | 140 | :type '(number :tag "seconds") |
| 141 | 141 | :group 'jit-lock) | |
| 142 | |||
| 142 | (defcustom jit-lock-defer-time nil ;; 0.25 | 143 | (defcustom jit-lock-defer-time nil ;; 0.25 |
| 143 | "Idle time after which deferred fontification should take place. | 144 | "Idle time after which deferred fontification should take place. |
| 144 | If nil, fontification is not deferred." | 145 | If nil, fontification is not deferred." |
diff --git a/lisp/language/china-util.el b/lisp/language/china-util.el index d97ec4108bf..84f46c4bf2c 100644 --- a/lisp/language/china-util.el +++ b/lisp/language/china-util.el | |||
| @@ -1,8 +1,10 @@ | |||
| 1 | ;;; china-util.el --- utilities for Chinese -*- coding: iso-2022-7bit -*- | 1 | ;;; china-util.el --- utilities for Chinese -*- coding: iso-2022-7bit -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 2003 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1995, 2001, 2003 |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Free Software Foundation, Inc. |
| 5 | ;; Copyright (C) 1995, 2001 Free Software Foundation, Inc. | 5 | ;; Copyright (C) 1995, 1997, 2003 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 7 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 8 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 9 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 10 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/chinese.el b/lisp/language/chinese.el index 93721b59afa..05b2405dc42 100644 --- a/lisp/language/chinese.el +++ b/lisp/language/chinese.el | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | ;;; chinese.el --- support for Chinese -*- coding: iso-2022-7bit; -*- | 1 | ;;; chinese.el --- support for Chinese -*- coding: iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 2001, 2003 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997, 1998 |
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 5 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 7 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/cyril-util.el b/lisp/language/cyril-util.el index 1a5c435328d..eb19ca1aaa2 100644 --- a/lisp/language/cyril-util.el +++ b/lisp/language/cyril-util.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; cyril-util.el --- utilities for Cyrillic scripts | 1 | ;;; cyril-util.el --- utilities for Cyrillic scripts |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997, 2001, 2002 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997, 1998, 2001, 2002 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Keywords: mule, multilingual, Cyrillic | 5 | ;; Keywords: mule, multilingual, Cyrillic |
| 6 | 6 | ||
diff --git a/lisp/language/cyrillic.el b/lisp/language/cyrillic.el index b158f626d51..c3a0bceb688 100644 --- a/lisp/language/cyrillic.el +++ b/lisp/language/cyrillic.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; cyrillic.el --- support for Cyrillic -*- coding: iso-2022-7bit; -*- | 1 | ;;; cyrillic.el --- support for Cyrillic -*- coding: iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 1998, 2001, 2002, 2003 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2002, 2003, 2004 |
| 5 | ;; Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. | 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 6 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/devan-util.el b/lisp/language/devan-util.el index 64dbf576af3..ba40b32db8f 100644 --- a/lisp/language/devan-util.el +++ b/lisp/language/devan-util.el | |||
| @@ -1,6 +1,10 @@ | |||
| 1 | ;;; devan-util.el --- Support for composing Devanagari characters -*-coding: iso-2022-7bit;-*- | 1 | ;;; devan-util.el --- Support for composing Devanagari characters -*-coding: iso-2022-7bit;-*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997, 1998, 2001, 2002, 2003 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 5 | ;; Copyright (C) 1997, 1998, 1999, 2000 | ||
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 7 | ;; Registration Number H14PRO021 | ||
| 4 | 8 | ||
| 5 | ;; Maintainer: KAWABATA, Taichi <kawabata@m17n.org> | 9 | ;; Maintainer: KAWABATA, Taichi <kawabata@m17n.org> |
| 6 | ;; Keywords: multilingual, Devanagari | 10 | ;; Keywords: multilingual, Devanagari |
diff --git a/lisp/language/devanagari.el b/lisp/language/devanagari.el index 6b1ff46a0af..086368c15a0 100644 --- a/lisp/language/devanagari.el +++ b/lisp/language/devanagari.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; devanagari.el --- Support for Devanagari -*- coding: iso-2022-7bit; no-byte-compile: t -*- | 1 | ;;; devanagari.el --- Support for Devanagari -*- coding: iso-2022-7bit; no-byte-compile: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1996, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1996, 1997, 2001 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Maintainer: KAWABATA, Taichi <kawabata@m17n.org> | 5 | ;; Maintainer: KAWABATA, Taichi <kawabata@m17n.org> |
| 6 | ;; Keywords: multilingual, Indian, Devanagari | 6 | ;; Keywords: multilingual, Indian, Devanagari |
diff --git a/lisp/language/english.el b/lisp/language/english.el index 6d135197460..db496ad7600 100644 --- a/lisp/language/english.el +++ b/lisp/language/english.el | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | ;;; english.el --- support for English -*- no-byte-compile: t -*- | 1 | ;;; english.el --- support for English -*- no-byte-compile: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1997 |
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 5 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 7 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/ethio-util.el b/lisp/language/ethio-util.el index fb920e8f4e8..31248f1bcf3 100644 --- a/lisp/language/ethio-util.el +++ b/lisp/language/ethio-util.el | |||
| @@ -1,7 +1,10 @@ | |||
| 1 | ;;; ethio-util.el --- utilities for Ethiopic -*- coding: utf-8-emacs; -*- | 1 | ;;; ethio-util.el --- utilities for Ethiopic -*- coding: utf-8-emacs; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997, 2001 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 1998, 2002 |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Free Software Foundation, Inc. |
| 5 | ;; Copyright (C) 1997, 1998, 1999, 2001, 2004, 2005 | ||
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 7 | ;; Registration Number H14PRO021 | ||
| 5 | ;; Copyright (C) 2005 | 8 | ;; Copyright (C) 2005 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 9 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 7 | ;; Registration Number: H15PRO 110 | 10 | ;; Registration Number: H15PRO 110 |
diff --git a/lisp/language/ethiopic.el b/lisp/language/ethiopic.el index 609a87191b6..e526f02291d 100644 --- a/lisp/language/ethiopic.el +++ b/lisp/language/ethiopic.el | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | ;;; ethiopic.el --- support for Ethiopic -*- coding: utf-8-emacs; -*- | 1 | ;;; ethiopic.el --- support for Ethiopic -*- coding: utf-8-emacs; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 2001 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 2001 |
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 5 | ;; Copyright (C) 2005 | 7 | ;; Copyright (C) 2005 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 7 | ;; Registration Number: H15PRO 110 | 9 | ;; Registration Number: H15PRO 110 |
diff --git a/lisp/language/european.el b/lisp/language/european.el index 164d51c9aad..b497abfd599 100644 --- a/lisp/language/european.el +++ b/lisp/language/european.el | |||
| @@ -1,8 +1,10 @@ | |||
| 1 | ;;; european.el --- support for European languages -*- coding: iso-2022-7bit; -*- | 1 | ;;; european.el --- support for European languages -*- coding: iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 1997, 2001 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004 |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Free Software Foundation, Inc. |
| 5 | ;; Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. | 5 | ;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 7 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 8 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 9 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 10 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/greek.el b/lisp/language/greek.el index e3625b4c7c2..27dc26f2cfc 100644 --- a/lisp/language/greek.el +++ b/lisp/language/greek.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; greek.el --- support for Greek -*- no-byte-compile: t -*- | 1 | ;;; greek.el --- support for Greek -*- no-byte-compile: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | ||
| 4 | ;; Licensed to the Free Software Foundation. | ||
| 5 | ;; Copyright (C) 2002 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2002 Free Software Foundation, Inc. |
| 4 | ;; Copyright (C) 1995 | ||
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/hebrew.el b/lisp/language/hebrew.el index bc59d23b3ee..fcd9f56153d 100644 --- a/lisp/language/hebrew.el +++ b/lisp/language/hebrew.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; hebrew.el --- support for Hebrew -*- coding: iso-2022-7bit; no-byte-compile: t -*- | 1 | ;;; hebrew.el --- support for Hebrew -*- coding: iso-2022-7bit; no-byte-compile: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 2001, 2002 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995 |
| 5 | ;; Copyright (C) 2001, 2002 Free Software Foundation, Inc. | 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 6 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/indian.el b/lisp/language/indian.el index e868718bfda..1307243e074 100644 --- a/lisp/language/indian.el +++ b/lisp/language/indian.el | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | ;;; indian.el --- Indian languages support -*- coding: iso-2022-7bit; -*- | 1 | ;;; indian.el --- Indian languages support -*- coding: iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997, 1999, 2001 Free Software Foundation, Inc. |
| 4 | ;; Copyright (C) 2002, 2003 | ||
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 4 | 7 | ||
| 5 | ;; Maintainer: KAWABATA, Taichi <kawabata@m17n.org> | 8 | ;; Maintainer: KAWABATA, Taichi <kawabata@m17n.org> |
| 6 | ;; Keywords: multilingual, i18n, Indian | 9 | ;; Keywords: multilingual, i18n, Indian |
diff --git a/lisp/language/japan-util.el b/lisp/language/japan-util.el index e9a80fc99a7..81a40a9c450 100644 --- a/lisp/language/japan-util.el +++ b/lisp/language/japan-util.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; japan-util.el --- utilities for Japanese -*- coding: iso-2022-7bit; -*- | 1 | ;;; japan-util.el --- utilities for Japanese -*- coding: iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 2001 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1998, 2000, 2003 |
| 5 | ;; Copyright (C) 2001 Free SOftware Foundation, Inc. | 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 6 | ;; Registration Number H14PRO021 | ||
| 6 | 7 | ||
| 7 | ;; Keywords: mule, multilingual, Japanese | 8 | ;; Keywords: mule, multilingual, Japanese |
| 8 | 9 | ||
diff --git a/lisp/language/japanese.el b/lisp/language/japanese.el index 1c48228d2db..b882cd5e62b 100644 --- a/lisp/language/japanese.el +++ b/lisp/language/japanese.el | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | ;;; japanese.el --- support for Japanese -*- coding: iso-2022-7bit; no-byte-compile: t -*- | 1 | ;;; japanese.el --- support for Japanese -*- coding: iso-2022-7bit; no-byte-compile: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997, 1998 |
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 5 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 7 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/korea-util.el b/lisp/language/korea-util.el index 222832022ac..de940f5317f 100644 --- a/lisp/language/korea-util.el +++ b/lisp/language/korea-util.el | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | ;;; korea-util.el --- utilities for Korean | 1 | ;;; korea-util.el --- utilities for Korean |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997, 1999 Free Software Foundation, Inc. |
| 4 | ;; Copyright (C) 1997, 1998, 1999 | ||
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 4 | 7 | ||
| 5 | ;; Keywords: mule, multilingual, Korean | 8 | ;; Keywords: mule, multilingual, Korean |
| 6 | 9 | ||
diff --git a/lisp/language/korean.el b/lisp/language/korean.el index 8624264185d..1657de90f4c 100644 --- a/lisp/language/korean.el +++ b/lisp/language/korean.el | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | ;;; korean.el --- support for Korean -*- coding: iso-2022-7bit; no-byte-compile: t -*- | 1 | ;;; korean.el --- support for Korean -*- coding: iso-2022-7bit; no-byte-compile: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1998 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1998 |
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 5 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 7 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/lao-util.el b/lisp/language/lao-util.el index ad0253648ea..9141c34f3df 100644 --- a/lisp/language/lao-util.el +++ b/lisp/language/lao-util.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; lao-util.el --- utilities for Lao -*- coding: iso-2022-7bit; -*- | 1 | ;;; lao-util.el --- utilities for Lao -*- coding: iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 2001 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1997, 1998, 1999, 2000 |
| 5 | ;; Copyright (C) 2001 Free Software Foundation, Inc. | 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 6 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/lao.el b/lisp/language/lao.el index ec5c07342e4..f400bb50931 100644 --- a/lisp/language/lao.el +++ b/lisp/language/lao.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; lao.el --- support for Lao -*- coding: iso-2022-7bit; no-byte-compile: t -*- | 1 | ;;; lao.el --- support for Lao -*- coding: iso-2022-7bit; no-byte-compile: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 2001 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1997, 1998, 1999, 2002 |
| 5 | ;; Copyright (C) 2001 Free Software Foundation, Inc. | 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 6 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el index 537267ce9ba..47993e16ea5 100644 --- a/lisp/language/misc-lang.el +++ b/lisp/language/misc-lang.el | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | ;;; misc-lang.el --- support for miscellaneous languages (characters) -*- no-byte-compile: t -*- | 1 | ;;; misc-lang.el --- support for miscellaneous languages (characters) -*- no-byte-compile: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1995, 1997 |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 5 | ;; Registration Number H14PRO021 | ||
| 5 | 6 | ||
| 6 | ;; Keywords: multilingual, character set, coding system | 7 | ;; Keywords: multilingual, character set, coding system |
| 7 | 8 | ||
diff --git a/lisp/language/tibet-util.el b/lisp/language/tibet-util.el index ec53d121f02..ce83add4b6f 100644 --- a/lisp/language/tibet-util.el +++ b/lisp/language/tibet-util.el | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | ;;; tibet-util.el --- utilities for Tibetan -*- coding: iso-2022-7bit; -*- | 1 | ;;; tibet-util.el --- utilities for Tibetan -*- coding: iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 2002 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997, 1998, 2000 |
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 5 | 7 | ||
| 6 | ;; Keywords: multilingual, Tibetan | 8 | ;; Keywords: multilingual, Tibetan |
| 7 | 9 | ||
diff --git a/lisp/language/tibetan.el b/lisp/language/tibetan.el index 4b580f4a81c..9ed777585db 100644 --- a/lisp/language/tibetan.el +++ b/lisp/language/tibetan.el | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | ;;; tibetan.el --- support for Tibetan language -*- coding: iso-2022-7bit; -*- | 1 | ;;; tibetan.el --- support for Tibetan language -*- coding: iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1997, 2002 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1997, 1999, 2000 |
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 5 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 7 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/viet-util.el b/lisp/language/viet-util.el index c2f1218a536..c854238b6a4 100644 --- a/lisp/language/viet-util.el +++ b/lisp/language/viet-util.el | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | ;;; viet-util.el --- utilities for Vietnamese -*- coding: iso-2022-7bit; -*- | 1 | ;;; viet-util.el --- utilities for Vietnamese -*- coding: iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1998 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997 |
| 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | ||
| 6 | ;; Registration Number H14PRO021 | ||
| 5 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 6 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 7 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/language/vietnamese.el b/lisp/language/vietnamese.el index a5360d781f5..9f7196c5adb 100644 --- a/lisp/language/vietnamese.el +++ b/lisp/language/vietnamese.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; vietnamese.el --- support for Vietnamese -*- coding: iso-2022-7bit; -*- | 1 | ;;; vietnamese.el --- support for Vietnamese -*- coding: iso-2022-7bit; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | 3 | ;; Copyright (C) 1998, 2002 Free Software Foundation, Inc. |
| 4 | ;; Licensed to the Free Software Foundation. | 4 | ;; Copyright (C) 1995, 1997, 1998, 2000 |
| 5 | ;; Copyright (C) 2002 Free Software Foundation, Inc. | 5 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 6 | ;; Registration Number H14PRO021 | ||
| 6 | ;; Copyright (C) 2003 | 7 | ;; Copyright (C) 2003 |
| 7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | 8 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
| 8 | ;; Registration Number H13PRO009 | 9 | ;; Registration Number H13PRO009 |
diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el index 3d1b1951421..7c7265ac8c9 100644 --- a/lisp/mail/feedmail.el +++ b/lisp/mail/feedmail.el | |||
| @@ -1835,7 +1835,7 @@ the counts." | |||
| 1835 | (setq blobbet (file-name-nondirectory blobby)) | 1835 | (setq blobbet (file-name-nondirectory blobby)) |
| 1836 | (if (string-match "^[0-9][0-9][0-9]-" blobbet) | 1836 | (if (string-match "^[0-9][0-9][0-9]-" blobbet) |
| 1837 | (let ((water-mark)) | 1837 | (let ((water-mark)) |
| 1838 | (setq water-mark (string-to-int (substring blobbet 0 3))) | 1838 | (setq water-mark (string-to-number (substring blobbet 0 3))) |
| 1839 | (if (> water-mark high-water) (setq high-water water-mark)))) | 1839 | (if (> water-mark high-water) (setq high-water water-mark)))) |
| 1840 | (setq q-cnt (1+ q-cnt))) | 1840 | (setq q-cnt (1+ q-cnt))) |
| 1841 | (t (setq q-oth (1+ q-oth))) | 1841 | (t (setq q-oth (1+ q-oth))) |
diff --git a/lisp/mail/mailalias.el b/lisp/mail/mailalias.el index b520841db3d..88f166707c3 100644 --- a/lisp/mail/mailalias.el +++ b/lisp/mail/mailalias.el | |||
| @@ -449,7 +449,7 @@ PATTERN is the string we want to complete." | |||
| 449 | (add-to-list 'mail-local-names | 449 | (add-to-list 'mail-local-names |
| 450 | (cons (match-string 1) | 450 | (cons (match-string 1) |
| 451 | (user-full-name | 451 | (user-full-name |
| 452 | (string-to-int (match-string 2)))))) | 452 | (string-to-number (match-string 2)))))) |
| 453 | (beginning-of-line 2)) | 453 | (beginning-of-line 2)) |
| 454 | (kill-buffer (current-buffer)))) | 454 | (kill-buffer (current-buffer)))) |
| 455 | (if (or (eq mail-names t) | 455 | (if (or (eq mail-names t) |
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 1feaf94317f..858eeff40bf 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -1990,7 +1990,7 @@ is non-nil if the user has supplied the password interactively. | |||
| 1990 | header-end t) | 1990 | header-end t) |
| 1991 | (let ((beg (point)) | 1991 | (let ((beg (point)) |
| 1992 | (eol (progn (end-of-line) (point)))) | 1992 | (eol (progn (end-of-line) (point)))) |
| 1993 | (string-to-int (buffer-substring beg eol))))))) | 1993 | (string-to-number (buffer-substring beg eol))))))) |
| 1994 | (and size | 1994 | (and size |
| 1995 | (if (and (natnump size) | 1995 | (if (and (natnump size) |
| 1996 | (<= (+ header-end size) (point-max)) | 1996 | (<= (+ header-end size) (point-max)) |
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el index a49b47453d8..f551239907d 100644 --- a/lisp/mail/rmailsum.el +++ b/lisp/mail/rmailsum.el | |||
| @@ -375,17 +375,17 @@ Setting this variable has an effect only before reading a mail." | |||
| 375 | (cond ((re-search-forward "\\([^0-9:]\\)\\([0-3]?[0-9]\\)\\([- \t_]+\\)\\([adfjmnos][aceopu][bcglnprtvy]\\)" | 375 | (cond ((re-search-forward "\\([^0-9:]\\)\\([0-3]?[0-9]\\)\\([- \t_]+\\)\\([adfjmnos][aceopu][bcglnprtvy]\\)" |
| 376 | (save-excursion (end-of-line) (point)) t) | 376 | (save-excursion (end-of-line) (point)) t) |
| 377 | (format "%2d-%3s" | 377 | (format "%2d-%3s" |
| 378 | (string-to-int (buffer-substring | 378 | (string-to-number (buffer-substring |
| 379 | (match-beginning 2) | 379 | (match-beginning 2) |
| 380 | (match-end 2))) | 380 | (match-end 2))) |
| 381 | (buffer-substring | 381 | (buffer-substring |
| 382 | (match-beginning 4) (match-end 4)))) | 382 | (match-beginning 4) (match-end 4)))) |
| 383 | ((re-search-forward "\\([^a-z]\\)\\([adfjmnos][acepou][bcglnprtvy]\\)\\([-a-z \t_]*\\)\\([0-9][0-9]?\\)" | 383 | ((re-search-forward "\\([^a-z]\\)\\([adfjmnos][acepou][bcglnprtvy]\\)\\([-a-z \t_]*\\)\\([0-9][0-9]?\\)" |
| 384 | (save-excursion (end-of-line) (point)) t) | 384 | (save-excursion (end-of-line) (point)) t) |
| 385 | (format "%2d-%3s" | 385 | (format "%2d-%3s" |
| 386 | (string-to-int (buffer-substring | 386 | (string-to-number (buffer-substring |
| 387 | (match-beginning 4) | 387 | (match-beginning 4) |
| 388 | (match-end 4))) | 388 | (match-end 4))) |
| 389 | (buffer-substring | 389 | (buffer-substring |
| 390 | (match-beginning 2) (match-end 2)))) | 390 | (match-beginning 2) (match-end 2)))) |
| 391 | ((re-search-forward "\\(19\\|20\\)\\([0-9][0-9]\\)-\\([01][0-9]\\)-\\([0-3][0-9]\\)" | 391 | ((re-search-forward "\\(19\\|20\\)\\([0-9][0-9]\\)-\\([01][0-9]\\)-\\([0-3][0-9]\\)" |
| @@ -580,7 +580,7 @@ If N is negative, go backwards." | |||
| 580 | ;; Advance thru summary. | 580 | ;; Advance thru summary. |
| 581 | (forward-line (if forward 1 -1)) | 581 | (forward-line (if forward 1 -1)) |
| 582 | ;; Get msg number of this line. | 582 | ;; Get msg number of this line. |
| 583 | (setq i (string-to-int | 583 | (setq i (string-to-number |
| 584 | (buffer-substring (point) | 584 | (buffer-substring (point) |
| 585 | (min (point-max) (+ 6 (point)))))) | 585 | (min (point-max) (+ 6 (point)))))) |
| 586 | ;; See if that msg has desired subject. | 586 | ;; See if that msg has desired subject. |
| @@ -791,10 +791,10 @@ Search, the `unseen' attribute is restored.") | |||
| 791 | (forward-line -1)) | 791 | (forward-line -1)) |
| 792 | (beginning-of-line) | 792 | (beginning-of-line) |
| 793 | (skip-chars-forward " ") | 793 | (skip-chars-forward " ") |
| 794 | (let ((msg-num (string-to-int (buffer-substring | 794 | (let ((msg-num (string-to-number (buffer-substring |
| 795 | (point) | 795 | (point) |
| 796 | (progn (skip-chars-forward "0-9") | 796 | (progn (skip-chars-forward "0-9") |
| 797 | (point)))))) | 797 | (point)))))) |
| 798 | ;; Always leave `unseen' removed | 798 | ;; Always leave `unseen' removed |
| 799 | ;; if we get out of isearch mode. | 799 | ;; if we get out of isearch mode. |
| 800 | ;; Don't let a subsequent isearch restore that `unseen'. | 800 | ;; Don't let a subsequent isearch restore that `unseen'. |
| @@ -1061,7 +1061,7 @@ If SKIP-RMAIL, don't do anything to the Rmail buffer." | |||
| 1061 | (buf rmail-buffer) | 1061 | (buf rmail-buffer) |
| 1062 | (cur (point)) | 1062 | (cur (point)) |
| 1063 | message-not-found | 1063 | message-not-found |
| 1064 | (curmsg (string-to-int | 1064 | (curmsg (string-to-number |
| 1065 | (buffer-substring (point) | 1065 | (buffer-substring (point) |
| 1066 | (min (point-max) (+ 6 (point)))))) | 1066 | (min (point-max) (+ 6 (point)))))) |
| 1067 | (total (save-excursion (set-buffer buf) rmail-total-messages))) | 1067 | (total (save-excursion (set-buffer buf) rmail-total-messages))) |
diff --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el index 605af6cdbe7..3cf17f8968d 100644 --- a/lisp/mail/smtpmail.el +++ b/lisp/mail/smtpmail.el | |||
| @@ -822,7 +822,7 @@ This is relative to `smtpmail-queue-dir'.") | |||
| 822 | nil | 822 | nil |
| 823 | (setq response-continue nil) | 823 | (setq response-continue nil) |
| 824 | (setq return-value | 824 | (setq return-value |
| 825 | (cons (string-to-int | 825 | (cons (string-to-number |
| 826 | (buffer-substring begin end)) | 826 | (buffer-substring begin end)) |
| 827 | (nreverse response-strings))))) | 827 | (nreverse response-strings))))) |
| 828 | 828 | ||
diff --git a/lisp/mail/supercite.el b/lisp/mail/supercite.el index 6b769f53801..d9a9d78d0b9 100644 --- a/lisp/mail/supercite.el +++ b/lisp/mail/supercite.el | |||
| @@ -153,6 +153,7 @@ a variable whose value is a citation frame." | |||
| 153 | (choice (repeat (repeat sexp)) | 153 | (choice (repeat (repeat sexp)) |
| 154 | symbol))))) | 154 | symbol))))) |
| 155 | :group 'supercite-frames) | 155 | :group 'supercite-frames) |
| 156 | (put 'sc-cite-frame-alist 'risky-local-variable t) | ||
| 156 | 157 | ||
| 157 | (defcustom sc-uncite-frame-alist '() | 158 | (defcustom sc-uncite-frame-alist '() |
| 158 | "*Alist for frame selection during unciting. | 159 | "*Alist for frame selection during unciting. |
| @@ -161,6 +162,7 @@ See the variable `sc-cite-frame-alist' for details." | |||
| 161 | (choice (repeat (repeat sexp)) | 162 | (choice (repeat (repeat sexp)) |
| 162 | symbol))))) | 163 | symbol))))) |
| 163 | :group 'supercite-frames) | 164 | :group 'supercite-frames) |
| 165 | (put 'sc-uncite-frame-alist 'risky-local-variable t) | ||
| 164 | 166 | ||
| 165 | (defcustom sc-recite-frame-alist '() | 167 | (defcustom sc-recite-frame-alist '() |
| 166 | "*Alist for frame selection during reciting. | 168 | "*Alist for frame selection during reciting. |
| @@ -169,6 +171,7 @@ See the variable `sc-cite-frame-alist' for details." | |||
| 169 | (choice (repeat (repeat sexp)) | 171 | (choice (repeat (repeat sexp)) |
| 170 | symbol))))) | 172 | symbol))))) |
| 171 | :group 'supercite-frames) | 173 | :group 'supercite-frames) |
| 174 | (put 'sc-recite-frame-alist 'risky-local-variable t) | ||
| 172 | 175 | ||
| 173 | (defcustom sc-default-cite-frame | 176 | (defcustom sc-default-cite-frame |
| 174 | '(;; initialize fill state and temporary variables when entering | 177 | '(;; initialize fill state and temporary variables when entering |
| @@ -214,6 +217,7 @@ See the variable `sc-cite-frame-alist' for details." | |||
| 214 | "*Default REGI frame for citing a region." | 217 | "*Default REGI frame for citing a region." |
| 215 | :type '(repeat (repeat sexp)) | 218 | :type '(repeat (repeat sexp)) |
| 216 | :group 'supercite-frames) | 219 | :group 'supercite-frames) |
| 220 | (put 'sc-default-cite-frame 'risky-local-variable t) | ||
| 217 | 221 | ||
| 218 | (defcustom sc-default-uncite-frame | 222 | (defcustom sc-default-uncite-frame |
| 219 | '(;; do nothing on a blank line | 223 | '(;; do nothing on a blank line |
| @@ -224,6 +228,7 @@ See the variable `sc-cite-frame-alist' for details." | |||
| 224 | "*Default REGI frame for unciting a region." | 228 | "*Default REGI frame for unciting a region." |
| 225 | :type '(repeat (repeat sexp)) | 229 | :type '(repeat (repeat sexp)) |
| 226 | :group 'supercite-frames) | 230 | :group 'supercite-frames) |
| 231 | (put 'sc-default-uncite-frame 'risky-local-variable t) | ||
| 227 | 232 | ||
| 228 | (defcustom sc-default-recite-frame | 233 | (defcustom sc-default-recite-frame |
| 229 | '(;; initialize fill state when entering frame | 234 | '(;; initialize fill state when entering frame |
| @@ -240,6 +245,7 @@ See the variable `sc-cite-frame-alist' for details." | |||
| 240 | "*Default REGI frame for reciting a region." | 245 | "*Default REGI frame for reciting a region." |
| 241 | :type '(repeat (repeat sexp)) | 246 | :type '(repeat (repeat sexp)) |
| 242 | :group 'supercite-frames) | 247 | :group 'supercite-frames) |
| 248 | (put 'sc-default-recite-frame 'risky-local-variable t) | ||
| 243 | 249 | ||
| 244 | (defcustom sc-cite-region-limit t | 250 | (defcustom sc-cite-region-limit t |
| 245 | "*This variable controls automatic citation of yanked text. | 251 | "*This variable controls automatic citation of yanked text. |
| @@ -427,6 +433,7 @@ to be consulted during attribution selection." | |||
| 427 | (choice (sexp :tag "List to eval") | 433 | (choice (sexp :tag "List to eval") |
| 428 | string))))) | 434 | string))))) |
| 429 | :group 'supercite-attr) | 435 | :group 'supercite-attr) |
| 436 | (put 'sc-attrib-selection-list 'risky-local-variable t) | ||
| 430 | 437 | ||
| 431 | (defcustom sc-attribs-preselect-hook nil | 438 | (defcustom sc-attribs-preselect-hook nil |
| 432 | "*Hook to run before selecting an attribution." | 439 | "*Hook to run before selecting an attribution." |
| @@ -482,6 +489,7 @@ this list is chosen for automatic reference header insertions. | |||
| 482 | Electric reference mode will cycle through this list of functions." | 489 | Electric reference mode will cycle through this list of functions." |
| 483 | :type '(repeat sexp) | 490 | :type '(repeat sexp) |
| 484 | :group 'supercite) | 491 | :group 'supercite) |
| 492 | (put 'sc-rewrite-header-list 'risky-local-variable t) | ||
| 485 | 493 | ||
| 486 | (defcustom sc-titlecue-regexp "\\s +-+\\s +" | 494 | (defcustom sc-titlecue-regexp "\\s +-+\\s +" |
| 487 | "*Regular expression describing the separator between names and titles. | 495 | "*Regular expression describing the separator between names and titles. |
diff --git a/lisp/mh-e/mh-acros.el b/lisp/mh-e/mh-acros.el index 16383304503..e4921b047df 100644 --- a/lisp/mh-e/mh-acros.el +++ b/lisp/mh-e/mh-acros.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-acros.el --- Macros used in MH-E | 1 | ;;; mh-acros.el --- Macros used in MH-E |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu> | 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-alias.el b/lisp/mh-e/mh-alias.el index 1356e2c8b95..7f2cd2f5266 100644 --- a/lisp/mh-e/mh-alias.el +++ b/lisp/mh-e/mh-alias.el | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | ;;; mh-alias.el --- MH-E mail alias completion and expansion | 1 | ;;; mh-alias.el --- MH-E mail alias completion and expansion |
| 2 | ;; | 2 | ;; |
| 3 | ;; Copyright (C) 1994, 95, 96, 1997, | 3 | ;; Copyright (C) 2005 Free Software Foundation, Inc. |
| 4 | ;; 2001, 02, 03, 2004 Free Software Foundation, Inc. | ||
| 5 | 4 | ||
| 6 | ;; Author: Peter S. Galbraith <psg@debian.org> | 5 | ;; Author: Peter S. Galbraith <psg@debian.org> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el index cde52c65043..4f7e413d464 100644 --- a/lisp/mh-e/mh-comp.el +++ b/lisp/mh-e/mh-comp.el | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | ;;; mh-comp.el --- MH-E functions for composing messages | 1 | ;;; mh-comp.el --- MH-E functions for composing messages |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 95, 1997, | 3 | ;; Copyright (C) 1993, 95, 1997, 2000, 2005 Free Software Foundation, Inc. |
| 4 | ;; 2000, 01, 02, 03, 2004 Free Software Foundation, Inc. | ||
| 5 | 4 | ||
| 6 | ;; Author: Bill Wohler <wohler@newt.com> | 5 | ;; Author: Bill Wohler <wohler@newt.com> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-customize.el b/lisp/mh-e/mh-customize.el index c9a4b11702d..c5689afc13e 100644 --- a/lisp/mh-e/mh-customize.el +++ b/lisp/mh-e/mh-customize.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-customize.el --- MH-E customization | 1 | ;;; mh-customize.el --- MH-E customization |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Bill Wohler <wohler@newt.com> | 5 | ;; Author: Bill Wohler <wohler@newt.com> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el index c2322624507..b5eea79ae1e 100644 --- a/lisp/mh-e/mh-e.el +++ b/lisp/mh-e/mh-e.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; mh-e.el --- GNU Emacs interface to the MH mail system | 1 | ;;; mh-e.el --- GNU Emacs interface to the MH mail system |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1985, 86, 87, 88, 90, 92, 93, 94, 95, 97, 1999, | 3 | ;; Copyright (C) 1985, 86, 87, 88, 90, 92, 93, 94, 95, 97, 1999, |
| 4 | ;; 2000, 01, 02, 03, 2004, 2005 Free Software Foundation, Inc. | 4 | ;; 2000, 2005 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Bill Wohler <wohler@newt.com> | 6 | ;; Author: Bill Wohler <wohler@newt.com> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-funcs.el b/lisp/mh-e/mh-funcs.el index ef745f4c06f..a632efc7856 100644 --- a/lisp/mh-e/mh-funcs.el +++ b/lisp/mh-e/mh-funcs.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-funcs.el --- MH-E functions not everyone will use right away | 1 | ;;; mh-funcs.el --- MH-E functions not everyone will use right away |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1995, 2001, 02, 03, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1993, 1995, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Bill Wohler <wohler@newt.com> | 5 | ;; Author: Bill Wohler <wohler@newt.com> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-gnus.el b/lisp/mh-e/mh-gnus.el index b850c8fdc43..e4b4a5b0d54 100644 --- a/lisp/mh-e/mh-gnus.el +++ b/lisp/mh-e/mh-gnus.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-gnus.el --- Make MH-E compatible with installed version of Gnus. | 1 | ;;; mh-gnus.el --- Make MH-E compatible with installed version of Gnus. |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu> | 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-identity.el b/lisp/mh-e/mh-identity.el index 4bb5f90cf18..7b44dae1d06 100644 --- a/lisp/mh-e/mh-identity.el +++ b/lisp/mh-e/mh-identity.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-identity.el --- Multiple identify support for MH-E. | 1 | ;;; mh-identity.el --- Multiple identify support for MH-E. |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Peter S. Galbraith <psg@debian.org> | 5 | ;; Author: Peter S. Galbraith <psg@debian.org> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-inc.el b/lisp/mh-e/mh-inc.el index 682b8aa7c53..95341fa75f7 100644 --- a/lisp/mh-e/mh-inc.el +++ b/lisp/mh-e/mh-inc.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-inc.el --- MH-E `inc' and separate mail spool handling | 1 | ;;; mh-inc.el --- MH-E `inc' and separate mail spool handling |
| 2 | ;; | 2 | ;; |
| 3 | ;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Peter S. Galbraith <psg@debian.org> | 5 | ;; Author: Peter S. Galbraith <psg@debian.org> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-index.el b/lisp/mh-e/mh-index.el index 91eed420e2e..cde630236b0 100644 --- a/lisp/mh-e/mh-index.el +++ b/lisp/mh-e/mh-index.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-index -- MH-E interface to indexing programs | 1 | ;;; mh-index -- MH-E interface to indexing programs |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu> | 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-init.el b/lisp/mh-e/mh-init.el index a975b882128..b97e9fcde65 100644 --- a/lisp/mh-e/mh-init.el +++ b/lisp/mh-e/mh-init.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-init.el --- MH-E initialization. | 1 | ;;; mh-init.el --- MH-E initialization. |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Peter S. Galbraith <psg@debian.org> | 5 | ;; Author: Peter S. Galbraith <psg@debian.org> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-junk.el b/lisp/mh-e/mh-junk.el index 095a8c3c3fd..29005d47aa6 100644 --- a/lisp/mh-e/mh-junk.el +++ b/lisp/mh-e/mh-junk.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-junk.el --- Interface to anti-spam measures | 1 | ;;; mh-junk.el --- Interface to anti-spam measures |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>, | 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>, |
| 6 | ;; Bill Wohler <wohler@newt.com> | 6 | ;; Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-loaddefs.el b/lisp/mh-e/mh-loaddefs.el index fd989ffa3b9..4abe3b208ef 100644 --- a/lisp/mh-e/mh-loaddefs.el +++ b/lisp/mh-e/mh-loaddefs.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-loaddefs.el --- automatically extracted autoloads | 1 | ;;; mh-loaddefs.el --- automatically extracted autoloads |
| 2 | ;; | 2 | ;; |
| 3 | ;;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. | 3 | ;;; Copyright (C) 2005 Free Software Foundation, Inc. |
| 4 | ;;; Author: Bill Wohler <wohler@newt.com> | 4 | ;;; Author: Bill Wohler <wohler@newt.com> |
| 5 | ;;; Keywords: mail | 5 | ;;; Keywords: mail |
| 6 | ;;; Commentary: | 6 | ;;; Commentary: |
diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el index bc870134779..d286069ba4b 100644 --- a/lisp/mh-e/mh-mime.el +++ b/lisp/mh-e/mh-mime.el | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | ;;; mh-mime.el --- MH-E support for composing MIME messages | 1 | ;;; mh-mime.el --- MH-E support for composing MIME messages |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1995, 2001, 02, 03, 2004, 2005 | 3 | ;; Copyright (C) 1993, 1995, 2005 Free Software Foundation, Inc. |
| 4 | ;; Free Software Foundation, Inc. | ||
| 5 | 4 | ||
| 6 | ;; Author: Bill Wohler <wohler@newt.com> | 5 | ;; Author: Bill Wohler <wohler@newt.com> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-pick.el b/lisp/mh-e/mh-pick.el index b92a98f26cc..7b0ae4bafdf 100644 --- a/lisp/mh-e/mh-pick.el +++ b/lisp/mh-e/mh-pick.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-pick.el --- make a search pattern and search for a message in MH-E | 1 | ;;; mh-pick.el --- make a search pattern and search for a message in MH-E |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1995, 2001, 2003, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1993, 1995, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Bill Wohler <wohler@newt.com> | 5 | ;; Author: Bill Wohler <wohler@newt.com> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-print.el b/lisp/mh-e/mh-print.el index 7539e455919..9a7df0b8fd4 100644 --- a/lisp/mh-e/mh-print.el +++ b/lisp/mh-e/mh-print.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-print.el --- MH-E printing support | 1 | ;;; mh-print.el --- MH-E printing support |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Jeffrey C Honig <jch@honig.net> | 5 | ;; Author: Jeffrey C Honig <jch@honig.net> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-seq.el b/lisp/mh-e/mh-seq.el index 8d2369ed19a..d09e9805682 100644 --- a/lisp/mh-e/mh-seq.el +++ b/lisp/mh-e/mh-seq.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-seq.el --- MH-E sequences support | 1 | ;;; mh-seq.el --- MH-E sequences support |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1995, 2001, 02, 03, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1993, 1995, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Bill Wohler <wohler@newt.com> | 5 | ;; Author: Bill Wohler <wohler@newt.com> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-speed.el b/lisp/mh-e/mh-speed.el index 2617a941de1..a20e6e0a410 100644 --- a/lisp/mh-e/mh-speed.el +++ b/lisp/mh-e/mh-speed.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-speed.el --- Speedbar interface for MH-E. | 1 | ;;; mh-speed.el --- Speedbar interface for MH-E. |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu> | 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el index a57567a7bd3..a7ba9311403 100644 --- a/lisp/mh-e/mh-utils.el +++ b/lisp/mh-e/mh-utils.el | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | ;;; mh-utils.el --- MH-E code needed for both sending and reading | 1 | ;;; mh-utils.el --- MH-E code needed for both sending and reading |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 95, 1997, | 3 | ;; Copyright (C) 1993, 95, 1997, 2000, 01, 2005 Free Software Foundation, Inc. |
| 4 | ;; 2000, 01, 02, 03, 2004 Free Software Foundation, Inc. | ||
| 5 | 4 | ||
| 6 | ;; Author: Bill Wohler <wohler@newt.com> | 5 | ;; Author: Bill Wohler <wohler@newt.com> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index 8b4ed89e7b0..7fd07ebccfb 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; ange-ftp.el --- transparent FTP support for GNU Emacs | 1 | ;;; ange-ftp.el --- transparent FTP support for GNU Emacs |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1989,90,91,92,93,94,95,96,98, 2000, 2001 | 3 | ;; Copyright (C) 1989,90,91,92,93,94,95,96,98, 2000, 2001, 2005 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Andy Norman (ange@hplb.hpl.hp.com) | 6 | ;; Author: Andy Norman (ange@hplb.hpl.hp.com) |
| @@ -1646,7 +1646,7 @@ good, skip, fatal, or unknown." | |||
| 1646 | ;; if we gave an empty password to the USER command earlier | 1646 | ;; if we gave an empty password to the USER command earlier |
| 1647 | ;; then we should send a null password now. | 1647 | ;; then we should send a null password now. |
| 1648 | (if (string-match "Password: *$" ange-ftp-process-string) | 1648 | (if (string-match "Password: *$" ange-ftp-process-string) |
| 1649 | (send-string proc "\n")))) | 1649 | (process-send-string proc "\n")))) |
| 1650 | (while (and ange-ftp-process-busy | 1650 | (while (and ange-ftp-process-busy |
| 1651 | (string-match "\n" ange-ftp-process-string)) | 1651 | (string-match "\n" ange-ftp-process-string)) |
| 1652 | (let ((line (substring ange-ftp-process-string | 1652 | (let ((line (substring ange-ftp-process-string |
| @@ -1741,18 +1741,18 @@ good, skip, fatal, or unknown." | |||
| 1741 | ;; Replace STR by the result of the comint processing. | 1741 | ;; Replace STR by the result of the comint processing. |
| 1742 | (setq str (buffer-substring comint-last-output-start (process-mark proc)))) | 1742 | (setq str (buffer-substring comint-last-output-start (process-mark proc)))) |
| 1743 | (cond ((string-match "login: *$" str) | 1743 | (cond ((string-match "login: *$" str) |
| 1744 | (send-string proc | 1744 | (process-send-string proc |
| 1745 | (concat | 1745 | (concat |
| 1746 | (let ((ange-ftp-default-user t)) | 1746 | (let ((ange-ftp-default-user t)) |
| 1747 | (ange-ftp-get-user ange-ftp-gateway-host)) | 1747 | (ange-ftp-get-user ange-ftp-gateway-host)) |
| 1748 | "\n"))) | 1748 | "\n"))) |
| 1749 | ((string-match "Password: *$" str) | 1749 | ((string-match "Password: *$" str) |
| 1750 | (send-string proc | 1750 | (process-send-string proc |
| 1751 | (concat | 1751 | (concat |
| 1752 | (ange-ftp-get-passwd ange-ftp-gateway-host | 1752 | (ange-ftp-get-passwd ange-ftp-gateway-host |
| 1753 | (ange-ftp-get-user | 1753 | (ange-ftp-get-user |
| 1754 | ange-ftp-gateway-host)) | 1754 | ange-ftp-gateway-host)) |
| 1755 | "\n"))) | 1755 | "\n"))) |
| 1756 | ((string-match ange-ftp-gateway-fatal-msgs str) | 1756 | ((string-match ange-ftp-gateway-fatal-msgs str) |
| 1757 | (delete-process proc) | 1757 | (delete-process proc) |
| 1758 | (setq ange-ftp-gwp-running nil)) | 1758 | (setq ange-ftp-gwp-running nil)) |
| @@ -1835,7 +1835,7 @@ been queued with no result. CONT will still be called, however." | |||
| 1835 | (insert (substring cmd 0 (match-end 0)) " Turtle Power!\n") | 1835 | (insert (substring cmd 0 (match-end 0)) " Turtle Power!\n") |
| 1836 | (insert cmd))) | 1836 | (insert cmd))) |
| 1837 | (move-marker comint-last-input-end (point)) | 1837 | (move-marker comint-last-input-end (point)) |
| 1838 | (send-string proc cmd) | 1838 | (process-send-string proc cmd) |
| 1839 | (set-marker (process-mark proc) (point)) | 1839 | (set-marker (process-mark proc) (point)) |
| 1840 | (if nowait | 1840 | (if nowait |
| 1841 | nil | 1841 | nil |
| @@ -2109,7 +2109,7 @@ suffix of the form #PORT to specify a non-default port" | |||
| 2109 | (line (cdr status))) | 2109 | (line (cdr status))) |
| 2110 | (save-match-data | 2110 | (save-match-data |
| 2111 | (if (string-match ange-ftp-hash-mark-msgs line) | 2111 | (if (string-match ange-ftp-hash-mark-msgs line) |
| 2112 | (let ((size (string-to-int (match-string 1 line)))) | 2112 | (let ((size (string-to-number (match-string 1 line)))) |
| 2113 | (setq ange-ftp-ascii-hash-mark-size size | 2113 | (setq ange-ftp-ascii-hash-mark-size size |
| 2114 | ange-ftp-hash-mark-unit (ash size -4)) | 2114 | ange-ftp-hash-mark-unit (ash size -4)) |
| 2115 | 2115 | ||
| @@ -5082,7 +5082,7 @@ Other orders of $ and _ seem to all work just fine.") | |||
| 5082 | (and (string-match regexp name) | 5082 | (and (string-match regexp name) |
| 5083 | (setq version | 5083 | (setq version |
| 5084 | (max version | 5084 | (max version |
| 5085 | (string-to-int (match-string 1 name)))))) | 5085 | (string-to-number (match-string 1 name)))))) |
| 5086 | files) | 5086 | files) |
| 5087 | (setq version (1+ version)) | 5087 | (setq version (1+ version)) |
| 5088 | (puthash | 5088 | (puthash |
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index 9b5708d6503..5cd8701d1a5 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; browse-url.el --- pass a URL to a WWW browser | 1 | ;;; browse-url.el --- pass a URL to a WWW browser |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 96, 97, 98, 99, 2000, 2001, 2004, 2005 | 3 | ;; Copyright (C) 1995, 96, 97, 98, 99, 2000, 2001, 2005 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Denis Howe <dbh@doc.ic.ac.uk> | 6 | ;; Author: Denis Howe <dbh@doc.ic.ac.uk> |
diff --git a/lisp/net/eudc.el b/lisp/net/eudc.el index 2e6b1625146..b279715329f 100644 --- a/lisp/net/eudc.el +++ b/lisp/net/eudc.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; eudc.el --- Emacs Unified Directory Client | 1 | ;;; eudc.el --- Emacs Unified Directory Client |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1998, 1999, 2000, 2002, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Oscar Figueiredo <oscar@cpe.fr> | 5 | ;; Author: Oscar Figueiredo <oscar@cpe.fr> |
| 6 | ;; Maintainer: Pavel Janík <Pavel@Janik.cz> | 6 | ;; Maintainer: Pavel Janík <Pavel@Janik.cz> |
diff --git a/lisp/net/ldap.el b/lisp/net/ldap.el index b0409df2b7c..2917fab0a7b 100644 --- a/lisp/net/ldap.el +++ b/lisp/net/ldap.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; ldap.el --- client interface to LDAP for Emacs | 1 | ;;; ldap.el --- client interface to LDAP for Emacs |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1998, 1999, 2000, 2002, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1998, 1999, 2000, 2002, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Oscar Figueiredo <oscar@cpe.fr> | 5 | ;; Author: Oscar Figueiredo <oscar@cpe.fr> |
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
diff --git a/lisp/net/net-utils.el b/lisp/net/net-utils.el index 4a54702643a..c1c88dfc323 100644 --- a/lisp/net/net-utils.el +++ b/lisp/net/net-utils.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; net-utils.el --- network functions | 1 | ;;; net-utils.el --- network functions |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1998, 1999, 2000, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Peter Breton <pbreton@cs.umb.edu> | 5 | ;; Author: Peter Breton <pbreton@cs.umb.edu> |
| 6 | ;; Created: Sun Mar 16 1997 | 6 | ;; Created: Sun Mar 16 1997 |
| @@ -468,7 +468,8 @@ If your system's ping continues until interrupted, you can try setting | |||
| 468 | (require 'ffap) | 468 | (require 'ffap) |
| 469 | (read-from-minibuffer | 469 | (read-from-minibuffer |
| 470 | "Lookup host: " | 470 | "Lookup host: " |
| 471 | (or (ffap-string-at-point 'machine) ""))))) | 471 | (with-no-warnings |
| 472 | (or (ffap-string-at-point 'machine) "")))))) | ||
| 472 | (net-utils-run-program | 473 | (net-utils-run-program |
| 473 | "Dig" | 474 | "Dig" |
| 474 | (concat "** " | 475 | (concat "** " |
diff --git a/lisp/net/quickurl.el b/lisp/net/quickurl.el index 40a1e4bfad3..ebf4dcd3618 100644 --- a/lisp/net/quickurl.el +++ b/lisp/net/quickurl.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; quickurl.el --- insert an URL based on text at point in buffer | 1 | ;;; quickurl.el --- insert an URL based on text at point in buffer |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999,2000,2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1999,2000,2001,2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Dave Pearson <davep@davep.org> | 5 | ;; Author: Dave Pearson <davep@davep.org> |
| 6 | ;; Maintainer: Dave Pearson <davep@davep.org> | 6 | ;; Maintainer: Dave Pearson <davep@davep.org> |
diff --git a/lisp/net/rlogin.el b/lisp/net/rlogin.el index 67521ca2e73..3ad66166ece 100644 --- a/lisp/net/rlogin.el +++ b/lisp/net/rlogin.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; rlogin.el --- remote login interface | 1 | ;;; rlogin.el --- remote login interface |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1992, 93, 94, 95, 97, 1998, 2002 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1992, 93, 94, 95, 97, 1998, 2002, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Noah Friedman | 5 | ;; Author: Noah Friedman |
| 6 | ;; Maintainer: Noah Friedman <friedman@splode.com> | 6 | ;; Maintainer: Noah Friedman <friedman@splode.com> |
diff --git a/lisp/net/snmp-mode.el b/lisp/net/snmp-mode.el index 9cbeee545b5..73fef1452a0 100644 --- a/lisp/net/snmp-mode.el +++ b/lisp/net/snmp-mode.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; snmp-mode.el --- SNMP & SNMPv2 MIB major mode | 1 | ;;; snmp-mode.el --- SNMP & SNMPv2 MIB major mode |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 1998, 2002 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1995, 1998, 2002, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Paul D. Smith <psmith@BayNetworks.com> | 5 | ;; Author: Paul D. Smith <psmith@BayNetworks.com> |
| 6 | ;; Keywords: data | 6 | ;; Keywords: data |
diff --git a/lisp/net/telnet.el b/lisp/net/telnet.el index 40a28494774..94a7b325d0e 100644 --- a/lisp/net/telnet.el +++ b/lisp/net/telnet.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; telnet.el --- run a telnet session from within an Emacs buffer | 1 | ;;; telnet.el --- run a telnet session from within an Emacs buffer |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1985, 88, 1992, 94, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1985, 88, 1992, 94, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: William F. Schelter | 5 | ;; Author: William F. Schelter |
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| @@ -91,19 +91,19 @@ rejecting one login and prompting again for a username and password.") | |||
| 91 | (defun telnet-interrupt-subjob () | 91 | (defun telnet-interrupt-subjob () |
| 92 | "Interrupt the program running through telnet on the remote host." | 92 | "Interrupt the program running through telnet on the remote host." |
| 93 | (interactive) | 93 | (interactive) |
| 94 | (send-string nil telnet-interrupt-string)) | 94 | (process-send-string nil telnet-interrupt-string)) |
| 95 | 95 | ||
| 96 | (defun telnet-c-z () | 96 | (defun telnet-c-z () |
| 97 | (interactive) | 97 | (interactive) |
| 98 | (send-string nil "\C-z")) | 98 | (process-send-string nil "\C-z")) |
| 99 | 99 | ||
| 100 | (defun send-process-next-char () | 100 | (defun send-process-next-char () |
| 101 | (interactive) | 101 | (interactive) |
| 102 | (send-string nil | 102 | (process-send-string nil |
| 103 | (char-to-string | 103 | (char-to-string |
| 104 | (let ((inhibit-quit t)) | 104 | (let ((inhibit-quit t)) |
| 105 | (prog1 (read-char) | 105 | (prog1 (read-char) |
| 106 | (setq quit-flag nil)))))) | 106 | (setq quit-flag nil)))))) |
| 107 | 107 | ||
| 108 | ; initialization on first load. | 108 | ; initialization on first load. |
| 109 | (if telnet-mode-map | 109 | (if telnet-mode-map |
| @@ -141,8 +141,8 @@ rejecting one login and prompting again for a username and password.") | |||
| 141 | ((string-match "passw" string) | 141 | ((string-match "passw" string) |
| 142 | (telnet-filter proc string) | 142 | (telnet-filter proc string) |
| 143 | (setq telnet-count 0) | 143 | (setq telnet-count 0) |
| 144 | (send-string proc (concat (comint-read-noecho "Password: " t) | 144 | (process-send-string proc (concat (comint-read-noecho "Password: " t) |
| 145 | telnet-new-line)) | 145 | telnet-new-line)) |
| 146 | (clear-this-command-keys)) | 146 | (clear-this-command-keys)) |
| 147 | (t (telnet-check-software-type-initialize string) | 147 | (t (telnet-check-software-type-initialize string) |
| 148 | (telnet-filter proc string) | 148 | (telnet-filter proc string) |
| @@ -231,9 +231,9 @@ Normally input is edited in Emacs and sent a line at a time." | |||
| 231 | ;; Don't send the `open' cmd till telnet is ready for it. | 231 | ;; Don't send the `open' cmd till telnet is ready for it. |
| 232 | (accept-process-output process) | 232 | (accept-process-output process) |
| 233 | (erase-buffer) | 233 | (erase-buffer) |
| 234 | (send-string process (concat "open " host | 234 | (process-send-string process (concat "open " host |
| 235 | (if port " " "") (or port "") | 235 | (if port " " "") (or port "") |
| 236 | "\n")) | 236 | "\n")) |
| 237 | (telnet-mode) | 237 | (telnet-mode) |
| 238 | (setq comint-input-sender 'telnet-simple-send) | 238 | (setq comint-input-sender 'telnet-simple-send) |
| 239 | (setq telnet-count telnet-initial-count)))) | 239 | (setq telnet-count telnet-initial-count)))) |
diff --git a/lisp/net/tls.el b/lisp/net/tls.el index fd747387100..2de9362ca07 100644 --- a/lisp/net/tls.el +++ b/lisp/net/tls.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; tls.el --- TLS/SSL support via wrapper around GnuTLS | 1 | ;;; tls.el --- TLS/SSL support via wrapper around GnuTLS |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1996-1999, 2003, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1996-1999, 2003, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Simon Josefsson <simon@josefsson.org> | 5 | ;; Author: Simon Josefsson <simon@josefsson.org> |
| 6 | ;; Keywords: comm, tls, gnutls, ssl | 6 | ;; Keywords: comm, tls, gnutls, ssl |
diff --git a/lisp/net/tramp-ftp.el b/lisp/net/tramp-ftp.el index 3be891a49f8..496ee926d51 100644 --- a/lisp/net/tramp-ftp.el +++ b/lisp/net/tramp-ftp.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; tramp-ftp.el --- Tramp convenience functions for Ange-FTP and EFS -*- coding: iso-8859-1; -*- | 1 | ;;; tramp-ftp.el --- Tramp convenience functions for Ange-FTP and EFS -*- coding: iso-8859-1; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2002, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Michael Albinus <Michael.Albinus@alcatel.de> | 5 | ;; Author: Michael Albinus <Michael.Albinus@alcatel.de> |
| 6 | ;; Keywords: comm, processes | 6 | ;; Keywords: comm, processes |
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index ebdbc354ec4..c93bdfb8e61 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; tramp-smb.el --- Tramp access functions for SMB servers -*- coding: iso-8859-1; -*- | 1 | ;;; tramp-smb.el --- Tramp access functions for SMB servers -*- coding: iso-8859-1; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2002, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Michael Albinus <michael.albinus@gmx.de> | 5 | ;; Author: Michael Albinus <michael.albinus@gmx.de> |
| 6 | ;; Keywords: comm, processes | 6 | ;; Keywords: comm, processes |
| @@ -954,7 +954,7 @@ Domain names in USER and port numbers in HOST are acknowledged." | |||
| 954 | (when port (setq args (append args (list "-p" port)))) | 954 | (when port (setq args (append args (list "-p" port)))) |
| 955 | 955 | ||
| 956 | ; OK, let's go | 956 | ; OK, let's go |
| 957 | (tramp-pre-connection nil tramp-smb-method user host) | 957 | (tramp-pre-connection nil tramp-smb-method user host tramp-chunksize) |
| 958 | (tramp-message 7 "Opening connection for //%s@%s/%s..." | 958 | (tramp-message 7 "Opening connection for //%s@%s/%s..." |
| 959 | user host (or share "")) | 959 | user host (or share "")) |
| 960 | 960 | ||
diff --git a/lisp/net/tramp-util.el b/lisp/net/tramp-util.el index 1621c2c818e..eff8130b996 100644 --- a/lisp/net/tramp-util.el +++ b/lisp/net/tramp-util.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; -*- coding: iso-2022-7bit; -*- | 1 | ;;; -*- coding: iso-2022-7bit; -*- |
| 2 | ;;; tramp-util.el --- Misc utility functions to use with Tramp | 2 | ;;; tramp-util.el --- Misc utility functions to use with Tramp |
| 3 | 3 | ||
| 4 | ;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 4 | ;; Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: kai.grossjohann@gmx.net | 6 | ;; Author: kai.grossjohann@gmx.net |
| 7 | ;; Keywords: comm, extensions, processes | 7 | ;; Keywords: comm, extensions, processes |
diff --git a/lisp/net/tramp-uu.el b/lisp/net/tramp-uu.el index d18af101c48..09dfa7d04a5 100644 --- a/lisp/net/tramp-uu.el +++ b/lisp/net/tramp-uu.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; -*- coding: iso-2022-7bit; -*- | 1 | ;;; -*- coding: iso-2022-7bit; -*- |
| 2 | ;;; tramp-uu.el --- uuencode in Lisp | 2 | ;;; tramp-uu.el --- uuencode in Lisp |
| 3 | 3 | ||
| 4 | ;; Copyright (C) 2002, 2004 Free Software Foundation, Inc. | 4 | ;; Copyright (C) 2002, 2005 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Kai Gro,A_(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> | 6 | ;; Author: Kai Gro,A_(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> |
| 7 | ;; Keywords: comm, terminals | 7 | ;; Keywords: comm, terminals |
diff --git a/lisp/net/tramp-vc.el b/lisp/net/tramp-vc.el index c58d83504c2..9a281d9d40d 100644 --- a/lisp/net/tramp-vc.el +++ b/lisp/net/tramp-vc.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; tramp-vc.el --- Version control integration for TRAMP.el | 1 | ;;; tramp-vc.el --- Version control integration for TRAMP.el |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 by Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2000, 2001, 2002, 2005 by Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Daniel Pittman <daniel@danann.net> | 5 | ;; Author: Daniel Pittman <daniel@danann.net> |
| 6 | ;; Keywords: comm, processes | 6 | ;; Keywords: comm, processes |
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index bfdf7ed067a..a5ee3c9bc04 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; -*- mode: Emacs-Lisp; coding: iso-2022-7bit; -*- | 1 | ;;; -*- mode: Emacs-Lisp; coding: iso-2022-7bit; -*- |
| 2 | ;;; tramp.el --- Transparent Remote Access, Multiple Protocol | 2 | ;;; tramp.el --- Transparent Remote Access, Multiple Protocol |
| 3 | 3 | ||
| 4 | ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 4 | ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: kai.grossjohann@gmx.net | 6 | ;; Author: kai.grossjohann@gmx.net |
| 7 | ;; Keywords: comm, processes | 7 | ;; Keywords: comm, processes |
| @@ -1352,7 +1352,9 @@ autocorrect\" to the remote host." | |||
| 1352 | 1352 | ||
| 1353 | ;; Chunked sending kluge. We set this to 500 for black-listed constellations | 1353 | ;; Chunked sending kluge. We set this to 500 for black-listed constellations |
| 1354 | ;; known to have a bug in `process-send-string'; some ssh connections appear | 1354 | ;; known to have a bug in `process-send-string'; some ssh connections appear |
| 1355 | ;; to drop bytes when data is sent too quickly. | 1355 | ;; to drop bytes when data is sent too quickly. There is also a connection |
| 1356 | ;; buffer local variable, which is computed depending on remote host properties | ||
| 1357 | ;; when `tramp-chunksize' is zero or nil. | ||
| 1356 | (defcustom tramp-chunksize | 1358 | (defcustom tramp-chunksize |
| 1357 | (when (and (not (featurep 'xemacs)) | 1359 | (when (and (not (featurep 'xemacs)) |
| 1358 | (memq system-type '(hpux))) | 1360 | (memq system-type '(hpux))) |
| @@ -3231,7 +3233,13 @@ This is like `dired-recursive-delete-directory' for tramp files." | |||
| 3231 | (mapconcat #'tramp-shell-quote-argument (cons program arguments) " ")) | 3233 | (mapconcat #'tramp-shell-quote-argument (cons program arguments) " ")) |
| 3232 | (tramp-wait-for-output)) | 3234 | (tramp-wait-for-output)) |
| 3233 | (unless discard | 3235 | (unless discard |
| 3234 | (insert-buffer (tramp-get-buffer multi-method method user host))) | 3236 | ;; We cannot use `insert-buffer' because the tramp buffer |
| 3237 | ;; changes its contents before insertion due to calling | ||
| 3238 | ;; `expand-file' and alike. | ||
| 3239 | (insert | ||
| 3240 | (with-current-buffer | ||
| 3241 | (tramp-get-buffer multi-method method user host) | ||
| 3242 | (buffer-string)))) | ||
| 3235 | (save-excursion | 3243 | (save-excursion |
| 3236 | (prog1 | 3244 | (prog1 |
| 3237 | (tramp-send-command-and-check multi-method method user host nil) | 3245 | (tramp-send-command-and-check multi-method method user host nil) |
| @@ -3360,8 +3368,10 @@ This is like `dired-recursive-delete-directory' for tramp files." | |||
| 3360 | switches | 3368 | switches |
| 3361 | (if wildcard | 3369 | (if wildcard |
| 3362 | localname | 3370 | localname |
| 3363 | (tramp-shell-quote-argument | 3371 | (if (zerop (length (file-name-nondirectory localname))) |
| 3364 | (file-name-nondirectory localname)))))) | 3372 | "" |
| 3373 | (tramp-shell-quote-argument | ||
| 3374 | (file-name-nondirectory localname))))))) | ||
| 3365 | (sit-for 1) ;needed for rsh but not ssh? | 3375 | (sit-for 1) ;needed for rsh but not ssh? |
| 3366 | (tramp-wait-for-output)) | 3376 | (tramp-wait-for-output)) |
| 3367 | ;; The following let-binding is used by code that's commented | 3377 | ;; The following let-binding is used by code that's commented |
| @@ -3369,8 +3379,13 @@ This is like `dired-recursive-delete-directory' for tramp files." | |||
| 3369 | ;; that the commented-out code is really not needed. Commenting-out | 3379 | ;; that the commented-out code is really not needed. Commenting-out |
| 3370 | ;; happened on 2003-03-13. | 3380 | ;; happened on 2003-03-13. |
| 3371 | (let ((old-pos (point))) | 3381 | (let ((old-pos (point))) |
| 3372 | (insert-buffer-substring | 3382 | ;; We cannot use `insert-buffer' because the tramp buffer |
| 3373 | (tramp-get-buffer multi-method method user host)) | 3383 | ;; changes its contents before insertion due to calling |
| 3384 | ;; `expand-file' and alike. | ||
| 3385 | (insert | ||
| 3386 | (with-current-buffer | ||
| 3387 | (tramp-get-buffer multi-method method user host) | ||
| 3388 | (buffer-string))) | ||
| 3374 | ;; On XEmacs, we want to call (exchange-point-and-mark t), but | 3389 | ;; On XEmacs, we want to call (exchange-point-and-mark t), but |
| 3375 | ;; that doesn't exist on Emacs, so we use this workaround instead. | 3390 | ;; that doesn't exist on Emacs, so we use this workaround instead. |
| 3376 | ;; Since zmacs-region-stays doesn't exist in Emacs, this ought to | 3391 | ;; Since zmacs-region-stays doesn't exist in Emacs, this ought to |
| @@ -3561,7 +3576,13 @@ This will break if COMMAND prints a newline, followed by the value of | |||
| 3561 | (unless asynchronous | 3576 | (unless asynchronous |
| 3562 | (tramp-wait-for-output))) | 3577 | (tramp-wait-for-output))) |
| 3563 | (unless asynchronous | 3578 | (unless asynchronous |
| 3564 | (insert-buffer (tramp-get-buffer multi-method method user host))) | 3579 | ;; We cannot use `insert-buffer' because the tramp buffer |
| 3580 | ;; changes its contents before insertion due to calling | ||
| 3581 | ;; `expand-file' and alike. | ||
| 3582 | (insert | ||
| 3583 | (with-current-buffer | ||
| 3584 | (tramp-get-buffer multi-method method user host) | ||
| 3585 | (buffer-string)))) | ||
| 3565 | (when error-buffer | 3586 | (when error-buffer |
| 3566 | (save-excursion | 3587 | (save-excursion |
| 3567 | (unless (bufferp error-buffer) | 3588 | (unless (bufferp error-buffer) |
| @@ -3571,7 +3592,11 @@ This will break if COMMAND prints a newline, followed by the value of | |||
| 3571 | "cat /tmp/tramp.$$.err") | 3592 | "cat /tmp/tramp.$$.err") |
| 3572 | (tramp-wait-for-output) | 3593 | (tramp-wait-for-output) |
| 3573 | (set-buffer error-buffer) | 3594 | (set-buffer error-buffer) |
| 3574 | (insert-buffer (tramp-get-buffer multi-method method user host)) | 3595 | ;; Same comment as above |
| 3596 | (insert | ||
| 3597 | (with-current-buffer | ||
| 3598 | (tramp-get-buffer multi-method method user host) | ||
| 3599 | (buffer-string))) | ||
| 3575 | (tramp-send-command-and-check | 3600 | (tramp-send-command-and-check |
| 3576 | multi-method method user host "rm -f /tmp/tramp.$$.err"))) | 3601 | multi-method method user host "rm -f /tmp/tramp.$$.err"))) |
| 3577 | (save-excursion | 3602 | (save-excursion |
| @@ -4834,6 +4859,9 @@ Function may have 0-3 parameters." | |||
| 4834 | (defun tramp-set-auto-save () | 4859 | (defun tramp-set-auto-save () |
| 4835 | (when (and (buffer-file-name) | 4860 | (when (and (buffer-file-name) |
| 4836 | (tramp-tramp-file-p (buffer-file-name)) | 4861 | (tramp-tramp-file-p (buffer-file-name)) |
| 4862 | ;; ange-ftp has its own auto-save mechanism | ||
| 4863 | (eq (tramp-find-foreign-file-name-handler (buffer-file-name)) | ||
| 4864 | 'tramp-sh-file-name-handler) | ||
| 4837 | auto-save-default) | 4865 | auto-save-default) |
| 4838 | (auto-save-mode 1))) | 4866 | (auto-save-mode 1))) |
| 4839 | (add-hook 'find-file-hooks 'tramp-set-auto-save t) | 4867 | (add-hook 'find-file-hooks 'tramp-set-auto-save t) |
| @@ -5417,7 +5445,7 @@ Maybe the different regular expressions need to be tuned. | |||
| 5417 | method)) | 5445 | method)) |
| 5418 | (when multi-method | 5446 | (when multi-method |
| 5419 | (error "Cannot multi-connect using telnet connection method")) | 5447 | (error "Cannot multi-connect using telnet connection method")) |
| 5420 | (tramp-pre-connection multi-method method user host) | 5448 | (tramp-pre-connection multi-method method user host tramp-chunksize) |
| 5421 | (tramp-message 7 "Opening connection for %s@%s using %s..." | 5449 | (tramp-message 7 "Opening connection for %s@%s using %s..." |
| 5422 | (or user (user-login-name)) host method) | 5450 | (or user (user-login-name)) host method) |
| 5423 | (let ((process-environment (copy-sequence process-environment))) | 5451 | (let ((process-environment (copy-sequence process-environment))) |
| @@ -5475,7 +5503,7 @@ arguments, and xx will be used as the host name to connect to. | |||
| 5475 | (save-match-data | 5503 | (save-match-data |
| 5476 | (when multi-method | 5504 | (when multi-method |
| 5477 | (error "Cannot multi-connect using rsh connection method")) | 5505 | (error "Cannot multi-connect using rsh connection method")) |
| 5478 | (tramp-pre-connection multi-method method user host) | 5506 | (tramp-pre-connection multi-method method user host tramp-chunksize) |
| 5479 | (if (and user (not (string= user ""))) | 5507 | (if (and user (not (string= user ""))) |
| 5480 | (tramp-message 7 "Opening connection for %s@%s using %s..." | 5508 | (tramp-message 7 "Opening connection for %s@%s using %s..." |
| 5481 | user host method) | 5509 | user host method) |
| @@ -5544,7 +5572,7 @@ prompt than you do, so it is not at all unlikely that the variable | |||
| 5544 | (error | 5572 | (error |
| 5545 | "Cannot connect to different host `%s' with `su' connection method" | 5573 | "Cannot connect to different host `%s' with `su' connection method" |
| 5546 | host)) | 5574 | host)) |
| 5547 | (tramp-pre-connection multi-method method user host) | 5575 | (tramp-pre-connection multi-method method user host tramp-chunksize) |
| 5548 | (tramp-message 7 "Opening connection for `%s' using `%s'..." | 5576 | (tramp-message 7 "Opening connection for `%s' using `%s'..." |
| 5549 | (or user "<root>") method) | 5577 | (or user "<root>") method) |
| 5550 | (let ((process-environment (copy-sequence process-environment))) | 5578 | (let ((process-environment (copy-sequence process-environment))) |
| @@ -5609,7 +5637,7 @@ log in as u2 to h2." | |||
| 5609 | (unless (and (= (length method) (length user)) | 5637 | (unless (and (= (length method) (length user)) |
| 5610 | (= (length method) (length host))) | 5638 | (= (length method) (length host))) |
| 5611 | (error "Arrays METHOD, USER, HOST must have equal length")) | 5639 | (error "Arrays METHOD, USER, HOST must have equal length")) |
| 5612 | (tramp-pre-connection multi-method method user host) | 5640 | (tramp-pre-connection multi-method method user host tramp-chunksize) |
| 5613 | (tramp-message 7 "Opening `%s' connection..." multi-method) | 5641 | (tramp-message 7 "Opening `%s' connection..." multi-method) |
| 5614 | (let ((process-environment (copy-sequence process-environment))) | 5642 | (let ((process-environment (copy-sequence process-environment))) |
| 5615 | (setenv "TERM" tramp-terminal-type) | 5643 | (setenv "TERM" tramp-terminal-type) |
| @@ -5810,7 +5838,7 @@ Uses PROMPT as a prompt and sends the password to process P." | |||
| 5810 | ;; HHH: Not Changed. This might handle the case where USER is not | 5838 | ;; HHH: Not Changed. This might handle the case where USER is not |
| 5811 | ;; given in the "File name" very poorly. Then, the local | 5839 | ;; given in the "File name" very poorly. Then, the local |
| 5812 | ;; variable tramp-current-user will be set to nil. | 5840 | ;; variable tramp-current-user will be set to nil. |
| 5813 | (defun tramp-pre-connection (multi-method method user host) | 5841 | (defun tramp-pre-connection (multi-method method user host chunksize) |
| 5814 | "Do some setup before actually logging in. | 5842 | "Do some setup before actually logging in. |
| 5815 | METHOD, USER and HOST specify the connection." | 5843 | METHOD, USER and HOST specify the connection." |
| 5816 | (set-buffer (tramp-get-buffer multi-method method user host)) | 5844 | (set-buffer (tramp-get-buffer multi-method method user host)) |
| @@ -5818,6 +5846,7 @@ METHOD, USER and HOST specify the connection." | |||
| 5818 | (set (make-local-variable 'tramp-current-method) method) | 5846 | (set (make-local-variable 'tramp-current-method) method) |
| 5819 | (set (make-local-variable 'tramp-current-user) user) | 5847 | (set (make-local-variable 'tramp-current-user) user) |
| 5820 | (set (make-local-variable 'tramp-current-host) host) | 5848 | (set (make-local-variable 'tramp-current-host) host) |
| 5849 | (set (make-local-variable 'tramp-chunksize) chunksize) | ||
| 5821 | (set (make-local-variable 'inhibit-eol-conversion) nil) | 5850 | (set (make-local-variable 'inhibit-eol-conversion) nil) |
| 5822 | (erase-buffer)) | 5851 | (erase-buffer)) |
| 5823 | 5852 | ||
| @@ -5869,6 +5898,20 @@ to set up. METHOD, USER and HOST specify the connection." | |||
| 5869 | (erase-buffer) | 5898 | (erase-buffer) |
| 5870 | (tramp-send-command-internal multi-method method user host | 5899 | (tramp-send-command-internal multi-method method user host |
| 5871 | "TERM=dumb; export TERM") | 5900 | "TERM=dumb; export TERM") |
| 5901 | (erase-buffer) | ||
| 5902 | ;; Check whether the remote host suffers from buggy `send-process-string'. | ||
| 5903 | ;; This is known for FreeBSD (see comment in `send_process', file process.c). | ||
| 5904 | ;; I've tested sending 624 bytes successfully, sending 625 bytes failed. | ||
| 5905 | ;; Emacs makes a hack when this host type is detected locally. It cannot | ||
| 5906 | ;; handle remote hosts, though. | ||
| 5907 | (when (or (not tramp-chunksize) (zerop tramp-chunksize)) | ||
| 5908 | (tramp-message 9 "Checking remote host type for `send-process-string' bug") | ||
| 5909 | (tramp-send-command-internal multi-method method user host | ||
| 5910 | "(uname -sr) 2>/dev/null") | ||
| 5911 | (goto-char (point-min)) | ||
| 5912 | (when (looking-at "FreeBSD") | ||
| 5913 | (setq tramp-chunksize 500))) | ||
| 5914 | |||
| 5872 | ;; Try to set up the coding system correctly. | 5915 | ;; Try to set up the coding system correctly. |
| 5873 | ;; CCC this can't be the right way to do it. Hm. | 5916 | ;; CCC this can't be the right way to do it. Hm. |
| 5874 | (save-excursion | 5917 | (save-excursion |
| @@ -6948,7 +6991,8 @@ as default." | |||
| 6948 | ;; Permissions should be set always, because there might be an old | 6991 | ;; Permissions should be set always, because there might be an old |
| 6949 | ;; auto-saved file belonging to another original file. This could | 6992 | ;; auto-saved file belonging to another original file. This could |
| 6950 | ;; be a security threat. | 6993 | ;; be a security threat. |
| 6951 | (set-file-modes buffer-auto-save-file-name (file-modes bfn))))) | 6994 | (set-file-modes buffer-auto-save-file-name |
| 6995 | (or (file-modes bfn) ?\600))))) | ||
| 6952 | 6996 | ||
| 6953 | (unless (or (> emacs-major-version 21) | 6997 | (unless (or (> emacs-major-version 21) |
| 6954 | (and (featurep 'xemacs) | 6998 | (and (featurep 'xemacs) |
| @@ -7226,7 +7270,6 @@ Only works for Bourne-like shells." | |||
| 7226 | tramp-yesno-prompt-regexp | 7270 | tramp-yesno-prompt-regexp |
| 7227 | tramp-yn-prompt-regexp | 7271 | tramp-yn-prompt-regexp |
| 7228 | tramp-terminal-prompt-regexp | 7272 | tramp-terminal-prompt-regexp |
| 7229 | tramp-out-of-band-prompt-regexp | ||
| 7230 | tramp-temp-name-prefix | 7273 | tramp-temp-name-prefix |
| 7231 | tramp-file-name-structure | 7274 | tramp-file-name-structure |
| 7232 | tramp-file-name-regexp | 7275 | tramp-file-name-regexp |
| @@ -7286,31 +7329,44 @@ report. | |||
| 7286 | (defun tramp-append-tramp-buffers () | 7329 | (defun tramp-append-tramp-buffers () |
| 7287 | "Append Tramp buffers into the bug report." | 7330 | "Append Tramp buffers into the bug report." |
| 7288 | 7331 | ||
| 7289 | ;; We load mml.el from Gnus. | 7332 | ;; We load message.el and mml.el from Gnus. |
| 7290 | (if (featurep 'xemacs) | 7333 | (if (featurep 'xemacs) |
| 7291 | (load "mml" 'noerror) | 7334 | (progn |
| 7335 | (load "message" 'noerror) | ||
| 7336 | (load "mml" 'noerror)) | ||
| 7337 | (require 'message nil 'noerror) | ||
| 7292 | (require 'mml nil 'noerror)) | 7338 | (require 'mml nil 'noerror)) |
| 7339 | (when (functionp 'message-mode) | ||
| 7340 | (funcall 'message-mode)) | ||
| 7341 | (when (functionp 'mml-mode) | ||
| 7342 | (funcall 'mml-mode t)) | ||
| 7293 | 7343 | ||
| 7294 | (when (and | 7344 | (when (and |
| 7295 | ;; We don't want to add another dependency. | 7345 | (eq major-mode 'message-mode) |
| 7296 | (functionp 'mml-insert-empty-tag) | 7346 | (boundp 'mml-mode) |
| 7297 | ;; 2nd parameter since Emacs 22. | 7347 | (symbol-value 'mml-mode)) |
| 7298 | (condition-case nil | 7348 | |
| 7299 | (list-buffers-noselect nil nil) | 7349 | (let* ((tramp-buf-regexp "\\*\\(debug \\)?tramp/") |
| 7300 | (t nil))) | 7350 | (buffer-list |
| 7301 | (let ((buffer-list | 7351 | (delq nil |
| 7302 | (delq nil | 7352 | (mapcar '(lambda (b) |
| 7303 | (mapcar '(lambda (b) | 7353 | (when (string-match tramp-buf-regexp (buffer-name b)) b)) |
| 7304 | (when (string-match "^\\*\\(debug \\)?tramp/" (buffer-name b)) b)) | 7354 | (buffer-list)))) |
| 7305 | (buffer-list)))) | 7355 | (curbuf (current-buffer))) |
| 7306 | (curbuf (current-buffer))) | ||
| 7307 | 7356 | ||
| 7308 | ;; There is at least one Tramp buffer. | 7357 | ;; There is at least one Tramp buffer. |
| 7309 | (when buffer-list | 7358 | (when buffer-list |
| 7310 | (switch-to-buffer (list-buffers-noselect nil buffer-list)) | 7359 | (switch-to-buffer (list-buffers-noselect nil)) |
| 7311 | (delete-other-windows) | 7360 | (delete-other-windows) |
| 7312 | (setq buffer-read-only nil) | 7361 | (setq buffer-read-only nil) |
| 7313 | (goto-char (point-max)) | 7362 | (goto-char (point-min)) |
| 7363 | (while (not (eobp)) | ||
| 7364 | (if (re-search-forward tramp-buf-regexp (tramp-point-at-eol) t) | ||
| 7365 | (forward-line 1) | ||
| 7366 | (forward-line 0) | ||
| 7367 | (let ((start (point))) | ||
| 7368 | (forward-line 1) | ||
| 7369 | (kill-region start (point))))) | ||
| 7314 | (insert " | 7370 | (insert " |
| 7315 | The buffer(s) above will be appended to this message. If you don't want | 7371 | The buffer(s) above will be appended to this message. If you don't want |
| 7316 | to append a buffer because it contains sensible data, or because the buffer | 7372 | to append a buffer because it contains sensible data, or because the buffer |
diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el index 12e56600f00..c8ef71eb9f3 100644 --- a/lisp/net/trampver.el +++ b/lisp/net/trampver.el | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | ;;; trampver.el --- Transparent Remote Access, Multiple Protocol | 2 | ;;; trampver.el --- Transparent Remote Access, Multiple Protocol |
| 3 | ;;; lisp/trampver.el. Generated from trampver.el.in by configure. | 3 | ;;; lisp/trampver.el. Generated from trampver.el.in by configure. |
| 4 | 4 | ||
| 5 | ;; Copyright (C) 2003 Free Software Foundation, Inc. | 5 | ;; Copyright (C) 2003, 2005 Free Software Foundation, Inc. |
| 6 | 6 | ||
| 7 | ;; Author: Kai.Grossjohann@CS.Uni-Dortmund.DE | 7 | ;; Author: Kai.Grossjohann@CS.Uni-Dortmund.DE |
| 8 | ;; Keywords: comm, processes | 8 | ;; Keywords: comm, processes |
| @@ -30,7 +30,7 @@ | |||
| 30 | ;; are auto-frobbed from configure.ac, so you should edit that file and run | 30 | ;; are auto-frobbed from configure.ac, so you should edit that file and run |
| 31 | ;; "autoconf && ./configure" to change them. | 31 | ;; "autoconf && ./configure" to change them. |
| 32 | 32 | ||
| 33 | (defconst tramp-version "2.0.48" | 33 | (defconst tramp-version "2.0.49" |
| 34 | "This version of Tramp.") | 34 | "This version of Tramp.") |
| 35 | 35 | ||
| 36 | (defconst tramp-bug-report-address "tramp-devel@gnu.org" | 36 | (defconst tramp-bug-report-address "tramp-devel@gnu.org" |
diff --git a/lisp/net/webjump.el b/lisp/net/webjump.el index 0fc47fafa85..23c54d5a09f 100644 --- a/lisp/net/webjump.el +++ b/lisp/net/webjump.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; webjump.el --- programmable Web hotlist | 1 | ;;; webjump.el --- programmable Web hotlist |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1996, 1997, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Neil W. Van Dyke <nwv@acm.org> | 5 | ;; Author: Neil W. Van Dyke <nwv@acm.org> |
| 6 | ;; Created: 09-Aug-1996 | 6 | ;; Created: 09-Aug-1996 |
diff --git a/lisp/net/zone-mode.el b/lisp/net/zone-mode.el index 6b4d22f9b13..c7999616375 100644 --- a/lisp/net/zone-mode.el +++ b/lisp/net/zone-mode.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; zone-mode.el --- major mode for editing DNS zone files | 1 | ;;; zone-mode.el --- major mode for editing DNS zone files |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1998 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1998, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: John Heidemann <johnh@isi.edu> | 5 | ;; Author: John Heidemann <johnh@isi.edu> |
| 6 | ;; Keywords: DNS, languages | 6 | ;; Keywords: DNS, languages |
diff --git a/lisp/newcomment.el b/lisp/newcomment.el index 5a7b7666e89..59044da6ef9 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el | |||
| @@ -90,7 +90,8 @@ Major modes should set this variable.") | |||
| 90 | 90 | ||
| 91 | (defcustom comment-fill-column nil | 91 | (defcustom comment-fill-column nil |
| 92 | "Column to use for `comment-indent'. If nil, use `fill-column' instead." | 92 | "Column to use for `comment-indent'. If nil, use `fill-column' instead." |
| 93 | :type '(choice (const nil) integer)) | 93 | :type '(choice (const nil) integer) |
| 94 | :group 'comment) | ||
| 94 | 95 | ||
| 95 | ;;;###autoload | 96 | ;;;###autoload |
| 96 | (defcustom comment-column 32 | 97 | (defcustom comment-column 32 |
| @@ -99,7 +100,8 @@ Each mode establishes a different default value for this variable; you | |||
| 99 | can set the value for a particular mode using that mode's hook. | 100 | can set the value for a particular mode using that mode's hook. |
| 100 | Comments might be indented to a value smaller than this in order | 101 | Comments might be indented to a value smaller than this in order |
| 101 | not to go beyond `comment-fill-column'." | 102 | not to go beyond `comment-fill-column'." |
| 102 | :type 'integer) | 103 | :type 'integer |
| 104 | :group 'comment) | ||
| 103 | (make-variable-buffer-local 'comment-column) | 105 | (make-variable-buffer-local 'comment-column) |
| 104 | 106 | ||
| 105 | ;;;###autoload | 107 | ;;;###autoload |
| @@ -201,7 +203,8 @@ INDENT specifies that the `comment-start' markers should not be put at the | |||
| 201 | See `comment-styles' for a list of available styles." | 203 | See `comment-styles' for a list of available styles." |
| 202 | :type (if (boundp 'comment-styles) | 204 | :type (if (boundp 'comment-styles) |
| 203 | `(choice ,@(mapcar (lambda (s) `(const ,(car s))) comment-styles)) | 205 | `(choice ,@(mapcar (lambda (s) `(const ,(car s))) comment-styles)) |
| 204 | 'symbol)) | 206 | 'symbol) |
| 207 | :group 'comment) | ||
| 205 | 208 | ||
| 206 | ;;;###autoload | 209 | ;;;###autoload |
| 207 | (defcustom comment-padding " " | 210 | (defcustom comment-padding " " |
| @@ -211,7 +214,8 @@ of the corresponding number of spaces. | |||
| 211 | 214 | ||
| 212 | Extra spacing between the comment characters and the comment text | 215 | Extra spacing between the comment characters and the comment text |
| 213 | makes the comment easier to read. Default is 1. nil means 0." | 216 | makes the comment easier to read. Default is 1. nil means 0." |
| 214 | :type '(choice string integer (const nil))) | 217 | :type '(choice string integer (const nil)) |
| 218 | :group 'comment) | ||
| 215 | 219 | ||
| 216 | ;;;###autoload | 220 | ;;;###autoload |
| 217 | (defcustom comment-multi-line nil | 221 | (defcustom comment-multi-line nil |
| @@ -222,7 +226,8 @@ customize this variable. | |||
| 222 | 226 | ||
| 223 | It also affects \\[indent-new-comment-line]. However, if you want this | 227 | It also affects \\[indent-new-comment-line]. However, if you want this |
| 224 | behavior for explicit filling, you might as well use \\[newline-and-indent]." | 228 | behavior for explicit filling, you might as well use \\[newline-and-indent]." |
| 225 | :type 'boolean) | 229 | :type 'boolean |
| 230 | :group 'comment) | ||
| 226 | 231 | ||
| 227 | (defcustom comment-empty-lines nil | 232 | (defcustom comment-empty-lines nil |
| 228 | "If nil, `comment-region' does not comment out empty lines. | 233 | "If nil, `comment-region' does not comment out empty lines. |
| @@ -231,7 +236,8 @@ if `eol' it only comments out empty lines if comments are | |||
| 231 | terminated by the end of line (i.e. `comment-end' is empty)." | 236 | terminated by the end of line (i.e. `comment-end' is empty)." |
| 232 | :type '(choice (const :tag "Never" nil) | 237 | :type '(choice (const :tag "Never" nil) |
| 233 | (const :tag "Always" t) | 238 | (const :tag "Always" t) |
| 234 | (const :tag "EOl-terminated" 'eol))) | 239 | (const :tag "EOl-terminated" 'eol)) |
| 240 | :group 'comment) | ||
| 235 | 241 | ||
| 236 | ;;;; | 242 | ;;;; |
| 237 | ;;;; Helpers | 243 | ;;;; Helpers |
| @@ -1091,7 +1097,8 @@ Else, call `comment-indent'." | |||
| 1091 | (defcustom comment-auto-fill-only-comments nil | 1097 | (defcustom comment-auto-fill-only-comments nil |
| 1092 | "Non-nil means to only auto-fill inside comments. | 1098 | "Non-nil means to only auto-fill inside comments. |
| 1093 | This has no effect in modes that do not define a comment syntax." | 1099 | This has no effect in modes that do not define a comment syntax." |
| 1094 | :type 'boolean) | 1100 | :type 'boolean |
| 1101 | :group 'comment) | ||
| 1095 | 1102 | ||
| 1096 | (defun comment-valid-prefix-p (prefix compos) | 1103 | (defun comment-valid-prefix-p (prefix compos) |
| 1097 | (or | 1104 | (or |
diff --git a/lisp/obsolete/rsz-mini.el b/lisp/obsolete/rsz-mini.el index d44a88df801..a90cb625dc5 100644 --- a/lisp/obsolete/rsz-mini.el +++ b/lisp/obsolete/rsz-mini.el | |||
| @@ -63,7 +63,8 @@ | |||
| 63 | 63 | ||
| 64 | ;;;###autoload | 64 | ;;;###autoload |
| 65 | (defcustom resize-minibuffer-frame-max-height nil | 65 | (defcustom resize-minibuffer-frame-max-height nil |
| 66 | "*This variable is obsolete.") | 66 | "*This variable is obsolete." |
| 67 | :group 'resize-minibuffer) | ||
| 67 | 68 | ||
| 68 | ;;;###autoload | 69 | ;;;###autoload |
| 69 | (defcustom resize-minibuffer-frame-exactly t | 70 | (defcustom resize-minibuffer-frame-exactly t |
diff --git a/lisp/play/gametree.el b/lisp/play/gametree.el index f79ded4955e..abab58d6018 100644 --- a/lisp/play/gametree.el +++ b/lisp/play/gametree.el | |||
| @@ -204,12 +204,12 @@ should be no leading white space." | |||
| 204 | gametree-half-ply-regexp "\\)")) | 204 | gametree-half-ply-regexp "\\)")) |
| 205 | (limit (save-excursion (beginning-of-line 1) (point)))) | 205 | (limit (save-excursion (beginning-of-line 1) (point)))) |
| 206 | (if (looking-at boundary) | 206 | (if (looking-at boundary) |
| 207 | (+ (* 2 (string-to-int (match-string 1))) | 207 | (+ (* 2 (string-to-number (match-string 1))) |
| 208 | (if (string-match gametree-half-ply-regexp (match-string 2)) 1 0)) | 208 | (if (string-match gametree-half-ply-regexp (match-string 2)) 1 0)) |
| 209 | (save-excursion | 209 | (save-excursion |
| 210 | (re-search-backward boundary limit) | 210 | (re-search-backward boundary limit) |
| 211 | (skip-chars-backward "0123456789") | 211 | (skip-chars-backward "0123456789") |
| 212 | (1+ (* 2 (string-to-int | 212 | (1+ (* 2 (string-to-number |
| 213 | (buffer-substring (point) (match-end 1)))))))))) | 213 | (buffer-substring (point) (match-end 1)))))))))) |
| 214 | 214 | ||
| 215 | (defun gametree-current-branch-ply () | 215 | (defun gametree-current-branch-ply () |
| @@ -345,7 +345,7 @@ This value is simply the outline heading level of the current line." | |||
| 345 | "Return score of current variation according to its score tag. | 345 | "Return score of current variation according to its score tag. |
| 346 | When no score tag is present, use the value of `gametree-default-score'." | 346 | When no score tag is present, use the value of `gametree-default-score'." |
| 347 | (if (looking-at gametree-score-regexp) | 347 | (if (looking-at gametree-score-regexp) |
| 348 | (string-to-int (match-string 3)) | 348 | (string-to-number (match-string 3)) |
| 349 | gametree-default-score)) | 349 | gametree-default-score)) |
| 350 | 350 | ||
| 351 | (defun gametree-compute-reduced-score () | 351 | (defun gametree-compute-reduced-score () |
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el index e7eb0657eac..8dba21afe9b 100644 --- a/lisp/progmodes/ada-xref.el +++ b/lisp/progmodes/ada-xref.el | |||
| @@ -672,7 +672,7 @@ file. If none is set, return nil." | |||
| 672 | (not (integerp choice)) | 672 | (not (integerp choice)) |
| 673 | (< choice 1) | 673 | (< choice 1) |
| 674 | (> choice (length prj-files))) | 674 | (> choice (length prj-files))) |
| 675 | (setq choice (string-to-int | 675 | (setq choice (string-to-number |
| 676 | (read-from-minibuffer "Enter No. of your choice: ")))) | 676 | (read-from-minibuffer "Enter No. of your choice: ")))) |
| 677 | (set 'selected (nth (1- choice) prj-files)))) | 677 | (set 'selected (nth (1- choice) prj-files)))) |
| 678 | 678 | ||
| @@ -1800,7 +1800,7 @@ This function is disabled for operators, and only works for identifiers." | |||
| 1800 | (< choice 1) | 1800 | (< choice 1) |
| 1801 | (> choice len)) | 1801 | (> choice len)) |
| 1802 | (setq choice | 1802 | (setq choice |
| 1803 | (string-to-int | 1803 | (string-to-number |
| 1804 | (read-from-minibuffer "Enter No. of your choice: ")))) | 1804 | (read-from-minibuffer "Enter No. of your choice: ")))) |
| 1805 | ) | 1805 | ) |
| 1806 | (set-buffer ali-buffer) | 1806 | (set-buffer ali-buffer) |
| @@ -1988,7 +1988,7 @@ is using." | |||
| 1988 | (< choice 1) | 1988 | (< choice 1) |
| 1989 | (> choice (length list))) | 1989 | (> choice (length list))) |
| 1990 | (setq choice | 1990 | (setq choice |
| 1991 | (string-to-int | 1991 | (string-to-number |
| 1992 | (read-from-minibuffer "Enter No. of your choice: ")))) | 1992 | (read-from-minibuffer "Enter No. of your choice: ")))) |
| 1993 | ) | 1993 | ) |
| 1994 | (set 'choice (1- choice)) | 1994 | (set 'choice (1- choice)) |
diff --git a/lisp/progmodes/antlr-mode.el b/lisp/progmodes/antlr-mode.el index 1a35fe41860..03587577f59 100644 --- a/lisp/progmodes/antlr-mode.el +++ b/lisp/progmodes/antlr-mode.el | |||
| @@ -785,6 +785,7 @@ bound to `antlr-language'. For example, with value | |||
| 785 | \((java-mode \. 2) (c++-mode \. 0)) | 785 | \((java-mode \. 2) (c++-mode \. 0)) |
| 786 | Java actions are fontified with level 2 and C++ actions are not | 786 | Java actions are fontified with level 2 and C++ actions are not |
| 787 | fontified at all." | 787 | fontified at all." |
| 788 | :group 'antlr | ||
| 788 | :type '(choice (const :tag "None" none) | 789 | :type '(choice (const :tag "None" none) |
| 789 | (const :tag "Inherit" inherit) | 790 | (const :tag "Inherit" inherit) |
| 790 | (const :tag "Default" nil) | 791 | (const :tag "Default" nil) |
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index ea36064412f..0a4cb6c8cd6 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el | |||
| @@ -335,7 +335,8 @@ This function does not do any hidden buffer changes." | |||
| 335 | ;; locking is in use. This variable is extended with the face in | 335 | ;; locking is in use. This variable is extended with the face in |
| 336 | ;; `c-doc-face-name' when fontification is activated in cc-fonts.el. | 336 | ;; `c-doc-face-name' when fontification is activated in cc-fonts.el. |
| 337 | (defvar c-literal-faces | 337 | (defvar c-literal-faces |
| 338 | '(font-lock-comment-face font-lock-string-face)) | 338 | '(font-lock-comment-face font-lock-string-face |
| 339 | font-lock-comment-delimiter-face)) | ||
| 339 | 340 | ||
| 340 | (defun c-shift-line-indentation (shift-amt) | 341 | (defun c-shift-line-indentation (shift-amt) |
| 341 | ;; This function does not do any hidden buffer changes. | 342 | ;; This function does not do any hidden buffer changes. |
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el index 74efef4133f..26c0bdaf60f 100644 --- a/lisp/progmodes/cc-fonts.el +++ b/lisp/progmodes/cc-fonts.el | |||
| @@ -673,7 +673,7 @@ casts and declarations are fontified. Used on level 2 and higher." | |||
| 673 | (c-font-lock-objc-iip-decl))) | 673 | (c-font-lock-objc-iip-decl))) |
| 674 | nil)))))) | 674 | nil)))))) |
| 675 | 675 | ||
| 676 | ("!" . font-lock-negation-char-face) | 676 | ("\\(!\\)[^=]" 1 font-lock-negation-char-face) |
| 677 | )) | 677 | )) |
| 678 | 678 | ||
| 679 | (defun c-font-lock-complex-decl-prepare (limit) | 679 | (defun c-font-lock-complex-decl-prepare (limit) |
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index f5180b1fb48..ad43228a100 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el | |||
| @@ -119,6 +119,10 @@ nil means compute the name with `(concat \"*\" (downcase major-mode) \"*\")'.") | |||
| 119 | It is called with two arguments: the compilation buffer, and a string | 119 | It is called with two arguments: the compilation buffer, and a string |
| 120 | describing how the process finished.") | 120 | describing how the process finished.") |
| 121 | 121 | ||
| 122 | (make-obsolete-variable 'compilation-finish-function | ||
| 123 | "Use `compilation-finish-functions', but it works a little differently." | ||
| 124 | "22.1") | ||
| 125 | |||
| 122 | ;;;###autoload | 126 | ;;;###autoload |
| 123 | (defvar compilation-finish-functions nil | 127 | (defvar compilation-finish-functions nil |
| 124 | "Functions to call when a compilation process finishes. | 128 | "Functions to call when a compilation process finishes. |
| @@ -1247,8 +1251,7 @@ Optional argument MINOR indicates this is called from | |||
| 1247 | (make-local-variable 'compilation-messages-start) | 1251 | (make-local-variable 'compilation-messages-start) |
| 1248 | (make-local-variable 'compilation-error-screen-columns) | 1252 | (make-local-variable 'compilation-error-screen-columns) |
| 1249 | (make-local-variable 'overlay-arrow-position) | 1253 | (make-local-variable 'overlay-arrow-position) |
| 1250 | (set (make-local-variable 'overlay-arrow-string) | 1254 | (set (make-local-variable 'overlay-arrow-string) "") |
| 1251 | (if (display-graphic-p) "=>" "")) | ||
| 1252 | (setq next-error-overlay-arrow-position nil) | 1255 | (setq next-error-overlay-arrow-position nil) |
| 1253 | (add-hook 'kill-buffer-hook | 1256 | (add-hook 'kill-buffer-hook |
| 1254 | (lambda () (setq next-error-overlay-arrow-position nil)) nil t) | 1257 | (lambda () (setq next-error-overlay-arrow-position nil)) nil t) |
| @@ -1575,9 +1578,12 @@ region and the first line of the next region." | |||
| 1575 | (setcdr loc (list line file marker))) | 1578 | (setcdr loc (list line file marker))) |
| 1576 | loc)) | 1579 | loc)) |
| 1577 | 1580 | ||
| 1578 | (defcustom compilation-context-lines 0 | 1581 | (defcustom compilation-context-lines nil |
| 1579 | "*Display this many lines of leading context before message. | 1582 | "Display this many lines of leading context before the current message. |
| 1580 | If nil, don't scroll the compilation output window." | 1583 | If nil and the left fringe is displayed, don't scroll the |
| 1584 | compilation output window; an arrow in the left fringe points to | ||
| 1585 | the current message. If nil and there is no left fringe, the message | ||
| 1586 | displays at the top of the window; there is no arrow." | ||
| 1581 | :type '(choice integer (const :tag "No window scrolling" nil)) | 1587 | :type '(choice integer (const :tag "No window scrolling" nil)) |
| 1582 | :group 'compilation | 1588 | :group 'compilation |
| 1583 | :version "22.1") | 1589 | :version "22.1") |
| @@ -1586,10 +1592,17 @@ If nil, don't scroll the compilation output window." | |||
| 1586 | "Align the compilation output window W with marker MK near top." | 1592 | "Align the compilation output window W with marker MK near top." |
| 1587 | (if (integerp compilation-context-lines) | 1593 | (if (integerp compilation-context-lines) |
| 1588 | (set-window-start w (save-excursion | 1594 | (set-window-start w (save-excursion |
| 1589 | (goto-char mk) | 1595 | (goto-char mk) |
| 1590 | (beginning-of-line (- 1 compilation-context-lines)) | 1596 | (beginning-of-line |
| 1591 | (point)))) | 1597 | (- 1 compilation-context-lines)) |
| 1592 | (set-window-point w mk)) | 1598 | (point))) |
| 1599 | ;; If there is no left fringe. | ||
| 1600 | (if (equal (car (window-fringes)) 0) | ||
| 1601 | (set-window-start w (save-excursion | ||
| 1602 | (goto-char mk) | ||
| 1603 | (beginning-of-line 1) | ||
| 1604 | (point))))) | ||
| 1605 | (set-window-point w mk)) | ||
| 1593 | 1606 | ||
| 1594 | (defvar next-error-highlight-timer) | 1607 | (defvar next-error-highlight-timer) |
| 1595 | 1608 | ||
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index e32a43ede9e..436bc04d044 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el | |||
| @@ -120,7 +120,7 @@ | |||
| 120 | ;; Probably will not work due to some save-excursion??? | 120 | ;; Probably will not work due to some save-excursion??? |
| 121 | ;; Or save-file-position? | 121 | ;; Or save-file-position? |
| 122 | ;; (message "Did I get to line %s?" (elt (, elt) 1)) | 122 | ;; (message "Did I get to line %s?" (elt (, elt) 1)) |
| 123 | `(goto-line (string-to-int (elt ,elt 1)))) | 123 | `(goto-line (string-to-number (elt ,elt 1)))) |
| 124 | ;;) | 124 | ;;) |
| 125 | (defmacro cperl-etags-goto-tag-location (elt) | 125 | (defmacro cperl-etags-goto-tag-location (elt) |
| 126 | `(etags-goto-tag-location ,elt)))) | 126 | `(etags-goto-tag-location ,elt)))) |
diff --git a/lisp/progmodes/delphi.el b/lisp/progmodes/delphi.el index 4ebbc549697..8d3ee554026 100644 --- a/lisp/progmodes/delphi.el +++ b/lisp/progmodes/delphi.el | |||
| @@ -1530,7 +1530,7 @@ before the indent, the point is moved to the indent." | |||
| 1530 | (save-selected-window | 1530 | (save-selected-window |
| 1531 | (switch-to-buffer-other-window to-buffer) | 1531 | (switch-to-buffer-other-window to-buffer) |
| 1532 | (goto-char (point-max)) | 1532 | (goto-char (point-max)) |
| 1533 | (set-window-dot (get-buffer-window to-buffer) (point)) | 1533 | (set-window-point (get-buffer-window to-buffer) (point)) |
| 1534 | (insert the-msg)))) | 1534 | (insert the-msg)))) |
| 1535 | 1535 | ||
| 1536 | ;; Debugging helpers: | 1536 | ;; Debugging helpers: |
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el index 457c00d9008..6dd15897e7b 100644 --- a/lisp/progmodes/ebrowse.el +++ b/lisp/progmodes/ebrowse.el | |||
| @@ -1448,10 +1448,10 @@ Pop to member buffer if no prefix ARG, to tree buffer otherwise." | |||
| 1448 | (defun ebrowse-set-tree-indentation () | 1448 | (defun ebrowse-set-tree-indentation () |
| 1449 | "Set the indentation width of the tree display." | 1449 | "Set the indentation width of the tree display." |
| 1450 | (interactive) | 1450 | (interactive) |
| 1451 | (let ((width (string-to-int (read-from-minibuffer | 1451 | (let ((width (string-to-number (read-from-minibuffer |
| 1452 | (concat "Indentation (" | 1452 | (concat "Indentation (" |
| 1453 | (int-to-string ebrowse--indentation) | 1453 | (int-to-string ebrowse--indentation) |
| 1454 | "): "))))) | 1454 | "): "))))) |
| 1455 | (when (plusp width) | 1455 | (when (plusp width) |
| 1456 | (setf ebrowse--indentation width) | 1456 | (setf ebrowse--indentation width) |
| 1457 | (ebrowse-redraw-tree)))) | 1457 | (ebrowse-redraw-tree)))) |
| @@ -2329,7 +2329,7 @@ With prefix ARG, switch to the tree buffer else pop to it." | |||
| 2329 | "Set the column width of the member display. | 2329 | "Set the column width of the member display. |
| 2330 | The new width is read from the minibuffer." | 2330 | The new width is read from the minibuffer." |
| 2331 | (interactive) | 2331 | (interactive) |
| 2332 | (let ((width (string-to-int | 2332 | (let ((width (string-to-number |
| 2333 | (read-from-minibuffer | 2333 | (read-from-minibuffer |
| 2334 | (concat "Column width (" | 2334 | (concat "Column width (" |
| 2335 | (int-to-string (if ebrowse--long-display-flag | 2335 | (int-to-string (if ebrowse--long-display-flag |
| @@ -4313,7 +4313,7 @@ NUMBER-OF-STATIC-VARIABLES:" | |||
| 4313 | "Select the nth entry in the list by the keys 1..9." | 4313 | "Select the nth entry in the list by the keys 1..9." |
| 4314 | (interactive) | 4314 | (interactive) |
| 4315 | (let* ((maxlin (count-lines (point-min) (point-max))) | 4315 | (let* ((maxlin (count-lines (point-min) (point-max))) |
| 4316 | (n (min maxlin (+ 2 (string-to-int (this-command-keys)))))) | 4316 | (n (min maxlin (+ 2 (string-to-number (this-command-keys)))))) |
| 4317 | (goto-line n) | 4317 | (goto-line n) |
| 4318 | (throw 'electric-buffer-menu-select (point)))) | 4318 | (throw 'electric-buffer-menu-select (point)))) |
| 4319 | 4319 | ||
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index 0569d26db61..32ede0e1474 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el | |||
| @@ -1283,16 +1283,16 @@ where they were found." | |||
| 1283 | 1283 | ||
| 1284 | 1284 | ||
| 1285 | (if (looking-at "[0-9]") | 1285 | (if (looking-at "[0-9]") |
| 1286 | (setq line (string-to-int (buffer-substring | 1286 | (setq line (string-to-number (buffer-substring |
| 1287 | (point) | 1287 | (point) |
| 1288 | (progn (skip-chars-forward "0-9") | 1288 | (progn (skip-chars-forward "0-9") |
| 1289 | (point)))))) | 1289 | (point)))))) |
| 1290 | (search-forward ",") | 1290 | (search-forward ",") |
| 1291 | (if (looking-at "[0-9]") | 1291 | (if (looking-at "[0-9]") |
| 1292 | (setq startpos (string-to-int (buffer-substring | 1292 | (setq startpos (string-to-number (buffer-substring |
| 1293 | (point) | 1293 | (point) |
| 1294 | (progn (skip-chars-forward "0-9") | 1294 | (progn (skip-chars-forward "0-9") |
| 1295 | (point))))))) | 1295 | (point))))))) |
| 1296 | ;; Leave point on the next line of the tags file. | 1296 | ;; Leave point on the next line of the tags file. |
| 1297 | (forward-line 1) | 1297 | (forward-line 1) |
| 1298 | (cons tag-text (cons line startpos)))) | 1298 | (cons tag-text (cons line startpos)))) |
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index a2fa660bff0..5463ee3ffa9 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el | |||
| @@ -1004,7 +1004,7 @@ Return its components if so, nil if no." | |||
| 1004 | (line-idx (nth 2 (car patterns)))) | 1004 | (line-idx (nth 2 (car patterns)))) |
| 1005 | 1005 | ||
| 1006 | (setq raw-file-name (if file-idx (match-string file-idx line) nil)) | 1006 | (setq raw-file-name (if file-idx (match-string file-idx line) nil)) |
| 1007 | (setq line-no (if line-idx (string-to-int (match-string line-idx line)) 0)) | 1007 | (setq line-no (if line-idx (string-to-number (match-string line-idx line)) 0)) |
| 1008 | (setq err-text (if (> (length (car patterns)) 4) | 1008 | (setq err-text (if (> (length (car patterns)) 4) |
| 1009 | (match-string (nth 4 (car patterns)) line) | 1009 | (match-string (nth 4 (car patterns)) line) |
| 1010 | (flymake-patch-err-text (substring line (match-end 0))))) | 1010 | (flymake-patch-err-text (substring line (match-end 0))))) |
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index 5c81ba7f6f9..4c95fc65d58 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el | |||
| @@ -3215,7 +3215,7 @@ This event can be examined by forms in GUD-TOOLTIP-DISPLAY.") | |||
| 3215 | (add-hook 'tooltip-hook 'gud-tooltip-tips) | 3215 | (add-hook 'tooltip-hook 'gud-tooltip-tips) |
| 3216 | (define-key global-map [mouse-movement] 'gud-tooltip-mouse-motion)) | 3216 | (define-key global-map [mouse-movement] 'gud-tooltip-mouse-motion)) |
| 3217 | (unless tooltip-mode (remove-hook 'pre-command-hook 'tooltip-hide) | 3217 | (unless tooltip-mode (remove-hook 'pre-command-hook 'tooltip-hide) |
| 3218 | (remove-hook 'change-major-mode-hook 'tooltip-change-major-mode) | 3218 | (remove-hook 'change-major-mode-hook 'gud-tooltip-change-major-mode) |
| 3219 | (remove-hook 'tooltip-hook 'gud-tooltip-tips) | 3219 | (remove-hook 'tooltip-hook 'gud-tooltip-tips) |
| 3220 | (define-key global-map [mouse-movement] 'ignore))) | 3220 | (define-key global-map [mouse-movement] 'ignore))) |
| 3221 | (gud-tooltip-activate-mouse-motions-if-enabled) | 3221 | (gud-tooltip-activate-mouse-motions-if-enabled) |
| @@ -3253,7 +3253,7 @@ If GUD-TOOLTIP-DEREFERENCE is t, also prepend a `*' to EXPR." | |||
| 3253 | (when gud-tooltip-dereference | 3253 | (when gud-tooltip-dereference |
| 3254 | (setq expr (concat "*" expr))) | 3254 | (setq expr (concat "*" expr))) |
| 3255 | (case gud-minor-mode | 3255 | (case gud-minor-mode |
| 3256 | ((gdb gdba) (concat "server print " expr)) | 3256 | (gdba (concat "server print " expr)) |
| 3257 | ((dbx gdbmi) (concat "print " expr)) | 3257 | ((dbx gdbmi) (concat "print " expr)) |
| 3258 | (xdb (concat "p " expr)) | 3258 | (xdb (concat "p " expr)) |
| 3259 | (sdb (concat expr "/")) | 3259 | (sdb (concat expr "/")) |
| @@ -3293,6 +3293,10 @@ This function must return nil if it doesn't handle EVENT." | |||
| 3293 | (tooltip-show (cdr define-elt)) | 3293 | (tooltip-show (cdr define-elt)) |
| 3294 | expr)))) | 3294 | expr)))) |
| 3295 | (let ((cmd (gud-tooltip-print-command expr))) | 3295 | (let ((cmd (gud-tooltip-print-command expr))) |
| 3296 | (when (and gud-tooltip-mode (eq gud-minor-mode 'gdb)) | ||
| 3297 | (gud-tooltip-mode -1) | ||
| 3298 | (message-box "Using GUD tooltips in this mode is unsafe\n\ | ||
| 3299 | so they have been disabled.")) | ||
| 3296 | (unless (null cmd) ; CMD can be nil if unknown debugger | 3300 | (unless (null cmd) ; CMD can be nil if unknown debugger |
| 3297 | (if (memq gud-minor-mode '(gdba gdbmi)) | 3301 | (if (memq gud-minor-mode '(gdba gdbmi)) |
| 3298 | (if gdb-macro-info | 3302 | (if gdb-macro-info |
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el index 221a6f4aebb..77244819f1b 100644 --- a/lisp/progmodes/idlw-shell.el +++ b/lisp/progmodes/idlw-shell.el | |||
| @@ -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 |
| @@ -118,10 +118,10 @@ | |||
| 118 | :group 'idlwave) | 118 | :group 'idlwave) |
| 119 | 119 | ||
| 120 | (defcustom idlwave-shell-prompt-pattern "^ ?IDL> " | 120 | (defcustom idlwave-shell-prompt-pattern "^ ?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, \"^IDL> \" or \"^WAVE> \". |
| 123 | The \"^\" means beginning of line, and is required. | 123 | The \"^\" means beginning of line, and is required. |
| 124 | This variable is used to initialize `comint-prompt-regexp' in the | 124 | This variable is used to initialize `comint-prompt-regexp' in the |
| 125 | process buffer. | 125 | process buffer. |
| 126 | 126 | ||
| 127 | This is a fine thing to set in your `.emacs' file." | 127 | This is a fine thing to set in your `.emacs' file." |
| @@ -210,7 +210,7 @@ So by default setting a breakpoint will be on C-c C-d C-b." | |||
| 210 | :type 'boolean) | 210 | :type 'boolean) |
| 211 | 211 | ||
| 212 | (defcustom idlwave-shell-automatic-electric-debug 'breakpoint | 212 | (defcustom idlwave-shell-automatic-electric-debug 'breakpoint |
| 213 | "Enter the electric-debug minor mode automatically. | 213 | "Enter the electric-debug minor mode automatically. |
| 214 | This occurs at a breakpoint or any other halt. The mode is exited | 214 | 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 | 215 | upon return to the main level. Can be set to 'breakpoint to enter |
| 216 | electric debug mode only when breakpoints are tripped." | 216 | electric debug mode only when breakpoints are tripped." |
| @@ -295,7 +295,7 @@ The history is only saved if the variable `idlwave-shell-save-command-history' | |||
| 295 | is non-nil." | 295 | is non-nil." |
| 296 | :group 'idlwave-shell-command-setup | 296 | :group 'idlwave-shell-command-setup |
| 297 | :type 'file) | 297 | :type 'file) |
| 298 | 298 | ||
| 299 | (defcustom idlwave-shell-show-commands | 299 | (defcustom idlwave-shell-show-commands |
| 300 | '(run misc breakpoint) | 300 | '(run misc breakpoint) |
| 301 | "*A list of command types to show output from in the shell. | 301 | "*A list of command types to show output from in the shell. |
| @@ -306,12 +306,12 @@ the copious shell traffic to be displayed." | |||
| 306 | :type '(choice | 306 | :type '(choice |
| 307 | (const everything) | 307 | (const everything) |
| 308 | (set :tag "Checklist" :greedy t | 308 | (set :tag "Checklist" :greedy t |
| 309 | (const :tag "All .run and .compile commands" run) | 309 | (const :tag "All .run and .compile commands" run) |
| 310 | (const :tag "All breakpoint commands" breakpoint) | 310 | (const :tag "All breakpoint commands" breakpoint) |
| 311 | (const :tag "All debug and stepping commands" debug) | 311 | (const :tag "All debug and stepping commands" debug) |
| 312 | (const :tag "Close, window, retall, etc. commands" misc)))) | 312 | (const :tag "Close, window, retall, etc. commands" misc)))) |
| 313 | 313 | ||
| 314 | (defcustom idlwave-shell-examine-alist | 314 | (defcustom idlwave-shell-examine-alist |
| 315 | '(("Print" . "print,___") | 315 | '(("Print" . "print,___") |
| 316 | ("Help" . "help,___") | 316 | ("Help" . "help,___") |
| 317 | ("Structure Help" . "help,___,/STRUCTURE") | 317 | ("Structure Help" . "help,___,/STRUCTURE") |
| @@ -322,14 +322,14 @@ the copious shell traffic to be displayed." | |||
| 322 | ("Ptr Valid" . "print,ptr_valid(___)") | 322 | ("Ptr Valid" . "print,ptr_valid(___)") |
| 323 | ("Widget Valid" . "print,widget_info(___,/VALID)") | 323 | ("Widget Valid" . "print,widget_info(___,/VALID)") |
| 324 | ("Widget Geometry" . "help,widget_info(___,/GEOMETRY)")) | 324 | ("Widget Geometry" . "help,widget_info(___,/GEOMETRY)")) |
| 325 | "Alist of special examine commands for popup selection. | 325 | "Alist of special examine commands for popup selection. |
| 326 | The keys are used in the selection popup created by | 326 | The keys are used in the selection popup created by |
| 327 | `idlwave-shell-examine-select', and the corresponding value is sent as | 327 | `idlwave-shell-examine-select', and the corresponding value is sent as |
| 328 | a command to the shell, with special sequence `___' replaced by the | 328 | a command to the shell, with special sequence `___' replaced by the |
| 329 | expression being examined." | 329 | expression being examined." |
| 330 | :group 'idlwave-shell-command-setup | 330 | :group 'idlwave-shell-command-setup |
| 331 | :type '(repeat | 331 | :type '(repeat |
| 332 | (cons | 332 | (cons |
| 333 | (string :tag "Label ") | 333 | (string :tag "Label ") |
| 334 | (string :tag "Command")))) | 334 | (string :tag "Command")))) |
| 335 | 335 | ||
| @@ -340,7 +340,7 @@ expression being examined." | |||
| 340 | "*Non-nil mean, put output of examine commands in their own buffer." | 340 | "*Non-nil mean, put output of examine commands in their own buffer." |
| 341 | :group 'idlwave-shell-command-setup | 341 | :group 'idlwave-shell-command-setup |
| 342 | :type 'boolean) | 342 | :type 'boolean) |
| 343 | 343 | ||
| 344 | (defcustom idlwave-shell-comint-settings | 344 | (defcustom idlwave-shell-comint-settings |
| 345 | '((comint-scroll-to-bottom-on-input . t) | 345 | '((comint-scroll-to-bottom-on-input . t) |
| 346 | (comint-scroll-to-bottom-on-output . t) | 346 | (comint-scroll-to-bottom-on-output . t) |
| @@ -403,7 +403,7 @@ strings. Here is some example code which makes use of the default spells. | |||
| 403 | answer = GET_KBRD(1) | 403 | answer = GET_KBRD(1) |
| 404 | 404 | ||
| 405 | Since the IDLWAVE shell defines the system variable `!IDLWAVE_VERSION', | 405 | Since the IDLWAVE shell defines the system variable `!IDLWAVE_VERSION', |
| 406 | you could actually check if you are running under Emacs before printing | 406 | you could actually check if you are running under Emacs before printing |
| 407 | the magic strings. Here is a procedure which uses this. | 407 | the magic strings. Here is a procedure which uses this. |
| 408 | 408 | ||
| 409 | Usage: | 409 | Usage: |
| @@ -420,7 +420,7 @@ pro idlwave_char_input,on=on,off=off | |||
| 420 | if keyword_set(on) then print,'<chars>' $ | 420 | if keyword_set(on) then print,'<chars>' $ |
| 421 | else if keyword_set(off) then print,'</chars>' $ | 421 | else if keyword_set(off) then print,'</chars>' $ |
| 422 | else print,'<onechar>' | 422 | else print,'<onechar>' |
| 423 | endif | 423 | endif |
| 424 | end" | 424 | end" |
| 425 | :group 'idlwave-shell-command-setup | 425 | :group 'idlwave-shell-command-setup |
| 426 | :type '(list | 426 | :type '(list |
| @@ -478,10 +478,10 @@ line where IDL is stopped. See also `idlwave-shell-mark-stop-line'." | |||
| 478 | :group 'idlwave-shell-highlighting-and-faces | 478 | :group 'idlwave-shell-highlighting-and-faces |
| 479 | :type 'string) | 479 | :type 'string) |
| 480 | 480 | ||
| 481 | (defcustom idlwave-shell-electric-stop-line-face | 481 | (defcustom idlwave-shell-electric-stop-line-face |
| 482 | (prog1 | 482 | (prog1 |
| 483 | (copy-face 'modeline 'idlwave-shell-electric-stop-line-face) | 483 | (copy-face 'modeline 'idlwave-shell-electric-stop-line-face) |
| 484 | (set-face-background 'idlwave-shell-electric-stop-line-face | 484 | (set-face-background 'idlwave-shell-electric-stop-line-face |
| 485 | idlwave-shell-electric-stop-color) | 485 | idlwave-shell-electric-stop-color) |
| 486 | (condition-case nil | 486 | (condition-case nil |
| 487 | (set-face-foreground 'idlwave-shell-electric-stop-line-face nil) | 487 | (set-face-foreground 'idlwave-shell-electric-stop-line-face nil) |
| @@ -527,7 +527,7 @@ lines which have a breakpoint. See also `idlwave-shell-mark-breakpoints'." | |||
| 527 | ;; Just copy the underline face to be on the safe side. | 527 | ;; Just copy the underline face to be on the safe side. |
| 528 | (copy-face 'underline 'idlwave-shell-bp-face)) | 528 | (copy-face 'underline 'idlwave-shell-bp-face)) |
| 529 | 529 | ||
| 530 | (defcustom idlwave-shell-disabled-breakpoint-face | 530 | (defcustom idlwave-shell-disabled-breakpoint-face |
| 531 | 'idlwave-shell-disabled-bp-face | 531 | 'idlwave-shell-disabled-bp-face |
| 532 | "*The face for disabled breakpoint lines in the source code. | 532 | "*The face for disabled breakpoint lines in the source code. |
| 533 | Allows you to choose the font, color and other properties for | 533 | Allows you to choose the font, color and other properties for |
| @@ -580,18 +580,18 @@ before use by the shell.") | |||
| 580 | 580 | ||
| 581 | TYPE is either 'pro' or 'rinfo', and `idlwave-shell-temp-pro-file' or | 581 | TYPE is either 'pro' or 'rinfo', and `idlwave-shell-temp-pro-file' or |
| 582 | `idlwave-shell-temp-rinfo-save-file' is set (respectively)." | 582 | `idlwave-shell-temp-rinfo-save-file' is set (respectively)." |
| 583 | (cond | 583 | (cond |
| 584 | ((eq type 'rinfo) | 584 | ((eq type 'rinfo) |
| 585 | (or idlwave-shell-temp-rinfo-save-file | 585 | (or idlwave-shell-temp-rinfo-save-file |
| 586 | (setq idlwave-shell-temp-rinfo-save-file | 586 | (setq idlwave-shell-temp-rinfo-save-file |
| 587 | (idlwave-shell-make-temp-file idlwave-shell-temp-pro-prefix)))) | 587 | (idlwave-shell-make-temp-file idlwave-shell-temp-pro-prefix)))) |
| 588 | ((eq type 'pro) | 588 | ((eq type 'pro) |
| 589 | (or idlwave-shell-temp-pro-file | 589 | (or idlwave-shell-temp-pro-file |
| 590 | (setq idlwave-shell-temp-pro-file | 590 | (setq idlwave-shell-temp-pro-file |
| 591 | (idlwave-shell-make-temp-file idlwave-shell-temp-pro-prefix)))) | 591 | (idlwave-shell-make-temp-file idlwave-shell-temp-pro-prefix)))) |
| 592 | (t (error "Wrong argument (idlwave-shell-temp-file): %s" | 592 | (t (error "Wrong argument (idlwave-shell-temp-file): %s" |
| 593 | (symbol-name type))))) | 593 | (symbol-name type))))) |
| 594 | 594 | ||
| 595 | 595 | ||
| 596 | (defun idlwave-shell-make-temp-file (prefix) | 596 | (defun idlwave-shell-make-temp-file (prefix) |
| 597 | "Create a temporary file." | 597 | "Create a temporary file." |
| @@ -619,7 +619,7 @@ TYPE is either 'pro' or 'rinfo', and `idlwave-shell-temp-pro-file' or | |||
| 619 | 619 | ||
| 620 | 620 | ||
| 621 | (defvar idlwave-shell-dirstack-query "cd,current=___cur & print,___cur" | 621 | (defvar idlwave-shell-dirstack-query "cd,current=___cur & print,___cur" |
| 622 | "Command used by `idlwave-shell-resync-dirs' to query IDL for | 622 | "Command used by `idlwave-shell-resync-dirs' to query IDL for |
| 623 | the directory stack.") | 623 | the directory stack.") |
| 624 | 624 | ||
| 625 | (defvar idlwave-shell-path-query "print,'PATH:<'+transpose(expand_path(!PATH,/ARRAY))+'>' & print,'SYSDIR:<'+!dir+'>'" | 625 | (defvar idlwave-shell-path-query "print,'PATH:<'+transpose(expand_path(!PATH,/ARRAY))+'>' & print,'SYSDIR:<'+!dir+'>'" |
| @@ -627,7 +627,7 @@ the directory stack.") | |||
| 627 | "The command which gets !PATH and !DIR info from the shell.") | 627 | "The command which gets !PATH and !DIR info from the shell.") |
| 628 | 628 | ||
| 629 | (defvar idlwave-shell-mode-line-info nil | 629 | (defvar idlwave-shell-mode-line-info nil |
| 630 | "Additional info displayed in the mode line") | 630 | "Additional info displayed in the mode line") |
| 631 | 631 | ||
| 632 | (defvar idlwave-shell-default-directory nil | 632 | (defvar idlwave-shell-default-directory nil |
| 633 | "The default directory in the idlwave-shell buffer, of outside use.") | 633 | "The default directory in the idlwave-shell buffer, of outside use.") |
| @@ -678,7 +678,7 @@ the directory stack.") | |||
| 678 | window-system) ; Window systems always | 678 | window-system) ; Window systems always |
| 679 | (progn | 679 | (progn |
| 680 | (setq idlwave-shell-stop-line-overlay (make-overlay 1 1)) | 680 | (setq idlwave-shell-stop-line-overlay (make-overlay 1 1)) |
| 681 | (overlay-put idlwave-shell-stop-line-overlay | 681 | (overlay-put idlwave-shell-stop-line-overlay |
| 682 | 'face idlwave-shell-stop-line-face)))) | 682 | 'face idlwave-shell-stop-line-face)))) |
| 683 | 683 | ||
| 684 | (t | 684 | (t |
| @@ -686,7 +686,7 @@ the directory stack.") | |||
| 686 | (if window-system | 686 | (if window-system |
| 687 | (progn | 687 | (progn |
| 688 | (setq idlwave-shell-stop-line-overlay (make-overlay 1 1)) | 688 | (setq idlwave-shell-stop-line-overlay (make-overlay 1 1)) |
| 689 | (overlay-put idlwave-shell-stop-line-overlay | 689 | (overlay-put idlwave-shell-stop-line-overlay |
| 690 | 'face idlwave-shell-stop-line-face))))) | 690 | 'face idlwave-shell-stop-line-face))))) |
| 691 | 691 | ||
| 692 | ;; Now the expression and output overlays | 692 | ;; Now the expression and output overlays |
| @@ -747,7 +747,7 @@ with `*'s." | |||
| 747 | 747 | ||
| 748 | ;;; The following are the types of messages we attempt to catch to | 748 | ;;; The following are the types of messages we attempt to catch to |
| 749 | ;;; resync our idea of where IDL execution currently is. | 749 | ;;; resync our idea of where IDL execution currently is. |
| 750 | ;;; | 750 | ;;; |
| 751 | 751 | ||
| 752 | (defvar idlwave-shell-halt-frame nil | 752 | (defvar idlwave-shell-halt-frame nil |
| 753 | "The frame associated with halt/breakpoint messages.") | 753 | "The frame associated with halt/breakpoint messages.") |
| @@ -791,7 +791,7 @@ IDL has currently stepped.") | |||
| 791 | 791 | ||
| 792 | (defconst idlwave-shell-electric-debug-help | 792 | (defconst idlwave-shell-electric-debug-help |
| 793 | " ==> IDLWAVE Electric Debug Mode Help <== | 793 | " ==> IDLWAVE Electric Debug Mode Help <== |
| 794 | 794 | ||
| 795 | Break Point Setting and Clearing: | 795 | Break Point Setting and Clearing: |
| 796 | b Set breakpoint ([C-u b] for conditional, [C-n b] nth hit, etc.). | 796 | b Set breakpoint ([C-u b] for conditional, [C-n b] nth hit, etc.). |
| 797 | d Clear nearby breakpoint. | 797 | d Clear nearby breakpoint. |
| @@ -817,7 +817,7 @@ IDL has currently stepped.") | |||
| 817 | Examining Expressions (with prefix for examining the region): | 817 | Examining Expressions (with prefix for examining the region): |
| 818 | p Print expression near point or in region ([C-u p]). | 818 | p Print expression near point or in region ([C-u p]). |
| 819 | ? Help on expression near point or in region ([C-u ?]). | 819 | ? Help on expression near point or in region ([C-u ?]). |
| 820 | x Examine expression near point or in region ([C-u x]) with | 820 | x Examine expression near point or in region ([C-u x]) with |
| 821 | letter completion of the examine type. | 821 | letter completion of the examine type. |
| 822 | 822 | ||
| 823 | Miscellaneous: | 823 | Miscellaneous: |
| @@ -871,18 +871,18 @@ IDL has currently stepped.") | |||
| 871 | `\\[idlwave-routine-info]' displays information about an IDL routine near point, | 871 | `\\[idlwave-routine-info]' displays information about an IDL routine near point, |
| 872 | just like in `idlwave-mode'. The module used is the one at point or | 872 | just like in `idlwave-mode'. The module used is the one at point or |
| 873 | the one whose argument list is being edited. | 873 | the one whose argument list is being edited. |
| 874 | To update IDLWAVE's knowledge about compiled or edited modules, use | 874 | To update IDLWAVE's knowledge about compiled or edited modules, use |
| 875 | \\[idlwave-update-routine-info]. | 875 | \\[idlwave-update-routine-info]. |
| 876 | \\[idlwave-find-module] find the source of a module. | 876 | \\[idlwave-find-module] find the source of a module. |
| 877 | \\[idlwave-resolve] tells IDL to compile an unresolved module. | 877 | \\[idlwave-resolve] tells IDL to compile an unresolved module. |
| 878 | \\[idlwave-context-help] shows the online help on the item at | 878 | \\[idlwave-context-help] shows the online help on the item at |
| 879 | point, if online help has been installed. | 879 | point, if online help has been installed. |
| 880 | 880 | ||
| 881 | 881 | ||
| 882 | 4. Debugging | 882 | 4. Debugging |
| 883 | --------- | 883 | --------- |
| 884 | A complete set of commands for compiling and debugging IDL programs | 884 | A complete set of commands for compiling and debugging IDL programs |
| 885 | is available from the menu. Also keybindings starting with a | 885 | is available from the menu. Also keybindings starting with a |
| 886 | `C-c C-d' prefix are available for most commands in the *idl* buffer | 886 | `C-c C-d' prefix are available for most commands in the *idl* buffer |
| 887 | and also in source buffers. The best place to learn about the | 887 | and also in source buffers. The best place to learn about the |
| 888 | keybindings is again the menu. | 888 | keybindings is again the menu. |
| @@ -974,8 +974,8 @@ IDL has currently stepped.") | |||
| 974 | (idlwave-shell-display-line nil) | 974 | (idlwave-shell-display-line nil) |
| 975 | (setq idlwave-shell-calling-stack-index 0) | 975 | (setq idlwave-shell-calling-stack-index 0) |
| 976 | (setq idlwave-shell-only-prompt-pattern | 976 | (setq idlwave-shell-only-prompt-pattern |
| 977 | (concat "\\`[ \t\n]*" | 977 | (concat "\\`[ \t\n]*" |
| 978 | (substring idlwave-shell-prompt-pattern 1) | 978 | (substring idlwave-shell-prompt-pattern 1) |
| 979 | "[ \t\n]*\\'")) | 979 | "[ \t\n]*\\'")) |
| 980 | 980 | ||
| 981 | (when idlwave-shell-query-for-class | 981 | (when idlwave-shell-query-for-class |
| @@ -1010,14 +1010,14 @@ IDL has currently stepped.") | |||
| 1010 | (while (setq entry (pop list)) | 1010 | (while (setq entry (pop list)) |
| 1011 | (set (make-local-variable (car entry)) (cdr entry))))) | 1011 | (set (make-local-variable (car entry)) (cdr entry))))) |
| 1012 | 1012 | ||
| 1013 | 1013 | ||
| 1014 | (unless (memq 'comint-carriage-motion | 1014 | (unless (memq 'comint-carriage-motion |
| 1015 | (default-value 'comint-output-filter-functions)) | 1015 | (default-value 'comint-output-filter-functions)) |
| 1016 | ;; Strip those pesky ctrl-m's. | 1016 | ;; Strip those pesky ctrl-m's. |
| 1017 | (add-hook 'comint-output-filter-functions | 1017 | (add-hook 'comint-output-filter-functions |
| 1018 | (lambda (string) | 1018 | (lambda (string) |
| 1019 | (when (string-match "\r" string) | 1019 | (when (string-match "\r" string) |
| 1020 | (let ((pmark (process-mark (get-buffer-process | 1020 | (let ((pmark (process-mark (get-buffer-process |
| 1021 | (current-buffer))))) | 1021 | (current-buffer))))) |
| 1022 | (save-excursion | 1022 | (save-excursion |
| 1023 | ;; bare CR -> delete preceding line | 1023 | ;; bare CR -> delete preceding line |
| @@ -1059,8 +1059,8 @@ IDL has currently stepped.") | |||
| 1059 | (idlwave-shell-send-command idlwave-shell-initial-commands nil 'hide) | 1059 | (idlwave-shell-send-command idlwave-shell-initial-commands nil 'hide) |
| 1060 | ;; Turn off IDL's ^d interpreting, and define a system | 1060 | ;; Turn off IDL's ^d interpreting, and define a system |
| 1061 | ;; variable which knows the version of IDLWAVE | 1061 | ;; variable which knows the version of IDLWAVE |
| 1062 | (idlwave-shell-send-command | 1062 | (idlwave-shell-send-command |
| 1063 | (format "defsysv,'!idlwave_version','%s',1" | 1063 | (format "defsysv,'!idlwave_version','%s',1" |
| 1064 | idlwave-mode-version) | 1064 | idlwave-mode-version) |
| 1065 | nil 'hide) | 1065 | nil 'hide) |
| 1066 | ;; Get the paths if they weren't read in from file | 1066 | ;; Get the paths if they weren't read in from file |
| @@ -1081,7 +1081,7 @@ IDL has currently stepped.") | |||
| 1081 | (setq idlwave-system-directory sysdir) | 1081 | (setq idlwave-system-directory sysdir) |
| 1082 | (put 'idlwave-system-directory 'from-shell t)) | 1082 | (put 'idlwave-system-directory 'from-shell t)) |
| 1083 | ;; Preserve any existing flags | 1083 | ;; Preserve any existing flags |
| 1084 | (setq idlwave-path-alist | 1084 | (setq idlwave-path-alist |
| 1085 | (mapcar (lambda (x) | 1085 | (mapcar (lambda (x) |
| 1086 | (let ((old-entry (assoc x old-path-alist))) | 1086 | (let ((old-entry (assoc x old-path-alist))) |
| 1087 | (if old-entry | 1087 | (if old-entry |
| @@ -1089,7 +1089,7 @@ IDL has currently stepped.") | |||
| 1089 | (list x)))) | 1089 | (list x)))) |
| 1090 | dirs)) | 1090 | dirs)) |
| 1091 | (put 'idlwave-path-alist 'from-shell t) | 1091 | (put 'idlwave-path-alist 'from-shell t) |
| 1092 | (if idlwave-path-alist | 1092 | (if idlwave-path-alist |
| 1093 | (if (and idlwave-auto-write-paths | 1093 | (if (and idlwave-auto-write-paths |
| 1094 | (not idlwave-library-path) | 1094 | (not idlwave-library-path) |
| 1095 | (not no-write) ) | 1095 | (not no-write) ) |
| @@ -1125,8 +1125,8 @@ IDL has currently stepped.") | |||
| 1125 | (frame (selected-frame))) | 1125 | (frame (selected-frame))) |
| 1126 | (catch 'exit | 1126 | (catch 'exit |
| 1127 | (while flist | 1127 | (while flist |
| 1128 | (if (not (eq (car flist) | 1128 | (if (not (eq (car flist) |
| 1129 | idlwave-shell-idl-wframe)) | 1129 | idlwave-shell-idl-wframe)) |
| 1130 | (throw 'exit (car flist)) | 1130 | (throw 'exit (car flist)) |
| 1131 | (setq flist (cdr flist)))))) | 1131 | (setq flist (cdr flist)))))) |
| 1132 | (make-frame)) | 1132 | (make-frame)) |
| @@ -1144,9 +1144,9 @@ IDL has currently stepped.") | |||
| 1144 | ;; We do not have a source frame, so we use this one. | 1144 | ;; We do not have a source frame, so we use this one. |
| 1145 | (setq idlwave-shell-display-wframe (selected-frame))) | 1145 | (setq idlwave-shell-display-wframe (selected-frame))) |
| 1146 | ;; Return a new frame | 1146 | ;; Return a new frame |
| 1147 | (setq idlwave-shell-idl-wframe | 1147 | (setq idlwave-shell-idl-wframe |
| 1148 | (make-frame idlwave-shell-frame-parameters))))) | 1148 | (make-frame idlwave-shell-frame-parameters))))) |
| 1149 | 1149 | ||
| 1150 | ;;;###autoload | 1150 | ;;;###autoload |
| 1151 | (defun idlwave-shell (&optional arg quick) | 1151 | (defun idlwave-shell (&optional arg quick) |
| 1152 | "Run an inferior IDL, with I/O through buffer `(idlwave-shell-buffer)'. | 1152 | "Run an inferior IDL, with I/O through buffer `(idlwave-shell-buffer)'. |
| @@ -1173,14 +1173,14 @@ See also the variable `idlwave-shell-prompt-pattern'. | |||
| 1173 | (delete-other-windows)) | 1173 | (delete-other-windows)) |
| 1174 | (and idlwave-shell-use-dedicated-frame | 1174 | (and idlwave-shell-use-dedicated-frame |
| 1175 | (setq idlwave-shell-idl-wframe (selected-frame))) | 1175 | (setq idlwave-shell-idl-wframe (selected-frame))) |
| 1176 | (add-hook 'idlwave-shell-sentinel-hook | 1176 | (add-hook 'idlwave-shell-sentinel-hook |
| 1177 | 'save-buffers-kill-emacs t)) | 1177 | 'save-buffers-kill-emacs t)) |
| 1178 | 1178 | ||
| 1179 | ;; A non-nil arg means, we want a dedicated frame. This will last | 1179 | ;; A non-nil arg means, we want a dedicated frame. This will last |
| 1180 | ;; for the current editing session. | 1180 | ;; for the current editing session. |
| 1181 | (if arg (setq idlwave-shell-use-dedicated-frame t)) | 1181 | (if arg (setq idlwave-shell-use-dedicated-frame t)) |
| 1182 | (if (equal arg '(16)) (setq idlwave-shell-use-dedicated-frame nil)) | 1182 | (if (equal arg '(16)) (setq idlwave-shell-use-dedicated-frame nil)) |
| 1183 | 1183 | ||
| 1184 | ;; Check if the process still exists. If not, create it. | 1184 | ;; Check if the process still exists. If not, create it. |
| 1185 | (unless (comint-check-proc (idlwave-shell-buffer)) | 1185 | (unless (comint-check-proc (idlwave-shell-buffer)) |
| 1186 | (let* ((prg (or idlwave-shell-explicit-file-name "idl")) | 1186 | (let* ((prg (or idlwave-shell-explicit-file-name "idl")) |
| @@ -1207,9 +1207,9 @@ See also the variable `idlwave-shell-prompt-pattern'. | |||
| 1207 | (if (eq (selected-frame) (window-frame window)) | 1207 | (if (eq (selected-frame) (window-frame window)) |
| 1208 | (select-window window)))) | 1208 | (select-window window)))) |
| 1209 | ;; Save the paths at the end | 1209 | ;; Save the paths at the end |
| 1210 | (add-hook 'idlwave-shell-sentinel-hook | 1210 | (add-hook 'idlwave-shell-sentinel-hook |
| 1211 | (lambda () | 1211 | (lambda () |
| 1212 | (if (and | 1212 | (if (and |
| 1213 | idlwave-auto-write-paths | 1213 | idlwave-auto-write-paths |
| 1214 | idlwave-path-alist | 1214 | idlwave-path-alist |
| 1215 | (not idlwave-library-path) | 1215 | (not idlwave-library-path) |
| @@ -1240,7 +1240,7 @@ Return either nil or 'hide." | |||
| 1240 | (setq idlwave-shell-show-commands (list type)))) | 1240 | (setq idlwave-shell-show-commands (list type)))) |
| 1241 | 1241 | ||
| 1242 | 1242 | ||
| 1243 | (defun idlwave-shell-send-command (&optional cmd pcmd hide preempt | 1243 | (defun idlwave-shell-send-command (&optional cmd pcmd hide preempt |
| 1244 | show-if-error) | 1244 | show-if-error) |
| 1245 | "Send a command to IDL process. | 1245 | "Send a command to IDL process. |
| 1246 | 1246 | ||
| @@ -1261,18 +1261,18 @@ If optional fourth argument PREEMPT is non-nil CMD is put at front of | |||
| 1261 | `idlwave-shell-pending-commands'. If PREEMPT is 'wait, wait for all | 1261 | `idlwave-shell-pending-commands'. If PREEMPT is 'wait, wait for all |
| 1262 | output to complete and the next prompt to arrive before returning | 1262 | output to complete and the next prompt to arrive before returning |
| 1263 | \(useful if you need an answer now\). IDL is considered ready if the | 1263 | \(useful if you need an answer now\). IDL is considered ready if the |
| 1264 | prompt is present and if `idlwave-shell-ready' is non-nil. | 1264 | prompt is present and if `idlwave-shell-ready' is non-nil. |
| 1265 | 1265 | ||
| 1266 | If SHOW-IF-ERROR is non-nil, show the output it it contains an error | 1266 | If SHOW-IF-ERROR is non-nil, show the output it it contains an error |
| 1267 | message, independent of what HIDE is set to." | 1267 | message, independent of what HIDE is set to." |
| 1268 | 1268 | ||
| 1269 | ; (setq hide nil) ; FIXME: turn this on for debugging only | 1269 | ; (setq hide nil) ; FIXME: turn this on for debugging only |
| 1270 | ; (if (null cmd) | 1270 | ; (if (null cmd) |
| 1271 | ; (progn | 1271 | ; (progn |
| 1272 | ; (message "SENDING Pending commands: %s" | 1272 | ; (message "SENDING Pending commands: %s" |
| 1273 | ; (prin1-to-string idlwave-shell-pending-commands))) | 1273 | ; (prin1-to-string idlwave-shell-pending-commands))) |
| 1274 | ; (message "SENDING %s|||%s" cmd pcmd)) | 1274 | ; (message "SENDING %s|||%s" cmd pcmd)) |
| 1275 | (if (and (symbolp idlwave-shell-show-commands) | 1275 | (if (and (symbolp idlwave-shell-show-commands) |
| 1276 | (eq idlwave-shell-show-commands 'everything)) | 1276 | (eq idlwave-shell-show-commands 'everything)) |
| 1277 | (setq hide nil)) | 1277 | (setq hide nil)) |
| 1278 | (let ((save-buffer (current-buffer)) | 1278 | (let ((save-buffer (current-buffer)) |
| @@ -1300,7 +1300,7 @@ message, independent of what HIDE is set to." | |||
| 1300 | (append (list (list cmd pcmd hide show-if-error)) | 1300 | (append (list (list cmd pcmd hide show-if-error)) |
| 1301 | idlwave-shell-pending-commands) | 1301 | idlwave-shell-pending-commands) |
| 1302 | ;; Put at end. | 1302 | ;; Put at end. |
| 1303 | (append idlwave-shell-pending-commands | 1303 | (append idlwave-shell-pending-commands |
| 1304 | (list (list cmd pcmd hide show-if-error)))))) | 1304 | (list (list cmd pcmd hide show-if-error)))))) |
| 1305 | ;; Check if IDL ready | 1305 | ;; Check if IDL ready |
| 1306 | (let ((save-point (point-marker))) | 1306 | (let ((save-point (point-marker))) |
| @@ -1349,7 +1349,7 @@ message, independent of what HIDE is set to." | |||
| 1349 | (if (or (not (setq buf (get-buffer (idlwave-shell-buffer)))) | 1349 | (if (or (not (setq buf (get-buffer (idlwave-shell-buffer)))) |
| 1350 | (not (setq proc (get-buffer-process buf)))) | 1350 | (not (setq proc (get-buffer-process buf)))) |
| 1351 | (funcall errf "Shell is not running")) | 1351 | (funcall errf "Shell is not running")) |
| 1352 | (if (equal c ?\C-g) | 1352 | (if (equal c ?\C-g) |
| 1353 | (funcall errf "Abort") | 1353 | (funcall errf "Abort") |
| 1354 | (comint-send-string proc (char-to-string c))))) | 1354 | (comint-send-string proc (char-to-string c))))) |
| 1355 | 1355 | ||
| @@ -1390,7 +1390,7 @@ when the IDL prompt gets displayed again after the current IDL command." | |||
| 1390 | (if idlwave-shell-ready | 1390 | (if idlwave-shell-ready |
| 1391 | (funcall errf "No IDL program seems to be waiting for input")) | 1391 | (funcall errf "No IDL program seems to be waiting for input")) |
| 1392 | 1392 | ||
| 1393 | ;; OK, start the loop | 1393 | ;; OK, start the loop |
| 1394 | (message "Character mode on: Sending single chars (`C-g' to exit)") | 1394 | (message "Character mode on: Sending single chars (`C-g' to exit)") |
| 1395 | (message | 1395 | (message |
| 1396 | (catch 'exit | 1396 | (catch 'exit |
| @@ -1470,14 +1470,14 @@ error messages, etc." | |||
| 1470 | (setq output (substring output (string-match "\n" output))) | 1470 | (setq output (substring output (string-match "\n" output))) |
| 1471 | (while (string-match "\\(\n\\|\\`\\)%.*\\(\n .*\\)*" output) | 1471 | (while (string-match "\\(\n\\|\\`\\)%.*\\(\n .*\\)*" output) |
| 1472 | (setq output (replace-match "" nil t output))) | 1472 | (setq output (replace-match "" nil t output))) |
| 1473 | (unless | 1473 | (unless |
| 1474 | (string-match idlwave-shell-only-prompt-pattern output) | 1474 | (string-match idlwave-shell-only-prompt-pattern output) |
| 1475 | output)) | 1475 | output)) |
| 1476 | 1476 | ||
| 1477 | (defvar idlwave-shell-hidden-output-buffer " *idlwave-shell-hidden-output*" | 1477 | (defvar idlwave-shell-hidden-output-buffer " *idlwave-shell-hidden-output*" |
| 1478 | "Buffer containing hidden output from IDL commands.") | 1478 | "Buffer containing hidden output from IDL commands.") |
| 1479 | (defvar idlwave-shell-current-state nil) | 1479 | (defvar idlwave-shell-current-state nil) |
| 1480 | 1480 | ||
| 1481 | (defun idlwave-shell-filter (proc string) | 1481 | (defun idlwave-shell-filter (proc string) |
| 1482 | "Watch for IDL prompt and filter incoming text. | 1482 | "Watch for IDL prompt and filter incoming text. |
| 1483 | When the IDL prompt is received executes `idlwave-shell-post-command-hook' | 1483 | When the IDL prompt is received executes `idlwave-shell-post-command-hook' |
| @@ -1509,20 +1509,20 @@ and then calls `idlwave-shell-send-command' for any pending commands." | |||
| 1509 | (idlwave-shell-input-mode-magic | 1509 | (idlwave-shell-input-mode-magic |
| 1510 | (concat idlwave-shell-accumulation string))) | 1510 | (concat idlwave-shell-accumulation string))) |
| 1511 | (setq idlwave-shell-accumulation | 1511 | (setq idlwave-shell-accumulation |
| 1512 | (substring string | 1512 | (substring string |
| 1513 | (progn (string-match "\\(.*[\n\r]+\\)*" | 1513 | (progn (string-match "\\(.*[\n\r]+\\)*" |
| 1514 | string) | 1514 | string) |
| 1515 | (match-end 0))))) | 1515 | (match-end 0))))) |
| 1516 | (setq idlwave-shell-accumulation | 1516 | (setq idlwave-shell-accumulation |
| 1517 | (concat idlwave-shell-accumulation string))) | 1517 | (concat idlwave-shell-accumulation string))) |
| 1518 | 1518 | ||
| 1519 | 1519 | ||
| 1520 | ;;; Test/Debug code | 1520 | ;;; Test/Debug code |
| 1521 | ; (save-excursion (set-buffer | 1521 | ; (save-excursion (set-buffer |
| 1522 | ; (get-buffer-create "*idlwave-shell-output*")) | 1522 | ; (get-buffer-create "*idlwave-shell-output*")) |
| 1523 | ; (goto-char (point-max)) | 1523 | ; (goto-char (point-max)) |
| 1524 | ; (insert "\nSTRING===>\n" string "\n<====\n")) | 1524 | ; (insert "\nSTRING===>\n" string "\n<====\n")) |
| 1525 | 1525 | ||
| 1526 | ;; Check for prompt in current accumulating output | 1526 | ;; Check for prompt in current accumulating output |
| 1527 | (if (setq idlwave-shell-ready | 1527 | (if (setq idlwave-shell-ready |
| 1528 | (string-match idlwave-shell-prompt-pattern | 1528 | (string-match idlwave-shell-prompt-pattern |
| @@ -1558,16 +1558,16 @@ and then calls `idlwave-shell-send-command' for any pending commands." | |||
| 1558 | (if (and idlwave-shell-show-if-error | 1558 | (if (and idlwave-shell-show-if-error |
| 1559 | (eq idlwave-shell-current-state 'error)) | 1559 | (eq idlwave-shell-current-state 'error)) |
| 1560 | (idlwave-shell-comint-filter proc full-output) | 1560 | (idlwave-shell-comint-filter proc full-output) |
| 1561 | ;; If it's only *mostly* hidden, filter % lines, | 1561 | ;; If it's only *mostly* hidden, filter % lines, |
| 1562 | ;; and show anything that remains | 1562 | ;; and show anything that remains |
| 1563 | (if (eq idlwave-shell-hide-output 'mostly) | 1563 | (if (eq idlwave-shell-hide-output 'mostly) |
| 1564 | (let ((filtered | 1564 | (let ((filtered |
| 1565 | (idlwave-shell-filter-hidden-output | 1565 | (idlwave-shell-filter-hidden-output |
| 1566 | full-output))) | 1566 | full-output))) |
| 1567 | (if filtered | 1567 | (if filtered |
| 1568 | (idlwave-shell-comint-filter | 1568 | (idlwave-shell-comint-filter |
| 1569 | proc filtered)))))) | 1569 | proc filtered)))))) |
| 1570 | 1570 | ||
| 1571 | ;; Call the post-command hook | 1571 | ;; Call the post-command hook |
| 1572 | (if (listp idlwave-shell-post-command-hook) | 1572 | (if (listp idlwave-shell-post-command-hook) |
| 1573 | (progn | 1573 | (progn |
| @@ -1612,7 +1612,7 @@ and then calls `idlwave-shell-send-command' for any pending commands." | |||
| 1612 | (condition-case nil | 1612 | (condition-case nil |
| 1613 | (comint-write-input-ring) | 1613 | (comint-write-input-ring) |
| 1614 | (error nil))))) | 1614 | (error nil))))) |
| 1615 | 1615 | ||
| 1616 | (when (and (> (length (frame-list)) 1) | 1616 | (when (and (> (length (frame-list)) 1) |
| 1617 | (frame-live-p idlwave-shell-idl-wframe)) | 1617 | (frame-live-p idlwave-shell-idl-wframe)) |
| 1618 | (delete-frame idlwave-shell-idl-wframe) | 1618 | (delete-frame idlwave-shell-idl-wframe) |
| @@ -1636,8 +1636,8 @@ and then calls `idlwave-shell-send-command' for any pending commands." | |||
| 1636 | ;; in module and file names. I am not sure if it will be necessary to | 1636 | ;; in module and file names. I am not sure if it will be necessary to |
| 1637 | ;; change this. Currently it seems to work the way it is. | 1637 | ;; change this. Currently it seems to work the way it is. |
| 1638 | (defvar idlwave-shell-syntax-error | 1638 | (defvar idlwave-shell-syntax-error |
| 1639 | "^% Syntax error.\\s-*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)" | 1639 | "^% Syntax error.\\s-*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)" |
| 1640 | "A regular expression to match an IDL syntax error. | 1640 | "A regular expression to match an IDL syntax error. |
| 1641 | The 1st pair matches the file name, the second pair matches the line | 1641 | The 1st pair matches the file name, the second pair matches the line |
| 1642 | number.") | 1642 | number.") |
| 1643 | 1643 | ||
| @@ -1645,16 +1645,16 @@ number.") | |||
| 1645 | "^% .*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)" | 1645 | "^% .*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)" |
| 1646 | "A regular expression to match any IDL error.") | 1646 | "A regular expression to match any IDL error.") |
| 1647 | 1647 | ||
| 1648 | (defvar idlwave-shell-halting-error | 1648 | (defvar idlwave-shell-halting-error |
| 1649 | "^% .*\n\\([^%].*\n\\)*% Execution halted at:\\(\\s-*\\S-+\\s-*[0-9]+\\s-*.*\\)\n" | 1649 | "^% .*\n\\([^%].*\n\\)*% Execution halted at:\\(\\s-*\\S-+\\s-*[0-9]+\\s-*.*\\)\n" |
| 1650 | "A regular expression to match errors which halt execution.") | 1650 | "A regular expression to match errors which halt execution.") |
| 1651 | 1651 | ||
| 1652 | (defvar idlwave-shell-cant-continue-error | 1652 | (defvar idlwave-shell-cant-continue-error |
| 1653 | "^% Can't continue from this point.\n" | 1653 | "^% Can't continue from this point.\n" |
| 1654 | "A regular expression to match errors stepping errors.") | 1654 | "A regular expression to match errors stepping errors.") |
| 1655 | 1655 | ||
| 1656 | (defvar idlwave-shell-file-line-message | 1656 | (defvar idlwave-shell-file-line-message |
| 1657 | (concat | 1657 | (concat |
| 1658 | "\\(" ; program name group (1) | 1658 | "\\(" ; program name group (1) |
| 1659 | "\\$MAIN\\$\\|" ; main level routine | 1659 | "\\$MAIN\\$\\|" ; main level routine |
| 1660 | "\\<[a-zA-Z][a-zA-Z0-9_$:]*" ; start with a letter followed by [..] | 1660 | "\\<[a-zA-Z][a-zA-Z0-9_$:]*" ; start with a letter followed by [..] |
| @@ -1672,7 +1672,7 @@ number.") | |||
| 1672 | "\\)" ; end line number group (5) | 1672 | "\\)" ; end line number group (5) |
| 1673 | ) | 1673 | ) |
| 1674 | "*A regular expression to parse out the file name and line number. | 1674 | "*A regular expression to parse out the file name and line number. |
| 1675 | The 1st group should match the subroutine name. | 1675 | The 1st group should match the subroutine name. |
| 1676 | The 3rd group is the line number. | 1676 | The 3rd group is the line number. |
| 1677 | The 5th group is the file name. | 1677 | The 5th group is the file name. |
| 1678 | All parts may contain linebreaks surrounded by spaces. This is important | 1678 | All parts may contain linebreaks surrounded by spaces. This is important |
| @@ -1691,9 +1691,9 @@ the above." | |||
| 1691 | (cond | 1691 | (cond |
| 1692 | ;; Make sure we have output | 1692 | ;; Make sure we have output |
| 1693 | ((not idlwave-shell-command-output)) | 1693 | ((not idlwave-shell-command-output)) |
| 1694 | 1694 | ||
| 1695 | ;; First Priority: Syntax and other errors | 1695 | ;; First Priority: Syntax and other errors |
| 1696 | ((or | 1696 | ((or |
| 1697 | (string-match idlwave-shell-syntax-error | 1697 | (string-match idlwave-shell-syntax-error |
| 1698 | idlwave-shell-command-output) | 1698 | idlwave-shell-command-output) |
| 1699 | (string-match idlwave-shell-other-error | 1699 | (string-match idlwave-shell-other-error |
| @@ -1707,19 +1707,19 @@ the above." | |||
| 1707 | (setq idlwave-shell-error-last (point))) | 1707 | (setq idlwave-shell-error-last (point))) |
| 1708 | (setq idlwave-shell-current-state 'error) | 1708 | (setq idlwave-shell-current-state 'error) |
| 1709 | (idlwave-shell-goto-next-error)) | 1709 | (idlwave-shell-goto-next-error)) |
| 1710 | 1710 | ||
| 1711 | ;; Second Priority: Halting errors | 1711 | ;; Second Priority: Halting errors |
| 1712 | ((string-match idlwave-shell-halting-error | 1712 | ((string-match idlwave-shell-halting-error |
| 1713 | idlwave-shell-command-output) | 1713 | idlwave-shell-command-output) |
| 1714 | ;; Grab the file and line state info. | 1714 | ;; Grab the file and line state info. |
| 1715 | (setq idlwave-shell-calling-stack-index 0) | 1715 | (setq idlwave-shell-calling-stack-index 0) |
| 1716 | (setq idlwave-shell-halt-frame | 1716 | (setq idlwave-shell-halt-frame |
| 1717 | (idlwave-shell-parse-line | 1717 | (idlwave-shell-parse-line |
| 1718 | (substring idlwave-shell-command-output | 1718 | (substring idlwave-shell-command-output |
| 1719 | (match-beginning 2))) | 1719 | (match-beginning 2))) |
| 1720 | idlwave-shell-current-state 'error) | 1720 | idlwave-shell-current-state 'error) |
| 1721 | (idlwave-shell-display-line (idlwave-shell-pc-frame))) | 1721 | (idlwave-shell-display-line (idlwave-shell-pc-frame))) |
| 1722 | 1722 | ||
| 1723 | ;; Third Priority: Various types of innocuous HALT and | 1723 | ;; Third Priority: Various types of innocuous HALT and |
| 1724 | ;; TRACEBACK messages. | 1724 | ;; TRACEBACK messages. |
| 1725 | ((or (setq trace (string-match idlwave-shell-trace-message-re | 1725 | ((or (setq trace (string-match idlwave-shell-trace-message-re |
| @@ -1729,25 +1729,25 @@ the above." | |||
| 1729 | ;; Grab the file and line state info. | 1729 | ;; Grab the file and line state info. |
| 1730 | (setq idlwave-shell-calling-stack-index 0) | 1730 | (setq idlwave-shell-calling-stack-index 0) |
| 1731 | (setq idlwave-shell-halt-frame | 1731 | (setq idlwave-shell-halt-frame |
| 1732 | (idlwave-shell-parse-line | 1732 | (idlwave-shell-parse-line |
| 1733 | (substring idlwave-shell-command-output (match-end 0)))) | 1733 | (substring idlwave-shell-command-output (match-end 0)))) |
| 1734 | (setq idlwave-shell-current-state 'halt) | 1734 | (setq idlwave-shell-current-state 'halt) |
| 1735 | ;; Don't debug trace messages | 1735 | ;; Don't debug trace messages |
| 1736 | (idlwave-shell-display-line (idlwave-shell-pc-frame) nil | 1736 | (idlwave-shell-display-line (idlwave-shell-pc-frame) nil |
| 1737 | (if trace 'no-debug))) | 1737 | (if trace 'no-debug))) |
| 1738 | 1738 | ||
| 1739 | ;; Fourth Priority: Breakpoints | 1739 | ;; Fourth Priority: Breakpoints |
| 1740 | ((string-match idlwave-shell-break-message | 1740 | ((string-match idlwave-shell-break-message |
| 1741 | idlwave-shell-command-output) | 1741 | idlwave-shell-command-output) |
| 1742 | (setq idlwave-shell-calling-stack-index 0) | 1742 | (setq idlwave-shell-calling-stack-index 0) |
| 1743 | (setq idlwave-shell-halt-frame | 1743 | (setq idlwave-shell-halt-frame |
| 1744 | (idlwave-shell-parse-line | 1744 | (idlwave-shell-parse-line |
| 1745 | (substring idlwave-shell-command-output (match-end 0)))) | 1745 | (substring idlwave-shell-command-output (match-end 0)))) |
| 1746 | ;; We used to count hits on breakpoints | 1746 | ;; We used to count hits on breakpoints |
| 1747 | ;; this is no longer supported since IDL breakpoints | 1747 | ;; this is no longer supported since IDL breakpoints |
| 1748 | ;; have learned counting. | 1748 | ;; have learned counting. |
| 1749 | ;; Do breakpoint command processing | 1749 | ;; Do breakpoint command processing |
| 1750 | (let ((bp (assoc | 1750 | (let ((bp (assoc |
| 1751 | (list | 1751 | (list |
| 1752 | (nth 0 idlwave-shell-halt-frame) | 1752 | (nth 0 idlwave-shell-halt-frame) |
| 1753 | (nth 1 idlwave-shell-halt-frame)) | 1753 | (nth 1 idlwave-shell-halt-frame)) |
| @@ -1760,9 +1760,9 @@ the above." | |||
| 1760 | ;; A breakpoint that we did not know about - perhaps it was | 1760 | ;; A breakpoint that we did not know about - perhaps it was |
| 1761 | ;; set by the user... Let's update our list. | 1761 | ;; set by the user... Let's update our list. |
| 1762 | (idlwave-shell-bp-query))) | 1762 | (idlwave-shell-bp-query))) |
| 1763 | (setq idlwave-shell-current-state 'breakpoint) | 1763 | (setq idlwave-shell-current-state 'breakpoint) |
| 1764 | (idlwave-shell-display-line (idlwave-shell-pc-frame))) | 1764 | (idlwave-shell-display-line (idlwave-shell-pc-frame))) |
| 1765 | 1765 | ||
| 1766 | ;; Last Priority: Can't Step errors | 1766 | ;; Last Priority: Can't Step errors |
| 1767 | ((string-match idlwave-shell-cant-continue-error | 1767 | ((string-match idlwave-shell-cant-continue-error |
| 1768 | idlwave-shell-command-output) | 1768 | idlwave-shell-command-output) |
| @@ -1777,7 +1777,7 @@ We need to work hard here to remove the stupid line breaks inserted by | |||
| 1777 | IDL5. These line breaks can be right in the middle of procedure | 1777 | IDL5. These line breaks can be right in the middle of procedure |
| 1778 | or file names. | 1778 | or file names. |
| 1779 | It is very difficult to come up with a robust solution. This one seems | 1779 | It is very difficult to come up with a robust solution. This one seems |
| 1780 | to be pretty good though. | 1780 | to be pretty good though. |
| 1781 | 1781 | ||
| 1782 | Here is in what ways it improves over the previous solution: | 1782 | Here is in what ways it improves over the previous solution: |
| 1783 | 1783 | ||
| @@ -1802,7 +1802,7 @@ statements." | |||
| 1802 | (setq procedure (match-string 1 string) | 1802 | (setq procedure (match-string 1 string) |
| 1803 | number (match-string 3 string) | 1803 | number (match-string 3 string) |
| 1804 | file (match-string 5 string)) | 1804 | file (match-string 5 string)) |
| 1805 | 1805 | ||
| 1806 | ;; Repair the strings | 1806 | ;; Repair the strings |
| 1807 | (setq procedure (idlwave-shell-repair-string procedure)) | 1807 | (setq procedure (idlwave-shell-repair-string procedure)) |
| 1808 | (setq number (idlwave-shell-repair-string number)) | 1808 | (setq number (idlwave-shell-repair-string number)) |
| @@ -1811,7 +1811,7 @@ statements." | |||
| 1811 | ;; If we have a file, return the frame list | 1811 | ;; If we have a file, return the frame list |
| 1812 | (if file | 1812 | (if file |
| 1813 | (list (idlwave-shell-file-name file) | 1813 | (list (idlwave-shell-file-name file) |
| 1814 | (string-to-int number) | 1814 | (string-to-number number) |
| 1815 | procedure) | 1815 | procedure) |
| 1816 | ;; No success finding a file | 1816 | ;; No success finding a file |
| 1817 | nil)))) | 1817 | nil)))) |
| @@ -1828,7 +1828,7 @@ The last line of STRING may be garbage - we check which one makes a valid | |||
| 1828 | file name." | 1828 | file name." |
| 1829 | (let ((file1 "") (file2 "") (start 0)) | 1829 | (let ((file1 "") (file2 "") (start 0)) |
| 1830 | ;; We scan no further than to the next "^%" line | 1830 | ;; We scan no further than to the next "^%" line |
| 1831 | (if (string-match "^%" file) | 1831 | (if (string-match "^%" file) |
| 1832 | (setq file (substring file 0 (match-beginning 0)))) | 1832 | (setq file (substring file 0 (match-beginning 0)))) |
| 1833 | ;; Take out the line breaks | 1833 | ;; Take out the line breaks |
| 1834 | (while (string-match "[ \t]*\n[ \t]*" file start) | 1834 | (while (string-match "[ \t]*\n[ \t]*" file start) |
| @@ -1883,7 +1883,7 @@ file name." | |||
| 1883 | The size is given by `idlwave-shell-graphics-window-size'." | 1883 | The size is given by `idlwave-shell-graphics-window-size'." |
| 1884 | (interactive "P") | 1884 | (interactive "P") |
| 1885 | (let ((n (if n (prefix-numeric-value n) 0))) | 1885 | (let ((n (if n (prefix-numeric-value n) 0))) |
| 1886 | (idlwave-shell-send-command | 1886 | (idlwave-shell-send-command |
| 1887 | (apply 'format "window,%d,xs=%d,ys=%d" | 1887 | (apply 'format "window,%d,xs=%d,ys=%d" |
| 1888 | n idlwave-shell-graphics-window-size) | 1888 | n idlwave-shell-graphics-window-size) |
| 1889 | nil (idlwave-shell-hide-p 'misc) nil t))) | 1889 | nil (idlwave-shell-hide-p 'misc) nil t))) |
| @@ -1903,16 +1903,16 @@ directory." | |||
| 1903 | Also get rid of widget events in the queue." | 1903 | Also get rid of widget events in the queue." |
| 1904 | (interactive "P") | 1904 | (interactive "P") |
| 1905 | (save-selected-window | 1905 | (save-selected-window |
| 1906 | ;;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 & | 1906 | ;;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 & |
| 1907 | (idlwave-shell-send-command "retall" nil | 1907 | (idlwave-shell-send-command "retall" nil |
| 1908 | (if (idlwave-shell-hide-p 'misc) 'mostly) | 1908 | (if (idlwave-shell-hide-p 'misc) 'mostly) |
| 1909 | nil t) | 1909 | nil t) |
| 1910 | (idlwave-shell-display-line nil))) | 1910 | (idlwave-shell-display-line nil))) |
| 1911 | 1911 | ||
| 1912 | (defun idlwave-shell-closeall (&optional arg) | 1912 | (defun idlwave-shell-closeall (&optional arg) |
| 1913 | "Close all open files." | 1913 | "Close all open files." |
| 1914 | (interactive "P") | 1914 | (interactive "P") |
| 1915 | (idlwave-shell-send-command "close,/all" nil | 1915 | (idlwave-shell-send-command "close,/all" nil |
| 1916 | (idlwave-shell-hide-p 'misc) nil t)) | 1916 | (idlwave-shell-hide-p 'misc) nil t)) |
| 1917 | 1917 | ||
| 1918 | (defun idlwave-shell-quit (&optional arg) | 1918 | (defun idlwave-shell-quit (&optional arg) |
| @@ -1928,7 +1928,7 @@ With prefix ARG, exit without confirmation." | |||
| 1928 | 1928 | ||
| 1929 | (defun idlwave-shell-reset (&optional hidden) | 1929 | (defun idlwave-shell-reset (&optional hidden) |
| 1930 | "Reset IDL. Return to main level and destroy the leftover variables. | 1930 | "Reset IDL. Return to main level and destroy the leftover variables. |
| 1931 | This issues the following commands: | 1931 | This issues the following commands: |
| 1932 | RETALL | 1932 | RETALL |
| 1933 | WIDGET_CONTROL,/RESET | 1933 | WIDGET_CONTROL,/RESET |
| 1934 | CLOSE, /ALL | 1934 | CLOSE, /ALL |
| @@ -1978,14 +1978,14 @@ HEAP_GC, /VERBOSE" | |||
| 1978 | ;; Set dummy values and kill the text | 1978 | ;; Set dummy values and kill the text |
| 1979 | (setq sep "@" sep-re "@ *" text "") | 1979 | (setq sep "@" sep-re "@ *" text "") |
| 1980 | (if idlwave-idlwave_routine_info-compiled | 1980 | (if idlwave-idlwave_routine_info-compiled |
| 1981 | (message | 1981 | (message |
| 1982 | "Routine Info warning: No match for BEGIN line in \n>>>\n%s\n<<<\n" | 1982 | "Routine Info warning: No match for BEGIN line in \n>>>\n%s\n<<<\n" |
| 1983 | idlwave-shell-command-output))) | 1983 | idlwave-shell-command-output))) |
| 1984 | (if (string-match "^>>>END OF IDLWAVE ROUTINE INFO.*" text) | 1984 | (if (string-match "^>>>END OF IDLWAVE ROUTINE INFO.*" text) |
| 1985 | (setq text (substring text 0 (match-beginning 0))) | 1985 | (setq text (substring text 0 (match-beginning 0))) |
| 1986 | (if idlwave-idlwave_routine_info-compiled | 1986 | (if idlwave-idlwave_routine_info-compiled |
| 1987 | (message | 1987 | (message |
| 1988 | "Routine Info warning: No match for END line in \n>>>\n%s\n<<<\n" | 1988 | "Routine Info warning: No match for END line in \n>>>\n%s\n<<<\n" |
| 1989 | idlwave-shell-command-output))) | 1989 | idlwave-shell-command-output))) |
| 1990 | (if (string-match "\\S-" text) | 1990 | (if (string-match "\\S-" text) |
| 1991 | ;; Obviously, the pro worked. Make a note that we have it now. | 1991 | ;; Obviously, the pro worked. Make a note that we have it now. |
| @@ -2003,59 +2003,59 @@ HEAP_GC, /VERBOSE" | |||
| 2003 | key (nth 4 specs) | 2003 | key (nth 4 specs) |
| 2004 | keys (if (and (stringp key) | 2004 | keys (if (and (stringp key) |
| 2005 | (not (string-match "\\` *\\'" key))) | 2005 | (not (string-match "\\` *\\'" key))) |
| 2006 | (mapcar 'list | 2006 | (mapcar 'list |
| 2007 | (delete "" (idlwave-split-string key " +"))))) | 2007 | (delete "" (idlwave-split-string key " +"))))) |
| 2008 | (setq name (idlwave-sintern-routine-or-method name class t) | 2008 | (setq name (idlwave-sintern-routine-or-method name class t) |
| 2009 | class (idlwave-sintern-class class t) | 2009 | class (idlwave-sintern-class class t) |
| 2010 | file (if (equal file "") nil file) | 2010 | file (if (equal file "") nil file) |
| 2011 | keys (mapcar (lambda (x) | 2011 | keys (mapcar (lambda (x) |
| 2012 | (list (idlwave-sintern-keyword (car x) t))) keys)) | 2012 | (list (idlwave-sintern-keyword (car x) t))) keys)) |
| 2013 | 2013 | ||
| 2014 | ;; In the following ignore routines already defined in buffers, | 2014 | ;; In the following ignore routines already defined in buffers, |
| 2015 | ;; assuming that if the buffer stuff differs, it is a "new" | 2015 | ;; assuming that if the buffer stuff differs, it is a "new" |
| 2016 | ;; version, not yet compiled, and should take precedence. | 2016 | ;; version, not yet compiled, and should take precedence. |
| 2017 | ;; We could do the same for the library to avoid duplicates - | 2017 | ;; We could do the same for the library to avoid duplicates - |
| 2018 | ;; but I think frequently a user might have several versions of | 2018 | ;; but I think frequently a user might have several versions of |
| 2019 | ;; the same function in different programs, and in this case the | 2019 | ;; the same function in different programs, and in this case the |
| 2020 | ;; compiled one will be the best guess of all versions. | 2020 | ;; compiled one will be the best guess of all versions. |
| 2021 | ;; Therefore, we leave duplicates of library routines in. | 2021 | ;; Therefore, we leave duplicates of library routines in. |
| 2022 | (cond ((string= name "$MAIN$")) ; ignore this one | 2022 | (cond ((string= name "$MAIN$")) ; ignore this one |
| 2023 | ((and (string= type "PRO") | 2023 | ((and (string= type "PRO") |
| 2024 | ;; FIXME: is it OK to make the buffer routines dominate? | 2024 | ;; FIXME: is it OK to make the buffer routines dominate? |
| 2025 | (or t (null file) | 2025 | (or t (null file) |
| 2026 | (not (idlwave-rinfo-assq name 'pro class | 2026 | (not (idlwave-rinfo-assq name 'pro class |
| 2027 | idlwave-buffer-routines))) | 2027 | idlwave-buffer-routines))) |
| 2028 | ;; FIXME: is it OK to make the library routines dominate? | 2028 | ;; FIXME: is it OK to make the library routines dominate? |
| 2029 | ;;(not (idlwave-rinfo-assq name 'pro class | 2029 | ;;(not (idlwave-rinfo-assq name 'pro class |
| 2030 | ;; idlwave-library-routines)) | 2030 | ;; idlwave-library-routines)) |
| 2031 | ) | 2031 | ) |
| 2032 | (setq entry (list name 'pro class | 2032 | (setq entry (list name 'pro class |
| 2033 | (cons 'compiled | 2033 | (cons 'compiled |
| 2034 | (if file | 2034 | (if file |
| 2035 | (list | 2035 | (list |
| 2036 | (file-name-nondirectory file) | 2036 | (file-name-nondirectory file) |
| 2037 | (idlwave-sintern-dir | 2037 | (idlwave-sintern-dir |
| 2038 | (file-name-directory file))))) | 2038 | (file-name-directory file))))) |
| 2039 | cs (cons nil keys))) | 2039 | cs (cons nil keys))) |
| 2040 | (if file | 2040 | (if file |
| 2041 | (push entry idlwave-compiled-routines) | 2041 | (push entry idlwave-compiled-routines) |
| 2042 | (push entry idlwave-unresolved-routines))) | 2042 | (push entry idlwave-unresolved-routines))) |
| 2043 | 2043 | ||
| 2044 | ((and (string= type "FUN") | 2044 | ((and (string= type "FUN") |
| 2045 | ;; FIXME: is it OK to make the buffer routines dominate? | 2045 | ;; FIXME: is it OK to make the buffer routines dominate? |
| 2046 | (or t (not file) | 2046 | (or t (not file) |
| 2047 | (not (idlwave-rinfo-assq name 'fun class | 2047 | (not (idlwave-rinfo-assq name 'fun class |
| 2048 | idlwave-buffer-routines))) | 2048 | idlwave-buffer-routines))) |
| 2049 | ;; FIXME: is it OK to make the library routines dominate? | 2049 | ;; FIXME: is it OK to make the library routines dominate? |
| 2050 | ;; (not (idlwave-rinfo-assq name 'fun class | 2050 | ;; (not (idlwave-rinfo-assq name 'fun class |
| 2051 | ;; idlwave-library-routines)) | 2051 | ;; idlwave-library-routines)) |
| 2052 | ) | 2052 | ) |
| 2053 | (setq entry (list name 'fun class | 2053 | (setq entry (list name 'fun class |
| 2054 | (cons 'compiled | 2054 | (cons 'compiled |
| 2055 | (if file | 2055 | (if file |
| 2056 | (list | 2056 | (list |
| 2057 | (file-name-nondirectory file) | 2057 | (file-name-nondirectory file) |
| 2058 | (idlwave-sintern-dir | 2058 | (idlwave-sintern-dir |
| 2059 | (file-name-directory file))))) | 2059 | (file-name-directory file))))) |
| 2060 | cs (cons nil keys))) | 2060 | cs (cons nil keys))) |
| 2061 | (if file | 2061 | (if file |
| @@ -2072,7 +2072,7 @@ Change the default directory for the process buffer to concur." | |||
| 2072 | (set-buffer (idlwave-shell-buffer)) | 2072 | (set-buffer (idlwave-shell-buffer)) |
| 2073 | (if (string-match ",___cur[\n\r]\\(\\S-*\\) *[\n\r]" | 2073 | (if (string-match ",___cur[\n\r]\\(\\S-*\\) *[\n\r]" |
| 2074 | idlwave-shell-command-output) | 2074 | idlwave-shell-command-output) |
| 2075 | (let ((dir (substring idlwave-shell-command-output | 2075 | (let ((dir (substring idlwave-shell-command-output |
| 2076 | (match-beginning 1) (match-end 1)))) | 2076 | (match-beginning 1) (match-end 1)))) |
| 2077 | ; (message "Setting Emacs working dir to %s" dir) | 2077 | ; (message "Setting Emacs working dir to %s" dir) |
| 2078 | (setq idlwave-shell-default-directory dir) | 2078 | (setq idlwave-shell-default-directory dir) |
| @@ -2086,10 +2086,10 @@ Change the default directory for the process buffer to concur." | |||
| 2086 | expression) | 2086 | expression) |
| 2087 | (save-excursion | 2087 | (save-excursion |
| 2088 | (goto-char apos) | 2088 | (goto-char apos) |
| 2089 | (setq expression (buffer-substring | 2089 | (setq expression (buffer-substring |
| 2090 | (catch 'exit | 2090 | (catch 'exit |
| 2091 | (while t | 2091 | (while t |
| 2092 | (if (not (re-search-backward | 2092 | (if (not (re-search-backward |
| 2093 | "[^][.A-Za-z0-9_() ]" bos t)) | 2093 | "[^][.A-Za-z0-9_() ]" bos t)) |
| 2094 | (throw 'exit bos)) ;ran into bos | 2094 | (throw 'exit bos)) ;ran into bos |
| 2095 | (if (not (idlwave-is-pointer-dereference bol)) | 2095 | (if (not (idlwave-is-pointer-dereference bol)) |
| @@ -2117,7 +2117,7 @@ Change the default directory for the process buffer to concur." | |||
| 2117 | idlwave-shell-command-output)) | 2117 | idlwave-shell-command-output)) |
| 2118 | (string-match (concat match "\\([A-Za-z_0-9]+\\)") | 2118 | (string-match (concat match "\\([A-Za-z_0-9]+\\)") |
| 2119 | idlwave-shell-command-output)) | 2119 | idlwave-shell-command-output)) |
| 2120 | (setq idlwave-shell-get-object-class | 2120 | (setq idlwave-shell-get-object-class |
| 2121 | (match-string 1 idlwave-shell-command-output))))) | 2121 | (match-string 1 idlwave-shell-command-output))))) |
| 2122 | 2122 | ||
| 2123 | (defvar idlwave-sint-sysvars nil) | 2123 | (defvar idlwave-sint-sysvars nil) |
| @@ -2131,7 +2131,7 @@ keywords." | |||
| 2131 | (interactive "P") | 2131 | (interactive "P") |
| 2132 | (let (exec-cmd) | 2132 | (let (exec-cmd) |
| 2133 | (cond | 2133 | (cond |
| 2134 | ((and | 2134 | ((and |
| 2135 | (setq exec-cmd (idlwave-shell-executive-command)) | 2135 | (setq exec-cmd (idlwave-shell-executive-command)) |
| 2136 | (cdr exec-cmd) | 2136 | (cdr exec-cmd) |
| 2137 | (member (upcase (cdr exec-cmd)) | 2137 | (member (upcase (cdr exec-cmd)) |
| @@ -2141,7 +2141,7 @@ keywords." | |||
| 2141 | (idlwave-shell-complete-filename)) | 2141 | (idlwave-shell-complete-filename)) |
| 2142 | 2142 | ||
| 2143 | ((car-safe exec-cmd) | 2143 | ((car-safe exec-cmd) |
| 2144 | (setq idlwave-completion-help-info | 2144 | (setq idlwave-completion-help-info |
| 2145 | '(idlwave-shell-complete-execcomm-help)) | 2145 | '(idlwave-shell-complete-execcomm-help)) |
| 2146 | (idlwave-complete-in-buffer 'execcomm 'execcomm | 2146 | (idlwave-complete-in-buffer 'execcomm 'execcomm |
| 2147 | idlwave-executive-commands-alist nil | 2147 | idlwave-executive-commands-alist nil |
| @@ -2160,7 +2160,7 @@ keywords." | |||
| 2160 | (let ((case-fold-search t)) | 2160 | (let ((case-fold-search t)) |
| 2161 | (not (looking-at ".*obj_new"))))) | 2161 | (not (looking-at ".*obj_new"))))) |
| 2162 | (idlwave-shell-complete-filename)) | 2162 | (idlwave-shell-complete-filename)) |
| 2163 | 2163 | ||
| 2164 | (t | 2164 | (t |
| 2165 | ;; Default completion of modules and keywords | 2165 | ;; Default completion of modules and keywords |
| 2166 | (idlwave-complete arg))))) | 2166 | (idlwave-complete arg))))) |
| @@ -2182,7 +2182,7 @@ keywords." | |||
| 2182 | We assume that we are after a file name when completing one of the | 2182 | We assume that we are after a file name when completing one of the |
| 2183 | args of an executive .run, .rnew or .compile." | 2183 | args of an executive .run, .rnew or .compile." |
| 2184 | ;; CWD might have changed, resync, to set default directory | 2184 | ;; CWD might have changed, resync, to set default directory |
| 2185 | (idlwave-shell-resync-dirs) | 2185 | (idlwave-shell-resync-dirs) |
| 2186 | (let ((comint-file-name-chars idlwave-shell-file-name-chars)) | 2186 | (let ((comint-file-name-chars idlwave-shell-file-name-chars)) |
| 2187 | (comint-dynamic-complete-as-filename))) | 2187 | (comint-dynamic-complete-as-filename))) |
| 2188 | 2188 | ||
| @@ -2223,7 +2223,7 @@ args of an executive .run, .rnew or .compile." | |||
| 2223 | 2223 | ||
| 2224 | (defun idlwave-shell-redisplay (&optional hide) | 2224 | (defun idlwave-shell-redisplay (&optional hide) |
| 2225 | "Tries to resync the display with where execution has stopped. | 2225 | "Tries to resync the display with where execution has stopped. |
| 2226 | Issues a \"help,/trace\" command followed by a call to | 2226 | Issues a \"help,/trace\" command followed by a call to |
| 2227 | `idlwave-shell-display-line'. Also updates the breakpoint | 2227 | `idlwave-shell-display-line'. Also updates the breakpoint |
| 2228 | overlays." | 2228 | overlays." |
| 2229 | (interactive) | 2229 | (interactive) |
| @@ -2236,7 +2236,7 @@ overlays." | |||
| 2236 | (idlwave-shell-bp-query)) | 2236 | (idlwave-shell-bp-query)) |
| 2237 | 2237 | ||
| 2238 | (defun idlwave-shell-display-level-in-calling-stack (&optional hide) | 2238 | (defun idlwave-shell-display-level-in-calling-stack (&optional hide) |
| 2239 | (idlwave-shell-send-command | 2239 | (idlwave-shell-send-command |
| 2240 | "help,/trace" | 2240 | "help,/trace" |
| 2241 | `(progn | 2241 | `(progn |
| 2242 | ;; scanning for the state will reset the stack level - restore it | 2242 | ;; scanning for the state will reset the stack level - restore it |
| @@ -2267,14 +2267,14 @@ overlays." | |||
| 2267 | (setq idlwave-shell-calling-stack-index nmin | 2267 | (setq idlwave-shell-calling-stack-index nmin |
| 2268 | message (format "%d is the current calling stack level - can't go further down" | 2268 | message (format "%d is the current calling stack level - can't go further down" |
| 2269 | (- nmin))))) | 2269 | (- nmin))))) |
| 2270 | (setq idlwave-shell-calling-stack-routine | 2270 | (setq idlwave-shell-calling-stack-routine |
| 2271 | (nth 2 (nth idlwave-shell-calling-stack-index stack))) | 2271 | (nth 2 (nth idlwave-shell-calling-stack-index stack))) |
| 2272 | 2272 | ||
| 2273 | ;; only edebug if in that mode already | 2273 | ;; only edebug if in that mode already |
| 2274 | (idlwave-shell-display-line | 2274 | (idlwave-shell-display-line |
| 2275 | (nth idlwave-shell-calling-stack-index stack) nil | 2275 | (nth idlwave-shell-calling-stack-index stack) nil |
| 2276 | (unless idlwave-shell-electric-debug-mode 'no-debug)) | 2276 | (unless idlwave-shell-electric-debug-mode 'no-debug)) |
| 2277 | (message (or message | 2277 | (message (or message |
| 2278 | (format "In routine %s (stack level %d)" | 2278 | (format "In routine %s (stack level %d)" |
| 2279 | idlwave-shell-calling-stack-routine | 2279 | idlwave-shell-calling-stack-routine |
| 2280 | (- idlwave-shell-calling-stack-index)))))) | 2280 | (- idlwave-shell-calling-stack-index)))))) |
| @@ -2305,7 +2305,7 @@ used. Does nothing if the resulting frame is nil." | |||
| 2305 | (defun idlwave-shell-pc-frame () | 2305 | (defun idlwave-shell-pc-frame () |
| 2306 | "Returns the frame for IDL execution." | 2306 | "Returns the frame for IDL execution." |
| 2307 | (and idlwave-shell-halt-frame | 2307 | (and idlwave-shell-halt-frame |
| 2308 | (list (nth 0 idlwave-shell-halt-frame) | 2308 | (list (nth 0 idlwave-shell-halt-frame) |
| 2309 | (nth 1 idlwave-shell-halt-frame) | 2309 | (nth 1 idlwave-shell-halt-frame) |
| 2310 | (nth 2 idlwave-shell-halt-frame)))) | 2310 | (nth 2 idlwave-shell-halt-frame)))) |
| 2311 | 2311 | ||
| @@ -2323,7 +2323,7 @@ column in the line. If NO-DEBUG is non-nil, do *not* toggle the electric | |||
| 2323 | debug mode." | 2323 | debug mode." |
| 2324 | (if (not frame) | 2324 | (if (not frame) |
| 2325 | ;; Remove stop-line overlay from old position | 2325 | ;; Remove stop-line overlay from old position |
| 2326 | (progn | 2326 | (progn |
| 2327 | (setq overlay-arrow-string nil) | 2327 | (setq overlay-arrow-string nil) |
| 2328 | (setq idlwave-shell-mode-line-info nil) | 2328 | (setq idlwave-shell-mode-line-info nil) |
| 2329 | (setq idlwave-shell-is-stopped nil) | 2329 | (setq idlwave-shell-is-stopped nil) |
| @@ -2340,10 +2340,10 @@ debug mode." | |||
| 2340 | ;;; | 2340 | ;;; |
| 2341 | ;;; buffer : the buffer to display a line in. | 2341 | ;;; buffer : the buffer to display a line in. |
| 2342 | ;;; select-shell: current buffer is the shell. | 2342 | ;;; select-shell: current buffer is the shell. |
| 2343 | ;;; | 2343 | ;;; |
| 2344 | (setq idlwave-shell-mode-line-info | 2344 | (setq idlwave-shell-mode-line-info |
| 2345 | (if (nth 2 frame) | 2345 | (if (nth 2 frame) |
| 2346 | (format "[%d:%s]" | 2346 | (format "[%d:%s]" |
| 2347 | (- idlwave-shell-calling-stack-index) | 2347 | (- idlwave-shell-calling-stack-index) |
| 2348 | (nth 2 frame)))) | 2348 | (nth 2 frame)))) |
| 2349 | (let* ((buffer (idlwave-find-file-noselect (car frame) 'shell)) | 2349 | (let* ((buffer (idlwave-find-file-noselect (car frame) 'shell)) |
| @@ -2367,7 +2367,7 @@ debug mode." | |||
| 2367 | (forward-line 0) | 2367 | (forward-line 0) |
| 2368 | (setq pos (point)) | 2368 | (setq pos (point)) |
| 2369 | (setq idlwave-shell-is-stopped t) | 2369 | (setq idlwave-shell-is-stopped t) |
| 2370 | 2370 | ||
| 2371 | (if idlwave-shell-stop-line-overlay | 2371 | (if idlwave-shell-stop-line-overlay |
| 2372 | ;; Move overlay | 2372 | ;; Move overlay |
| 2373 | (move-overlay idlwave-shell-stop-line-overlay | 2373 | (move-overlay idlwave-shell-stop-line-overlay |
| @@ -2389,12 +2389,12 @@ debug mode." | |||
| 2389 | ;; If we have the column of the error, move the cursor there. | 2389 | ;; If we have the column of the error, move the cursor there. |
| 2390 | (if col (move-to-column col)) | 2390 | (if col (move-to-column col)) |
| 2391 | (setq pos (point)) | 2391 | (setq pos (point)) |
| 2392 | 2392 | ||
| 2393 | ;; Enter electric debug mode, if not prohibited and not in | 2393 | ;; Enter electric debug mode, if not prohibited and not in |
| 2394 | ;; it already | 2394 | ;; it already |
| 2395 | (when (and (or | 2395 | (when (and (or |
| 2396 | (eq idlwave-shell-automatic-electric-debug t) | 2396 | (eq idlwave-shell-automatic-electric-debug t) |
| 2397 | (and | 2397 | (and |
| 2398 | (eq idlwave-shell-automatic-electric-debug 'breakpoint) | 2398 | (eq idlwave-shell-automatic-electric-debug 'breakpoint) |
| 2399 | (not (eq idlwave-shell-current-state 'error)))) | 2399 | (not (eq idlwave-shell-current-state 'error)))) |
| 2400 | (not no-debug) | 2400 | (not no-debug) |
| @@ -2402,14 +2402,14 @@ debug mode." | |||
| 2402 | (not idlwave-shell-electric-debug-mode)) | 2402 | (not idlwave-shell-electric-debug-mode)) |
| 2403 | (idlwave-shell-electric-debug-mode) | 2403 | (idlwave-shell-electric-debug-mode) |
| 2404 | (setq electric t))) | 2404 | (setq electric t))) |
| 2405 | 2405 | ||
| 2406 | ;; Make sure pos is really displayed in the window. | 2406 | ;; Make sure pos is really displayed in the window. |
| 2407 | (set-window-point window pos) | 2407 | (set-window-point window pos) |
| 2408 | 2408 | ||
| 2409 | ;; If we came from the shell, go back there. Otherwise select | 2409 | ;; If we came from the shell, go back there. Otherwise select |
| 2410 | ;; the window where the error is displayed. | 2410 | ;; the window where the error is displayed. |
| 2411 | (if (or (and idlwave-shell-electric-zap-to-file electric) | 2411 | (if (or (and idlwave-shell-electric-zap-to-file electric) |
| 2412 | (and (equal (buffer-name) (idlwave-shell-buffer)) | 2412 | (and (equal (buffer-name) (idlwave-shell-buffer)) |
| 2413 | (not select-shell))) | 2413 | (not select-shell))) |
| 2414 | (select-window window)))))) | 2414 | (select-window window)))))) |
| 2415 | 2415 | ||
| @@ -2419,35 +2419,35 @@ debug mode." | |||
| 2419 | (interactive "p") | 2419 | (interactive "p") |
| 2420 | (or (not arg) (< arg 1) | 2420 | (or (not arg) (< arg 1) |
| 2421 | (setq arg 1)) | 2421 | (setq arg 1)) |
| 2422 | (idlwave-shell-send-command | 2422 | (idlwave-shell-send-command |
| 2423 | (concat ".s " (if (integerp arg) (int-to-string arg) arg)) | 2423 | (concat ".s " (if (integerp arg) (int-to-string arg) arg)) |
| 2424 | nil (if (idlwave-shell-hide-p 'debug) 'mostly) nil t)) | 2424 | nil (if (idlwave-shell-hide-p 'debug) 'mostly) nil t)) |
| 2425 | 2425 | ||
| 2426 | (defun idlwave-shell-stepover (arg) | 2426 | (defun idlwave-shell-stepover (arg) |
| 2427 | "Stepover one source line. | 2427 | "Stepover one source line. |
| 2428 | If given prefix argument ARG, step ARG source lines. | 2428 | If given prefix argument ARG, step ARG source lines. |
| 2429 | Uses IDL's stepover executive command which does not enter called functions." | 2429 | Uses IDL's stepover executive command which does not enter called functions." |
| 2430 | (interactive "p") | 2430 | (interactive "p") |
| 2431 | (or (not arg) (< arg 1) | 2431 | (or (not arg) (< arg 1) |
| 2432 | (setq arg 1)) | 2432 | (setq arg 1)) |
| 2433 | (idlwave-shell-send-command | 2433 | (idlwave-shell-send-command |
| 2434 | (concat ".so " (if (integerp arg) (int-to-string arg) arg)) | 2434 | (concat ".so " (if (integerp arg) (int-to-string arg) arg)) |
| 2435 | nil (if (idlwave-shell-hide-p 'debug) 'mostly) nil t)) | 2435 | nil (if (idlwave-shell-hide-p 'debug) 'mostly) nil t)) |
| 2436 | 2436 | ||
| 2437 | (defun idlwave-shell-break-here (&optional count cmd condition no-show) | 2437 | (defun idlwave-shell-break-here (&optional count cmd condition no-show) |
| 2438 | "Set breakpoint at current line. | 2438 | "Set breakpoint at current line. |
| 2439 | 2439 | ||
| 2440 | If Count is nil then an ordinary breakpoint is set. We treat a count | 2440 | If Count is nil then an ordinary breakpoint is set. We treat a count |
| 2441 | of 1 as a temporary breakpoint using the ONCE keyword. Counts greater | 2441 | of 1 as a temporary breakpoint using the ONCE keyword. Counts greater |
| 2442 | than 1 use the IDL AFTER=count keyword to break only after reaching | 2442 | than 1 use the IDL AFTER=count keyword to break only after reaching |
| 2443 | the statement count times. | 2443 | the statement count times. |
| 2444 | 2444 | ||
| 2445 | Optional argument CMD is a list or function to evaluate upon reaching | 2445 | Optional argument CMD is a list or function to evaluate upon reaching |
| 2446 | the breakpoint." | 2446 | the breakpoint." |
| 2447 | 2447 | ||
| 2448 | (interactive "P") | 2448 | (interactive "P") |
| 2449 | (when (listp count) | 2449 | (when (listp count) |
| 2450 | (if (equal (car count) 4) | 2450 | (if (equal (car count) 4) |
| 2451 | (setq condition (read-string "Break Condition: "))) | 2451 | (setq condition (read-string "Break Condition: "))) |
| 2452 | (setq count nil)) | 2452 | (setq count nil)) |
| 2453 | (idlwave-shell-set-bp | 2453 | (idlwave-shell-set-bp |
| @@ -2470,7 +2470,7 @@ the problem with not being able to set the breakpoint." | |||
| 2470 | (progn | 2470 | (progn |
| 2471 | (if (progn | 2471 | (if (progn |
| 2472 | (beep) | 2472 | (beep) |
| 2473 | (y-or-n-p | 2473 | (y-or-n-p |
| 2474 | (concat "Okay to recompile file " | 2474 | (concat "Okay to recompile file " |
| 2475 | (idlwave-shell-bp-get bp 'file) " "))) | 2475 | (idlwave-shell-bp-get bp 'file) " "))) |
| 2476 | ;; Recompile | 2476 | ;; Recompile |
| @@ -2478,7 +2478,7 @@ the problem with not being able to set the breakpoint." | |||
| 2478 | ;; Clean up before retrying | 2478 | ;; Clean up before retrying |
| 2479 | (idlwave-shell-command-failure) | 2479 | (idlwave-shell-command-failure) |
| 2480 | (idlwave-shell-send-command | 2480 | (idlwave-shell-send-command |
| 2481 | (concat ".run " (idlwave-shell-bp-get bp 'file)) nil | 2481 | (concat ".run " (idlwave-shell-bp-get bp 'file)) nil |
| 2482 | (if (idlwave-shell-hide-p 'run) 'mostly) nil t) | 2482 | (if (idlwave-shell-hide-p 'run) 'mostly) nil t) |
| 2483 | ;; Try setting breakpoint again | 2483 | ;; Try setting breakpoint again |
| 2484 | (idlwave-shell-set-bp bp)) | 2484 | (idlwave-shell-set-bp bp)) |
| @@ -2502,9 +2502,9 @@ breakpoint can not be set." | |||
| 2502 | (defun idlwave-shell-cont (&optional no-show) | 2502 | (defun idlwave-shell-cont (&optional no-show) |
| 2503 | "Continue executing." | 2503 | "Continue executing." |
| 2504 | (interactive) | 2504 | (interactive) |
| 2505 | (idlwave-shell-send-command ".c" (unless no-show | 2505 | (idlwave-shell-send-command ".c" (unless no-show |
| 2506 | '(idlwave-shell-redisplay 'hide)) | 2506 | '(idlwave-shell-redisplay 'hide)) |
| 2507 | (if (idlwave-shell-hide-p 'debug) 'mostly) | 2507 | (if (idlwave-shell-hide-p 'debug) 'mostly) |
| 2508 | nil t)) | 2508 | nil t)) |
| 2509 | 2509 | ||
| 2510 | (defun idlwave-shell-go () | 2510 | (defun idlwave-shell-go () |
| @@ -2585,7 +2585,7 @@ at a breakpoint." | |||
| 2585 | ((eq force 'enable) (setq disabled t))) | 2585 | ((eq force 'enable) (setq disabled t))) |
| 2586 | (when bp | 2586 | (when bp |
| 2587 | (setf (nth 3 (cdr (cdr bp))) (not disabled)) | 2587 | (setf (nth 3 (cdr (cdr bp))) (not disabled)) |
| 2588 | (idlwave-shell-send-command | 2588 | (idlwave-shell-send-command |
| 2589 | (concat "breakpoint," | 2589 | (concat "breakpoint," |
| 2590 | (if disabled "/enable," "/disable,") | 2590 | (if disabled "/enable," "/disable,") |
| 2591 | (int-to-string (idlwave-shell-bp-get bp))) | 2591 | (int-to-string (idlwave-shell-bp-get bp))) |
| @@ -2599,13 +2599,13 @@ If ENABLE is non-nil, enable them instead." | |||
| 2599 | (while bpl | 2599 | (while bpl |
| 2600 | (setq disabled (idlwave-shell-bp-get (car bpl) 'disabled)) | 2600 | (setq disabled (idlwave-shell-bp-get (car bpl) 'disabled)) |
| 2601 | (when (idlwave-xor (not disabled) (eq enable 'enable)) | 2601 | (when (idlwave-xor (not disabled) (eq enable 'enable)) |
| 2602 | (idlwave-shell-toggle-enable-current-bp | 2602 | (idlwave-shell-toggle-enable-current-bp |
| 2603 | (car bpl) (if (eq enable 'enable) 'enable 'disable) no-update) | 2603 | (car bpl) (if (eq enable 'enable) 'enable 'disable) no-update) |
| 2604 | (push (car bpl) modified)) | 2604 | (push (car bpl) modified)) |
| 2605 | (setq bpl (cdr bpl))) | 2605 | (setq bpl (cdr bpl))) |
| 2606 | (unless no-update (idlwave-shell-bp-query)) | 2606 | (unless no-update (idlwave-shell-bp-query)) |
| 2607 | modified)) | 2607 | modified)) |
| 2608 | 2608 | ||
| 2609 | (defun idlwave-shell-to-here () | 2609 | (defun idlwave-shell-to-here () |
| 2610 | "Set a breakpoint with count 1 then continue." | 2610 | "Set a breakpoint with count 1 then continue." |
| 2611 | (interactive) | 2611 | (interactive) |
| @@ -2643,7 +2643,7 @@ in the current routine." | |||
| 2643 | (defun idlwave-shell-set-bp-in-module (module) | 2643 | (defun idlwave-shell-set-bp-in-module (module) |
| 2644 | "Set breakpoint in module. Assumes that `idlwave-shell-sources-alist' | 2644 | "Set breakpoint in module. Assumes that `idlwave-shell-sources-alist' |
| 2645 | contains an entry for that module." | 2645 | contains an entry for that module." |
| 2646 | (let ((source-file (car-safe | 2646 | (let ((source-file (car-safe |
| 2647 | (cdr-safe | 2647 | (cdr-safe |
| 2648 | (assoc (upcase module) | 2648 | (assoc (upcase module) |
| 2649 | idlwave-shell-sources-alist)))) | 2649 | idlwave-shell-sources-alist)))) |
| @@ -2662,7 +2662,7 @@ contains an entry for that module." | |||
| 2662 | (save-excursion | 2662 | (save-excursion |
| 2663 | (goto-char (point-min)) | 2663 | (goto-char (point-min)) |
| 2664 | (let ((case-fold-search t)) | 2664 | (let ((case-fold-search t)) |
| 2665 | (if (re-search-forward | 2665 | (if (re-search-forward |
| 2666 | (concat "^[ \t]*\\(pro\\|function\\)[ \t]+" | 2666 | (concat "^[ \t]*\\(pro\\|function\\)[ \t]+" |
| 2667 | (downcase module) | 2667 | (downcase module) |
| 2668 | "[ \t\n,]") nil t) | 2668 | "[ \t\n,]") nil t) |
| @@ -2704,7 +2704,7 @@ Sets a breakpoint with count 1 at end of block, then continues." | |||
| 2704 | "Attempt to run until this procedure exits. | 2704 | "Attempt to run until this procedure exits. |
| 2705 | Runs to the last statement and then steps 1 statement. Use the .out command." | 2705 | Runs to the last statement and then steps 1 statement. Use the .out command." |
| 2706 | (interactive) | 2706 | (interactive) |
| 2707 | (idlwave-shell-send-command ".o" nil | 2707 | (idlwave-shell-send-command ".o" nil |
| 2708 | (if (idlwave-shell-hide-p 'debug) 'mostly) | 2708 | (if (idlwave-shell-hide-p 'debug) 'mostly) |
| 2709 | nil t)) | 2709 | nil t)) |
| 2710 | 2710 | ||
| @@ -2751,7 +2751,7 @@ Runs to the last statement and then steps 1 statement. Use the .out command." | |||
| 2751 | (interactive "e") | 2751 | (interactive "e") |
| 2752 | (let ((transient-mark-mode t) | 2752 | (let ((transient-mark-mode t) |
| 2753 | (zmacs-regions t) | 2753 | (zmacs-regions t) |
| 2754 | (tracker (if (featurep 'xemacs) | 2754 | (tracker (if (featurep 'xemacs) |
| 2755 | (if (fboundp 'default-mouse-track-event-is-with-button) | 2755 | (if (fboundp 'default-mouse-track-event-is-with-button) |
| 2756 | 'idlwave-xemacs-hack-mouse-track | 2756 | 'idlwave-xemacs-hack-mouse-track |
| 2757 | 'mouse-track) | 2757 | 'mouse-track) |
| @@ -2769,7 +2769,7 @@ Runs to the last statement and then steps 1 statement. Use the .out command." | |||
| 2769 | (let ((oldfunc (symbol-function 'default-mouse-track-event-is-with-button))) | 2769 | (let ((oldfunc (symbol-function 'default-mouse-track-event-is-with-button))) |
| 2770 | (unwind-protect | 2770 | (unwind-protect |
| 2771 | (progn | 2771 | (progn |
| 2772 | (fset 'default-mouse-track-event-is-with-button | 2772 | (fset 'default-mouse-track-event-is-with-button |
| 2773 | 'idlwave-default-mouse-track-event-is-with-button) | 2773 | 'idlwave-default-mouse-track-event-is-with-button) |
| 2774 | (mouse-track event)) | 2774 | (mouse-track event)) |
| 2775 | (fset 'default-mouse-track-event-is-with-button oldfunc)))) | 2775 | (fset 'default-mouse-track-event-is-with-button oldfunc)))) |
| @@ -2801,7 +2801,7 @@ Runs to the last statement and then steps 1 statement. Use the .out command." | |||
| 2801 | (defvar idlwave-shell-examine-completion-list nil) | 2801 | (defvar idlwave-shell-examine-completion-list nil) |
| 2802 | 2802 | ||
| 2803 | (defun idlwave-shell-print (arg &optional help ev complete-help-type) | 2803 | (defun idlwave-shell-print (arg &optional help ev complete-help-type) |
| 2804 | "Print current expression. | 2804 | "Print current expression. |
| 2805 | 2805 | ||
| 2806 | With HELP non-nil, show help on expression. If HELP is a string, | 2806 | With HELP non-nil, show help on expression. If HELP is a string, |
| 2807 | the expression will be put in place of ___, e.g.: | 2807 | the expression will be put in place of ___, e.g.: |
| @@ -2834,11 +2834,11 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2834 | (save-excursion | 2834 | (save-excursion |
| 2835 | (let* ((process (get-buffer-process (current-buffer))) | 2835 | (let* ((process (get-buffer-process (current-buffer))) |
| 2836 | (process-mark (if process (process-mark process))) | 2836 | (process-mark (if process (process-mark process))) |
| 2837 | (stack-label | 2837 | (stack-label |
| 2838 | (if (and (integerp idlwave-shell-calling-stack-index) | 2838 | (if (and (integerp idlwave-shell-calling-stack-index) |
| 2839 | (> idlwave-shell-calling-stack-index 0)) | 2839 | (> idlwave-shell-calling-stack-index 0)) |
| 2840 | (format " [-%d:%s]" | 2840 | (format " [-%d:%s]" |
| 2841 | idlwave-shell-calling-stack-index | 2841 | idlwave-shell-calling-stack-index |
| 2842 | idlwave-shell-calling-stack-routine))) | 2842 | idlwave-shell-calling-stack-routine))) |
| 2843 | expr beg end cmd examine-hook) | 2843 | expr beg end cmd examine-hook) |
| 2844 | (cond | 2844 | (cond |
| @@ -2868,7 +2868,7 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2868 | ;; an array | 2868 | ;; an array |
| 2869 | (forward-sexp)) | 2869 | (forward-sexp)) |
| 2870 | (setq end (point))))) | 2870 | (setq end (point))))) |
| 2871 | 2871 | ||
| 2872 | ;; Get expression, but first move the begin mark if a | 2872 | ;; Get expression, but first move the begin mark if a |
| 2873 | ;; process-mark is inside the region, to keep the overlay from | 2873 | ;; process-mark is inside the region, to keep the overlay from |
| 2874 | ;; wandering in the Shell. | 2874 | ;; wandering in the Shell. |
| @@ -2879,17 +2879,17 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2879 | 2879 | ||
| 2880 | ;; Show the overlay(s) and attach any necessary hooks and filters | 2880 | ;; Show the overlay(s) and attach any necessary hooks and filters |
| 2881 | (when (and beg end idlwave-shell-expression-overlay) | 2881 | (when (and beg end idlwave-shell-expression-overlay) |
| 2882 | (move-overlay idlwave-shell-expression-overlay beg end | 2882 | (move-overlay idlwave-shell-expression-overlay beg end |
| 2883 | (current-buffer)) | 2883 | (current-buffer)) |
| 2884 | (add-hook 'pre-command-hook | 2884 | (add-hook 'pre-command-hook |
| 2885 | 'idlwave-shell-delete-expression-overlay)) | 2885 | 'idlwave-shell-delete-expression-overlay)) |
| 2886 | (setq examine-hook | 2886 | (setq examine-hook |
| 2887 | (if idlwave-shell-separate-examine-output | 2887 | (if idlwave-shell-separate-examine-output |
| 2888 | 'idlwave-shell-examine-display | 2888 | 'idlwave-shell-examine-display |
| 2889 | 'idlwave-shell-examine-highlight)) | 2889 | 'idlwave-shell-examine-highlight)) |
| 2890 | (add-hook 'pre-command-hook | 2890 | (add-hook 'pre-command-hook |
| 2891 | 'idlwave-shell-delete-output-overlay) | 2891 | 'idlwave-shell-delete-output-overlay) |
| 2892 | 2892 | ||
| 2893 | ;; Remove empty or comment-only lines | 2893 | ;; Remove empty or comment-only lines |
| 2894 | (while (string-match "\n[ \t]*\\(;.*\\)?\r*\n" expr) | 2894 | (while (string-match "\n[ \t]*\\(;.*\\)?\r*\n" expr) |
| 2895 | (setq expr (replace-match "\n" t t expr))) | 2895 | (setq expr (replace-match "\n" t t expr))) |
| @@ -2899,41 +2899,41 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2899 | ;; Remove final newline | 2899 | ;; Remove final newline |
| 2900 | (if (string-match "\n[ \t\r]*\\'" expr) | 2900 | (if (string-match "\n[ \t\r]*\\'" expr) |
| 2901 | (setq expr (replace-match "" t t expr))) | 2901 | (setq expr (replace-match "" t t expr))) |
| 2902 | 2902 | ||
| 2903 | (catch 'exit | 2903 | (catch 'exit |
| 2904 | ;; Pop-up or complete on the examine selection list, if appropriate | 2904 | ;; Pop-up or complete on the examine selection list, if appropriate |
| 2905 | (if (or | 2905 | (if (or |
| 2906 | complete-help-type | 2906 | complete-help-type |
| 2907 | (and ev idlwave-shell-examine-alist) | 2907 | (and ev idlwave-shell-examine-alist) |
| 2908 | (consp help)) | 2908 | (consp help)) |
| 2909 | (let ((help-cons | 2909 | (let ((help-cons |
| 2910 | (if (consp help) help | 2910 | (if (consp help) help |
| 2911 | (assoc | 2911 | (assoc |
| 2912 | ;; A cons from either a pop-up or mini-buffer completion | 2912 | ;; A cons from either a pop-up or mini-buffer completion |
| 2913 | (if complete-help-type | 2913 | (if complete-help-type |
| 2914 | (idlwave-one-key-select 'idlwave-shell-examine-alist | 2914 | (idlwave-one-key-select 'idlwave-shell-examine-alist |
| 2915 | "Examine with: " 1.5) | 2915 | "Examine with: " 1.5) |
| 2916 | ;; (idlwave-completing-read | 2916 | ;; (idlwave-completing-read |
| 2917 | ;; "Examine with: " | 2917 | ;; "Examine with: " |
| 2918 | ;; idlwave-shell-examine-alist nil nil nil | 2918 | ;; idlwave-shell-examine-alist nil nil nil |
| 2919 | ;; 'idlwave-shell-examine-completion-list | 2919 | ;; 'idlwave-shell-examine-completion-list |
| 2920 | ;; "Print") | 2920 | ;; "Print") |
| 2921 | (idlwave-popup-select | 2921 | (idlwave-popup-select |
| 2922 | ev | 2922 | ev |
| 2923 | (mapcar 'car idlwave-shell-examine-alist) | 2923 | (mapcar 'car idlwave-shell-examine-alist) |
| 2924 | "Examine with")) | 2924 | "Examine with")) |
| 2925 | idlwave-shell-examine-alist)))) | 2925 | idlwave-shell-examine-alist)))) |
| 2926 | (setq help (cdr help-cons)) | 2926 | (setq help (cdr help-cons)) |
| 2927 | (if (null help) (throw 'exit nil)) | 2927 | (if (null help) (throw 'exit nil)) |
| 2928 | (if idlwave-shell-separate-examine-output | 2928 | (if idlwave-shell-separate-examine-output |
| 2929 | (setq idlwave-shell-examine-label | 2929 | (setq idlwave-shell-examine-label |
| 2930 | (concat | 2930 | (concat |
| 2931 | (format "==>%s<==\n%s:" expr (car help-cons)) | 2931 | (format "==>%s<==\n%s:" expr (car help-cons)) |
| 2932 | stack-label "\n")))) | 2932 | stack-label "\n")))) |
| 2933 | ;; The regular help label (no popups, cons cells, etc.) | 2933 | ;; The regular help label (no popups, cons cells, etc.) |
| 2934 | (setq idlwave-shell-examine-label | 2934 | (setq idlwave-shell-examine-label |
| 2935 | (concat | 2935 | (concat |
| 2936 | (format "==>%s<==\n%s:" expr | 2936 | (format "==>%s<==\n%s:" expr |
| 2937 | (cond ((null help) "print") | 2937 | (cond ((null help) "print") |
| 2938 | ((stringp help) help) | 2938 | ((stringp help) help) |
| 2939 | (t (symbol-name help)))) | 2939 | (t (symbol-name help)))) |
| @@ -2946,9 +2946,9 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2946 | idlwave-shell-calling-stack-index))) | 2946 | idlwave-shell-calling-stack-index))) |
| 2947 | (setq cmd (idlwave-shell-help-statement help expr)) | 2947 | (setq cmd (idlwave-shell-help-statement help expr)) |
| 2948 | ;;(idlwave-shell-recenter-shell-window) | 2948 | ;;(idlwave-shell-recenter-shell-window) |
| 2949 | (idlwave-shell-send-command | 2949 | (idlwave-shell-send-command |
| 2950 | cmd | 2950 | cmd |
| 2951 | examine-hook | 2951 | examine-hook |
| 2952 | (if idlwave-shell-separate-examine-output 'hide)))))) | 2952 | (if idlwave-shell-separate-examine-output 'hide)))))) |
| 2953 | 2953 | ||
| 2954 | (defvar idlwave-shell-examine-window-alist nil | 2954 | (defvar idlwave-shell-examine-window-alist nil |
| @@ -2975,9 +2975,9 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2975 | (let* ((end (or | 2975 | (let* ((end (or |
| 2976 | (re-search-backward idlwave-shell-prompt-pattern nil t) | 2976 | (re-search-backward idlwave-shell-prompt-pattern nil t) |
| 2977 | (point-max))) | 2977 | (point-max))) |
| 2978 | (beg (progn | 2978 | (beg (progn |
| 2979 | (goto-char | 2979 | (goto-char |
| 2980 | (or (progn (if (re-search-backward | 2980 | (or (progn (if (re-search-backward |
| 2981 | idlwave-shell-prompt-pattern nil t) | 2981 | idlwave-shell-prompt-pattern nil t) |
| 2982 | (match-end 0))) | 2982 | (match-end 0))) |
| 2983 | (point-min))) | 2983 | (point-min))) |
| @@ -2994,21 +2994,21 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 2994 | (setq buffer-read-only t) | 2994 | (setq buffer-read-only t) |
| 2995 | (move-overlay idlwave-shell-output-overlay cur-beg cur-end | 2995 | (move-overlay idlwave-shell-output-overlay cur-beg cur-end |
| 2996 | (current-buffer)) | 2996 | (current-buffer)) |
| 2997 | 2997 | ||
| 2998 | ;; Look for the examine buffer in all windows. If one is | 2998 | ;; Look for the examine buffer in all windows. If one is |
| 2999 | ;; found in a frame all by itself, use that, otherwise, switch | 2999 | ;; found in a frame all by itself, use that, otherwise, switch |
| 3000 | ;; to or create an examine window in this frame, and resize if | 3000 | ;; to or create an examine window in this frame, and resize if |
| 3001 | ;; it's a newly created window | 3001 | ;; it's a newly created window |
| 3002 | (let* ((winlist (get-buffer-window-list "*Examine*" nil 'visible))) | 3002 | (let* ((winlist (get-buffer-window-list "*Examine*" nil 'visible))) |
| 3003 | (setq win (idlwave-display-buffer | 3003 | (setq win (idlwave-display-buffer |
| 3004 | "*Examine*" | 3004 | "*Examine*" |
| 3005 | nil | 3005 | nil |
| 3006 | (let ((list winlist) thiswin) | 3006 | (let ((list winlist) thiswin) |
| 3007 | (catch 'exit | 3007 | (catch 'exit |
| 3008 | (save-selected-window | 3008 | (save-selected-window |
| 3009 | (while (setq thiswin (pop list)) | 3009 | (while (setq thiswin (pop list)) |
| 3010 | (select-window thiswin) | 3010 | (select-window thiswin) |
| 3011 | (if (one-window-p) | 3011 | (if (one-window-p) |
| 3012 | (throw 'exit (window-frame thiswin))))))))) | 3012 | (throw 'exit (window-frame thiswin))))))))) |
| 3013 | (set-window-start win (point-min)) ; Ensure the point is visible. | 3013 | (set-window-start win (point-min)) ; Ensure the point is visible. |
| 3014 | (save-selected-window | 3014 | (save-selected-window |
| @@ -3029,7 +3029,7 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 3029 | ;; And add the new value. | 3029 | ;; And add the new value. |
| 3030 | (if (setq elt (assoc win idlwave-shell-examine-window-alist)) | 3030 | (if (setq elt (assoc win idlwave-shell-examine-window-alist)) |
| 3031 | (setcdr elt (window-height)) | 3031 | (setcdr elt (window-height)) |
| 3032 | (add-to-list 'idlwave-shell-examine-window-alist | 3032 | (add-to-list 'idlwave-shell-examine-window-alist |
| 3033 | (cons win (window-height))))))))) | 3033 | (cons win (window-height))))))))) |
| 3034 | ;; Recenter for maximum output, after widened | 3034 | ;; Recenter for maximum output, after widened |
| 3035 | (save-selected-window | 3035 | (save-selected-window |
| @@ -3047,7 +3047,7 @@ idlw-shell-examine-alist via mini-buffer shortcut key." | |||
| 3047 | 3047 | ||
| 3048 | (defun idlwave-shell-examine-display-clear () | 3048 | (defun idlwave-shell-examine-display-clear () |
| 3049 | (interactive) | 3049 | (interactive) |
| 3050 | (save-excursion | 3050 | (save-excursion |
| 3051 | (let ((buf (get-buffer "*Examine*"))) | 3051 | (let ((buf (get-buffer "*Examine*"))) |
| 3052 | (when (bufferp buf) | 3052 | (when (bufferp buf) |
| 3053 | (set-buffer buf) | 3053 | (set-buffer buf) |
| @@ -3075,7 +3075,7 @@ versions of IDL." | |||
| 3075 | ;; break. We will look for identifiers and exclude cases where we | 3075 | ;; break. We will look for identifiers and exclude cases where we |
| 3076 | ;; know it is not a variable. To distinguish array references from | 3076 | ;; know it is not a variable. To distinguish array references from |
| 3077 | ;; function calls, we require that arrays use [] instead of () | 3077 | ;; function calls, we require that arrays use [] instead of () |
| 3078 | 3078 | ||
| 3079 | (while (string-match | 3079 | (while (string-match |
| 3080 | "\\(\\`\\|[^a-zA-Z0-9$_][ \t]*\\)\\([a-zA-Z][a-zA-Z0-9$_]*\\)\\([ \t]*[^a-zA-Z0-9$_]\\|\\'\\)" expr start) | 3080 | "\\(\\`\\|[^a-zA-Z0-9$_][ \t]*\\)\\([a-zA-Z][a-zA-Z0-9$_]*\\)\\([ \t]*[^a-zA-Z0-9$_]\\|\\'\\)" expr start) |
| 3081 | (setq var (match-string 2 expr) | 3081 | (setq var (match-string 2 expr) |
| @@ -3091,7 +3091,7 @@ versions of IDL." | |||
| 3091 | ((string-match "->[ \t]*\\'" pre)) ;; a method | 3091 | ((string-match "->[ \t]*\\'" pre)) ;; a method |
| 3092 | ((string-match "\\.\\'" pre)) ;; structure member | 3092 | ((string-match "\\.\\'" pre)) ;; structure member |
| 3093 | ((and (string-match "\\([\"\']\\)[^\1]*$" pre) | 3093 | ((and (string-match "\\([\"\']\\)[^\1]*$" pre) |
| 3094 | (string-match (concat "^[^" (match-string 1 pre) "]*" | 3094 | (string-match (concat "^[^" (match-string 1 pre) "]*" |
| 3095 | (match-string 1 pre)) post))) | 3095 | (match-string 1 pre)) post))) |
| 3096 | (t ;; seems to be a variable - replace its name in the | 3096 | (t ;; seems to be a variable - replace its name in the |
| 3097 | ;; expression with the fetch. | 3097 | ;; expression with the fetch. |
| @@ -3109,13 +3109,13 @@ to insert expression in place of the marker ___, e.g.: print, | |||
| 3109 | size(___,/DIMENSIONS)" | 3109 | size(___,/DIMENSIONS)" |
| 3110 | (cond | 3110 | (cond |
| 3111 | ((null help) (concat "print, " expr)) | 3111 | ((null help) (concat "print, " expr)) |
| 3112 | ((stringp help) | 3112 | ((stringp help) |
| 3113 | (if (string-match "\\(^\\|[^_]\\)\\(___\\)\\([^_]\\|$\\)" help) | 3113 | (if (string-match "\\(^\\|[^_]\\)\\(___\\)\\([^_]\\|$\\)" help) |
| 3114 | (concat (substring help 0 (match-beginning 2)) | 3114 | (concat (substring help 0 (match-beginning 2)) |
| 3115 | expr | 3115 | expr |
| 3116 | (substring help (match-end 2))))) | 3116 | (substring help (match-end 2))))) |
| 3117 | (t (concat "help, " expr)))) | 3117 | (t (concat "help, " expr)))) |
| 3118 | 3118 | ||
| 3119 | 3119 | ||
| 3120 | (defun idlwave-shell-examine-highlight () | 3120 | (defun idlwave-shell-examine-highlight () |
| 3121 | "Highlight the most recent IDL output." | 3121 | "Highlight the most recent IDL output." |
| @@ -3123,7 +3123,7 @@ size(___,/DIMENSIONS)" | |||
| 3123 | (process (get-buffer-process buffer)) | 3123 | (process (get-buffer-process buffer)) |
| 3124 | (process-mark (if process (process-mark process))) | 3124 | (process-mark (if process (process-mark process))) |
| 3125 | output-begin output-end) | 3125 | output-begin output-end) |
| 3126 | (save-excursion | 3126 | (save-excursion |
| 3127 | (set-buffer buffer) | 3127 | (set-buffer buffer) |
| 3128 | (goto-char process-mark) | 3128 | (goto-char process-mark) |
| 3129 | (beginning-of-line) | 3129 | (beginning-of-line) |
| @@ -3131,12 +3131,12 @@ size(___,/DIMENSIONS)" | |||
| 3131 | (re-search-backward idlwave-shell-prompt-pattern nil t) | 3131 | (re-search-backward idlwave-shell-prompt-pattern nil t) |
| 3132 | (beginning-of-line 2) | 3132 | (beginning-of-line 2) |
| 3133 | (setq output-begin (point))) | 3133 | (setq output-begin (point))) |
| 3134 | 3134 | ||
| 3135 | ;; First make sure the shell window is visible | 3135 | ;; First make sure the shell window is visible |
| 3136 | (idlwave-display-buffer (idlwave-shell-buffer) | 3136 | (idlwave-display-buffer (idlwave-shell-buffer) |
| 3137 | nil (idlwave-shell-shell-frame)) | 3137 | nil (idlwave-shell-shell-frame)) |
| 3138 | (if (and idlwave-shell-output-overlay process-mark) | 3138 | (if (and idlwave-shell-output-overlay process-mark) |
| 3139 | (move-overlay idlwave-shell-output-overlay | 3139 | (move-overlay idlwave-shell-output-overlay |
| 3140 | output-begin output-end buffer)))) | 3140 | output-begin output-end buffer)))) |
| 3141 | 3141 | ||
| 3142 | (defun idlwave-shell-delete-output-overlay () | 3142 | (defun idlwave-shell-delete-output-overlay () |
| @@ -3147,7 +3147,7 @@ size(___,/DIMENSIONS)" | |||
| 3147 | (delete-overlay idlwave-shell-output-overlay)) | 3147 | (delete-overlay idlwave-shell-output-overlay)) |
| 3148 | (error nil)) | 3148 | (error nil)) |
| 3149 | (remove-hook 'pre-command-hook 'idlwave-shell-delete-output-overlay))) | 3149 | (remove-hook 'pre-command-hook 'idlwave-shell-delete-output-overlay))) |
| 3150 | 3150 | ||
| 3151 | (defun idlwave-shell-delete-expression-overlay () | 3151 | (defun idlwave-shell-delete-expression-overlay () |
| 3152 | (unless (or (eq this-command 'idlwave-shell-mouse-nop) | 3152 | (unless (or (eq this-command 'idlwave-shell-mouse-nop) |
| 3153 | (eq this-command 'handle-switch-frame)) | 3153 | (eq this-command 'handle-switch-frame)) |
| @@ -3176,7 +3176,7 @@ contains four items: | |||
| 3176 | count - number of times to execute breakpoint. When count reaches 0 | 3176 | count - number of times to execute breakpoint. When count reaches 0 |
| 3177 | the breakpoint is cleared and removed from the alist. | 3177 | the breakpoint is cleared and removed from the alist. |
| 3178 | 3178 | ||
| 3179 | command - command to execute when breakpoint is reached, either a | 3179 | command - command to execute when breakpoint is reached, either a |
| 3180 | lisp function to be called with `funcall' with no arguments or a | 3180 | lisp function to be called with `funcall' with no arguments or a |
| 3181 | list to be evaluated with `eval'. | 3181 | list to be evaluated with `eval'. |
| 3182 | 3182 | ||
| @@ -3209,11 +3209,11 @@ If there is a prefix argument, display IDL process." | |||
| 3209 | (insert "\nend\n")) | 3209 | (insert "\nend\n")) |
| 3210 | (save-buffer 0))) | 3210 | (save-buffer 0))) |
| 3211 | (idlwave-shell-send-command (concat ".run " idlwave-shell-temp-pro-file) | 3211 | (idlwave-shell-send-command (concat ".run " idlwave-shell-temp-pro-file) |
| 3212 | nil | 3212 | nil |
| 3213 | (if (idlwave-shell-hide-p 'run) 'mostly) | 3213 | (if (idlwave-shell-hide-p 'run) 'mostly) |
| 3214 | nil t) | 3214 | nil t) |
| 3215 | (if n | 3215 | (if n |
| 3216 | (idlwave-display-buffer (idlwave-shell-buffer) | 3216 | (idlwave-display-buffer (idlwave-shell-buffer) |
| 3217 | nil (idlwave-shell-shell-frame)))) | 3217 | nil (idlwave-shell-shell-frame)))) |
| 3218 | 3218 | ||
| 3219 | (defun idlwave-shell-evaluate-region (beg end &optional n) | 3219 | (defun idlwave-shell-evaluate-region (beg end &optional n) |
| @@ -3224,7 +3224,7 @@ Does not work for a region with multiline blocks - use | |||
| 3224 | (interactive "r\nP") | 3224 | (interactive "r\nP") |
| 3225 | (idlwave-shell-send-command (buffer-substring beg end)) | 3225 | (idlwave-shell-send-command (buffer-substring beg end)) |
| 3226 | (if n | 3226 | (if n |
| 3227 | (idlwave-display-buffer (idlwave-shell-buffer) | 3227 | (idlwave-display-buffer (idlwave-shell-buffer) |
| 3228 | nil (idlwave-shell-shell-frame)))) | 3228 | nil (idlwave-shell-shell-frame)))) |
| 3229 | 3229 | ||
| 3230 | (defun idlwave-shell-delete-temp-files () | 3230 | (defun idlwave-shell-delete-temp-files () |
| @@ -3279,7 +3279,7 @@ Queries IDL using the string in `idlwave-shell-bp-query'." | |||
| 3279 | 'hide)) | 3279 | 'hide)) |
| 3280 | 3280 | ||
| 3281 | (defun idlwave-shell-bp-get (bp &optional item) | 3281 | (defun idlwave-shell-bp-get (bp &optional item) |
| 3282 | "Get a value for a breakpoint. | 3282 | "Get a value for a breakpoint. |
| 3283 | BP has the form of elements in idlwave-shell-bp-alist. Optional | 3283 | BP has the form of elements in idlwave-shell-bp-alist. Optional |
| 3284 | second arg ITEM is the particular value to retrieve. ITEM can be | 3284 | second arg ITEM is the particular value to retrieve. ITEM can be |
| 3285 | 'file, 'line, 'index, 'module, 'count, 'cmd, 'condition, 'disabled or | 3285 | 'file, 'line, 'index, 'module, 'count, 'cmd, 'condition, 'disabled or |
| @@ -3314,8 +3314,8 @@ breakpoint overlays." | |||
| 3314 | ;; Searching the breakpoints | 3314 | ;; Searching the breakpoints |
| 3315 | ;; In IDL 5.5, the breakpoint reporting format changed. | 3315 | ;; In IDL 5.5, the breakpoint reporting format changed. |
| 3316 | (bp-re54 "^[ \t]*\\([0-9]+\\)[ \t]+\\(\\S-+\\)?[ \t]+\\([0-9]+\\)[ \t]+\\(\\S-+\\)") | 3316 | (bp-re54 "^[ \t]*\\([0-9]+\\)[ \t]+\\(\\S-+\\)?[ \t]+\\([0-9]+\\)[ \t]+\\(\\S-+\\)") |
| 3317 | (bp-re55 | 3317 | (bp-re55 |
| 3318 | (concat | 3318 | (concat |
| 3319 | "^\\s-*\\([0-9]+\\)" ; 1 index | 3319 | "^\\s-*\\([0-9]+\\)" ; 1 index |
| 3320 | "\\s-+\\([0-9]+\\)" ; 2 line number | 3320 | "\\s-+\\([0-9]+\\)" ; 2 line number |
| 3321 | "\\s-+\\(Uncompiled\\|" ; 3-6 either uncompiled or routine name | 3321 | "\\s-+\\(Uncompiled\\|" ; 3-6 either uncompiled or routine name |
| @@ -3330,27 +3330,27 @@ breakpoint overlays." | |||
| 3330 | bp-re indmap) | 3330 | bp-re indmap) |
| 3331 | (setq idlwave-shell-bp-alist (list nil)) | 3331 | (setq idlwave-shell-bp-alist (list nil)) |
| 3332 | ;; Search for either header type, and set the correct regexp | 3332 | ;; Search for either header type, and set the correct regexp |
| 3333 | (when (or | 3333 | (when (or |
| 3334 | (if (re-search-forward "^\\s-*Index.*\n\\s-*-" nil t) | 3334 | (if (re-search-forward "^\\s-*Index.*\n\\s-*-" nil t) |
| 3335 | (setq bp-re bp-re54 ; versions <= 5.4 | 3335 | (setq bp-re bp-re54 ; versions <= 5.4 |
| 3336 | indmap '(1 2 3 4))) ;index module line file | 3336 | indmap '(1 2 3 4))) ;index module line file |
| 3337 | (if (re-search-forward | 3337 | (if (re-search-forward |
| 3338 | "^\\s-*Index\\s-*Line\\s-*Attributes\\s-*File" nil t) | 3338 | "^\\s-*Index\\s-*Line\\s-*Attributes\\s-*File" nil t) |
| 3339 | (setq bp-re bp-re55 ; versions >= 5.5 | 3339 | (setq bp-re bp-re55 ; versions >= 5.5 |
| 3340 | indmap '(1 6 2 16)))) ; index module line file | 3340 | indmap '(1 6 2 16)))) ; index module line file |
| 3341 | ;; There seems to be a breakpoint listing here, parse breakpoint lines. | 3341 | ;; There seems to be a breakpoint listing here, parse breakpoint lines. |
| 3342 | (while (re-search-forward bp-re nil t) | 3342 | (while (re-search-forward bp-re nil t) |
| 3343 | (setq index (string-to-int (match-string (nth 0 indmap))) | 3343 | (setq index (string-to-number (match-string (nth 0 indmap))) |
| 3344 | module (match-string (nth 1 indmap)) | 3344 | module (match-string (nth 1 indmap)) |
| 3345 | line (string-to-int (match-string (nth 2 indmap))) | 3345 | line (string-to-number (match-string (nth 2 indmap))) |
| 3346 | file (idlwave-shell-file-name (match-string (nth 3 indmap)))) | 3346 | file (idlwave-shell-file-name (match-string (nth 3 indmap)))) |
| 3347 | (if (eq bp-re bp-re55) | 3347 | (if (eq bp-re bp-re55) |
| 3348 | (setq count (if (match-string 10) 1 | 3348 | (setq count (if (match-string 10) 1 |
| 3349 | (if (match-string 8) | 3349 | (if (match-string 8) |
| 3350 | (string-to-int (match-string 8)))) | 3350 | (string-to-number (match-string 8)))) |
| 3351 | condition (match-string 13) | 3351 | condition (match-string 13) |
| 3352 | disabled (not (null (match-string 15))))) | 3352 | disabled (not (null (match-string 15))))) |
| 3353 | 3353 | ||
| 3354 | ;; Add the breakpoint info to the list | 3354 | ;; Add the breakpoint info to the list |
| 3355 | (nconc idlwave-shell-bp-alist | 3355 | (nconc idlwave-shell-bp-alist |
| 3356 | (list (cons (list file line) | 3356 | (list (cons (list file line) |
| @@ -3360,7 +3360,7 @@ breakpoint overlays." | |||
| 3360 | count nil condition disabled)))))) | 3360 | count nil condition disabled)))))) |
| 3361 | (setq idlwave-shell-bp-alist (cdr idlwave-shell-bp-alist)) | 3361 | (setq idlwave-shell-bp-alist (cdr idlwave-shell-bp-alist)) |
| 3362 | ;; Update breakpoint data | 3362 | ;; Update breakpoint data |
| 3363 | (if (eq bp-re bp-re54) | 3363 | (if (eq bp-re bp-re54) |
| 3364 | (mapcar 'idlwave-shell-update-bp old-bp-alist) | 3364 | (mapcar 'idlwave-shell-update-bp old-bp-alist) |
| 3365 | (mapcar 'idlwave-shell-update-bp-command-only old-bp-alist)))) | 3365 | (mapcar 'idlwave-shell-update-bp-command-only old-bp-alist)))) |
| 3366 | ;; Update the breakpoint overlays | 3366 | ;; Update the breakpoint overlays |
| @@ -3375,8 +3375,8 @@ breakpoint overlays." | |||
| 3375 | "Update BP data in breakpoint list. | 3375 | "Update BP data in breakpoint list. |
| 3376 | If BP frame is in `idlwave-shell-bp-alist' updates the breakpoint data." | 3376 | If BP frame is in `idlwave-shell-bp-alist' updates the breakpoint data." |
| 3377 | (let ((match (assoc (car bp) idlwave-shell-bp-alist))) | 3377 | (let ((match (assoc (car bp) idlwave-shell-bp-alist))) |
| 3378 | (if match | 3378 | (if match |
| 3379 | (if command-only | 3379 | (if command-only |
| 3380 | (setf (nth 1 (cdr (cdr match))) (nth 1 (cdr (cdr match)))) | 3380 | (setf (nth 1 (cdr (cdr match))) (nth 1 (cdr (cdr match)))) |
| 3381 | (setcdr (cdr match) (cdr (cdr bp))))))) | 3381 | (setcdr (cdr match) (cdr (cdr bp))))))) |
| 3382 | 3382 | ||
| @@ -3401,7 +3401,7 @@ Otherwise return the filename in bp." | |||
| 3401 | (let* | 3401 | (let* |
| 3402 | ((bp-file (idlwave-shell-bp-get bp 'file)) | 3402 | ((bp-file (idlwave-shell-bp-get bp 'file)) |
| 3403 | (bp-module (idlwave-shell-bp-get bp 'module)) | 3403 | (bp-module (idlwave-shell-bp-get bp 'module)) |
| 3404 | (internal-file-list | 3404 | (internal-file-list |
| 3405 | (cdr (assoc bp-module idlwave-shell-sources-alist)))) | 3405 | (cdr (assoc bp-module idlwave-shell-sources-alist)))) |
| 3406 | (if (and internal-file-list | 3406 | (if (and internal-file-list |
| 3407 | (equal bp-file (nth 0 internal-file-list))) | 3407 | (equal bp-file (nth 0 internal-file-list))) |
| @@ -3409,14 +3409,14 @@ Otherwise return the filename in bp." | |||
| 3409 | bp-file))) | 3409 | bp-file))) |
| 3410 | 3410 | ||
| 3411 | (defun idlwave-shell-set-bp (bp &optional no-show) | 3411 | (defun idlwave-shell-set-bp (bp &optional no-show) |
| 3412 | "Try to set a breakpoint BP. | 3412 | "Try to set a breakpoint BP. |
| 3413 | The breakpoint will be placed at the beginning of the statement on the | 3413 | The breakpoint will be placed at the beginning of the statement on the |
| 3414 | line specified by BP or at the next IDL statement if that line is not | 3414 | line specified by BP or at the next IDL statement if that line is not |
| 3415 | a statement. Determines IDL's internal representation for the | 3415 | a statement. Determines IDL's internal representation for the |
| 3416 | breakpoint, which may have occurred at a different line than | 3416 | breakpoint, which may have occurred at a different line than |
| 3417 | specified. If NO-SHOW is non-nil, don't do any updating." | 3417 | specified. If NO-SHOW is non-nil, don't do any updating." |
| 3418 | ;; Get and save the old breakpoints | 3418 | ;; Get and save the old breakpoints |
| 3419 | (idlwave-shell-send-command | 3419 | (idlwave-shell-send-command |
| 3420 | idlwave-shell-bp-query | 3420 | idlwave-shell-bp-query |
| 3421 | `(progn | 3421 | `(progn |
| 3422 | (idlwave-shell-filter-bp (quote ,no-show)) | 3422 | (idlwave-shell-filter-bp (quote ,no-show)) |
| @@ -3434,7 +3434,7 @@ specified. If NO-SHOW is non-nil, don't do any updating." | |||
| 3434 | (defun idlwave-shell-set-bp2 (bp &optional no-show) | 3434 | (defun idlwave-shell-set-bp2 (bp &optional no-show) |
| 3435 | "Use results of breakpoint and sources query to set bp. | 3435 | "Use results of breakpoint and sources query to set bp. |
| 3436 | Use the count argument with IDLs breakpoint command. | 3436 | Use the count argument with IDLs breakpoint command. |
| 3437 | We treat a count of 1 as a temporary breakpoint. | 3437 | We treat a count of 1 as a temporary breakpoint. |
| 3438 | Counts greater than 1 use the IDL AFTER=count keyword to break | 3438 | Counts greater than 1 use the IDL AFTER=count keyword to break |
| 3439 | only after reaching the statement count times." | 3439 | only after reaching the statement count times." |
| 3440 | (let* | 3440 | (let* |
| @@ -3446,11 +3446,11 @@ only after reaching the statement count times." | |||
| 3446 | ((> arg 1) | 3446 | ((> arg 1) |
| 3447 | (format ",after=%d" arg)))) | 3447 | (format ",after=%d" arg)))) |
| 3448 | (condition (idlwave-shell-bp-get bp 'condition)) | 3448 | (condition (idlwave-shell-bp-get bp 'condition)) |
| 3449 | (key (concat key | 3449 | (key (concat key |
| 3450 | (if condition (concat ",CONDITION=\"" condition "\"")))) | 3450 | (if condition (concat ",CONDITION=\"" condition "\"")))) |
| 3451 | (line (idlwave-shell-bp-get bp 'line))) | 3451 | (line (idlwave-shell-bp-get bp 'line))) |
| 3452 | (idlwave-shell-send-command | 3452 | (idlwave-shell-send-command |
| 3453 | (concat "breakpoint,'" | 3453 | (concat "breakpoint,'" |
| 3454 | (idlwave-shell-sources-bp bp) "'," | 3454 | (idlwave-shell-sources-bp bp) "'," |
| 3455 | (if (integerp line) (setq line (int-to-string line))) | 3455 | (if (integerp line) (setq line (int-to-string line))) |
| 3456 | key) | 3456 | key) |
| @@ -3534,14 +3534,14 @@ Existing overlays are recycled, in order to minimize consumption." | |||
| 3534 | ov ov-list bp buf old-buffers win) | 3534 | ov ov-list bp buf old-buffers win) |
| 3535 | 3535 | ||
| 3536 | ;; Delete the old overlays from their buffers | 3536 | ;; Delete the old overlays from their buffers |
| 3537 | (if ov-alist | 3537 | (if ov-alist |
| 3538 | (while (setq ov-list (pop ov-alist)) | 3538 | (while (setq ov-list (pop ov-alist)) |
| 3539 | (while (setq ov (pop (cdr ov-list))) | 3539 | (while (setq ov (pop (cdr ov-list))) |
| 3540 | (add-to-list 'old-buffers (overlay-buffer ov)) | 3540 | (add-to-list 'old-buffers (overlay-buffer ov)) |
| 3541 | (delete-overlay ov)))) | 3541 | (delete-overlay ov)))) |
| 3542 | 3542 | ||
| 3543 | (setq ov-alist idlwave-shell-bp-overlays | 3543 | (setq ov-alist idlwave-shell-bp-overlays |
| 3544 | idlwave-shell-bp-overlays | 3544 | idlwave-shell-bp-overlays |
| 3545 | (if idlwave-shell-bp-glyph | 3545 | (if idlwave-shell-bp-glyph |
| 3546 | (mapcar 'list (mapcar 'car idlwave-shell-bp-glyph)) | 3546 | (mapcar 'list (mapcar 'car idlwave-shell-bp-glyph)) |
| 3547 | (list (list 'bp)))) | 3547 | (list (list 'bp)))) |
| @@ -3565,7 +3565,7 @@ Existing overlays are recycled, in order to minimize consumption." | |||
| 3565 | (t 'bp-n))) | 3565 | (t 'bp-n))) |
| 3566 | (t 'bp)) | 3566 | (t 'bp)) |
| 3567 | 'bp)) | 3567 | 'bp)) |
| 3568 | (help-list | 3568 | (help-list |
| 3569 | (delq nil | 3569 | (delq nil |
| 3570 | (list | 3570 | (list |
| 3571 | (if count | 3571 | (if count |
| @@ -3573,7 +3573,7 @@ Existing overlays are recycled, in order to minimize consumption." | |||
| 3573 | (if condition | 3573 | (if condition |
| 3574 | (concat "condition: " condition)) | 3574 | (concat "condition: " condition)) |
| 3575 | (if disabled "disabled")))) | 3575 | (if disabled "disabled")))) |
| 3576 | (help-text (if help-list | 3576 | (help-text (if help-list |
| 3577 | (mapconcat 'identity help-list ","))) | 3577 | (mapconcat 'identity help-list ","))) |
| 3578 | (full-type (if disabled | 3578 | (full-type (if disabled |
| 3579 | (intern (concat (symbol-name type) | 3579 | (intern (concat (symbol-name type) |
| @@ -3582,7 +3582,7 @@ Existing overlays are recycled, in order to minimize consumption." | |||
| 3582 | (ov-existing (assq full-type ov-alist)) | 3582 | (ov-existing (assq full-type ov-alist)) |
| 3583 | (ov (or (and (cdr ov-existing) | 3583 | (ov (or (and (cdr ov-existing) |
| 3584 | (pop (cdr ov-existing))) | 3584 | (pop (cdr ov-existing))) |
| 3585 | (idlwave-shell-make-new-bp-overlay | 3585 | (idlwave-shell-make-new-bp-overlay |
| 3586 | type disabled help-text))) | 3586 | type disabled help-text))) |
| 3587 | match) | 3587 | match) |
| 3588 | (move-overlay ov beg end) | 3588 | (move-overlay ov beg end) |
| @@ -3592,7 +3592,7 @@ Existing overlays are recycled, in order to minimize consumption." | |||
| 3592 | (list (list full-type ov))))) | 3592 | (list (list full-type ov))))) |
| 3593 | ;; Take care of margins if using a glyph | 3593 | ;; Take care of margins if using a glyph |
| 3594 | (when use-glyph | 3594 | (when use-glyph |
| 3595 | (if old-buffers | 3595 | (if old-buffers |
| 3596 | (setq old-buffers (delq (current-buffer) old-buffers))) | 3596 | (setq old-buffers (delq (current-buffer) old-buffers))) |
| 3597 | (if (fboundp 'set-specifier) ;; XEmacs | 3597 | (if (fboundp 'set-specifier) ;; XEmacs |
| 3598 | (set-specifier left-margin-width (cons (current-buffer) 2)) | 3598 | (set-specifier left-margin-width (cons (current-buffer) 2)) |
| @@ -3610,7 +3610,7 @@ Existing overlays are recycled, in order to minimize consumption." | |||
| 3610 | 3610 | ||
| 3611 | 3611 | ||
| 3612 | (defun idlwave-shell-make-new-bp-overlay (&optional type disabled help) | 3612 | (defun idlwave-shell-make-new-bp-overlay (&optional type disabled help) |
| 3613 | "Make a new overlay for highlighting breakpoints. | 3613 | "Make a new overlay for highlighting breakpoints. |
| 3614 | 3614 | ||
| 3615 | This stuff is strongly dependant upon the version of Emacs. If TYPE | 3615 | This stuff is strongly dependant upon the version of Emacs. If TYPE |
| 3616 | is passed, make an overlay of that type ('bp or 'bp-cond, currently | 3616 | is passed, make an overlay of that type ('bp or 'bp-cond, currently |
| @@ -3620,17 +3620,17 @@ text popup." | |||
| 3620 | (use-glyph (and (memq idlwave-shell-mark-breakpoints '(t glyph)) | 3620 | (use-glyph (and (memq idlwave-shell-mark-breakpoints '(t glyph)) |
| 3621 | idlwave-shell-bp-glyph)) | 3621 | idlwave-shell-bp-glyph)) |
| 3622 | (type (or type 'bp)) | 3622 | (type (or type 'bp)) |
| 3623 | (face (if disabled | 3623 | (face (if disabled |
| 3624 | idlwave-shell-disabled-breakpoint-face | 3624 | idlwave-shell-disabled-breakpoint-face |
| 3625 | idlwave-shell-breakpoint-face))) | 3625 | idlwave-shell-breakpoint-face))) |
| 3626 | (if (featurep 'xemacs) | 3626 | (if (featurep 'xemacs) |
| 3627 | ;; This is XEmacs | 3627 | ;; This is XEmacs |
| 3628 | (progn | 3628 | (progn |
| 3629 | (cond | 3629 | (cond |
| 3630 | ;; tty's cannot display glyphs | 3630 | ;; tty's cannot display glyphs |
| 3631 | ((eq (console-type) 'tty) | 3631 | ((eq (console-type) 'tty) |
| 3632 | (set-extent-property ov 'face face)) | 3632 | (set-extent-property ov 'face face)) |
| 3633 | 3633 | ||
| 3634 | ;; use the glyph | 3634 | ;; use the glyph |
| 3635 | (use-glyph | 3635 | (use-glyph |
| 3636 | (let ((glyph (cdr (assq type idlwave-shell-bp-glyph)))) | 3636 | (let ((glyph (cdr (assq type idlwave-shell-bp-glyph)))) |
| @@ -3651,13 +3651,13 @@ text popup." | |||
| 3651 | (if use-glyph | 3651 | (if use-glyph |
| 3652 | (let ((image-props (cdr (assq type idlwave-shell-bp-glyph))) | 3652 | (let ((image-props (cdr (assq type idlwave-shell-bp-glyph))) |
| 3653 | string) | 3653 | string) |
| 3654 | 3654 | ||
| 3655 | (if disabled (setq image-props | 3655 | (if disabled (setq image-props |
| 3656 | (append image-props | 3656 | (append image-props |
| 3657 | (list :conversion 'disabled)))) | 3657 | (list :conversion 'disabled)))) |
| 3658 | (setq string | 3658 | (setq string |
| 3659 | (propertize "@" | 3659 | (propertize "@" |
| 3660 | 'display | 3660 | 'display |
| 3661 | (list (list 'margin 'left-margin) | 3661 | (list (list 'margin 'left-margin) |
| 3662 | image-props) | 3662 | image-props) |
| 3663 | 'mouse-face 'highlight | 3663 | 'mouse-face 'highlight |
| @@ -3685,14 +3685,14 @@ text popup." | |||
| 3685 | Also with prefix arg, ask for the command. You can also use the command | 3685 | Also with prefix arg, ask for the command. You can also use the command |
| 3686 | `idlwave-shell-edit-default-command-line' to edit the line." | 3686 | `idlwave-shell-edit-default-command-line' to edit the line." |
| 3687 | (interactive "P") | 3687 | (interactive "P") |
| 3688 | (cond | 3688 | (cond |
| 3689 | ((equal arg '(16)) | 3689 | ((equal arg '(16)) |
| 3690 | (setq idlwave-shell-command-line-to-execute nil)) | 3690 | (setq idlwave-shell-command-line-to-execute nil)) |
| 3691 | ((equal arg '(4)) | 3691 | ((equal arg '(4)) |
| 3692 | (setq idlwave-shell-command-line-to-execute | 3692 | (setq idlwave-shell-command-line-to-execute |
| 3693 | (read-string "IDL> " idlwave-shell-command-line-to-execute)))) | 3693 | (read-string "IDL> " idlwave-shell-command-line-to-execute)))) |
| 3694 | (idlwave-shell-reset 'hidden) | 3694 | (idlwave-shell-reset 'hidden) |
| 3695 | (idlwave-shell-send-command | 3695 | (idlwave-shell-send-command |
| 3696 | (or idlwave-shell-command-line-to-execute | 3696 | (or idlwave-shell-command-line-to-execute |
| 3697 | (with-current-buffer (idlwave-shell-buffer) | 3697 | (with-current-buffer (idlwave-shell-buffer) |
| 3698 | (ring-ref comint-input-ring 0))) | 3698 | (ring-ref comint-input-ring 0))) |
| @@ -3702,7 +3702,7 @@ Also with prefix arg, ask for the command. You can also use the command | |||
| 3702 | "Save file and run it in IDL. | 3702 | "Save file and run it in IDL. |
| 3703 | Runs `save-buffer' and sends a '.RUN' command for the associated file to IDL. | 3703 | Runs `save-buffer' and sends a '.RUN' command for the associated file to IDL. |
| 3704 | When called from the shell buffer, re-run the file which was last handled by | 3704 | When called from the shell buffer, re-run the file which was last handled by |
| 3705 | one of the save-and-.. commands." | 3705 | one of the save-and-.. commands." |
| 3706 | (interactive) | 3706 | (interactive) |
| 3707 | (idlwave-shell-save-and-action 'run)) | 3707 | (idlwave-shell-save-and-action 'run)) |
| 3708 | 3708 | ||
| @@ -3718,7 +3718,7 @@ one of the save-and-.. commands." | |||
| 3718 | "Save file and batch it in IDL. | 3718 | "Save file and batch it in IDL. |
| 3719 | Runs `save-buffer' and sends a '@file' command for the associated file to IDL. | 3719 | Runs `save-buffer' and sends a '@file' command for the associated file to IDL. |
| 3720 | When called from the shell buffer, re-batch the file which was last handled by | 3720 | When called from the shell buffer, re-batch the file which was last handled by |
| 3721 | one of the save-and-.. commands." | 3721 | one of the save-and-.. commands." |
| 3722 | (interactive) | 3722 | (interactive) |
| 3723 | (idlwave-shell-save-and-action 'batch)) | 3723 | (idlwave-shell-save-and-action 'batch)) |
| 3724 | 3724 | ||
| @@ -3758,7 +3758,7 @@ handled by this command." | |||
| 3758 | 'idlwave-shell-maybe-update-routine-info | 3758 | 'idlwave-shell-maybe-update-routine-info |
| 3759 | (if (idlwave-shell-hide-p 'run) 'mostly) nil t) | 3759 | (if (idlwave-shell-hide-p 'run) 'mostly) nil t) |
| 3760 | (idlwave-shell-bp-query)) | 3760 | (idlwave-shell-bp-query)) |
| 3761 | (let ((msg (format "No such file %s" | 3761 | (let ((msg (format "No such file %s" |
| 3762 | idlwave-shell-last-save-and-action-file))) | 3762 | idlwave-shell-last-save-and-action-file))) |
| 3763 | (setq idlwave-shell-last-save-and-action-file nil) | 3763 | (setq idlwave-shell-last-save-and-action-file nil) |
| 3764 | (error msg)))) | 3764 | (error msg)))) |
| @@ -3791,7 +3791,7 @@ Queries IDL using the string in `idlwave-shell-sources-query'." | |||
| 3791 | 3791 | ||
| 3792 | (defun idlwave-shell-sources-filter () | 3792 | (defun idlwave-shell-sources-filter () |
| 3793 | "Get source files from `idlwave-shell-sources-query' output. | 3793 | "Get source files from `idlwave-shell-sources-query' output. |
| 3794 | Create `idlwave-shell-sources-alist' consisting of | 3794 | Create `idlwave-shell-sources-alist' consisting of |
| 3795 | list elements of the form: | 3795 | list elements of the form: |
| 3796 | (module name . (source-file-truename idlwave-internal-filename))." | 3796 | (module name . (source-file-truename idlwave-internal-filename))." |
| 3797 | (save-excursion | 3797 | (save-excursion |
| @@ -3876,9 +3876,9 @@ list elements of the form: | |||
| 3876 | (list | 3876 | (list |
| 3877 | (save-match-data | 3877 | (save-match-data |
| 3878 | (idlwave-shell-file-name | 3878 | (idlwave-shell-file-name |
| 3879 | (buffer-substring (match-beginning 1 ) | 3879 | (buffer-substring (match-beginning 1 ) |
| 3880 | (match-end 1)))) | 3880 | (match-end 1)))) |
| 3881 | (string-to-int | 3881 | (string-to-number |
| 3882 | (buffer-substring (match-beginning 2) | 3882 | (buffer-substring (match-beginning 2) |
| 3883 | (match-end 2))))) | 3883 | (match-end 2))))) |
| 3884 | ;; Try to find the column of the error | 3884 | ;; Try to find the column of the error |
| @@ -3943,13 +3943,13 @@ Otherwise, just expand the file name." | |||
| 3943 | 3943 | ||
| 3944 | ;; The mouse bindings for PRINT and HELP | 3944 | ;; The mouse bindings for PRINT and HELP |
| 3945 | (idlwave-shell-define-key-both | 3945 | (idlwave-shell-define-key-both |
| 3946 | (if (featurep 'xemacs) | 3946 | (if (featurep 'xemacs) |
| 3947 | [(shift button2)] | 3947 | [(shift button2)] |
| 3948 | [(shift down-mouse-2)]) | 3948 | [(shift down-mouse-2)]) |
| 3949 | 'idlwave-shell-mouse-print) | 3949 | 'idlwave-shell-mouse-print) |
| 3950 | (idlwave-shell-define-key-both | 3950 | (idlwave-shell-define-key-both |
| 3951 | (if (featurep 'xemacs) | 3951 | (if (featurep 'xemacs) |
| 3952 | [(control meta button2)] | 3952 | [(control meta button2)] |
| 3953 | [(control meta down-mouse-2)]) | 3953 | [(control meta down-mouse-2)]) |
| 3954 | 'idlwave-shell-mouse-help) | 3954 | 'idlwave-shell-mouse-help) |
| 3955 | (idlwave-shell-define-key-both | 3955 | (idlwave-shell-define-key-both |
| @@ -3958,14 +3958,14 @@ Otherwise, just expand the file name." | |||
| 3958 | [(control shift down-mouse-2)]) | 3958 | [(control shift down-mouse-2)]) |
| 3959 | 'idlwave-shell-examine-select) | 3959 | 'idlwave-shell-examine-select) |
| 3960 | ;; Add this one from the idlwave-mode-map | 3960 | ;; Add this one from the idlwave-mode-map |
| 3961 | (define-key idlwave-shell-mode-map | 3961 | (define-key idlwave-shell-mode-map |
| 3962 | (if (featurep 'xemacs) | 3962 | (if (featurep 'xemacs) |
| 3963 | [(shift button3)] | 3963 | [(shift button3)] |
| 3964 | [(shift mouse-3)]) | 3964 | [(shift mouse-3)]) |
| 3965 | 'idlwave-mouse-context-help) | 3965 | 'idlwave-mouse-context-help) |
| 3966 | 3966 | ||
| 3967 | ;; For Emacs, we need to turn off the button release events. | 3967 | ;; For Emacs, we need to turn off the button release events. |
| 3968 | (defun idlwave-shell-mouse-nop (event) | 3968 | (defun idlwave-shell-mouse-nop (event) |
| 3969 | (interactive "e")) | 3969 | (interactive "e")) |
| 3970 | (unless (featurep 'xemacs) | 3970 | (unless (featurep 'xemacs) |
| 3971 | (idlwave-shell-define-key-both | 3971 | (idlwave-shell-define-key-both |
| @@ -3975,7 +3975,7 @@ Otherwise, just expand the file name." | |||
| 3975 | (idlwave-shell-define-key-both | 3975 | (idlwave-shell-define-key-both |
| 3976 | [(control meta mouse-2)] 'idlwave-shell-mouse-nop)) | 3976 | [(control meta mouse-2)] 'idlwave-shell-mouse-nop)) |
| 3977 | 3977 | ||
| 3978 | 3978 | ||
| 3979 | ;; The following set of bindings is used to bind the debugging keys. | 3979 | ;; The following set of bindings is used to bind the debugging keys. |
| 3980 | ;; If `idlwave-shell-activate-prefix-keybindings' is non-nil, the | 3980 | ;; If `idlwave-shell-activate-prefix-keybindings' is non-nil, the |
| 3981 | ;; first key in the list gets bound the C-c C-d prefix map. If | 3981 | ;; first key in the list gets bound the C-c C-d prefix map. If |
| @@ -3984,10 +3984,10 @@ Otherwise, just expand the file name." | |||
| 3984 | ;; `idlwave-mode-map' and `idlwave-shell-mode-map'. The next list | 3984 | ;; `idlwave-mode-map' and `idlwave-shell-mode-map'. The next list |
| 3985 | ;; item, if non-nil, means to bind this as a single key in the | 3985 | ;; item, if non-nil, means to bind this as a single key in the |
| 3986 | ;; electric-debug-mode-map. | 3986 | ;; electric-debug-mode-map. |
| 3987 | ;; | 3987 | ;; |
| 3988 | ;; [C-c C-d]-binding debug-modifier-key command bind-electric-debug buf-only | 3988 | ;; [C-c C-d]-binding debug-modifier-key command bind-electric-debug buf-only |
| 3989 | ;; Used keys: abcdef hijklmnopqrstuvwxyz | 3989 | ;; Used keys: abcdef hijklmnopqrstuvwxyz |
| 3990 | ;; Unused keys: g | 3990 | ;; Unused keys: g |
| 3991 | (let* ((specs | 3991 | (let* ((specs |
| 3992 | '(([(control ?b)] ?b idlwave-shell-break-here t t) | 3992 | '(([(control ?b)] ?b idlwave-shell-break-here t t) |
| 3993 | ([(control ?i)] ?i idlwave-shell-break-in t t) | 3993 | ([(control ?i)] ?i idlwave-shell-break-in t t) |
| @@ -4037,10 +4037,10 @@ Otherwise, just expand the file name." | |||
| 4037 | electric (nth 3 s) | 4037 | electric (nth 3 s) |
| 4038 | only-buffer (nth 4 s) | 4038 | only-buffer (nth 4 s) |
| 4039 | cannotshift (and shift (char-valid-p c2) (eq c2 (upcase c2)))) | 4039 | cannotshift (and shift (char-valid-p c2) (eq c2 (upcase c2)))) |
| 4040 | 4040 | ||
| 4041 | ;; The regular prefix keymap. | 4041 | ;; The regular prefix keymap. |
| 4042 | (when (and idlwave-shell-activate-prefix-keybindings k1) | 4042 | (when (and idlwave-shell-activate-prefix-keybindings k1) |
| 4043 | (unless only-buffer | 4043 | (unless only-buffer |
| 4044 | (define-key idlwave-shell-mode-prefix-map k1 cmd)) | 4044 | (define-key idlwave-shell-mode-prefix-map k1 cmd)) |
| 4045 | (define-key idlwave-mode-prefix-map k1 cmd)) | 4045 | (define-key idlwave-mode-prefix-map k1 cmd)) |
| 4046 | ;; The debug modifier map | 4046 | ;; The debug modifier map |
| @@ -4054,24 +4054,24 @@ Otherwise, just expand the file name." | |||
| 4054 | (unless only-buffer (define-key idlwave-shell-mode-map k2 cmd)))) | 4054 | (unless only-buffer (define-key idlwave-shell-mode-map k2 cmd)))) |
| 4055 | ;; The electric debug single-keystroke map | 4055 | ;; The electric debug single-keystroke map |
| 4056 | (if (and electric (char-or-string-p c2)) | 4056 | (if (and electric (char-or-string-p c2)) |
| 4057 | (define-key idlwave-shell-electric-debug-mode-map (char-to-string c2) | 4057 | (define-key idlwave-shell-electric-debug-mode-map (char-to-string c2) |
| 4058 | cmd)))) | 4058 | cmd)))) |
| 4059 | 4059 | ||
| 4060 | ;; A few extras in the electric debug map | 4060 | ;; A few extras in the electric debug map |
| 4061 | (define-key idlwave-shell-electric-debug-mode-map " " 'idlwave-shell-step) | 4061 | (define-key idlwave-shell-electric-debug-mode-map " " 'idlwave-shell-step) |
| 4062 | (define-key idlwave-shell-electric-debug-mode-map "+" 'idlwave-shell-stack-up) | 4062 | (define-key idlwave-shell-electric-debug-mode-map "+" 'idlwave-shell-stack-up) |
| 4063 | (define-key idlwave-shell-electric-debug-mode-map "=" 'idlwave-shell-stack-up) | 4063 | (define-key idlwave-shell-electric-debug-mode-map "=" 'idlwave-shell-stack-up) |
| 4064 | (define-key idlwave-shell-electric-debug-mode-map "-" | 4064 | (define-key idlwave-shell-electric-debug-mode-map "-" |
| 4065 | 'idlwave-shell-stack-down) | 4065 | 'idlwave-shell-stack-down) |
| 4066 | (define-key idlwave-shell-electric-debug-mode-map "_" | 4066 | (define-key idlwave-shell-electric-debug-mode-map "_" |
| 4067 | 'idlwave-shell-stack-down) | 4067 | 'idlwave-shell-stack-down) |
| 4068 | (define-key idlwave-shell-electric-debug-mode-map "q" 'idlwave-shell-retall) | 4068 | (define-key idlwave-shell-electric-debug-mode-map "q" 'idlwave-shell-retall) |
| 4069 | (define-key idlwave-shell-electric-debug-mode-map "t" | 4069 | (define-key idlwave-shell-electric-debug-mode-map "t" |
| 4070 | '(lambda () (interactive) (idlwave-shell-send-command "help,/TRACE"))) | 4070 | '(lambda () (interactive) (idlwave-shell-send-command "help,/TRACE"))) |
| 4071 | (define-key idlwave-shell-electric-debug-mode-map [(control ??)] | 4071 | (define-key idlwave-shell-electric-debug-mode-map [(control ??)] |
| 4072 | 'idlwave-shell-electric-debug-help) | 4072 | 'idlwave-shell-electric-debug-help) |
| 4073 | (define-key idlwave-shell-electric-debug-mode-map "x" | 4073 | (define-key idlwave-shell-electric-debug-mode-map "x" |
| 4074 | '(lambda (arg) (interactive "P") | 4074 | '(lambda (arg) (interactive "P") |
| 4075 | (idlwave-shell-print arg nil nil t))) | 4075 | (idlwave-shell-print arg nil nil t))) |
| 4076 | 4076 | ||
| 4077 | 4077 | ||
| @@ -4092,12 +4092,12 @@ Otherwise, just expand the file name." | |||
| 4092 | (setq idlwave-shell-suppress-electric-debug nil)) | 4092 | (setq idlwave-shell-suppress-electric-debug nil)) |
| 4093 | (idlwave-shell-electric-debug-mode)) | 4093 | (idlwave-shell-electric-debug-mode)) |
| 4094 | 4094 | ||
| 4095 | (defvar idlwave-shell-electric-debug-read-only) | 4095 | (defvar idlwave-shell-electric-debug-read-only) |
| 4096 | (defvar idlwave-shell-electric-debug-buffers nil) | 4096 | (defvar idlwave-shell-electric-debug-buffers nil) |
| 4097 | 4097 | ||
| 4098 | (easy-mmode-define-minor-mode idlwave-shell-electric-debug-mode | 4098 | (easy-mmode-define-minor-mode idlwave-shell-electric-debug-mode |
| 4099 | "Toggle Electric Debug mode. | 4099 | "Toggle Electric Debug mode. |
| 4100 | With no argument, this command toggles the mode. | 4100 | With no argument, this command toggles the mode. |
| 4101 | Non-null prefix argument turns on the mode. | 4101 | Non-null prefix argument turns on the mode. |
| 4102 | Null prefix argument turns off the mode. | 4102 | Null prefix argument turns off the mode. |
| 4103 | 4103 | ||
| @@ -4107,7 +4107,7 @@ nil | |||
| 4107 | " *Debugging*" | 4107 | " *Debugging*" |
| 4108 | idlwave-shell-electric-debug-mode-map) | 4108 | idlwave-shell-electric-debug-mode-map) |
| 4109 | 4109 | ||
| 4110 | (add-hook | 4110 | (add-hook |
| 4111 | 'idlwave-shell-electric-debug-mode-on-hook | 4111 | 'idlwave-shell-electric-debug-mode-on-hook |
| 4112 | (lambda () | 4112 | (lambda () |
| 4113 | (set (make-local-variable 'idlwave-shell-electric-debug-read-only) | 4113 | (set (make-local-variable 'idlwave-shell-electric-debug-read-only) |
| @@ -4115,13 +4115,13 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4115 | (setq buffer-read-only t) | 4115 | (setq buffer-read-only t) |
| 4116 | (add-to-list 'idlwave-shell-electric-debug-buffers (current-buffer)) | 4116 | (add-to-list 'idlwave-shell-electric-debug-buffers (current-buffer)) |
| 4117 | (if idlwave-shell-stop-line-overlay | 4117 | (if idlwave-shell-stop-line-overlay |
| 4118 | (overlay-put idlwave-shell-stop-line-overlay 'face | 4118 | (overlay-put idlwave-shell-stop-line-overlay 'face |
| 4119 | idlwave-shell-electric-stop-line-face)) | 4119 | idlwave-shell-electric-stop-line-face)) |
| 4120 | (if (facep 'fringe) | 4120 | (if (facep 'fringe) |
| 4121 | (set-face-foreground 'fringe idlwave-shell-electric-stop-color | 4121 | (set-face-foreground 'fringe idlwave-shell-electric-stop-color |
| 4122 | (selected-frame))))) | 4122 | (selected-frame))))) |
| 4123 | 4123 | ||
| 4124 | (add-hook | 4124 | (add-hook |
| 4125 | 'idlwave-shell-electric-debug-mode-off-hook | 4125 | 'idlwave-shell-electric-debug-mode-off-hook |
| 4126 | (lambda () | 4126 | (lambda () |
| 4127 | ;; Return to previous read-only state | 4127 | ;; Return to previous read-only state |
| @@ -4130,7 +4130,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4130 | (setq idlwave-shell-electric-debug-buffers | 4130 | (setq idlwave-shell-electric-debug-buffers |
| 4131 | (delq (current-buffer) idlwave-shell-electric-debug-buffers)) | 4131 | (delq (current-buffer) idlwave-shell-electric-debug-buffers)) |
| 4132 | (if idlwave-shell-stop-line-overlay | 4132 | (if idlwave-shell-stop-line-overlay |
| 4133 | (overlay-put idlwave-shell-stop-line-overlay 'face | 4133 | (overlay-put idlwave-shell-stop-line-overlay 'face |
| 4134 | idlwave-shell-stop-line-face) | 4134 | idlwave-shell-stop-line-face) |
| 4135 | (if (facep 'fringe) | 4135 | (if (facep 'fringe) |
| 4136 | (set-face-foreground 'fringe (face-foreground 'default)))))) | 4136 | (set-face-foreground 'fringe (face-foreground 'default)))))) |
| @@ -4161,7 +4161,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4161 | ;; Show the help text | 4161 | ;; Show the help text |
| 4162 | (defun idlwave-shell-electric-debug-help () | 4162 | (defun idlwave-shell-electric-debug-help () |
| 4163 | (interactive) | 4163 | (interactive) |
| 4164 | (with-output-to-temp-buffer "*IDLWAVE Electric Debug Help*" | 4164 | (with-output-to-temp-buffer "*IDLWAVE Electric Debug Help*" |
| 4165 | (princ idlwave-shell-electric-debug-help)) | 4165 | (princ idlwave-shell-electric-debug-help)) |
| 4166 | (let* ((current-window (selected-window)) | 4166 | (let* ((current-window (selected-window)) |
| 4167 | (window (get-buffer-window "*IDLWAVE Electric Debug Help*")) | 4167 | (window (get-buffer-window "*IDLWAVE Electric Debug Help*")) |
| @@ -4176,7 +4176,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4176 | `("Debug" | 4176 | `("Debug" |
| 4177 | ["Electric Debug Mode" | 4177 | ["Electric Debug Mode" |
| 4178 | idlwave-shell-electric-debug-mode | 4178 | idlwave-shell-electric-debug-mode |
| 4179 | :style toggle :selected idlwave-shell-electric-debug-mode | 4179 | :style toggle :selected idlwave-shell-electric-debug-mode |
| 4180 | :included (eq major-mode 'idlwave-mode) :keys "C-c C-d C-v"] | 4180 | :included (eq major-mode 'idlwave-mode) :keys "C-c C-d C-v"] |
| 4181 | "--" | 4181 | "--" |
| 4182 | ("Compile & Run" | 4182 | ("Compile & Run" |
| @@ -4192,35 +4192,35 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4192 | "--" | 4192 | "--" |
| 4193 | ["Goto Next Error" idlwave-shell-goto-next-error t] | 4193 | ["Goto Next Error" idlwave-shell-goto-next-error t] |
| 4194 | "--" | 4194 | "--" |
| 4195 | ["Compile and Run Region" idlwave-shell-run-region | 4195 | ["Compile and Run Region" idlwave-shell-run-region |
| 4196 | (eq major-mode 'idlwave-mode)] | 4196 | (eq major-mode 'idlwave-mode)] |
| 4197 | ["Evaluate Region" idlwave-shell-evaluate-region | 4197 | ["Evaluate Region" idlwave-shell-evaluate-region |
| 4198 | (eq major-mode 'idlwave-mode)] | 4198 | (eq major-mode 'idlwave-mode)] |
| 4199 | "--" | 4199 | "--" |
| 4200 | ["Execute Default Cmd" idlwave-shell-execute-default-command-line t] | 4200 | ["Execute Default Cmd" idlwave-shell-execute-default-command-line t] |
| 4201 | ["Edit Default Cmd" idlwave-shell-edit-default-command-line t]) | 4201 | ["Edit Default Cmd" idlwave-shell-edit-default-command-line t]) |
| 4202 | ("Breakpoints" | 4202 | ("Breakpoints" |
| 4203 | ["Set Breakpoint" idlwave-shell-break-here | 4203 | ["Set Breakpoint" idlwave-shell-break-here |
| 4204 | :keys "C-c C-d C-c" :active (eq major-mode 'idlwave-mode)] | 4204 | :keys "C-c C-d C-c" :active (eq major-mode 'idlwave-mode)] |
| 4205 | ("Set Special Breakpoint" | 4205 | ("Set Special Breakpoint" |
| 4206 | ["Set After Count Breakpoint" | 4206 | ["Set After Count Breakpoint" |
| 4207 | (progn | 4207 | (progn |
| 4208 | (let ((count (string-to-int (read-string "Break after count: ")))) | 4208 | (let ((count (string-to-number (read-string "Break after count: ")))) |
| 4209 | (if (integerp count) (idlwave-shell-break-here count)))) | 4209 | (if (integerp count) (idlwave-shell-break-here count)))) |
| 4210 | :active (eq major-mode 'idlwave-mode)] | 4210 | :active (eq major-mode 'idlwave-mode)] |
| 4211 | ["Set Condition Breakpoint" | 4211 | ["Set Condition Breakpoint" |
| 4212 | (idlwave-shell-break-here '(4)) | 4212 | (idlwave-shell-break-here '(4)) |
| 4213 | :active (eq major-mode 'idlwave-mode)]) | 4213 | :active (eq major-mode 'idlwave-mode)]) |
| 4214 | ["Break in Module" idlwave-shell-break-in | 4214 | ["Break in Module" idlwave-shell-break-in |
| 4215 | :keys "C-c C-d C-i" :active (eq major-mode 'idlwave-mode)] | 4215 | :keys "C-c C-d C-i" :active (eq major-mode 'idlwave-mode)] |
| 4216 | ["Break in this Module" idlwave-shell-break-this-module | 4216 | ["Break in this Module" idlwave-shell-break-this-module |
| 4217 | :keys "C-c C-d C-j" :active (eq major-mode 'idlwave-mode)] | 4217 | :keys "C-c C-d C-j" :active (eq major-mode 'idlwave-mode)] |
| 4218 | ["Clear Breakpoint" idlwave-shell-clear-current-bp t] | 4218 | ["Clear Breakpoint" idlwave-shell-clear-current-bp t] |
| 4219 | ["Clear All Breakpoints" idlwave-shell-clear-all-bp t] | 4219 | ["Clear All Breakpoints" idlwave-shell-clear-all-bp t] |
| 4220 | ["Disable/Enable Breakpoint" idlwave-shell-toggle-enable-current-bp t] | 4220 | ["Disable/Enable Breakpoint" idlwave-shell-toggle-enable-current-bp t] |
| 4221 | ["Goto Previous Breakpoint" idlwave-shell-goto-previous-bp | 4221 | ["Goto Previous Breakpoint" idlwave-shell-goto-previous-bp |
| 4222 | :keys "C-c C-d [" :active (eq major-mode 'idlwave-mode)] | 4222 | :keys "C-c C-d [" :active (eq major-mode 'idlwave-mode)] |
| 4223 | ["Goto Next Breakpoint" idlwave-shell-goto-next-bp | 4223 | ["Goto Next Breakpoint" idlwave-shell-goto-next-bp |
| 4224 | :keys "C-c C-d ]" :active (eq major-mode 'idlwave-mode)] | 4224 | :keys "C-c C-d ]" :active (eq major-mode 'idlwave-mode)] |
| 4225 | ["List All Breakpoints" idlwave-shell-list-all-bp t] | 4225 | ["List All Breakpoints" idlwave-shell-list-all-bp t] |
| 4226 | ["Resync Breakpoints" idlwave-shell-bp-query t]) | 4226 | ["Resync Breakpoints" idlwave-shell-bp-query t]) |
| @@ -4252,38 +4252,38 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4252 | ["Redisplay and Sync" idlwave-shell-redisplay t]) | 4252 | ["Redisplay and Sync" idlwave-shell-redisplay t]) |
| 4253 | ("Show Commands" | 4253 | ("Show Commands" |
| 4254 | ["Everything" (if (eq idlwave-shell-show-commands 'everything) | 4254 | ["Everything" (if (eq idlwave-shell-show-commands 'everything) |
| 4255 | (progn | 4255 | (progn |
| 4256 | (setq idlwave-shell-show-commands | 4256 | (setq idlwave-shell-show-commands |
| 4257 | (get 'idlwave-shell-show-commands 'last-val)) | 4257 | (get 'idlwave-shell-show-commands 'last-val)) |
| 4258 | (put 'idlwave-shell-show-commands 'last-val nil)) | 4258 | (put 'idlwave-shell-show-commands 'last-val nil)) |
| 4259 | (put 'idlwave-shell-show-commands 'last-val | 4259 | (put 'idlwave-shell-show-commands 'last-val |
| 4260 | idlwave-shell-show-commands) | 4260 | idlwave-shell-show-commands) |
| 4261 | (setq idlwave-shell-show-commands 'everything)) | 4261 | (setq idlwave-shell-show-commands 'everything)) |
| 4262 | :style toggle :selected (and (not (listp idlwave-shell-show-commands)) | 4262 | :style toggle :selected (and (not (listp idlwave-shell-show-commands)) |
| 4263 | (eq idlwave-shell-show-commands | 4263 | (eq idlwave-shell-show-commands |
| 4264 | 'everything))] | 4264 | 'everything))] |
| 4265 | "--" | 4265 | "--" |
| 4266 | ["Compiling Commands" (idlwave-shell-add-or-remove-show 'run) | 4266 | ["Compiling Commands" (idlwave-shell-add-or-remove-show 'run) |
| 4267 | :style toggle | 4267 | :style toggle |
| 4268 | :selected (not (idlwave-shell-hide-p | 4268 | :selected (not (idlwave-shell-hide-p |
| 4269 | 'run | 4269 | 'run |
| 4270 | (get 'idlwave-shell-show-commands 'last-val))) | 4270 | (get 'idlwave-shell-show-commands 'last-val))) |
| 4271 | :active (not (eq idlwave-shell-show-commands 'everything))] | 4271 | :active (not (eq idlwave-shell-show-commands 'everything))] |
| 4272 | ["Breakpoint Commands" (idlwave-shell-add-or-remove-show 'breakpoint) | 4272 | ["Breakpoint Commands" (idlwave-shell-add-or-remove-show 'breakpoint) |
| 4273 | :style toggle | 4273 | :style toggle |
| 4274 | :selected (not (idlwave-shell-hide-p | 4274 | :selected (not (idlwave-shell-hide-p |
| 4275 | 'breakpoint | 4275 | 'breakpoint |
| 4276 | (get 'idlwave-shell-show-commands 'last-val))) | 4276 | (get 'idlwave-shell-show-commands 'last-val))) |
| 4277 | :active (not (eq idlwave-shell-show-commands 'everything))] | 4277 | :active (not (eq idlwave-shell-show-commands 'everything))] |
| 4278 | ["Debug Commands" (idlwave-shell-add-or-remove-show 'debug) | 4278 | ["Debug Commands" (idlwave-shell-add-or-remove-show 'debug) |
| 4279 | :style toggle | 4279 | :style toggle |
| 4280 | :selected (not (idlwave-shell-hide-p | 4280 | :selected (not (idlwave-shell-hide-p |
| 4281 | 'debug | 4281 | 'debug |
| 4282 | (get 'idlwave-shell-show-commands 'last-val))) | 4282 | (get 'idlwave-shell-show-commands 'last-val))) |
| 4283 | :active (not (eq idlwave-shell-show-commands 'everything))] | 4283 | :active (not (eq idlwave-shell-show-commands 'everything))] |
| 4284 | ["Miscellaneous Commands" (idlwave-shell-add-or-remove-show 'misc) | 4284 | ["Miscellaneous Commands" (idlwave-shell-add-or-remove-show 'misc) |
| 4285 | :style toggle | 4285 | :style toggle |
| 4286 | :selected (not (idlwave-shell-hide-p | 4286 | :selected (not (idlwave-shell-hide-p |
| 4287 | 'misc | 4287 | 'misc |
| 4288 | (get 'idlwave-shell-show-commands 'last-val))) | 4288 | (get 'idlwave-shell-show-commands 'last-val))) |
| 4289 | :active (not (eq idlwave-shell-show-commands 'everything))]) | 4289 | :active (not (eq idlwave-shell-show-commands 'everything))]) |
| @@ -4297,7 +4297,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4297 | :style toggle :selected idlwave-shell-use-input-mode-magic]) | 4297 | :style toggle :selected idlwave-shell-use-input-mode-magic]) |
| 4298 | "--" | 4298 | "--" |
| 4299 | ["Update Working Dir" idlwave-shell-resync-dirs t] | 4299 | ["Update Working Dir" idlwave-shell-resync-dirs t] |
| 4300 | ["Save Path Info" | 4300 | ["Save Path Info" |
| 4301 | (idlwave-shell-send-command idlwave-shell-path-query | 4301 | (idlwave-shell-send-command idlwave-shell-path-query |
| 4302 | 'idlwave-shell-get-path-info | 4302 | 'idlwave-shell-get-path-info |
| 4303 | 'hide) | 4303 | 'hide) |
| @@ -4309,7 +4309,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4309 | 4309 | ||
| 4310 | (if (or (featurep 'easymenu) (load "easymenu" t)) | 4310 | (if (or (featurep 'easymenu) (load "easymenu" t)) |
| 4311 | (progn | 4311 | (progn |
| 4312 | (easy-menu-define | 4312 | (easy-menu-define |
| 4313 | idlwave-mode-debug-menu idlwave-mode-map "IDL debugging menus" | 4313 | idlwave-mode-debug-menu idlwave-mode-map "IDL debugging menus" |
| 4314 | idlwave-shell-menu-def) | 4314 | idlwave-shell-menu-def) |
| 4315 | (easy-menu-define | 4315 | (easy-menu-define |
| @@ -4329,7 +4329,7 @@ idlwave-shell-electric-debug-mode-map) | |||
| 4329 | (defvar idlwave-shell-bp-glyph nil | 4329 | (defvar idlwave-shell-bp-glyph nil |
| 4330 | "The glyphs to mark breakpoint lines in the source code.") | 4330 | "The glyphs to mark breakpoint lines in the source code.") |
| 4331 | 4331 | ||
| 4332 | (let ((image-alist | 4332 | (let ((image-alist |
| 4333 | '((bp . "/* XPM */ | 4333 | '((bp . "/* XPM */ |
| 4334 | static char * file[] = { | 4334 | static char * file[] = { |
| 4335 | \"14 12 3 1\", | 4335 | \"14 12 3 1\", |
| @@ -4462,7 +4462,7 @@ static char * file[] = { | |||
| 4462 | \" .XXXX. \", | 4462 | \" .XXXX. \", |
| 4463 | \" .... \", | 4463 | \" .... \", |
| 4464 | \" \"};"))) im-cons im) | 4464 | \" \"};"))) im-cons im) |
| 4465 | 4465 | ||
| 4466 | (while (setq im-cons (pop image-alist)) | 4466 | (while (setq im-cons (pop image-alist)) |
| 4467 | (setq im (cond ((and (featurep 'xemacs) | 4467 | (setq im (cond ((and (featurep 'xemacs) |
| 4468 | (featurep 'xpm)) | 4468 | (featurep 'xpm)) |
| @@ -4475,7 +4475,7 @@ static char * file[] = { | |||
| 4475 | ((and (not (featurep 'xemacs)) | 4475 | ((and (not (featurep 'xemacs)) |
| 4476 | (fboundp 'image-type-available-p) | 4476 | (fboundp 'image-type-available-p) |
| 4477 | (image-type-available-p 'xpm)) | 4477 | (image-type-available-p 'xpm)) |
| 4478 | (list 'image :type 'xpm :data (cdr im-cons) | 4478 | (list 'image :type 'xpm :data (cdr im-cons) |
| 4479 | :ascent 'center)) | 4479 | :ascent 'center)) |
| 4480 | (t nil))) | 4480 | (t nil))) |
| 4481 | (if im (push (cons (car im-cons) im) idlwave-shell-bp-glyph)))) | 4481 | (if im (push (cons (car im-cons) im) idlwave-shell-bp-glyph)))) |
| @@ -4485,7 +4485,7 @@ static char * file[] = { | |||
| 4485 | 4485 | ||
| 4486 | ;;; Load the toolbar when wanted by the user. | 4486 | ;;; Load the toolbar when wanted by the user. |
| 4487 | 4487 | ||
| 4488 | (autoload 'idlwave-toolbar-toggle "idlw-toolbar" | 4488 | (autoload 'idlwave-toolbar-toggle "idlw-toolbar" |
| 4489 | "Toggle the IDLWAVE toolbar") | 4489 | "Toggle the IDLWAVE toolbar") |
| 4490 | (autoload 'idlwave-toolbar-add-everywhere "idlw-toolbar" | 4490 | (autoload 'idlwave-toolbar-add-everywhere "idlw-toolbar" |
| 4491 | "Add IDLWAVE toolbar") | 4491 | "Add IDLWAVE toolbar") |
diff --git a/lisp/progmodes/inf-lisp.el b/lisp/progmodes/inf-lisp.el index 083d87f581c..13bc7f08999 100644 --- a/lisp/progmodes/inf-lisp.el +++ b/lisp/progmodes/inf-lisp.el | |||
| @@ -214,10 +214,8 @@ processes, you can change `inferior-lisp-buffer' to another process | |||
| 214 | buffer with \\[set-variable].") | 214 | buffer with \\[set-variable].") |
| 215 | 215 | ||
| 216 | ;;;###autoload | 216 | ;;;###autoload |
| 217 | (defcustom inferior-lisp-mode-hook '() | 217 | (defvar inferior-lisp-mode-hook '() |
| 218 | "*Hook for customising Inferior Lisp mode." | 218 | "*Hook for customising Inferior Lisp mode.") |
| 219 | :type 'hook | ||
| 220 | :group 'inferior-lisp) | ||
| 221 | 219 | ||
| 222 | (put 'inferior-lisp-mode 'mode-class 'special) | 220 | (put 'inferior-lisp-mode 'mode-class 'special) |
| 223 | 221 | ||
| @@ -590,10 +588,8 @@ See variable `lisp-describe-sym-command'." | |||
| 590 | 588 | ||
| 591 | ;;; Do the user's customisation... | 589 | ;;; Do the user's customisation... |
| 592 | ;;;=============================== | 590 | ;;;=============================== |
| 593 | (defcustom inferior-lisp-load-hook nil | 591 | (defvar inferior-lisp-load-hook nil |
| 594 | "This hook is run when the library `inf-lisp' is loaded." | 592 | "This hook is run when the library `inf-lisp' is loaded.") |
| 595 | :type 'hook | ||
| 596 | :group 'inferior-lisp) | ||
| 597 | 593 | ||
| 598 | (run-hooks 'inferior-lisp-load-hook) | 594 | (run-hooks 'inferior-lisp-load-hook) |
| 599 | 595 | ||
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el index 7c1ccb25fb0..86002768757 100644 --- a/lisp/progmodes/make-mode.el +++ b/lisp/progmodes/make-mode.el | |||
| @@ -100,12 +100,35 @@ | |||
| 100 | :prefix "makefile-") | 100 | :prefix "makefile-") |
| 101 | 101 | ||
| 102 | (defface makefile-space-face | 102 | (defface makefile-space-face |
| 103 | '((((class color)) (:background "hotpink")) | 103 | '((((class color)) (:background "hotpink")) |
| 104 | (t (:reverse-video t))) | 104 | (t (:reverse-video t))) |
| 105 | "Face to use for highlighting leading spaces in Font-Lock mode." | 105 | "Face to use for highlighting leading spaces in Font-Lock mode." |
| 106 | :group 'faces | 106 | :group 'faces |
| 107 | :group 'makefile) | 107 | :group 'makefile) |
| 108 | 108 | ||
| 109 | (defface makefile-targets-face | ||
| 110 | ;; This needs to go along both with foreground and background colors (i.e. shell) | ||
| 111 | '((t (:underline t))) | ||
| 112 | "Face to use for additionally highlighting rule targets in Font-Lock mode." | ||
| 113 | :group 'faces | ||
| 114 | :group 'makefile) | ||
| 115 | |||
| 116 | (defface makefile-shell-face | ||
| 117 | '((((class color) (background light)) (:background "seashell1")) | ||
| 118 | (((class color) (background dark)) (:background "seashell4")) | ||
| 119 | (t (:reverse-video t))) | ||
| 120 | "Face to use for additionally highlighting Shell commands in Font-Lock mode." | ||
| 121 | :group 'faces | ||
| 122 | :group 'makefile) | ||
| 123 | |||
| 124 | (defface makefile-makepp-perl-face | ||
| 125 | '((((class color) (background light)) (:background "LightBlue1")) ; Camel Book | ||
| 126 | (((class color) (background dark)) (:background "DarkBlue")) | ||
| 127 | (t (:reverse-video t))) | ||
| 128 | "Face to use for additionally highlighting Perl code in Font-Lock mode." | ||
| 129 | :group 'faces | ||
| 130 | :group 'makefile) | ||
| 131 | |||
| 109 | (defcustom makefile-browser-buffer-name "*Macros and Targets*" | 132 | (defcustom makefile-browser-buffer-name "*Macros and Targets*" |
| 110 | "*Name of the macro- and target browser buffer." | 133 | "*Name of the macro- and target browser buffer." |
| 111 | :type 'string | 134 | :type 'string |
| @@ -234,17 +257,29 @@ not be enclosed in { } or ( )." | |||
| 234 | ;; Note that the first big subexpression is used by font lock. Note | 257 | ;; Note that the first big subexpression is used by font lock. Note |
| 235 | ;; that if you change this regexp you might have to fix the imenu | 258 | ;; that if you change this regexp you might have to fix the imenu |
| 236 | ;; index in makefile-imenu-generic-expression. | 259 | ;; index in makefile-imenu-generic-expression. |
| 237 | (defconst makefile-dependency-regex | 260 | (defvar makefile-dependency-regex |
| 238 | "^ *\\([^ \n\t#:=]+\\([ \t]+\\([^ \t\n#:=]+\\|\\$[({][^ \t\n#})]+[})]\\)\\)*\\)[ \t]*:\\([ \t]*$\\|\\([^=\n].*$\\)\\)" | 261 | ;; Allow for two nested levels $(v1:$(v2:$(v3:a=b)=c)=d) |
| 262 | "^ *\\(\\(?: *\\$\\(?:[({]\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[^({]\\|.[^\n$#})]+?[})]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\| *[^ \n$#:=]+\\)+?\\)[ \t]*\\(:\\)\\(?:[ \t]*$\\|[^=\n]\\(?:[^#\n]*?;[ \t]*\\(.+\\)\\)?\\)" | ||
| 239 | "Regex used to find dependency lines in a makefile.") | 263 | "Regex used to find dependency lines in a makefile.") |
| 240 | 264 | ||
| 241 | ;; Note that the first subexpression is used by font lock. Note | 265 | (defvar makefile-dependency-skip "^:" |
| 242 | ;; that if you change this regexp you might have to fix the imenu | 266 | "Characters to skip to find a line that might be a dependency.") |
| 243 | ;; index in makefile-imenu-generic-expression. | 267 | |
| 268 | (defvar makefile-rule-action-regex | ||
| 269 | "^\t[ \t]*\\([-@]*\\)[ \t]*\\(\\(?:.+\\\\\n\\)*.+\\)" | ||
| 270 | "Regex used to highlight rule action lines in font lock mode.") | ||
| 271 | |||
| 272 | ;; Note that the first and second subexpression is used by font lock. Note | ||
| 273 | ;; that if you change this regexp you might have to fix the imenu index in | ||
| 274 | ;; makefile-imenu-generic-expression. | ||
| 244 | (defconst makefile-macroassign-regex | 275 | (defconst makefile-macroassign-regex |
| 245 | "^ *\\([^ \n\t][^:#= \t\n]*\\)[ \t]*[*:+]?[:?]?=" | 276 | "^ *\\([^ \n\t][^:#= \t\n]*\\)[ \t]*\\(?:!=[ \t]*\\(\\(?:.+\\\\\n\\)*.+\\)\\|[*:+]?[:?]?=[ \t]*\\(\\(?:.+\\\\\n\\)*.+\\)\\)" |
| 246 | "Regex used to find macro assignment lines in a makefile.") | 277 | "Regex used to find macro assignment lines in a makefile.") |
| 247 | 278 | ||
| 279 | (defconst makefile-var-use-regex | ||
| 280 | "[^$]\\$[({]\\([-a-zA-Z0-9_.]+\\|[@%<?^+*][FD]?\\)" | ||
| 281 | "Regex used to find $(macro) uses in a makefile.") | ||
| 282 | |||
| 248 | (defconst makefile-ignored-files-in-pickup-regex | 283 | (defconst makefile-ignored-files-in-pickup-regex |
| 249 | "\\(^\\..*\\)\\|\\(.*~$\\)\\|\\(.*,v$\\)\\|\\(\\.[chy]\\)" | 284 | "\\(^\\..*\\)\\|\\(.*~$\\)\\|\\(.*,v$\\)\\|\\(\\.[chy]\\)" |
| 250 | "Regex for filenames that will NOT be included in the target list.") | 285 | "Regex for filenames that will NOT be included in the target list.") |
| @@ -254,50 +289,189 @@ not be enclosed in { } or ( )." | |||
| 254 | (defvar makefile-space-face 'makefile-space-face | 289 | (defvar makefile-space-face 'makefile-space-face |
| 255 | "Face to use for highlighting leading spaces in Font-Lock mode.") | 290 | "Face to use for highlighting leading spaces in Font-Lock mode.") |
| 256 | 291 | ||
| 257 | (defconst makefile-font-lock-keywords | 292 | ;; These lists were inspired by the old solution. But they are silly, because |
| 258 | (list | 293 | ;; you can't differentiate what follows. They need to be split up. |
| 294 | (defconst makefile-statements '("include") | ||
| 295 | "List of keywords understood by standard make.") | ||
| 296 | |||
| 297 | (defconst makefile-automake-statements | ||
| 298 | `("if" "else" "endif" ,@makefile-statements) | ||
| 299 | "List of keywords understood by automake.") | ||
| 300 | |||
| 301 | (defconst makefile-gmake-statements | ||
| 302 | `("-sinclude" "sinclude" "override" "vpath" | ||
| 303 | "ifdef" "ifndef" "ifeq" "ifneq" "-include" "define" "endef" "export" | ||
| 304 | "unexport" | ||
| 305 | ,@(cdr makefile-automake-statements)) | ||
| 306 | "List of keywords understood by gmake.") | ||
| 307 | |||
| 308 | ;; These are even more silly, because you can have more spaces in between. | ||
| 309 | (defconst makefile-makepp-statements | ||
| 310 | `("and ifdef" "and ifndef" "and ifeq" "and ifneq" "and ifperl" | ||
| 311 | "and ifmakeperl" "and ifsys" "and ifnsys" "build_cache" "build_check" | ||
| 312 | "else ifdef" "else ifndef" "else ifeq" "else ifneq" "else ifperl" | ||
| 313 | "else ifmakeperl" "else ifsys" "else ifnsys" "enddef" "load_makefile" | ||
| 314 | "ifperl" "ifmakeperl" "ifsys" "ifnsys" "_include" "makeperl" "makesub" | ||
| 315 | "no_implicit_load" "perl" "perl-begin" "perl_begin" "perl-end" "perl_end" | ||
| 316 | "prebuild" "or ifdef" "or ifndef" "or ifeq" "or ifneq" "or ifperl" | ||
| 317 | "or ifmakeperl" "or ifsys" "or ifnsys" "register_command_parser" | ||
| 318 | "register_scanner" "repository" "runtime" "signature" "sub" | ||
| 319 | ,@(nthcdr 4 makefile-gmake-statements)) | ||
| 320 | "List of keywords understood by gmake.") | ||
| 321 | |||
| 322 | (defconst makefile-bsdmake-statements | ||
| 323 | `(".elif" ".elifdef" ".elifmake" ".elifndef" ".elifnmake" ".else" ".endfor" | ||
| 324 | ".endif" ".for" ".if" ".ifdef" ".ifmake" ".ifndef" ".ifnmake" ".undef") | ||
| 325 | "List of keywords understood by BSD make.") | ||
| 326 | |||
| 327 | (defun makefile-make-font-lock-keywords (var keywords space | ||
| 328 | &optional negation | ||
| 329 | &rest font-lock-keywords) | ||
| 330 | `(;; Do macro assignments. These get the "variable-name" face. | ||
| 331 | (,makefile-macroassign-regex | ||
| 332 | (1 font-lock-variable-name-face) | ||
| 333 | ;; This is for after != | ||
| 334 | (2 'makefile-shell-face prepend t) | ||
| 335 | ;; This is for after normal assignment | ||
| 336 | (3 'font-lock-string-face prepend t)) | ||
| 337 | |||
| 338 | ;; Rule actions. | ||
| 339 | (makefile-match-action | ||
| 340 | (1 font-lock-type-face) | ||
| 341 | (2 'makefile-shell-face prepend) | ||
| 342 | ;; Only makepp has builtin commands. | ||
| 343 | (3 font-lock-builtin-face prepend t)) | ||
| 344 | |||
| 345 | ;; Variable references even in targets/strings/comments. | ||
| 346 | (,var 1 font-lock-variable-name-face prepend) | ||
| 347 | |||
| 348 | ;; Automatic variable references and single character variable references, | ||
| 349 | ;; but not shell variables references. | ||
| 350 | ("[^$]\\$\\([@%<?^+*_]\\|[a-zA-Z0-9]\\>\\)" | ||
| 351 | 1 font-lock-constant-face prepend) | ||
| 352 | ("[^$]\\(\\$[@%*]\\)" | ||
| 353 | 1 'makefile-targets-face prepend) | ||
| 259 | 354 | ||
| 260 | ;; Do macro assignments. These get the "variable-name" face rather | 355 | ;; Fontify conditionals and includes. |
| 261 | ;; arbitrarily. | 356 | (,(concat "^\\(?: [ \t]*\\)?" |
| 262 | (list makefile-macroassign-regex 1 'font-lock-variable-name-face) | 357 | (regexp-opt keywords t) |
| 358 | "\\>[ \t]*\\([^: \t\n#]*\\)") | ||
| 359 | (1 font-lock-keyword-face) (2 font-lock-variable-name-face)) | ||
| 263 | 360 | ||
| 264 | ;; Do dependencies. These get the function name face. | 361 | ,@(if negation |
| 265 | (list makefile-dependency-regex 1 'font-lock-function-name-face) | 362 | `((,negation (1 font-lock-negation-char-face prepend) |
| 363 | (2 font-lock-negation-char-face prepend t)))) | ||
| 266 | 364 | ||
| 267 | ;; Variable references even in targets/strings/comments. | 365 | ,@(if space |
| 268 | '("[^$]\\$[({]\\([-a-zA-Z0-9_.]+\\|[@%<?^+*][FD]?\\)[}):]" | 366 | '(;; Highlight lines that contain just whitespace. |
| 269 | 1 font-lock-constant-face prepend) | 367 | ;; They can cause trouble, especially if they start with a tab. |
| 368 | ("^[ \t]+$" . makefile-space-face) | ||
| 270 | 369 | ||
| 271 | ;; Automatic variable references and single character variable references, | 370 | ;; Highlight shell comments that Make treats as commands, |
| 272 | ;; but not shell variables references. | 371 | ;; since these can fool people. |
| 273 | '("[^$]\\$\\([@%<?^+*_]\\|[a-zA-Z0-9]\\>\\)" | 372 | ("^\t+#" 0 makefile-space-face t) |
| 274 | 1 font-lock-constant-face prepend) | ||
| 275 | 373 | ||
| 276 | ;; Fontify conditionals and includes. | 374 | ;; Highlight spaces that precede tabs. |
| 277 | ;; Note that plain `if' is an automake conditional, and not a bug. | 375 | ;; They can make a tab fail to be effective. |
| 278 | (list | 376 | ("^\\( +\\)\t" 1 makefile-space-face))) |
| 279 | (concat "^\\(?: [ \t]*\\)?" | ||
| 280 | (regexp-opt '("-include" "-sinclude" "include" "sinclude" "ifeq" | ||
| 281 | "if" "ifneq" "ifdef" "ifndef" "endif" "else" | ||
| 282 | "define" "endef" "override" | ||
| 283 | "export" "unexport" "vpath") t) | ||
| 284 | "\\>[ \t]*\\([^: \t\n#]*\\)") | ||
| 285 | '(1 font-lock-keyword-face) '(2 font-lock-variable-name-face)) | ||
| 286 | 377 | ||
| 287 | '("^\\(?: [ \t]*\\)?if\\(n\\)\\(?:def\\|eq\\)\\>" | 378 | ,@font-lock-keywords |
| 288 | 1 font-lock-negation-char-face prepend) | ||
| 289 | 379 | ||
| 290 | ;; Highlight lines that contain just whitespace. | 380 | ;; Do dependencies. |
| 291 | ;; They can cause trouble, especially if they start with a tab. | 381 | (makefile-match-dependency |
| 292 | '("^[ \t]+$" . makefile-space-face) | 382 | (1 'makefile-targets-face prepend) |
| 383 | (3 'makefile-shell-face prepend t)))) | ||
| 293 | 384 | ||
| 294 | ;; Highlight shell comments that Make treats as commands, | 385 | (defconst makefile-font-lock-keywords |
| 295 | ;; since these can fool people. | 386 | (makefile-make-font-lock-keywords |
| 296 | '("^\t+#" 0 makefile-space-face t) | 387 | makefile-var-use-regex |
| 388 | makefile-statements | ||
| 389 | t)) | ||
| 390 | |||
| 391 | (defconst makefile-automake-font-lock-keywords | ||
| 392 | (makefile-make-font-lock-keywords | ||
| 393 | makefile-var-use-regex | ||
| 394 | makefile-automake-statements | ||
| 395 | t)) | ||
| 396 | |||
| 397 | (defconst makefile-gmake-font-lock-keywords | ||
| 398 | (makefile-make-font-lock-keywords | ||
| 399 | makefile-var-use-regex | ||
| 400 | makefile-gmake-statements | ||
| 401 | t | ||
| 402 | "^\\(?: [ \t]*\\)?if\\(n\\)\\(?:def\\|eq\\)\\>" | ||
| 403 | |||
| 404 | '("[^$]\\(\\$[({][@%*][DF][})]\\)" | ||
| 405 | 1 'makefile-targets-face prepend) | ||
| 406 | |||
| 407 | ;; $(function ...) ${function ...} | ||
| 408 | '("[^$]\\$[({]\\([-a-zA-Z0-9_.]+\\s \\)" | ||
| 409 | 1 font-lock-function-name-face prepend) | ||
| 410 | |||
| 411 | ;; $(shell ...) ${shell ...} | ||
| 412 | '("[^$]\\$\\([({]\\)shell[ \t]+" | ||
| 413 | makefile-match-function-end nil nil | ||
| 414 | (1 'makefile-shell-face prepend t)))) | ||
| 415 | |||
| 416 | (defconst makefile-makepp-font-lock-keywords | ||
| 417 | (makefile-make-font-lock-keywords | ||
| 418 | makefile-var-use-regex | ||
| 419 | makefile-makepp-statements | ||
| 420 | nil | ||
| 421 | "^\\(?: [ \t]*\\)?\\(?:and[ \t]+\\|else[ \t]+\\|or[ \t]+\\)?if\\(n\\)\\(?:def\\|eq\\|sys\\)\\>" | ||
| 422 | |||
| 423 | '("[^$]\\(\\$[({]\\(?:target\\|output\\)s?\\_>.*?[})]\\)" | ||
| 424 | 1 'makefile-targets-face prepend) | ||
| 425 | |||
| 426 | ;; Colon modifier keywords. | ||
| 427 | '("\\(:\\s *\\)\\(build_c\\(?:ache\\|heck\\)\\|env\\(?:ironment\\)?\\|foreach\\|signature\\|scanner\\|quickscan\\|smartscan\\)\\>\\([^:\n]*\\)" | ||
| 428 | (1 font-lock-type-face t) | ||
| 429 | (2 font-lock-keyword-face t) | ||
| 430 | (3 font-lock-variable-name-face t)) | ||
| 431 | |||
| 432 | ;; $(function ...) $((function ...)) ${function ...} ${{function ...}} | ||
| 433 | '("[^$]\\$\\(?:((?\\|{{?\\)\\([-a-zA-Z0-9_.]+\\s \\)" | ||
| 434 | 1 font-lock-function-name-face prepend) | ||
| 435 | |||
| 436 | ;; $(shell ...) $((shell ...)) ${shell ...} ${{shell ...}} | ||
| 437 | '("[^$]\\$\\(((?\\|{{?\\)shell\\(?:[-_]\\(?:global[-_]\\)?once\\)?[ \t]+" | ||
| 438 | makefile-match-function-end nil nil | ||
| 439 | (1 'makefile-shell-face prepend t)) | ||
| 440 | |||
| 441 | ;; $(perl ...) $((perl ...)) ${perl ...} ${{perl ...}} | ||
| 442 | '("[^$]\\$\\(((?\\|{{?\\)makeperl[ \t]+" | ||
| 443 | makefile-match-function-end nil nil | ||
| 444 | (1 'makefile-makepp-perl-face prepend t)) | ||
| 445 | '("[^$]\\$\\(((?\\|{{?\\)perl[ \t]+" | ||
| 446 | makefile-match-function-end nil nil | ||
| 447 | (1 'makefile-makepp-perl-face t t)) | ||
| 448 | |||
| 449 | ;; Can we unify these with (if (match-end 1) 'prepend t)? | ||
| 450 | '("ifmakeperl\\s +\\(.*\\)" 1 'makefile-makepp-perl-face prepend) | ||
| 451 | '("ifperl\\s +\\(.*\\)" 1 'makefile-makepp-perl-face t) | ||
| 452 | |||
| 453 | ;; Perl block single- or multiline, as statement or rule action. | ||
| 454 | ;; Don't know why the initial newline in 2nd variant of group 2 doesn't get skipped. | ||
| 455 | '("\\<make\\(?:perl\\|sub\\s +\\S +\\)\\s *\n?\\s *{\\(?:{\\s *\n?\\(\\(?:.*\n\\)+?\\)\\s *}\\|\\s *\\(\\(?:.*?\\|\n?\\(?:.*\n\\)+?\\)\\)\\)}" | ||
| 456 | (1 'makefile-makepp-perl-face prepend t) | ||
| 457 | (2 'makefile-makepp-perl-face prepend t)) | ||
| 458 | '("\\<\\(?:perl\\|sub\\s +\\S +\\)\\s *\n?\\s *{\\(?:{\\s *\n?\\(\\(?:.*\n\\)+?\\)\\s *}\\|\\s *\\(\\(?:.*?\\|\n?\\(?:.*\n\\)+?\\)\\)\\)}" | ||
| 459 | (1 'makefile-makepp-perl-face t t) | ||
| 460 | (2 'makefile-makepp-perl-face t t)) | ||
| 461 | |||
| 462 | ;; Statement style perl block. | ||
| 463 | '("perl[-_]begin\\s *\\(?:\\s #.*\\)?\n\\(\\(?:.*\n\\)+?\\)\\s *perl[-_]end\\>" | ||
| 464 | 1 'makefile-makepp-perl-face t))) | ||
| 465 | |||
| 466 | (defconst makefile-bsdmake-font-lock-keywords | ||
| 467 | (makefile-make-font-lock-keywords | ||
| 468 | ;; A lot more could be done for variables here: | ||
| 469 | makefile-var-use-regex | ||
| 470 | makefile-bsdmake-statements | ||
| 471 | t | ||
| 472 | "^\\(?: [ \t]*\\)?\\.\\(?:el\\)?if\\(n?\\)\\(?:def\\|make\\)?\\>[ \t]*\\(!?\\)" | ||
| 473 | '("^[ \t]*\\.for[ \t].+[ \t]\\(in\\)\\>" 1 font-lock-keyword-face))) | ||
| 297 | 474 | ||
| 298 | ;; Highlight spaces that precede tabs. | ||
| 299 | ;; They can make a tab fail to be effective. | ||
| 300 | '("^\\( +\\)\t" 1 makefile-space-face))) | ||
| 301 | 475 | ||
| 302 | (defconst makefile-font-lock-syntactic-keywords | 476 | (defconst makefile-font-lock-syntactic-keywords |
| 303 | ;; From sh-script.el. | 477 | ;; From sh-script.el. |
| @@ -310,9 +484,8 @@ not be enclosed in { } or ( )." | |||
| 310 | ("\\\\\n" 0 "."))) | 484 | ("\\\\\n" 0 "."))) |
| 311 | 485 | ||
| 312 | (defvar makefile-imenu-generic-expression | 486 | (defvar makefile-imenu-generic-expression |
| 313 | (list | 487 | `(("Dependencies" ,makefile-dependency-regex 1) |
| 314 | (list "Dependencies" makefile-dependency-regex 1) | 488 | ("Macro Assignment" ,makefile-macroassign-regex 1)) |
| 315 | (list "Macro Assignment" makefile-macroassign-regex 1)) | ||
| 316 | "Imenu generic expression for Makefile mode. See `imenu-generic-expression'.") | 489 | "Imenu generic expression for Makefile mode. See `imenu-generic-expression'.") |
| 317 | 490 | ||
| 318 | ;;; ------------------------------------------------------------ | 491 | ;;; ------------------------------------------------------------ |
| @@ -371,47 +544,50 @@ The function must satisfy this calling convention: | |||
| 371 | () | 544 | () |
| 372 | (define-abbrev-table 'makefile-mode-abbrev-table ())) | 545 | (define-abbrev-table 'makefile-mode-abbrev-table ())) |
| 373 | 546 | ||
| 374 | (defvar makefile-mode-map nil | 547 | (defvar makefile-mode-map |
| 548 | (let ((map (make-sparse-keymap))) | ||
| 549 | ;; set up the keymap | ||
| 550 | (define-key map "\C-c:" 'makefile-insert-target-ref) | ||
| 551 | (if makefile-electric-keys | ||
| 552 | (progn | ||
| 553 | (define-key map "$" 'makefile-insert-macro-ref) | ||
| 554 | (define-key map ":" 'makefile-electric-colon) | ||
| 555 | (define-key map "=" 'makefile-electric-equal) | ||
| 556 | (define-key map "." 'makefile-electric-dot))) | ||
| 557 | (define-key map "\C-c\C-f" 'makefile-pickup-filenames-as-targets) | ||
| 558 | (define-key map "\C-c\C-b" 'makefile-switch-to-browser) | ||
| 559 | (define-key map "\C-c\C-c" 'comment-region) | ||
| 560 | (define-key map "\C-c\C-p" 'makefile-pickup-everything) | ||
| 561 | (define-key map "\C-c\C-u" 'makefile-create-up-to-date-overview) | ||
| 562 | (define-key map "\C-c\C-i" 'makefile-insert-gmake-function) | ||
| 563 | (define-key map "\C-c\C-\\" 'makefile-backslash-region) | ||
| 564 | (define-key map "\C-c\C-m\C-a" 'makefile-automake-mode) | ||
| 565 | (define-key map "\C-c\C-m\C-b" 'makefile-bsdmake-mode) | ||
| 566 | (define-key map "\C-c\C-m\C-g" 'makefile-gmake-mode) | ||
| 567 | (define-key map "\C-c\C-m\C-m" 'makefile-mode) | ||
| 568 | (define-key map "\C-c\C-m\C-p" 'makefile-makepp-mode) | ||
| 569 | (define-key map "\M-p" 'makefile-previous-dependency) | ||
| 570 | (define-key map "\M-n" 'makefile-next-dependency) | ||
| 571 | (define-key map "\e\t" 'makefile-complete) | ||
| 572 | |||
| 573 | ;; Make menus. | ||
| 574 | (define-key map [menu-bar makefile-mode] | ||
| 575 | (cons "Makefile" (make-sparse-keymap "Makefile"))) | ||
| 576 | |||
| 577 | (define-key map [menu-bar makefile-mode browse] | ||
| 578 | '("Pop up Makefile Browser" . makefile-switch-to-browser)) | ||
| 579 | (define-key map [menu-bar makefile-mode complete] | ||
| 580 | '("Complete Target or Macro" . makefile-complete)) | ||
| 581 | (define-key map [menu-bar makefile-mode pickup] | ||
| 582 | '("Find Targets and Macros" . makefile-pickup-everything)) | ||
| 583 | |||
| 584 | (define-key map [menu-bar makefile-mode prev] | ||
| 585 | '("Move to Previous Dependency" . makefile-previous-dependency)) | ||
| 586 | (define-key map [menu-bar makefile-mode next] | ||
| 587 | '("Move to Next Dependency" . makefile-next-dependency)) | ||
| 588 | map) | ||
| 375 | "The keymap that is used in Makefile mode.") | 589 | "The keymap that is used in Makefile mode.") |
| 376 | 590 | ||
| 377 | (if makefile-mode-map | ||
| 378 | () | ||
| 379 | (setq makefile-mode-map (make-sparse-keymap)) | ||
| 380 | ;; set up the keymap | ||
| 381 | (define-key makefile-mode-map "\C-c:" 'makefile-insert-target-ref) | ||
| 382 | (if makefile-electric-keys | ||
| 383 | (progn | ||
| 384 | (define-key makefile-mode-map "$" 'makefile-insert-macro-ref) | ||
| 385 | (define-key makefile-mode-map ":" 'makefile-electric-colon) | ||
| 386 | (define-key makefile-mode-map "=" 'makefile-electric-equal) | ||
| 387 | (define-key makefile-mode-map "." 'makefile-electric-dot))) | ||
| 388 | (define-key makefile-mode-map "\C-c\C-f" 'makefile-pickup-filenames-as-targets) | ||
| 389 | (define-key makefile-mode-map "\C-c\C-b" 'makefile-switch-to-browser) | ||
| 390 | (define-key makefile-mode-map "\C-c\C-c" 'comment-region) | ||
| 391 | (define-key makefile-mode-map "\C-c\C-p" 'makefile-pickup-everything) | ||
| 392 | (define-key makefile-mode-map "\C-c\C-u" 'makefile-create-up-to-date-overview) | ||
| 393 | (define-key makefile-mode-map "\C-c\C-i" 'makefile-insert-gmake-function) | ||
| 394 | (define-key makefile-mode-map "\C-c\C-\\" 'makefile-backslash-region) | ||
| 395 | (define-key makefile-mode-map "\M-p" 'makefile-previous-dependency) | ||
| 396 | (define-key makefile-mode-map "\M-n" 'makefile-next-dependency) | ||
| 397 | (define-key makefile-mode-map "\e\t" 'makefile-complete) | ||
| 398 | |||
| 399 | ;; Make menus. | ||
| 400 | (define-key makefile-mode-map [menu-bar makefile-mode] | ||
| 401 | (cons "Makefile" (make-sparse-keymap "Makefile"))) | ||
| 402 | |||
| 403 | (define-key makefile-mode-map [menu-bar makefile-mode browse] | ||
| 404 | '("Pop up Makefile Browser" . makefile-switch-to-browser)) | ||
| 405 | (define-key makefile-mode-map [menu-bar makefile-mode complete] | ||
| 406 | '("Complete Target or Macro" . makefile-complete)) | ||
| 407 | (define-key makefile-mode-map [menu-bar makefile-mode pickup] | ||
| 408 | '("Find Targets and Macros" . makefile-pickup-everything)) | ||
| 409 | |||
| 410 | (define-key makefile-mode-map [menu-bar makefile-mode prev] | ||
| 411 | '("Move to Previous Dependency" . makefile-previous-dependency)) | ||
| 412 | (define-key makefile-mode-map [menu-bar makefile-mode next] | ||
| 413 | '("Move to Next Dependency" . makefile-next-dependency))) | ||
| 414 | |||
| 415 | (defvar makefile-browser-map nil | 591 | (defvar makefile-browser-map nil |
| 416 | "The keymap that is used in the macro- and target browser.") | 592 | "The keymap that is used in the macro- and target browser.") |
| 417 | (if makefile-browser-map | 593 | (if makefile-browser-map |
| @@ -504,8 +680,19 @@ The function must satisfy this calling convention: | |||
| 504 | 680 | ||
| 505 | ;;;###autoload | 681 | ;;;###autoload |
| 506 | (defun makefile-mode () | 682 | (defun makefile-mode () |
| 507 | "Major mode for editing Makefiles. | 683 | "Major mode for editing standard Makefiles. |
| 508 | This function ends by invoking the function(s) `makefile-mode-hook'. | 684 | |
| 685 | If you are editing a file for a different make, try one of the | ||
| 686 | variants `makefile-automake-mode', `makefile-gmake-mode', | ||
| 687 | `makefile-makepp-mode' or `makefile-bsdmake-mode'. All but the | ||
| 688 | last should be correctly chosen based on the file name, except if | ||
| 689 | it is *.mk. This function ends by invoking the function(s) | ||
| 690 | `makefile-mode-hook'. | ||
| 691 | |||
| 692 | It is strongly recommended to use `font-lock-mode', because that | ||
| 693 | provides additional parsing information. This is used for | ||
| 694 | example to see that a rule action `echo foo: bar' is a not rule | ||
| 695 | dependency, despite the colon. | ||
| 509 | 696 | ||
| 510 | \\{makefile-mode-map} | 697 | \\{makefile-mode-map} |
| 511 | 698 | ||
| @@ -601,7 +788,8 @@ Makefile mode can be configured by modifying the following variables: | |||
| 601 | nil nil | 788 | nil nil |
| 602 | ((?$ . ".")) | 789 | ((?$ . ".")) |
| 603 | backward-paragraph | 790 | backward-paragraph |
| 604 | (font-lock-syntactic-keywords . makefile-font-lock-syntactic-keywords))) | 791 | (font-lock-syntactic-keywords . makefile-font-lock-syntactic-keywords) |
| 792 | (font-lock-support-mode))) ; JIT breaks on long series of continuation lines. | ||
| 605 | 793 | ||
| 606 | ;; Add-log. | 794 | ;; Add-log. |
| 607 | (make-local-variable 'add-log-current-defun-function) | 795 | (make-local-variable 'add-log-current-defun-function) |
| @@ -643,7 +831,45 @@ Makefile mode can be configured by modifying the following variables: | |||
| 643 | 831 | ||
| 644 | ;; Real TABs are important in makefiles | 832 | ;; Real TABs are important in makefiles |
| 645 | (setq indent-tabs-mode t) | 833 | (setq indent-tabs-mode t) |
| 646 | (run-hooks 'makefile-mode-hook)) | 834 | (run-mode-hooks 'makefile-mode-hook)) |
| 835 | |||
| 836 | ;; These should do more than just differentiate font-lock. | ||
| 837 | ;;;###autoload | ||
| 838 | (define-derived-mode makefile-automake-mode makefile-mode "Makefile.am" | ||
| 839 | "An adapted `makefile-mode' that knows about automake." | ||
| 840 | (setq font-lock-defaults | ||
| 841 | `(makefile-automake-font-lock-keywords ,@(cdr font-lock-defaults)))) | ||
| 842 | |||
| 843 | ;;;###autoload | ||
| 844 | (define-derived-mode makefile-gmake-mode makefile-mode "GNUmakefile" | ||
| 845 | "An adapted `makefile-mode' that knows about gmake." | ||
| 846 | (setq font-lock-defaults | ||
| 847 | `(makefile-gmake-font-lock-keywords ,@(cdr font-lock-defaults)))) | ||
| 848 | |||
| 849 | ;;;###autoload | ||
| 850 | (define-derived-mode makefile-makepp-mode makefile-mode "Makeppfile" | ||
| 851 | "An adapted `makefile-mode' that knows about makepp." | ||
| 852 | (set (make-local-variable 'makefile-rule-action-regex) | ||
| 853 | ;; Don't care about initial tab, but I don't know how to font-lock correctly without. | ||
| 854 | "^\t[ \t]*\\(\\(?:\\(?:noecho\\|ignore[-_]error\\|[-@]+\\)[ \t]*\\)*\\)\\(\\(&\\S +\\)?\\(?:.+\\\\\n\\)*.+\\)") | ||
| 855 | |||
| 856 | (setq font-lock-defaults | ||
| 857 | `(makefile-makepp-font-lock-keywords ,@(cdr font-lock-defaults)))) | ||
| 858 | |||
| 859 | ;;;###autoload | ||
| 860 | (define-derived-mode makefile-bsdmake-mode makefile-mode "BSDmakefile" | ||
| 861 | "An adapted `makefile-mode' that knows about BSD make." | ||
| 862 | (set (make-local-variable 'makefile-dependency-regex) | ||
| 863 | ;; Identical to default, except allows `!' instead of `:'. | ||
| 864 | "^ *\\(\\(?: *\\$\\(?:[({]\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[^({]\\|.[^\n$#})]+?[})]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\| *[^ \n$#:=]+\\)+?\\)[ \t]*\\([:!]\\)\\(?:[ \t]*$\\|[^=\n]\\(?:[^#\n]*?;[ \t]*\\(.+\\)\\)?\\)") | ||
| 865 | (set (make-local-variable 'makefile-dependency-skip) "^:!") | ||
| 866 | (set (make-local-variable 'makefile-rule-action-regex) | ||
| 867 | "^\t[ \t]*\\([-+@]*\\)[ \t]*\\(\\(?:.+\\\\\n\\)*.+\\)") | ||
| 868 | (setq font-lock-defaults | ||
| 869 | `(makefile-bsdmake-font-lock-keywords ,@(cdr font-lock-defaults)) | ||
| 870 | imenu-generic-expression | ||
| 871 | `(("Dependencies" ,makefile-dependency-regex 1) | ||
| 872 | ,@(cdr imenu-generic-expression)))) | ||
| 647 | 873 | ||
| 648 | 874 | ||
| 649 | 875 | ||
| @@ -654,18 +880,27 @@ Makefile mode can be configured by modifying the following variables: | |||
| 654 | (interactive) | 880 | (interactive) |
| 655 | (let ((here (point))) | 881 | (let ((here (point))) |
| 656 | (end-of-line) | 882 | (end-of-line) |
| 657 | (if (re-search-forward makefile-dependency-regex (point-max) t) | 883 | (if (makefile-match-dependency nil) |
| 658 | (progn (beginning-of-line) t) ; indicate success | 884 | (progn (beginning-of-line) t) ; indicate success |
| 659 | (goto-char here) nil))) | 885 | (goto-char here) nil))) |
| 660 | 886 | ||
| 661 | (defun makefile-previous-dependency () | 887 | (defun makefile-previous-dependency () |
| 662 | "Move point to the beginning of the previous dependency line." | 888 | "Move point to the beginning of the previous dependency line." |
| 663 | (interactive) | 889 | (interactive) |
| 664 | (let ((here (point))) | 890 | (let ((pt (point))) |
| 665 | (beginning-of-line) | 891 | (beginning-of-line) |
| 666 | (if (re-search-backward makefile-dependency-regex (point-min) t) | 892 | ;; makefile-match-dependency done backwards: |
| 667 | (progn (beginning-of-line) t) ; indicate success | 893 | (catch 'found |
| 668 | (goto-char here) nil))) | 894 | (while (progn (skip-chars-backward makefile-dependency-skip) |
| 895 | (not (bobp))) | ||
| 896 | (or (prog1 (eq (char-after) ?=) | ||
| 897 | (backward-char)) | ||
| 898 | (get-text-property (point) 'face) | ||
| 899 | (beginning-of-line) | ||
| 900 | (if (looking-at makefile-dependency-regex) | ||
| 901 | (throw 'found t)))) | ||
| 902 | (goto-char pt) | ||
| 903 | nil))) | ||
| 669 | 904 | ||
| 670 | 905 | ||
| 671 | 906 | ||
| @@ -763,74 +998,56 @@ Anywhere else just self-inserts." | |||
| 763 | (defun makefile-pickup-targets () | 998 | (defun makefile-pickup-targets () |
| 764 | "Notice names of all target definitions in Makefile." | 999 | "Notice names of all target definitions in Makefile." |
| 765 | (interactive) | 1000 | (interactive) |
| 766 | (if (not makefile-need-target-pickup) | 1001 | (when makefile-need-target-pickup |
| 767 | nil | 1002 | (setq makefile-need-target-pickup nil |
| 768 | (setq makefile-need-target-pickup nil) | 1003 | makefile-target-table nil |
| 769 | (setq makefile-target-table nil) | 1004 | makefile-has-prereqs nil) |
| 770 | (setq makefile-has-prereqs nil) | ||
| 771 | (save-excursion | 1005 | (save-excursion |
| 772 | (goto-char (point-min)) | 1006 | (goto-char (point-min)) |
| 773 | (while (re-search-forward makefile-dependency-regex nil t) | 1007 | (while (makefile-match-dependency nil) |
| 774 | (makefile-add-this-line-targets))) | 1008 | (goto-char (match-beginning 1)) |
| 775 | (message "Read targets OK."))) | 1009 | (while (let ((target-name |
| 776 | 1010 | (buffer-substring-no-properties (point) | |
| 777 | (defun makefile-add-this-line-targets () | 1011 | (progn |
| 778 | (save-excursion | 1012 | (skip-chars-forward "^ \t:#") |
| 779 | (beginning-of-line) | 1013 | (point)))) |
| 780 | (let ((done-with-line nil) | ||
| 781 | (line-number (1+ (count-lines (point-min) (point))))) | ||
| 782 | (while (not done-with-line) | ||
| 783 | (skip-chars-forward " \t") | ||
| 784 | (if (not (setq done-with-line (or (eolp) | ||
| 785 | (char-equal (char-after (point)) ?:)))) | ||
| 786 | (progn | ||
| 787 | (let* ((start-of-target-name (point)) | ||
| 788 | (target-name | ||
| 789 | (progn | ||
| 790 | (skip-chars-forward "^ \t:#") | ||
| 791 | (buffer-substring start-of-target-name (point)))) | ||
| 792 | (has-prereqs | 1014 | (has-prereqs |
| 793 | (not (looking-at ":[ \t]*$")))) | 1015 | (not (looking-at ":[ \t]*$")))) |
| 794 | (if (makefile-remember-target target-name has-prereqs) | 1016 | (if (makefile-remember-target target-name has-prereqs) |
| 795 | (message "Picked up target \"%s\" from line %d" | 1017 | (message "Picked up target \"%s\" from line %d" |
| 796 | target-name line-number))))))))) | 1018 | target-name (line-number-at-pos))) |
| 1019 | (skip-chars-forward " \t") | ||
| 1020 | (not (or (eolp) (eq (char-after) ?:))))) | ||
| 1021 | (forward-line))) | ||
| 1022 | (message "Read targets OK."))) | ||
| 797 | 1023 | ||
| 798 | (defun makefile-pickup-macros () | 1024 | (defun makefile-pickup-macros () |
| 799 | "Notice names of all macro definitions in Makefile." | 1025 | "Notice names of all macro definitions in Makefile." |
| 800 | (interactive) | 1026 | (interactive) |
| 801 | (if (not makefile-need-macro-pickup) | 1027 | (when makefile-need-macro-pickup |
| 802 | nil | 1028 | (setq makefile-need-macro-pickup nil |
| 803 | (setq makefile-need-macro-pickup nil) | 1029 | makefile-macro-table nil) |
| 804 | (setq makefile-macro-table nil) | ||
| 805 | (save-excursion | 1030 | (save-excursion |
| 806 | (goto-char (point-min)) | 1031 | (goto-char (point-min)) |
| 807 | (while (re-search-forward makefile-macroassign-regex nil t) | 1032 | (while (re-search-forward makefile-macroassign-regex nil t) |
| 808 | (makefile-add-this-line-macro) | 1033 | (goto-char (match-beginning 1)) |
| 809 | (forward-line 1))) | 1034 | (let ((macro-name (buffer-substring-no-properties (point) |
| 1035 | (progn | ||
| 1036 | (skip-chars-forward "^ \t:#=*") | ||
| 1037 | (point))))) | ||
| 1038 | (if (makefile-remember-macro macro-name) | ||
| 1039 | (message "Picked up macro \"%s\" from line %d" | ||
| 1040 | macro-name (line-number-at-pos)))) | ||
| 1041 | (forward-line))) | ||
| 810 | (message "Read macros OK."))) | 1042 | (message "Read macros OK."))) |
| 811 | 1043 | ||
| 812 | (defun makefile-add-this-line-macro () | ||
| 813 | (save-excursion | ||
| 814 | (beginning-of-line) | ||
| 815 | (skip-chars-forward " \t") | ||
| 816 | (unless (eolp) | ||
| 817 | (let* ((start-of-macro-name (point)) | ||
| 818 | (line-number (1+ (count-lines (point-min) (point)))) | ||
| 819 | (macro-name (progn | ||
| 820 | (skip-chars-forward "^ \t:#=*") | ||
| 821 | (buffer-substring start-of-macro-name (point))))) | ||
| 822 | (if (makefile-remember-macro macro-name) | ||
| 823 | (message "Picked up macro \"%s\" from line %d" | ||
| 824 | macro-name line-number)))))) | ||
| 825 | |||
| 826 | (defun makefile-pickup-everything (arg) | 1044 | (defun makefile-pickup-everything (arg) |
| 827 | "Notice names of all macros and targets in Makefile. | 1045 | "Notice names of all macros and targets in Makefile. |
| 828 | Prefix arg means force pickups to be redone." | 1046 | Prefix arg means force pickups to be redone." |
| 829 | (interactive "P") | 1047 | (interactive "P") |
| 830 | (if arg | 1048 | (if arg |
| 831 | (progn | 1049 | (setq makefile-need-target-pickup t |
| 832 | (setq makefile-need-target-pickup t) | 1050 | makefile-need-macro-pickup t)) |
| 833 | (setq makefile-need-macro-pickup t))) | ||
| 834 | (makefile-pickup-macros) | 1051 | (makefile-pickup-macros) |
| 835 | (makefile-pickup-targets) | 1052 | (makefile-pickup-targets) |
| 836 | (if makefile-pickup-everything-picks-up-filenames-p | 1053 | (if makefile-pickup-everything-picks-up-filenames-p |
| @@ -841,17 +1058,12 @@ Prefix arg means force pickups to be redone." | |||
| 841 | Checks each filename against `makefile-ignored-files-in-pickup-regex' | 1058 | Checks each filename against `makefile-ignored-files-in-pickup-regex' |
| 842 | and adds all qualifying names to the list of known targets." | 1059 | and adds all qualifying names to the list of known targets." |
| 843 | (interactive) | 1060 | (interactive) |
| 844 | (let* ((dir (file-name-directory (buffer-file-name))) | 1061 | (mapc (lambda (name) |
| 845 | (raw-filename-list (if dir | 1062 | (or (file-directory-p name) |
| 846 | (file-name-all-completions "" dir) | 1063 | (string-match makefile-ignored-files-in-pickup-regex name) |
| 847 | (file-name-all-completions "" "")))) | 1064 | (if (makefile-remember-target name) |
| 848 | (mapcar (lambda (name) | 1065 | (message "Picked up file \"%s\" as target" name)))) |
| 849 | (if (and (not (file-directory-p name)) | 1066 | (file-name-all-completions "" (or (file-name-directory (buffer-file-name)) "")))) |
| 850 | (not (string-match makefile-ignored-files-in-pickup-regex | ||
| 851 | name))) | ||
| 852 | (if (makefile-remember-target name) | ||
| 853 | (message "Picked up file \"%s\" as target" name)))) | ||
| 854 | raw-filename-list))) | ||
| 855 | 1067 | ||
| 856 | 1068 | ||
| 857 | 1069 | ||
| @@ -1453,6 +1665,41 @@ Then prompts for all required parameters." | |||
| 1453 | ;;; Utility functions | 1665 | ;;; Utility functions |
| 1454 | ;;; ------------------------------------------------------------ | 1666 | ;;; ------------------------------------------------------------ |
| 1455 | 1667 | ||
| 1668 | (defun makefile-match-function-end (end) | ||
| 1669 | "To be called as an anchored matcher by font-lock. | ||
| 1670 | The anchor must have matched the opening parens in the first group." | ||
| 1671 | (let ((s (match-string-no-properties 1))) | ||
| 1672 | (setq s (cond ((string= s "(") "\\(.*?\\)[ \t]*)") | ||
| 1673 | ((string= s "{") "\\(.*?\\)[ \t]*}") | ||
| 1674 | ((string= s "((") "\\(.*?\\)[ \t]*))") | ||
| 1675 | ((string= s "{{") "\\(.*?\\)[ \t]*}}"))) | ||
| 1676 | (if s (looking-at s)))) | ||
| 1677 | |||
| 1678 | (defun makefile-match-dependency (bound) | ||
| 1679 | "Search for `makefile-dependency-regex' up to BOUND. | ||
| 1680 | Checks that the colon has not already been fontified, else we | ||
| 1681 | matched in a rule action." | ||
| 1682 | (catch 'found | ||
| 1683 | (let ((pt (point))) | ||
| 1684 | (while (progn (skip-chars-forward makefile-dependency-skip bound) | ||
| 1685 | (not (eobp))) | ||
| 1686 | (forward-char) | ||
| 1687 | (or (eq (char-after) ?=) | ||
| 1688 | (get-text-property (1- (point)) 'face) | ||
| 1689 | (when (save-excursion | ||
| 1690 | (beginning-of-line) | ||
| 1691 | (looking-at makefile-dependency-regex)) | ||
| 1692 | (end-of-line) | ||
| 1693 | (throw 'found (point))))) | ||
| 1694 | (goto-char pt)) | ||
| 1695 | nil)) | ||
| 1696 | |||
| 1697 | (defun makefile-match-action (bound) | ||
| 1698 | (catch 'found | ||
| 1699 | (while (re-search-forward makefile-rule-action-regex bound t) | ||
| 1700 | (or (eq ?\\ (char-after (- (match-beginning 0) 2))) | ||
| 1701 | (throw 'found t))))) | ||
| 1702 | |||
| 1456 | (defun makefile-do-macro-insertion (macro-name) | 1703 | (defun makefile-do-macro-insertion (macro-name) |
| 1457 | "Insert a macro reference." | 1704 | "Insert a macro reference." |
| 1458 | (if (not (zerop (length macro-name))) | 1705 | (if (not (zerop (length macro-name))) |
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el index 0febea4450f..f2576ad94db 100644 --- a/lisp/progmodes/perl-mode.el +++ b/lisp/progmodes/perl-mode.el | |||
| @@ -376,33 +376,41 @@ The expansion is entirely correct because it uses the C preprocessor." | |||
| 376 | 376 | ||
| 377 | (defcustom perl-indent-level 4 | 377 | (defcustom perl-indent-level 4 |
| 378 | "*Indentation of Perl statements with respect to containing block." | 378 | "*Indentation of Perl statements with respect to containing block." |
| 379 | :type 'integer) | 379 | :type 'integer |
| 380 | :group 'perl) | ||
| 380 | (defcustom perl-continued-statement-offset 4 | 381 | (defcustom perl-continued-statement-offset 4 |
| 381 | "*Extra indent for lines not starting new statements." | 382 | "*Extra indent for lines not starting new statements." |
| 382 | :type 'integer) | 383 | :type 'integer |
| 384 | :group 'perl) | ||
| 383 | (defcustom perl-continued-brace-offset -4 | 385 | (defcustom perl-continued-brace-offset -4 |
| 384 | "*Extra indent for substatements that start with open-braces. | 386 | "*Extra indent for substatements that start with open-braces. |
| 385 | This is in addition to `perl-continued-statement-offset'." | 387 | This is in addition to `perl-continued-statement-offset'." |
| 386 | :type 'integer) | 388 | :type 'integer |
| 389 | :group 'perl) | ||
| 387 | (defcustom perl-brace-offset 0 | 390 | (defcustom perl-brace-offset 0 |
| 388 | "*Extra indentation for braces, compared with other text in same context." | 391 | "*Extra indentation for braces, compared with other text in same context." |
| 389 | :type 'integer) | 392 | :type 'integer |
| 393 | :group 'perl) | ||
| 390 | (defcustom perl-brace-imaginary-offset 0 | 394 | (defcustom perl-brace-imaginary-offset 0 |
| 391 | "*Imagined indentation of an open brace that actually follows a statement." | 395 | "*Imagined indentation of an open brace that actually follows a statement." |
| 392 | :type 'integer) | 396 | :type 'integer |
| 397 | :group 'perl) | ||
| 393 | (defcustom perl-label-offset -2 | 398 | (defcustom perl-label-offset -2 |
| 394 | "*Offset of Perl label lines relative to usual indentation." | 399 | "*Offset of Perl label lines relative to usual indentation." |
| 395 | :type 'integer) | 400 | :type 'integer |
| 401 | :group 'perl) | ||
| 396 | (defcustom perl-indent-continued-arguments nil | 402 | (defcustom perl-indent-continued-arguments nil |
| 397 | "*If non-nil offset of argument lines relative to usual indentation. | 403 | "*If non-nil offset of argument lines relative to usual indentation. |
| 398 | If nil, continued arguments are aligned with the first argument." | 404 | If nil, continued arguments are aligned with the first argument." |
| 399 | :type '(choice integer (const nil))) | 405 | :type '(choice integer (const nil)) |
| 406 | :group 'perl) | ||
| 400 | 407 | ||
| 401 | (defcustom perl-tab-always-indent tab-always-indent | 408 | (defcustom perl-tab-always-indent tab-always-indent |
| 402 | "Non-nil means TAB in Perl mode always indents the current line. | 409 | "Non-nil means TAB in Perl mode always indents the current line. |
| 403 | Otherwise it inserts a tab character if you type it past the first | 410 | Otherwise it inserts a tab character if you type it past the first |
| 404 | nonwhite character on the line." | 411 | nonwhite character on the line." |
| 405 | :type 'boolean) | 412 | :type 'boolean |
| 413 | :group 'perl) | ||
| 406 | 414 | ||
| 407 | ;; I changed the default to nil for consistency with general Emacs | 415 | ;; I changed the default to nil for consistency with general Emacs |
| 408 | ;; conventions -- rms. | 416 | ;; conventions -- rms. |
| @@ -411,11 +419,13 @@ nonwhite character on the line." | |||
| 411 | For lines which don't need indenting, TAB either indents an | 419 | For lines which don't need indenting, TAB either indents an |
| 412 | existing comment, moves to end-of-line, or if at end-of-line already, | 420 | existing comment, moves to end-of-line, or if at end-of-line already, |
| 413 | create a new comment." | 421 | create a new comment." |
| 414 | :type 'boolean) | 422 | :type 'boolean |
| 423 | :group 'perl) | ||
| 415 | 424 | ||
| 416 | (defcustom perl-nochange ";?#\\|\f\\|\\s(\\|\\(\\w\\|\\s_\\)+:[^:]" | 425 | (defcustom perl-nochange ";?#\\|\f\\|\\s(\\|\\(\\w\\|\\s_\\)+:[^:]" |
| 417 | "*Lines starting with this regular expression are not auto-indented." | 426 | "*Lines starting with this regular expression are not auto-indented." |
| 418 | :type 'regexp) | 427 | :type 'regexp |
| 428 | :group 'perl) | ||
| 419 | 429 | ||
| 420 | ;; Outline support | 430 | ;; Outline support |
| 421 | 431 | ||
diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el index 25bc337a7b2..73450dec61a 100644 --- a/lisp/progmodes/prolog.el +++ b/lisp/progmodes/prolog.el | |||
| @@ -234,8 +234,8 @@ Entry to this mode calls the value of `prolog-mode-hook' with no arguments, | |||
| 234 | if that value is non-nil. Likewise with the value of `comint-mode-hook'. | 234 | if that value is non-nil. Likewise with the value of `comint-mode-hook'. |
| 235 | `prolog-mode-hook' is called after `comint-mode-hook'. | 235 | `prolog-mode-hook' is called after `comint-mode-hook'. |
| 236 | 236 | ||
| 237 | You can send text to the inferior Prolog from other buffers | 237 | You can send text to the inferior Prolog from other buffers using the commands |
| 238 | using the commands `send-region', `send-string' and \\[prolog-consult-region]. | 238 | `process-send-region', `process-send-string' and \\[prolog-consult-region]. |
| 239 | 239 | ||
| 240 | Commands: | 240 | Commands: |
| 241 | Tab indents for Prolog; with argument, shifts rest | 241 | Tab indents for Prolog; with argument, shifts rest |
| @@ -265,12 +265,12 @@ If COMPILE (prefix arg) is not nil, use compile mode rather than consult mode." | |||
| 265 | (interactive "P\nr") | 265 | (interactive "P\nr") |
| 266 | (save-excursion | 266 | (save-excursion |
| 267 | (if compile | 267 | (if compile |
| 268 | (send-string "prolog" prolog-compile-string) | 268 | (process-send-string "prolog" prolog-compile-string) |
| 269 | (send-string "prolog" prolog-consult-string)) | 269 | (process-send-string "prolog" prolog-consult-string)) |
| 270 | (send-region "prolog" beg end) | 270 | (process-send-region "prolog" beg end) |
| 271 | (send-string "prolog" "\n") ;May be unnecessary | 271 | (process-send-string "prolog" "\n") ;May be unnecessary |
| 272 | (if prolog-eof-string | 272 | (if prolog-eof-string |
| 273 | (send-string "prolog" prolog-eof-string) | 273 | (process-send-string "prolog" prolog-eof-string) |
| 274 | (process-send-eof "prolog")))) ;Send eof to prolog process. | 274 | (process-send-eof "prolog")))) ;Send eof to prolog process. |
| 275 | 275 | ||
| 276 | (defun prolog-consult-region-and-go (compile beg end) | 276 | (defun prolog-consult-region-and-go (compile beg end) |
diff --git a/lisp/progmodes/ps-mode.el b/lisp/progmodes/ps-mode.el index b3495c74491..2d8f1d80aae 100644 --- a/lisp/progmodes/ps-mode.el +++ b/lisp/progmodes/ps-mode.el | |||
| @@ -1173,7 +1173,7 @@ Use line numbers if `ps-run-error-line-numbers' is not nil" | |||
| 1173 | (let (i) | 1173 | (let (i) |
| 1174 | (setq | 1174 | (setq |
| 1175 | i | 1175 | i |
| 1176 | (string-to-int | 1176 | (string-to-number |
| 1177 | (buffer-substring (match-beginning 0) (match-end 0)))) | 1177 | (buffer-substring (match-beginning 0) (match-end 0)))) |
| 1178 | (goto-char p) | 1178 | (goto-char p) |
| 1179 | (pop-to-buffer ps-run-parent) | 1179 | (pop-to-buffer ps-run-parent) |
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index f2389d8defa..0173c419b5d 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el | |||
| @@ -1015,7 +1015,7 @@ Anything else means: whenever we have a \"good guess\" as to the value." | |||
| 1015 | :group 'sh-indentation) | 1015 | :group 'sh-indentation) |
| 1016 | 1016 | ||
| 1017 | (defcustom sh-popup-occur-buffer nil | 1017 | (defcustom sh-popup-occur-buffer nil |
| 1018 | "*Controls when `sh-learn-buffer-indent' pops the *indent* buffer. | 1018 | "*Controls when `sh-learn-buffer-indent' pops the `*indent*' buffer. |
| 1019 | If t it is always shown. If nil, it is shown only when there | 1019 | If t it is always shown. If nil, it is shown only when there |
| 1020 | are conflicts." | 1020 | are conflicts." |
| 1021 | :type '(choice | 1021 | :type '(choice |
| @@ -1044,7 +1044,7 @@ Can be set to a number, or to nil which means leave it as is." | |||
| 1044 | 1044 | ||
| 1045 | (defcustom sh-basic-offset 4 | 1045 | (defcustom sh-basic-offset 4 |
| 1046 | "*The default indentation increment. | 1046 | "*The default indentation increment. |
| 1047 | This value is used for the + and - symbols in an indentation variable." | 1047 | This value is used for the `+' and `-' symbols in an indentation variable." |
| 1048 | :type 'integer | 1048 | :type 'integer |
| 1049 | :group 'sh-indentation) | 1049 | :group 'sh-indentation) |
| 1050 | 1050 | ||
| @@ -1088,7 +1088,7 @@ a number means align to that column, e.g. 0 means fist column." | |||
| 1088 | :menu-tag "/ Indent left half sh-basic-offset"))) | 1088 | :menu-tag "/ Indent left half sh-basic-offset"))) |
| 1089 | 1089 | ||
| 1090 | (defcustom sh-indent-for-else 0 | 1090 | (defcustom sh-indent-for-else 0 |
| 1091 | "*How much to indent an else relative to an if. Usually 0." | 1091 | "*How much to indent an `else' relative to its `if'. Usually 0." |
| 1092 | :type `(choice | 1092 | :type `(choice |
| 1093 | (integer :menu-tag "A number (positive=>indent right)" | 1093 | (integer :menu-tag "A number (positive=>indent right)" |
| 1094 | :tag "A number") | 1094 | :tag "A number") |
| @@ -1104,75 +1104,75 @@ a number means align to that column, e.g. 0 means fist column." | |||
| 1104 | sh-symbol-list)) | 1104 | sh-symbol-list)) |
| 1105 | 1105 | ||
| 1106 | (defcustom sh-indent-for-fi 0 | 1106 | (defcustom sh-indent-for-fi 0 |
| 1107 | "*How much to indent a fi relative to an if. Usually 0." | 1107 | "*How much to indent a `fi' relative to its `if'. Usually 0." |
| 1108 | :type `(choice ,@ sh-number-or-symbol-list ) | 1108 | :type `(choice ,@ sh-number-or-symbol-list ) |
| 1109 | :group 'sh-indentation) | 1109 | :group 'sh-indentation) |
| 1110 | 1110 | ||
| 1111 | (defcustom sh-indent-for-done '0 | 1111 | (defcustom sh-indent-for-done 0 |
| 1112 | "*How much to indent a done relative to its matching stmt. Usually 0." | 1112 | "*How much to indent a `done' relative to its matching stmt. Usually 0." |
| 1113 | :type `(choice ,@ sh-number-or-symbol-list ) | 1113 | :type `(choice ,@ sh-number-or-symbol-list ) |
| 1114 | :group 'sh-indentation) | 1114 | :group 'sh-indentation) |
| 1115 | 1115 | ||
| 1116 | (defcustom sh-indent-after-else '+ | 1116 | (defcustom sh-indent-after-else '+ |
| 1117 | "*How much to indent a statement after an else statement." | 1117 | "*How much to indent a statement after an `else' statement." |
| 1118 | :type `(choice ,@ sh-number-or-symbol-list ) | 1118 | :type `(choice ,@ sh-number-or-symbol-list ) |
| 1119 | :group 'sh-indentation) | 1119 | :group 'sh-indentation) |
| 1120 | 1120 | ||
| 1121 | (defcustom sh-indent-after-if '+ | 1121 | (defcustom sh-indent-after-if '+ |
| 1122 | "*How much to indent a statement after an if statement. | 1122 | "*How much to indent a statement after an `if' statement. |
| 1123 | This includes lines after else and elif statements, too, but | 1123 | This includes lines after `else' and `elif' statements, too, but |
| 1124 | does not affect then else elif or fi statements themselves." | 1124 | does not affect the `else', `elif' or `fi' statements themselves." |
| 1125 | :type `(choice ,@ sh-number-or-symbol-list ) | 1125 | :type `(choice ,@ sh-number-or-symbol-list ) |
| 1126 | :group 'sh-indentation) | 1126 | :group 'sh-indentation) |
| 1127 | 1127 | ||
| 1128 | (defcustom sh-indent-for-then 0 | 1128 | (defcustom sh-indent-for-then 0 |
| 1129 | "*How much to indent a then relative to an if." | 1129 | "*How much to indent a `then' relative to its `if'." |
| 1130 | :type `(choice ,@ sh-number-or-symbol-list ) | 1130 | :type `(choice ,@ sh-number-or-symbol-list ) |
| 1131 | :group 'sh-indentation) | 1131 | :group 'sh-indentation) |
| 1132 | 1132 | ||
| 1133 | (defcustom sh-indent-for-do 0 | 1133 | (defcustom sh-indent-for-do 0 |
| 1134 | "*How much to indent a do statement. | 1134 | "*How much to indent a `do' statement. |
| 1135 | This is relative to the statement before the do, i.e. the | 1135 | This is relative to the statement before the `do', typically a |
| 1136 | while until or for statement." | 1136 | `while', `until', `for', `repeat' or `select' statement." |
| 1137 | :type `(choice ,@ sh-number-or-symbol-list) | 1137 | :type `(choice ,@ sh-number-or-symbol-list) |
| 1138 | :group 'sh-indentation) | 1138 | :group 'sh-indentation) |
| 1139 | 1139 | ||
| 1140 | (defcustom sh-indent-after-do '* | 1140 | (defcustom sh-indent-after-do '+ |
| 1141 | "*How much to indent a line after a do statement. | 1141 | "*How much to indent a line after a `do' statement. |
| 1142 | This is used when the do is the first word of the line. | 1142 | This is used when the `do' is the first word of the line. |
| 1143 | This is relative to the statement before the do, e.g. a | 1143 | This is relative to the statement before the `do', typically a |
| 1144 | while for repeat or select statement." | 1144 | `while', `until', `for', `repeat' or `select' statement." |
| 1145 | :type `(choice ,@ sh-number-or-symbol-list) | 1145 | :type `(choice ,@ sh-number-or-symbol-list) |
| 1146 | :group 'sh-indentation) | 1146 | :group 'sh-indentation) |
| 1147 | 1147 | ||
| 1148 | (defcustom sh-indent-after-loop-construct '+ | 1148 | (defcustom sh-indent-after-loop-construct '+ |
| 1149 | "*How much to indent a statement after a loop construct. | 1149 | "*How much to indent a statement after a loop construct. |
| 1150 | 1150 | ||
| 1151 | This variable is used when the keyword \"do\" is on the same line as the | 1151 | This variable is used when the keyword `do' is on the same line as the |
| 1152 | loop statement (e.g. \"until\", \"while\" or \"for\"). | 1152 | loop statement (e.g., `until', `while' or `for'). |
| 1153 | If the do is on a line by itself, then `sh-indent-after-do' is used instead." | 1153 | If the `do' is on a line by itself, then `sh-indent-after-do' is used instead." |
| 1154 | :type `(choice ,@ sh-number-or-symbol-list) | 1154 | :type `(choice ,@ sh-number-or-symbol-list) |
| 1155 | :group 'sh-indentation) | 1155 | :group 'sh-indentation) |
| 1156 | 1156 | ||
| 1157 | 1157 | ||
| 1158 | (defcustom sh-indent-after-done 0 | 1158 | (defcustom sh-indent-after-done 0 |
| 1159 | "*How much to indent a statement after a \"done\" keyword. | 1159 | "*How much to indent a statement after a `done' keyword. |
| 1160 | Normally this is 0, which aligns the \"done\" to the matching | 1160 | Normally this is 0, which aligns the `done' to the matching |
| 1161 | looping construct line. | 1161 | looping construct line. |
| 1162 | Setting it non-zero allows you to have the \"do\" statement on a line | 1162 | Setting it non-zero allows you to have the `do' statement on a line |
| 1163 | by itself and align the done under to do." | 1163 | by itself and align the done under to do." |
| 1164 | :type `(choice ,@ sh-number-or-symbol-list) | 1164 | :type `(choice ,@ sh-number-or-symbol-list) |
| 1165 | :group 'sh-indentation) | 1165 | :group 'sh-indentation) |
| 1166 | 1166 | ||
| 1167 | (defcustom sh-indent-for-case-label '+ | 1167 | (defcustom sh-indent-for-case-label '+ |
| 1168 | "*How much to indent a case label statement. | 1168 | "*How much to indent a case label statement. |
| 1169 | This is relative to the line containing the case statement." | 1169 | This is relative to the line containing the `case' statement." |
| 1170 | :type `(choice ,@ sh-number-or-symbol-list) | 1170 | :type `(choice ,@ sh-number-or-symbol-list) |
| 1171 | :group 'sh-indentation) | 1171 | :group 'sh-indentation) |
| 1172 | 1172 | ||
| 1173 | (defcustom sh-indent-for-case-alt '++ | 1173 | (defcustom sh-indent-for-case-alt '++ |
| 1174 | "*How much to indent statements after the case label. | 1174 | "*How much to indent statements after the case label. |
| 1175 | This is relative to the line containing the case statement." | 1175 | This is relative to the line containing the `case' statement." |
| 1176 | :type `(choice ,@ sh-number-or-symbol-list) | 1176 | :type `(choice ,@ sh-number-or-symbol-list) |
| 1177 | :group 'sh-indentation) | 1177 | :group 'sh-indentation) |
| 1178 | 1178 | ||
| @@ -1184,7 +1184,7 @@ This is relative to the line containing the case statement." | |||
| 1184 | 1184 | ||
| 1185 | (defcustom sh-indent-after-open '+ | 1185 | (defcustom sh-indent-after-open '+ |
| 1186 | "*How much to indent after a line with an opening parenthesis or brace. | 1186 | "*How much to indent after a line with an opening parenthesis or brace. |
| 1187 | For an open paren after a function `sh-indent-after-function' is used." | 1187 | For an open paren after a function, `sh-indent-after-function' is used." |
| 1188 | :type `(choice ,@ sh-number-or-symbol-list) | 1188 | :type `(choice ,@ sh-number-or-symbol-list) |
| 1189 | :group 'sh-indentation) | 1189 | :group 'sh-indentation) |
| 1190 | 1190 | ||
| @@ -1196,13 +1196,13 @@ For an open paren after a function `sh-indent-after-function' is used." | |||
| 1196 | ;; These 2 are for the rc shell: | 1196 | ;; These 2 are for the rc shell: |
| 1197 | 1197 | ||
| 1198 | (defcustom sh-indent-after-switch '+ | 1198 | (defcustom sh-indent-after-switch '+ |
| 1199 | "*How much to indent a case statement relative to the switch statement. | 1199 | "*How much to indent a `case' statement relative to the `switch' statement. |
| 1200 | This is for the rc shell." | 1200 | This is for the rc shell." |
| 1201 | :type `(choice ,@ sh-number-or-symbol-list) | 1201 | :type `(choice ,@ sh-number-or-symbol-list) |
| 1202 | :group 'sh-indentation) | 1202 | :group 'sh-indentation) |
| 1203 | 1203 | ||
| 1204 | (defcustom sh-indent-after-case '+ | 1204 | (defcustom sh-indent-after-case '+ |
| 1205 | "*How much to indent a statement relative to the case statement. | 1205 | "*How much to indent a statement relative to the `case' statement. |
| 1206 | This is for the rc shell." | 1206 | This is for the rc shell." |
| 1207 | :type `(choice ,@ sh-number-or-symbol-list) | 1207 | :type `(choice ,@ sh-number-or-symbol-list) |
| 1208 | :group 'sh-indentation) | 1208 | :group 'sh-indentation) |
diff --git a/lisp/progmodes/tcl.el b/lisp/progmodes/tcl.el index 95cfbb15196..a3447befa20 100644 --- a/lisp/progmodes/tcl.el +++ b/lisp/progmodes/tcl.el | |||
| @@ -123,15 +123,18 @@ | |||
| 123 | 123 | ||
| 124 | (defcustom tcl-indent-level 4 | 124 | (defcustom tcl-indent-level 4 |
| 125 | "*Indentation of Tcl statements with respect to containing block." | 125 | "*Indentation of Tcl statements with respect to containing block." |
| 126 | :type 'integer) | 126 | :type 'integer |
| 127 | :group 'tcl) | ||
| 127 | 128 | ||
| 128 | (defcustom tcl-continued-indent-level 4 | 129 | (defcustom tcl-continued-indent-level 4 |
| 129 | "*Indentation of continuation line relative to first line of command." | 130 | "*Indentation of continuation line relative to first line of command." |
| 130 | :type 'integer) | 131 | :type 'integer |
| 132 | :group 'tcl) | ||
| 131 | 133 | ||
| 132 | (defcustom tcl-auto-newline nil | 134 | (defcustom tcl-auto-newline nil |
| 133 | "*Non-nil means automatically newline before and after braces you insert." | 135 | "*Non-nil means automatically newline before and after braces you insert." |
| 134 | :type 'boolean) | 136 | :type 'boolean |
| 137 | :group 'tcl) | ||
| 135 | 138 | ||
| 136 | (defcustom tcl-tab-always-indent tab-always-indent | 139 | (defcustom tcl-tab-always-indent tab-always-indent |
| 137 | "*Control effect of TAB key. | 140 | "*Control effect of TAB key. |
| @@ -149,7 +152,8 @@ to take place: | |||
| 149 | 6. Move backward to start of comment, indenting if necessary." | 152 | 6. Move backward to start of comment, indenting if necessary." |
| 150 | :type '(choice (const :tag "Always" t) | 153 | :type '(choice (const :tag "Always" t) |
| 151 | (const :tag "Beginning only" nil) | 154 | (const :tag "Beginning only" nil) |
| 152 | (const :tag "Maybe move or make or delete comment" 'tcl))) | 155 | (const :tag "Maybe move or make or delete comment" 'tcl)) |
| 156 | :group 'tcl) | ||
| 153 | 157 | ||
| 154 | 158 | ||
| 155 | (defcustom tcl-electric-hash-style nil ;; 'smart | 159 | (defcustom tcl-electric-hash-style nil ;; 'smart |
| @@ -160,23 +164,28 @@ meaning that the choice between `backslash' and `quote' should be | |||
| 160 | made depending on the number of hashes inserted; or nil, meaning that | 164 | made depending on the number of hashes inserted; or nil, meaning that |
| 161 | no quoting should be done. Any other value for this variable is | 165 | no quoting should be done. Any other value for this variable is |
| 162 | taken to mean `smart'. The default is nil." | 166 | taken to mean `smart'. The default is nil." |
| 163 | :type '(choice (const backslash) (const quote) (const smart) (const nil))) | 167 | :type '(choice (const backslash) (const quote) (const smart) (const nil)) |
| 168 | :group 'tcl) | ||
| 164 | 169 | ||
| 165 | (defcustom tcl-help-directory-list nil | 170 | (defcustom tcl-help-directory-list nil |
| 166 | "*List of topmost directories containing TclX help files." | 171 | "*List of topmost directories containing TclX help files." |
| 167 | :type '(repeat directory)) | 172 | :type '(repeat directory) |
| 173 | :group 'tcl) | ||
| 168 | 174 | ||
| 169 | (defcustom tcl-use-smart-word-finder t | 175 | (defcustom tcl-use-smart-word-finder t |
| 170 | "*If not nil, use smart way to find current word, for Tcl help feature." | 176 | "*If not nil, use smart way to find current word, for Tcl help feature." |
| 171 | :type 'boolean) | 177 | :type 'boolean |
| 178 | :group 'tcl) | ||
| 172 | 179 | ||
| 173 | (defcustom tcl-application "wish" | 180 | (defcustom tcl-application "wish" |
| 174 | "*Name of Tcl program to run in inferior Tcl mode." | 181 | "*Name of Tcl program to run in inferior Tcl mode." |
| 175 | :type 'string) | 182 | :type 'string |
| 183 | :group 'tcl) | ||
| 176 | 184 | ||
| 177 | (defcustom tcl-command-switches nil | 185 | (defcustom tcl-command-switches nil |
| 178 | "*List of switches to supply to the `tcl-application' program." | 186 | "*List of switches to supply to the `tcl-application' program." |
| 179 | :type '(repeat string)) | 187 | :type '(repeat string) |
| 188 | :group 'tcl) | ||
| 180 | 189 | ||
| 181 | (defcustom tcl-prompt-regexp "^\\(% \\|\\)" | 190 | (defcustom tcl-prompt-regexp "^\\(% \\|\\)" |
| 182 | "*If not nil, a regexp that will match the prompt in the inferior process. | 191 | "*If not nil, a regexp that will match the prompt in the inferior process. |
| @@ -184,7 +193,8 @@ If nil, the prompt is the name of the application with \">\" appended. | |||
| 184 | 193 | ||
| 185 | The default is \"^\\(% \\|\\)\", which will match the default primary | 194 | The default is \"^\\(% \\|\\)\", which will match the default primary |
| 186 | and secondary prompts for tclsh and wish." | 195 | and secondary prompts for tclsh and wish." |
| 187 | :type 'regexp) | 196 | :type 'regexp |
| 197 | :group 'tcl) | ||
| 188 | 198 | ||
| 189 | (defcustom inferior-tcl-source-command "source %s\n" | 199 | (defcustom inferior-tcl-source-command "source %s\n" |
| 190 | "*Format-string for building a Tcl command to load a file. | 200 | "*Format-string for building a Tcl command to load a file. |
| @@ -192,7 +202,8 @@ This format string should use `%s' to substitute a file name | |||
| 192 | and should result in a Tcl expression that will command the | 202 | and should result in a Tcl expression that will command the |
| 193 | inferior Tcl to load that file. The filename will be appropriately | 203 | inferior Tcl to load that file. The filename will be appropriately |
| 194 | quoted for Tcl." | 204 | quoted for Tcl." |
| 195 | :type 'string) | 205 | :type 'string |
| 206 | :group 'tcl) | ||
| 196 | 207 | ||
| 197 | (defface tcl-escaped-newline '((t :inherit font-lock-string-face)) | 208 | (defface tcl-escaped-newline '((t :inherit font-lock-string-face)) |
| 198 | "Face used for (non-escaped) backslash at end of a line in Tcl mode." | 209 | "Face used for (non-escaped) backslash at end of a line in Tcl mode." |
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el index 9f0e63e80a6..12f04895f98 100644 --- a/lisp/progmodes/vhdl-mode.el +++ b/lisp/progmodes/vhdl-mode.el | |||
| @@ -5082,7 +5082,7 @@ Return a valid value only." | |||
| 5082 | ((string-equal "++" input) '++) | 5082 | ((string-equal "++" input) '++) |
| 5083 | ((string-equal "--" input) '--) | 5083 | ((string-equal "--" input) '--) |
| 5084 | ((string-match "^-?[0-9]+$" input) | 5084 | ((string-match "^-?[0-9]+$" input) |
| 5085 | (string-to-int input)) | 5085 | (string-to-number input)) |
| 5086 | ((fboundp (setq interned (intern input))) | 5086 | ((fboundp (setq interned (intern input))) |
| 5087 | interned) | 5087 | interned) |
| 5088 | ((boundp interned) interned) | 5088 | ((boundp interned) interned) |
| @@ -13701,10 +13701,10 @@ entity ENT-KEY." | |||
| 13701 | (condition-case () | 13701 | (condition-case () |
| 13702 | (progn (load-file file-dir-name) | 13702 | (progn (load-file file-dir-name) |
| 13703 | (string< (mapconcat | 13703 | (string< (mapconcat |
| 13704 | (lambda (a) (format "%3d" (string-to-int a))) | 13704 | (lambda (a) (format "%3d" (string-to-number a))) |
| 13705 | (split-string "3.31.14" "\\.") "") | 13705 | (split-string "3.31.14" "\\.") "") |
| 13706 | (mapconcat | 13706 | (mapconcat |
| 13707 | (lambda (a) (format "%3d" (string-to-int a))) | 13707 | (lambda (a) (format "%3d" (string-to-number a))) |
| 13708 | (split-string vhdl-cache-version "\\.") ""))) | 13708 | (split-string vhdl-cache-version "\\.") ""))) |
| 13709 | (error (progn (vhdl-warning (format "ERROR: Corrupted cache file: \"%s\"" file-dir-name)) | 13709 | (error (progn (vhdl-warning (format "ERROR: Corrupted cache file: \"%s\"" file-dir-name)) |
| 13710 | nil)))))) | 13710 | nil)))))) |
| @@ -14075,7 +14075,7 @@ otherwise use cached data." | |||
| 14075 | (beginning-of-line) (looking-at "^\\([0-9]+\\):")) | 14075 | (beginning-of-line) (looking-at "^\\([0-9]+\\):")) |
| 14076 | (re-search-backward | 14076 | (re-search-backward |
| 14077 | (format "^[0-%d]:\\s-*[[{<]-" | 14077 | (format "^[0-%d]:\\s-*[[{<]-" |
| 14078 | (max (1- (string-to-int (match-string 1))) 0)) nil t))) | 14078 | (max (1- (string-to-number (match-string 1))) 0)) nil t))) |
| 14079 | (goto-char (match-end 0)) | 14079 | (goto-char (match-end 0)) |
| 14080 | (speedbar-do-function-pointer) | 14080 | (speedbar-do-function-pointer) |
| 14081 | (speedbar-center-buffer-smartly))) | 14081 | (speedbar-center-buffer-smartly))) |
diff --git a/lisp/replace.el b/lisp/replace.el index 1cef7ecc52a..c9c70b59de5 100644 --- a/lisp/replace.el +++ b/lisp/replace.el | |||
| @@ -1288,14 +1288,14 @@ passed in. If LITERAL is set, no checking is done, anyway." | |||
| 1288 | (while (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\\\?\\)" | 1288 | (while (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\\\?\\)" |
| 1289 | newtext) | 1289 | newtext) |
| 1290 | (setq newtext | 1290 | (setq newtext |
| 1291 | (read-input "Edit replacement string: " | 1291 | (read-string "Edit replacement string: " |
| 1292 | (prog1 | 1292 | (prog1 |
| 1293 | (cons | 1293 | (cons |
| 1294 | (replace-match "" t t newtext 3) | 1294 | (replace-match "" t t newtext 3) |
| 1295 | (1+ (match-beginning 3))) | 1295 | (1+ (match-beginning 3))) |
| 1296 | (setq match-data | 1296 | (setq match-data |
| 1297 | (replace-match-data | 1297 | (replace-match-data |
| 1298 | nil match-data match-data)))) | 1298 | nil match-data match-data)))) |
| 1299 | noedit nil))) | 1299 | noedit nil))) |
| 1300 | (set-match-data match-data) | 1300 | (set-match-data match-data) |
| 1301 | (replace-match newtext fixedcase literal) | 1301 | (replace-match newtext fixedcase literal) |
| @@ -1571,8 +1571,8 @@ make, or the user didn't cancel the call." | |||
| 1571 | nil real-match-data | 1571 | nil real-match-data |
| 1572 | real-match-data) | 1572 | real-match-data) |
| 1573 | next-replacement | 1573 | next-replacement |
| 1574 | (read-input "Edit replacement string: " | 1574 | (read-string "Edit replacement string: " |
| 1575 | next-replacement) | 1575 | next-replacement) |
| 1576 | noedit nil) | 1576 | noedit nil) |
| 1577 | (if replaced | 1577 | (if replaced |
| 1578 | (set-match-data real-match-data) | 1578 | (set-match-data real-match-data) |
diff --git a/lisp/reveal.el b/lisp/reveal.el index 97411fc1669..c08f9b604cb 100644 --- a/lisp/reveal.el +++ b/lisp/reveal.el | |||
| @@ -54,7 +54,8 @@ | |||
| 54 | 54 | ||
| 55 | (defcustom reveal-around-mark t | 55 | (defcustom reveal-around-mark t |
| 56 | "Reveal text around the mark, if active." | 56 | "Reveal text around the mark, if active." |
| 57 | :type 'boolean) | 57 | :type 'boolean |
| 58 | :group 'reveal) | ||
| 58 | 59 | ||
| 59 | (defvar reveal-open-spots nil) | 60 | (defvar reveal-open-spots nil) |
| 60 | (make-variable-buffer-local 'reveal-open-spots) | 61 | (make-variable-buffer-local 'reveal-open-spots) |
diff --git a/lisp/server.el b/lisp/server.el index a0f41e59ff8..0a5fc942206 100644 --- a/lisp/server.el +++ b/lisp/server.el | |||
| @@ -325,11 +325,11 @@ PROC is the server process. Format of STRING is \"PATH PATH PATH... \\n\"." | |||
| 325 | (setq request ""))))) | 325 | (setq request ""))))) |
| 326 | ;; ARG is a line number option. | 326 | ;; ARG is a line number option. |
| 327 | ((string-match "\\`\\+[0-9]+\\'" arg) | 327 | ((string-match "\\`\\+[0-9]+\\'" arg) |
| 328 | (setq lineno (string-to-int (substring arg 1)))) | 328 | (setq lineno (string-to-number (substring arg 1)))) |
| 329 | ;; ARG is line number:column option. | 329 | ;; ARG is line number:column option. |
| 330 | ((string-match "\\`+\\([0-9]+\\):\\([0-9]+\\)\\'" arg) | 330 | ((string-match "\\`+\\([0-9]+\\):\\([0-9]+\\)\\'" arg) |
| 331 | (setq lineno (string-to-int (match-string 1 arg)) | 331 | (setq lineno (string-to-number (match-string 1 arg)) |
| 332 | columnno (string-to-int (match-string 2 arg)))) | 332 | columnno (string-to-number (match-string 2 arg)))) |
| 333 | (t | 333 | (t |
| 334 | ;; Undo the quoting that emacsclient does | 334 | ;; Undo the quoting that emacsclient does |
| 335 | ;; for certain special characters. | 335 | ;; for certain special characters. |
diff --git a/lisp/shadowfile.el b/lisp/shadowfile.el index b3149500ae5..653c1e7f042 100644 --- a/lisp/shadowfile.el +++ b/lisp/shadowfile.el | |||
| @@ -675,7 +675,7 @@ Returns t unless files were locked; then returns nil." | |||
| 675 | (message "Data recovered from %s." | 675 | (message "Data recovered from %s." |
| 676 | (car (insert-file-contents (make-auto-save-file-name)))) | 676 | (car (insert-file-contents (make-auto-save-file-name)))) |
| 677 | (sit-for 1)) | 677 | (sit-for 1)) |
| 678 | (eval-current-buffer)) | 678 | (eval-buffer)) |
| 679 | (when shadow-todo-file | 679 | (when shadow-todo-file |
| 680 | (set-buffer (setq shadow-todo-buffer | 680 | (set-buffer (setq shadow-todo-buffer |
| 681 | (find-file-noselect shadow-todo-file))) | 681 | (find-file-noselect shadow-todo-file))) |
| @@ -686,7 +686,7 @@ Returns t unless files were locked; then returns nil." | |||
| 686 | (message "Data recovered from %s." | 686 | (message "Data recovered from %s." |
| 687 | (car (insert-file-contents (make-auto-save-file-name)))) | 687 | (car (insert-file-contents (make-auto-save-file-name)))) |
| 688 | (sit-for 1)) | 688 | (sit-for 1)) |
| 689 | (eval-current-buffer nil)) | 689 | (eval-buffer nil)) |
| 690 | (shadow-invalidate-hashtable)) | 690 | (shadow-invalidate-hashtable)) |
| 691 | t)) | 691 | t)) |
| 692 | 692 | ||
diff --git a/lisp/shell.el b/lisp/shell.el index 354ed88f80f..fd5e6c25032 100644 --- a/lisp/shell.el +++ b/lisp/shell.el | |||
| @@ -759,7 +759,7 @@ Environment variables are expanded, see function `substitute-in-file-name'." | |||
| 759 | ;; If STR is of the form +n, for n>0, return n. Otherwise, nil. | 759 | ;; If STR is of the form +n, for n>0, return n. Otherwise, nil. |
| 760 | (defun shell-extract-num (str) | 760 | (defun shell-extract-num (str) |
| 761 | (and (string-match "^\\+[1-9][0-9]*$" str) | 761 | (and (string-match "^\\+[1-9][0-9]*$" str) |
| 762 | (string-to-int str))) | 762 | (string-to-number str))) |
| 763 | 763 | ||
| 764 | 764 | ||
| 765 | (defun shell-dirtrack-mode () | 765 | (defun shell-dirtrack-mode () |
diff --git a/lisp/startup.el b/lisp/startup.el index a6679f923d0..96213f2924e 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -1634,11 +1634,11 @@ normal otherwise." | |||
| 1634 | (kill-emacs t)) | 1634 | (kill-emacs t)) |
| 1635 | 1635 | ||
| 1636 | ((string-match "^\\+[0-9]+\\'" argi) | 1636 | ((string-match "^\\+[0-9]+\\'" argi) |
| 1637 | (setq line (string-to-int argi))) | 1637 | (setq line (string-to-number argi))) |
| 1638 | 1638 | ||
| 1639 | ((string-match "^\\+\\([0-9]+\\):\\([0-9]+\\)\\'" argi) | 1639 | ((string-match "^\\+\\([0-9]+\\):\\([0-9]+\\)\\'" argi) |
| 1640 | (setq line (string-to-int (match-string 1 argi)) | 1640 | (setq line (string-to-number (match-string 1 argi)) |
| 1641 | column (string-to-int (match-string 2 argi)))) | 1641 | column (string-to-number (match-string 2 argi)))) |
| 1642 | 1642 | ||
| 1643 | ((setq tem (assoc argi command-line-x-option-alist)) | 1643 | ((setq tem (assoc argi command-line-x-option-alist)) |
| 1644 | ;; Ignore X-windows options and their args if not using X. | 1644 | ;; Ignore X-windows options and their args if not using X. |
diff --git a/lisp/subr.el b/lisp/subr.el index 1c2c01e6b16..d91642c5cbe 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -603,8 +603,13 @@ in the current Emacs session, then this function may return nil." | |||
| 603 | (setq event (car event))) | 603 | (setq event (car event))) |
| 604 | (if (symbolp event) | 604 | (if (symbolp event) |
| 605 | (car (get event 'event-symbol-elements)) | 605 | (car (get event 'event-symbol-elements)) |
| 606 | (let ((base (logand event (1- ?\A-\^@)))) | 606 | (let* ((base (logand event (1- ?\A-\^@))) |
| 607 | (downcase (if (< base 32) (logior base 64) base))))) | 607 | (uncontrolled (if (< base 32) (logior base 64) base))) |
| 608 | ;; There are some numbers that are invalid characters and | ||
| 609 | ;; cause `downcase' to get an error. | ||
| 610 | (condition-case () | ||
| 611 | (downcase uncontrolled) | ||
| 612 | (error uncontrolled))))) | ||
| 608 | 613 | ||
| 609 | (defsubst mouse-movement-p (object) | 614 | (defsubst mouse-movement-p (object) |
| 610 | "Return non-nil if OBJECT is a mouse movement event." | 615 | "Return non-nil if OBJECT is a mouse movement event." |
| @@ -753,16 +758,14 @@ and `event-end' functions." | |||
| 753 | 758 | ||
| 754 | ;;;; Obsolescent names for functions. | 759 | ;;;; Obsolescent names for functions. |
| 755 | 760 | ||
| 756 | (defalias 'window-dot 'window-point) | 761 | (define-obsolete-function-alias 'window-dot 'window-point "22.1") |
| 757 | (defalias 'set-window-dot 'set-window-point) | 762 | (define-obsolete-function-alias 'set-window-dot 'set-window-point "22.1") |
| 758 | (defalias 'read-input 'read-string) | 763 | (define-obsolete-function-alias 'read-input 'read-string "22.1") |
| 759 | (defalias 'send-string 'process-send-string) | 764 | (define-obsolete-function-alias 'show-buffer 'set-window-buffer "22.1") |
| 760 | (defalias 'send-region 'process-send-region) | 765 | (define-obsolete-function-alias 'eval-current-buffer 'eval-buffer "22.1") |
| 761 | (defalias 'show-buffer 'set-window-buffer) | 766 | (define-obsolete-function-alias 'string-to-int 'string-to-number "22.1") |
| 762 | (defalias 'eval-current-buffer 'eval-buffer) | ||
| 763 | 767 | ||
| 764 | (make-obsolete 'char-bytes "now always returns 1." "20.4") | 768 | (make-obsolete 'char-bytes "now always returns 1." "20.4") |
| 765 | (make-obsolete 'baud-rate "use the `baud-rate' variable instead." "before 19.15") | ||
| 766 | 769 | ||
| 767 | (defun insert-string (&rest args) | 770 | (defun insert-string (&rest args) |
| 768 | "Mocklisp-compatibility insert function. | 771 | "Mocklisp-compatibility insert function. |
| @@ -771,6 +774,7 @@ is converted into a string by expressing it in decimal." | |||
| 771 | (dolist (el args) | 774 | (dolist (el args) |
| 772 | (insert (if (integerp el) (number-to-string el) el)))) | 775 | (insert (if (integerp el) (number-to-string el) el)))) |
| 773 | (make-obsolete 'insert-string 'insert "22.1") | 776 | (make-obsolete 'insert-string 'insert "22.1") |
| 777 | |||
| 774 | (defun makehash (&optional test) (make-hash-table :test (or test 'eql))) | 778 | (defun makehash (&optional test) (make-hash-table :test (or test 'eql))) |
| 775 | (make-obsolete 'makehash 'make-hash-table "22.1") | 779 | (make-obsolete 'makehash 'make-hash-table "22.1") |
| 776 | 780 | ||
| @@ -778,6 +782,7 @@ is converted into a string by expressing it in decimal." | |||
| 778 | (defun baud-rate () | 782 | (defun baud-rate () |
| 779 | "Return the value of the `baud-rate' variable." | 783 | "Return the value of the `baud-rate' variable." |
| 780 | baud-rate) | 784 | baud-rate) |
| 785 | (make-obsolete 'baud-rate "use the `baud-rate' variable instead." "before 19.15") | ||
| 781 | 786 | ||
| 782 | 787 | ||
| 783 | ;;;; Obsolescence declarations for variables, and aliases. | 788 | ;;;; Obsolescence declarations for variables, and aliases. |
| @@ -787,10 +792,6 @@ is converted into a string by expressing it in decimal." | |||
| 787 | (make-obsolete-variable 'unread-command-char | 792 | (make-obsolete-variable 'unread-command-char |
| 788 | "use `unread-command-events' instead. That variable is a list of events to reread, so it now uses nil to mean `no event', instead of -1." | 793 | "use `unread-command-events' instead. That variable is a list of events to reread, so it now uses nil to mean `no event', instead of -1." |
| 789 | "before 19.15") | 794 | "before 19.15") |
| 790 | (make-obsolete-variable 'post-command-idle-hook | ||
| 791 | "use timers instead, with `run-with-idle-timer'." "before 19.34") | ||
| 792 | (make-obsolete-variable 'post-command-idle-delay | ||
| 793 | "use timers instead, with `run-with-idle-timer'." "before 19.34") | ||
| 794 | 795 | ||
| 795 | ;; Lisp manual only updated in 22.1. | 796 | ;; Lisp manual only updated in 22.1. |
| 796 | (define-obsolete-variable-alias 'executing-macro 'executing-kbd-macro | 797 | (define-obsolete-variable-alias 'executing-macro 'executing-kbd-macro |
| @@ -805,6 +806,8 @@ is converted into a string by expressing it in decimal." | |||
| 805 | 806 | ||
| 806 | ;;;; Alternate names for functions - these are not being phased out. | 807 | ;;;; Alternate names for functions - these are not being phased out. |
| 807 | 808 | ||
| 809 | (defalias 'send-string 'process-send-string) | ||
| 810 | (defalias 'send-region 'process-send-region) | ||
| 808 | (defalias 'string= 'string-equal) | 811 | (defalias 'string= 'string-equal) |
| 809 | (defalias 'string< 'string-lessp) | 812 | (defalias 'string< 'string-lessp) |
| 810 | (defalias 'move-marker 'set-marker) | 813 | (defalias 'move-marker 'set-marker) |
| @@ -822,9 +825,6 @@ is converted into a string by expressing it in decimal." | |||
| 822 | (defalias 'point-at-eol 'line-end-position) | 825 | (defalias 'point-at-eol 'line-end-position) |
| 823 | (defalias 'point-at-bol 'line-beginning-position) | 826 | (defalias 'point-at-bol 'line-beginning-position) |
| 824 | 827 | ||
| 825 | ;;; Should this be an obsolete name? If you decide it should, you get | ||
| 826 | ;;; to go through all the sources and change them. | ||
| 827 | (define-obsolete-function-alias 'string-to-int 'string-to-number) | ||
| 828 | 828 | ||
| 829 | ;;;; Hook manipulation functions. | 829 | ;;;; Hook manipulation functions. |
| 830 | 830 | ||
| @@ -983,7 +983,8 @@ It can also be nil, if the definition is not associated with any file. | |||
| 983 | 983 | ||
| 984 | If TYPE is nil, then any kind of definition is acceptable. | 984 | If TYPE is nil, then any kind of definition is acceptable. |
| 985 | If TYPE is `defun' or `defvar', that specifies function | 985 | If TYPE is `defun' or `defvar', that specifies function |
| 986 | definition only or variable definition only." | 986 | definition only or variable definition only. |
| 987 | `defface' specifies a face definition only." | ||
| 987 | (if (and (or (null type) (eq type 'defun)) | 988 | (if (and (or (null type) (eq type 'defun)) |
| 988 | (symbolp symbol) (fboundp symbol) | 989 | (symbolp symbol) (fboundp symbol) |
| 989 | (eq 'autoload (car-safe (symbol-function symbol)))) | 990 | (eq 'autoload (car-safe (symbol-function symbol)))) |
| @@ -1040,12 +1041,10 @@ This makes or adds to an entry on `after-load-alist'. | |||
| 1040 | FILE should be the name of a library, with no directory name." | 1041 | FILE should be the name of a library, with no directory name." |
| 1041 | (eval-after-load file (read))) | 1042 | (eval-after-load file (read))) |
| 1042 | 1043 | ||
| 1043 | ;;; make-network-process wrappers | 1044 | ;;; open-network-stream is a wrapper around make-network-process. |
| 1044 | 1045 | ||
| 1045 | (if (featurep 'make-network-process) | 1046 | (when (featurep 'make-network-process) |
| 1046 | (progn | 1047 | (defun open-network-stream (name buffer host service) |
| 1047 | |||
| 1048 | (defun open-network-stream (name buffer host service) | ||
| 1049 | "Open a TCP connection for a service to a host. | 1048 | "Open a TCP connection for a service to a host. |
| 1050 | Returns a subprocess-object to represent the connection. | 1049 | Returns a subprocess-object to represent the connection. |
| 1051 | Input and output work as for subprocesses; `delete-process' closes it. | 1050 | Input and output work as for subprocesses; `delete-process' closes it. |
| @@ -1061,56 +1060,7 @@ HOST is name of the host to connect to, or its IP address. | |||
| 1061 | SERVICE is name of the service desired, or an integer specifying | 1060 | SERVICE is name of the service desired, or an integer specifying |
| 1062 | a port number to connect to." | 1061 | a port number to connect to." |
| 1063 | (make-network-process :name name :buffer buffer | 1062 | (make-network-process :name name :buffer buffer |
| 1064 | :host host :service service)) | 1063 | :host host :service service))) |
| 1065 | |||
| 1066 | (defun open-network-stream-nowait (name buffer host service &optional sentinel filter) | ||
| 1067 | "Initiate connection to a TCP connection for a service to a host. | ||
| 1068 | It returns nil if non-blocking connects are not supported; otherwise, | ||
| 1069 | it returns a subprocess-object to represent the connection. | ||
| 1070 | |||
| 1071 | This function is similar to `open-network-stream', except that it | ||
| 1072 | returns before the connection is established. When the connection | ||
| 1073 | is completed, the sentinel function will be called with second arg | ||
| 1074 | matching `open' (if successful) or `failed' (on error). | ||
| 1075 | |||
| 1076 | Args are NAME BUFFER HOST SERVICE SENTINEL FILTER. | ||
| 1077 | NAME, BUFFER, HOST, and SERVICE are as for `open-network-stream'. | ||
| 1078 | Optional args SENTINEL and FILTER specify the sentinel and filter | ||
| 1079 | functions to be used for this network stream." | ||
| 1080 | (if (featurep 'make-network-process '(:nowait t)) | ||
| 1081 | (make-network-process :name name :buffer buffer :nowait t | ||
| 1082 | :host host :service service | ||
| 1083 | :filter filter :sentinel sentinel))) | ||
| 1084 | |||
| 1085 | (defun open-network-stream-server (name buffer service &optional sentinel filter) | ||
| 1086 | "Create a network server process for a TCP service. | ||
| 1087 | It returns nil if server processes are not supported; otherwise, | ||
| 1088 | it returns a subprocess-object to represent the server. | ||
| 1089 | |||
| 1090 | When a client connects to the specified service, a new subprocess | ||
| 1091 | is created to handle the new connection, and the sentinel function | ||
| 1092 | is called for the new process. | ||
| 1093 | |||
| 1094 | Args are NAME BUFFER SERVICE SENTINEL FILTER. | ||
| 1095 | NAME is name for the server process. Client processes are named by | ||
| 1096 | appending the ip-address and port number of the client to NAME. | ||
| 1097 | BUFFER is the buffer (or buffer name) to associate with the server | ||
| 1098 | process. Client processes will not get a buffer if a process filter | ||
| 1099 | is specified or BUFFER is nil; otherwise, a new buffer is created for | ||
| 1100 | the client process. The name is similar to the process name. | ||
| 1101 | Third arg SERVICE is name of the service desired, or an integer | ||
| 1102 | specifying a port number to connect to. It may also be t to select | ||
| 1103 | an unused port number for the server. | ||
| 1104 | Optional args SENTINEL and FILTER specify the sentinel and filter | ||
| 1105 | functions to be used for the client processes; the server process | ||
| 1106 | does not use these function." | ||
| 1107 | (if (featurep 'make-network-process '(:server t)) | ||
| 1108 | (make-network-process :name name :buffer buffer | ||
| 1109 | :service service :server t :noquery t | ||
| 1110 | :sentinel sentinel :filter filter))) | ||
| 1111 | |||
| 1112 | )) ;; (featurep 'make-network-process) | ||
| 1113 | |||
| 1114 | 1064 | ||
| 1115 | ;; compatibility | 1065 | ;; compatibility |
| 1116 | 1066 | ||
| @@ -2362,7 +2312,7 @@ macros." | |||
| 2362 | "Delete from ALIST all elements whose car is `eq' to KEY. | 2312 | "Delete from ALIST all elements whose car is `eq' to KEY. |
| 2363 | Return the modified alist. | 2313 | Return the modified alist. |
| 2364 | Elements of ALIST that are not conses are ignored." | 2314 | Elements of ALIST that are not conses are ignored." |
| 2365 | (while (and (consp (car alist)) | 2315 | (while (and (consp (car alist)) |
| 2366 | (eq (car (car alist)) key)) | 2316 | (eq (car (car alist)) key)) |
| 2367 | (setq alist (cdr alist))) | 2317 | (setq alist (cdr alist))) |
| 2368 | (let ((tail alist) tail-cdr) | 2318 | (let ((tail alist) tail-cdr) |
| @@ -2377,7 +2327,7 @@ Elements of ALIST that are not conses are ignored." | |||
| 2377 | "Delete from ALIST all elements whose cdr is `eq' to VALUE. | 2327 | "Delete from ALIST all elements whose cdr is `eq' to VALUE. |
| 2378 | Return the modified alist. | 2328 | Return the modified alist. |
| 2379 | Elements of ALIST that are not conses are ignored." | 2329 | Elements of ALIST that are not conses are ignored." |
| 2380 | (while (and (consp (car alist)) | 2330 | (while (and (consp (car alist)) |
| 2381 | (eq (cdr (car alist)) value)) | 2331 | (eq (cdr (car alist)) value)) |
| 2382 | (setq alist (cdr alist))) | 2332 | (setq alist (cdr alist))) |
| 2383 | (let ((tail alist) tail-cdr) | 2333 | (let ((tail alist) tail-cdr) |
diff --git a/lisp/term.el b/lisp/term.el index 1e04f7ac015..7f8347a986d 100644 --- a/lisp/term.el +++ b/lisp/term.el | |||
| @@ -3337,7 +3337,7 @@ The top-most line is line 0." | |||
| 3337 | (second-colon | 3337 | (second-colon |
| 3338 | (string-match ":" string (1+ first-colon))) | 3338 | (string-match ":" string (1+ first-colon))) |
| 3339 | (filename (substring string 1 first-colon)) | 3339 | (filename (substring string 1 first-colon)) |
| 3340 | (fileline (string-to-int | 3340 | (fileline (string-to-number |
| 3341 | (substring string (1+ first-colon) second-colon)))) | 3341 | (substring string (1+ first-colon) second-colon)))) |
| 3342 | (setq term-pending-frame (cons filename fileline)))) | 3342 | (setq term-pending-frame (cons filename fileline)))) |
| 3343 | ((= (aref string 0) ?/) | 3343 | ((= (aref string 0) ?/) |
diff --git a/lisp/term/mac-win.el b/lisp/term/mac-win.el index 02a6564f6a1..f44fd616560 100644 --- a/lisp/term/mac-win.el +++ b/lisp/term/mac-win.el | |||
| @@ -106,7 +106,7 @@ | |||
| 106 | (let ((param (nth 3 aelt))) | 106 | (let ((param (nth 3 aelt))) |
| 107 | (setq default-frame-alist | 107 | (setq default-frame-alist |
| 108 | (cons (cons param | 108 | (cons (cons param |
| 109 | (string-to-int (car x-invocation-args))) | 109 | (string-to-number (car x-invocation-args))) |
| 110 | default-frame-alist) | 110 | default-frame-alist) |
| 111 | x-invocation-args | 111 | x-invocation-args |
| 112 | (cdr x-invocation-args)))))) | 112 | (cdr x-invocation-args)))))) |
| @@ -1328,6 +1328,13 @@ in `selection-converter-alist', which see." | |||
| 1328 | coding 'utf-16))) | 1328 | coding 'utf-16))) |
| 1329 | (setq str (or s (encode-coding-string str 'utf-16-mac))))) | 1329 | (setq str (or s (encode-coding-string str 'utf-16-mac))))) |
| 1330 | ((eq type 'com.apple.traditional-mac-plain-text) | 1330 | ((eq type 'com.apple.traditional-mac-plain-text) |
| 1331 | (let ((encodables (find-coding-systems-string str)) | ||
| 1332 | (rest mac-script-code-coding-systems)) | ||
| 1333 | (unless (memq coding encodables) | ||
| 1334 | (while (and rest (not (memq (cdar rest) encodables))) | ||
| 1335 | (setq rest (cdr rest))) | ||
| 1336 | (if rest | ||
| 1337 | (setq coding (cdar rest))))) | ||
| 1331 | (setq coding (coding-system-change-eol-conversion coding 'mac)) | 1338 | (setq coding (coding-system-change-eol-conversion coding 'mac)) |
| 1332 | (setq str (encode-coding-string str coding))) | 1339 | (setq str (encode-coding-string str coding))) |
| 1333 | (t | 1340 | (t |
diff --git a/lisp/term/sun-mouse.el b/lisp/term/sun-mouse.el index 8d9bfb67cf7..cee02919a66 100644 --- a/lisp/term/sun-mouse.el +++ b/lisp/term/sun-mouse.el | |||
| @@ -615,7 +615,7 @@ CODE values: 13 = Tool-Position, 14 = Size-in-Pixels, 18 = Size-in-Chars." | |||
| 615 | (setq str (substring str (match-end 0))) | 615 | (setq str (substring str (match-end 0))) |
| 616 | (string-match ";[0-9]*" str) | 616 | (string-match ";[0-9]*" str) |
| 617 | (setq x (substring str (1+ (match-beginning 0)) (match-end 0))) | 617 | (setq x (substring str (1+ (match-beginning 0)) (match-end 0))) |
| 618 | (cons (string-to-int y) (string-to-int x)))) | 618 | (cons (string-to-number y) (string-to-number x)))) |
| 619 | 619 | ||
| 620 | (defun sm::font-size () | 620 | (defun sm::font-size () |
| 621 | "Returns font size in pixels: (cons Ysize Xsize)" | 621 | "Returns font size in pixels: (cons Ysize Xsize)" |
diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el index b4bd84cad03..3fcf281a9b9 100644 --- a/lisp/term/w32-win.el +++ b/lisp/term/w32-win.el | |||
| @@ -146,7 +146,7 @@ the last file dropped is selected." | |||
| 146 | "Handle SWITCH of the form \"-switch n\"." | 146 | "Handle SWITCH of the form \"-switch n\"." |
| 147 | (let ((aelt (assoc switch command-line-x-option-alist))) | 147 | (let ((aelt (assoc switch command-line-x-option-alist))) |
| 148 | (if aelt | 148 | (if aelt |
| 149 | (push (cons (nth 3 aelt) (string-to-int (pop x-invocation-args))) | 149 | (push (cons (nth 3 aelt) (string-to-number (pop x-invocation-args))) |
| 150 | default-frame-alist)))) | 150 | default-frame-alist)))) |
| 151 | 151 | ||
| 152 | ;; Handle options that apply to initial frame only | 152 | ;; Handle options that apply to initial frame only |
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el index 8641909da1c..4f440207c96 100644 --- a/lisp/term/x-win.el +++ b/lisp/term/x-win.el | |||
| @@ -105,7 +105,7 @@ | |||
| 105 | (let ((param (nth 3 aelt))) | 105 | (let ((param (nth 3 aelt))) |
| 106 | (setq default-frame-alist | 106 | (setq default-frame-alist |
| 107 | (cons (cons param | 107 | (cons (cons param |
| 108 | (string-to-int (car x-invocation-args))) | 108 | (string-to-number (car x-invocation-args))) |
| 109 | default-frame-alist) | 109 | default-frame-alist) |
| 110 | x-invocation-args | 110 | x-invocation-args |
| 111 | (cdr x-invocation-args)))))) | 111 | (cdr x-invocation-args)))))) |
diff --git a/lisp/terminal.el b/lisp/terminal.el index d33ba914cd3..b84b1b6ed00 100644 --- a/lisp/terminal.el +++ b/lisp/terminal.el | |||
| @@ -489,7 +489,7 @@ lets you type a terminal emulator command." | |||
| 489 | (progn | 489 | (progn |
| 490 | (and terminal-more-processing (null (cdr te-pending-output)) | 490 | (and terminal-more-processing (null (cdr te-pending-output)) |
| 491 | (te-set-more-count nil)) | 491 | (te-set-more-count nil)) |
| 492 | (send-string te-process (make-string 1 last-input-char)) | 492 | (process-send-string te-process (make-string 1 last-input-char)) |
| 493 | (te-process-output t)) | 493 | (te-process-output t)) |
| 494 | (message "Function key `%s' ignored" | 494 | (message "Function key `%s' ignored" |
| 495 | (single-key-description last-input-char)))))) | 495 | (single-key-description last-input-char)))))) |
diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index c41145befc8..1615da60910 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el | |||
| @@ -61,7 +61,8 @@ If the function returns nil, then `fill-paragraph' does its normal work.") | |||
| 61 | Kinsoku processing is designed to prevent certain characters from being | 61 | Kinsoku processing is designed to prevent certain characters from being |
| 62 | placed at the beginning or end of a line by filling. | 62 | placed at the beginning or end of a line by filling. |
| 63 | See the documentation of `kinsoku' for more information." | 63 | See the documentation of `kinsoku' for more information." |
| 64 | :type 'boolean) | 64 | :type 'boolean |
| 65 | :group 'fill) | ||
| 65 | 66 | ||
| 66 | (defun set-fill-prefix () | 67 | (defun set-fill-prefix () |
| 67 | "Set the fill prefix to the current line up to point. | 68 | "Set the fill prefix to the current line up to point. |
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index b171e6530fc..6aff0a731c7 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el | |||
| @@ -2266,9 +2266,9 @@ Optional third arg SHIFT is an offset to apply based on previous corrections." | |||
| 2266 | (setq output (substring output (match-end 0))) ; skip over misspelling | 2266 | (setq output (substring output (match-end 0))) ; skip over misspelling |
| 2267 | (if (eq type ?#) | 2267 | (if (eq type ?#) |
| 2268 | (setq count 0) ; no misses for type # | 2268 | (setq count 0) ; no misses for type # |
| 2269 | (setq count (string-to-int output) ; get number of misses. | 2269 | (setq count (string-to-number output) ; get number of misses. |
| 2270 | output (substring output (1+ (string-match " " output 1))))) | 2270 | output (substring output (1+ (string-match " " output 1))))) |
| 2271 | (setq offset (string-to-int output)) | 2271 | (setq offset (string-to-number output)) |
| 2272 | (if (eq type ?#) ; No miss or guess list. | 2272 | (if (eq type ?#) ; No miss or guess list. |
| 2273 | (setq output nil) | 2273 | (setq output nil) |
| 2274 | (setq output (substring output (1+ (string-match " " output 1))))) | 2274 | (setq output (substring output (1+ (string-match " " output 1))))) |
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el index c0638804ffa..9c5addb85fa 100644 --- a/lisp/textmodes/nroff-mode.el +++ b/lisp/textmodes/nroff-mode.el | |||
| @@ -134,7 +134,7 @@ closing requests for requests that are used in matched pairs." | |||
| 134 | (save-excursion | 134 | (save-excursion |
| 135 | (looking-at outline-regexp) | 135 | (looking-at outline-regexp) |
| 136 | (skip-chars-forward ".H ") | 136 | (skip-chars-forward ".H ") |
| 137 | (string-to-int (buffer-substring (point) (+ 1 (point)))))) | 137 | (string-to-number (buffer-substring (point) (+ 1 (point)))))) |
| 138 | 138 | ||
| 139 | ;;; Compute how much to indent a comment in nroff/troff source. | 139 | ;;; Compute how much to indent a comment in nroff/troff source. |
| 140 | ;;; By mit-erl!gildea April 86 | 140 | ;;; By mit-erl!gildea April 86 |
diff --git a/lisp/textmodes/reftex-auc.el b/lisp/textmodes/reftex-auc.el index 93cd0757b4e..821eb7feca2 100644 --- a/lisp/textmodes/reftex-auc.el +++ b/lisp/textmodes/reftex-auc.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; reftex-auc.el --- RefTeX's interface to AUCTeX | 1 | ;;; reftex-auc.el --- RefTeX's interface to AUCTeX |
| 2 | ;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc. | 2 | ;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004, 2005 |
| 3 | ;; Free Software Foundation, Inc. | ||
| 3 | 4 | ||
| 4 | ;; Author: Carsten Dominik <dominik@science.uva.nl> | 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> |
| 5 | ;; Version: 4.26 | 6 | ;; Version: 4.28 |
| 6 | 7 | ||
| 7 | ;; This file is part of GNU Emacs. | 8 | ;; This file is part of GNU Emacs. |
| 8 | 9 | ||
diff --git a/lisp/textmodes/reftex-cite.el b/lisp/textmodes/reftex-cite.el index f12d01716fe..90ab8b7a3af 100644 --- a/lisp/textmodes/reftex-cite.el +++ b/lisp/textmodes/reftex-cite.el | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | ;; Free Software Foundation, Inc. | 3 | ;; Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> | 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> |
| 6 | ;; Version: 4.26 | 6 | ;; Version: 4.28 |
| 7 | 7 | ||
| 8 | ;; This file is part of GNU Emacs. | 8 | ;; This file is part of GNU Emacs. |
| 9 | 9 | ||
| @@ -312,12 +312,12 @@ | |||
| 312 | (not (stringp (car al1)))))) | 312 | (not (stringp (car al1)))))) |
| 313 | 313 | ||
| 314 | (defun reftex-bib-sort-year (e1 e2) | 314 | (defun reftex-bib-sort-year (e1 e2) |
| 315 | (< (string-to-int (or (cdr (assoc "year" e1)) "0")) | 315 | (< (string-to-number (or (cdr (assoc "year" e1)) "0")) |
| 316 | (string-to-int (or (cdr (assoc "year" e2)) "0")))) | 316 | (string-to-number (or (cdr (assoc "year" e2)) "0")))) |
| 317 | 317 | ||
| 318 | (defun reftex-bib-sort-year-reverse (e1 e2) | 318 | (defun reftex-bib-sort-year-reverse (e1 e2) |
| 319 | (> (string-to-int (or (cdr (assoc "year" e1)) "0")) | 319 | (> (string-to-number (or (cdr (assoc "year" e1)) "0")) |
| 320 | (string-to-int (or (cdr (assoc "year" e2)) "0")))) | 320 | (string-to-number (or (cdr (assoc "year" e2)) "0")))) |
| 321 | 321 | ||
| 322 | (defun reftex-get-crossref-alist (entry) | 322 | (defun reftex-get-crossref-alist (entry) |
| 323 | ;; return the alist from a crossref entry | 323 | ;; return the alist from a crossref entry |
| @@ -681,7 +681,7 @@ While entering the regexp, completion on knows citation keys is possible. | |||
| 681 | ;; Should we cleanup empty optional arguments? | 681 | ;; Should we cleanup empty optional arguments? |
| 682 | ;; if the first is empty, it can be removed. If the second is empty, | 682 | ;; if the first is empty, it can be removed. If the second is empty, |
| 683 | ;; it has to go. If there is only a single arg and empty, it can go | 683 | ;; it has to go. If there is only a single arg and empty, it can go |
| 684 | ;; as well. | 684 | ;; as well. |
| 685 | (when reftex-cite-cleanup-optional-args | 685 | (when reftex-cite-cleanup-optional-args |
| 686 | (cond | 686 | (cond |
| 687 | ((string-match "\\([a-zA-Z0-9]\\)\\[\\]{" string) | 687 | ((string-match "\\([a-zA-Z0-9]\\)\\[\\]{" string) |
| @@ -988,7 +988,7 @@ While entering the regexp, completion on knows citation keys is possible. | |||
| 988 | (while (string-match | 988 | (while (string-match |
| 989 | "\\(\\`\\|[^%]\\)\\(\\(%\\([0-9]*\\)\\([a-zA-Z]\\)\\)[.,;: ]*\\)" | 989 | "\\(\\`\\|[^%]\\)\\(\\(%\\([0-9]*\\)\\([a-zA-Z]\\)\\)[.,;: ]*\\)" |
| 990 | format) | 990 | format) |
| 991 | (let ((n (string-to-int (match-string 4 format))) | 991 | (let ((n (string-to-number (match-string 4 format))) |
| 992 | (l (string-to-char (match-string 5 format))) | 992 | (l (string-to-char (match-string 5 format))) |
| 993 | rpl b e) | 993 | rpl b e) |
| 994 | (save-match-data | 994 | (save-match-data |
diff --git a/lisp/textmodes/reftex-dcr.el b/lisp/textmodes/reftex-dcr.el index e832465cf17..b73c62a9a0a 100644 --- a/lisp/textmodes/reftex-dcr.el +++ b/lisp/textmodes/reftex-dcr.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; reftex-dcr.el --- viewing cross references and citations with RefTeX | 1 | ;;; reftex-dcr.el --- viewing cross references and citations with RefTeX |
| 2 | ;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc. | 2 | ;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004, 2005 |
| 3 | ;; Free Software Foundation, Inc. | ||
| 3 | 4 | ||
| 4 | ;; Author: Carsten Dominik <dominik@science.uva.nl> | 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> |
| 5 | ;; Version: 4.26 | 6 | ;; Version: 4.28 |
| 6 | ;; | 7 | ;; |
| 7 | 8 | ||
| 8 | ;; This file is part of GNU Emacs. | 9 | ;; This file is part of GNU Emacs. |
diff --git a/lisp/textmodes/reftex-global.el b/lisp/textmodes/reftex-global.el index d3ef2dcb788..76c03c13188 100644 --- a/lisp/textmodes/reftex-global.el +++ b/lisp/textmodes/reftex-global.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; reftex-global.el --- operations on entire documents with RefTeX | 1 | ;;; reftex-global.el --- operations on entire documents with RefTeX |
| 2 | ;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc. | 2 | ;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004, 2005 |
| 3 | ;; Free Software Foundation, Inc. | ||
| 3 | 4 | ||
| 4 | ;; Author: Carsten Dominik <dominik@science.uva.nl> | 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> |
| 5 | ;; Version: 4.26 | 6 | ;; Version: 4.28 |
| 6 | 7 | ||
| 7 | ;; This file is part of GNU Emacs. | 8 | ;; This file is part of GNU Emacs. |
| 8 | 9 | ||
| @@ -416,10 +417,6 @@ Also checks if buffers visiting the files are in read-only mode." | |||
| 416 | (find-file (car flist)))))) | 417 | (find-file (car flist)))))) |
| 417 | 418 | ||
| 418 | ;;;###autoload | 419 | ;;;###autoload |
| 419 | (defvar reftex-isearch-minor-mode nil) | ||
| 420 | (make-variable-buffer-local 'reftex-isearch-minor-mode) | ||
| 421 | |||
| 422 | ;;;###autoload | ||
| 423 | (defun reftex-isearch-minor-mode (&optional arg) | 420 | (defun reftex-isearch-minor-mode (&optional arg) |
| 424 | "When on, isearch searches the whole document, not only the current file. | 421 | "When on, isearch searches the whole document, not only the current file. |
| 425 | This minor mode allows isearch to search through all the files of | 422 | This minor mode allows isearch to search through all the files of |
diff --git a/lisp/textmodes/reftex-index.el b/lisp/textmodes/reftex-index.el index 8fada9c4930..ff2ea70a011 100644 --- a/lisp/textmodes/reftex-index.el +++ b/lisp/textmodes/reftex-index.el | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | ;; Free Software Foundation, Inc. | 3 | ;; Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> | 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> |
| 6 | ;; Version: 4.26 | 6 | ;; Version: 4.28 |
| 7 | 7 | ||
| 8 | ;; This file is part of GNU Emacs. | 8 | ;; This file is part of GNU Emacs. |
| 9 | 9 | ||
diff --git a/lisp/textmodes/reftex-parse.el b/lisp/textmodes/reftex-parse.el index ce1e3d77d72..0046c1b34b8 100644 --- a/lisp/textmodes/reftex-parse.el +++ b/lisp/textmodes/reftex-parse.el | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | ;; Free Software Foundation, Inc. | 3 | ;; Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> | 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> |
| 6 | ;; Version: 4.26 | 6 | ;; Version: 4.28 |
| 7 | ;; | 7 | ;; |
| 8 | 8 | ||
| 9 | ;; This file is part of GNU Emacs. | 9 | ;; This file is part of GNU Emacs. |
| @@ -999,7 +999,7 @@ of master file." | |||
| 999 | (if (string-match "\\`[A-Z]\\'" number-string) | 999 | (if (string-match "\\`[A-Z]\\'" number-string) |
| 1000 | (aset reftex-section-numbers i | 1000 | (aset reftex-section-numbers i |
| 1001 | (- (string-to-char number-string) ?A -1)) | 1001 | (- (string-to-char number-string) ?A -1)) |
| 1002 | (aset reftex-section-numbers i (string-to-int number-string))) | 1002 | (aset reftex-section-numbers i (string-to-number number-string))) |
| 1003 | (pop numbers)) | 1003 | (pop numbers)) |
| 1004 | (decf i))) | 1004 | (decf i))) |
| 1005 | (put 'reftex-section-numbers 'appendix appendix)) | 1005 | (put 'reftex-section-numbers 'appendix appendix)) |
| @@ -1045,7 +1045,7 @@ of master file." | |||
| 1045 | (setq string | 1045 | (setq string |
| 1046 | (concat | 1046 | (concat |
| 1047 | (char-to-string | 1047 | (char-to-string |
| 1048 | (1- (+ ?A (string-to-int (match-string 0 string))))) | 1048 | (1- (+ ?A (string-to-number (match-string 0 string))))) |
| 1049 | (substring string (match-end 0)))))) | 1049 | (substring string (match-end 0)))))) |
| 1050 | (if star | 1050 | (if star |
| 1051 | (concat (make-string (1- (length string)) ?\ ) "*") | 1051 | (concat (make-string (1- (length string)) ?\ ) "*") |
diff --git a/lisp/textmodes/reftex-ref.el b/lisp/textmodes/reftex-ref.el index 6afbb77767c..be6f95d6ebc 100644 --- a/lisp/textmodes/reftex-ref.el +++ b/lisp/textmodes/reftex-ref.el | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | ;; Free Software Foundation, Inc. | 3 | ;; Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> | 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> |
| 6 | ;; Version: 4.26 | 6 | ;; Version: 4.28 |
| 7 | 7 | ||
| 8 | ;; This file is part of GNU Emacs. | 8 | ;; This file is part of GNU Emacs. |
| 9 | 9 | ||
| @@ -29,6 +29,7 @@ | |||
| 29 | (eval-when-compile (require 'cl)) | 29 | (eval-when-compile (require 'cl)) |
| 30 | (provide 'reftex-ref) | 30 | (provide 'reftex-ref) |
| 31 | (require 'reftex) | 31 | (require 'reftex) |
| 32 | (require 'reftex-parse) | ||
| 32 | ;;; | 33 | ;;; |
| 33 | 34 | ||
| 34 | (defun reftex-label-location (&optional bound) | 35 | (defun reftex-label-location (&optional bound) |
| @@ -200,13 +201,13 @@ This function is controlled by the settings of reftex-insert-label-flags." | |||
| 200 | force-prompt) | 201 | force-prompt) |
| 201 | 202 | ||
| 202 | (while (not valid) | 203 | (while (not valid) |
| 203 | ;; iterate until we get a legal label | 204 | ;; iterate until we get a valid label |
| 204 | 205 | ||
| 205 | (setq label (read-string | 206 | (setq label (read-string |
| 206 | (if naked "Naked Label: " "Label: ") | 207 | (if naked "Naked Label: " "Label: ") |
| 207 | default)) | 208 | default)) |
| 208 | 209 | ||
| 209 | ;; Lets make sure that this is a legal label | 210 | ;; Lets make sure that this is a valid label |
| 210 | (cond | 211 | (cond |
| 211 | 212 | ||
| 212 | ((string-match (concat "\\`\\(" (regexp-quote prefix) | 213 | ((string-match (concat "\\`\\(" (regexp-quote prefix) |
diff --git a/lisp/textmodes/reftex-sel.el b/lisp/textmodes/reftex-sel.el index 8b0ebb2ca2b..eb8c3035c90 100644 --- a/lisp/textmodes/reftex-sel.el +++ b/lisp/textmodes/reftex-sel.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; reftex-sel.el --- the selection modes for RefTeX | 1 | ;;; reftex-sel.el --- the selection modes for RefTeX |
| 2 | ;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc. | 2 | ;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004, 2005 |
| 3 | ;; Free Software Foundation, Inc. | ||
| 3 | 4 | ||
| 4 | ;; Author: Carsten Dominik <dominik@science.uva.nl> | 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> |
| 5 | ;; Version: 4.26 | 6 | ;; Version: 4.28 |
| 6 | 7 | ||
| 7 | ;; This file is part of GNU Emacs. | 8 | ;; This file is part of GNU Emacs. |
| 8 | 9 | ||
| @@ -418,7 +419,7 @@ During a selection process, these are the local bindings. | |||
| 418 | (remove-hook 'post-command-hook | 419 | (remove-hook 'post-command-hook |
| 419 | 'reftex-select-post-command-hook t)) | 420 | 'reftex-select-post-command-hook t)) |
| 420 | ;; Kill the mark overlays | 421 | ;; Kill the mark overlays |
| 421 | (mapcar (lambda (c) (delete-overlay (nth 1 c))) | 422 | (mapcar (lambda (c) (reftex-delete-overlay (nth 1 c))) |
| 422 | reftex-select-marked))))) | 423 | reftex-select-marked))))) |
| 423 | 424 | ||
| 424 | (set (make-local-variable 'reftex-last-line) | 425 | (set (make-local-variable 'reftex-last-line) |
| @@ -604,14 +605,14 @@ Useful for large TOC's." | |||
| 604 | (setq boe (or (previous-single-property-change (1+ (point)) :data) | 605 | (setq boe (or (previous-single-property-change (1+ (point)) :data) |
| 605 | (point-min)) | 606 | (point-min)) |
| 606 | eoe (or (next-single-property-change (point) :data) (point-max))) | 607 | eoe (or (next-single-property-change (point) :data) (point-max))) |
| 607 | (setq ovl (make-overlay boe eoe)) | 608 | (setq ovl (reftex-make-overlay boe eoe)) |
| 608 | (push (list data ovl separator) reftex-select-marked) | 609 | (push (list data ovl separator) reftex-select-marked) |
| 609 | (overlay-put ovl 'face reftex-select-mark-face) | 610 | (reftex-overlay-put ovl 'face reftex-select-mark-face) |
| 610 | (overlay-put ovl 'before-string | 611 | (reftex-overlay-put ovl 'before-string |
| 611 | (if separator | 612 | (if separator |
| 612 | (format "*%c%d* " separator | 613 | (format "*%c%d* " separator |
| 613 | (length reftex-select-marked)) | 614 | (length reftex-select-marked)) |
| 614 | (format "*%d* " (length reftex-select-marked)))) | 615 | (format "*%d* " (length reftex-select-marked)))) |
| 615 | (message "Entry has mark no. %d" (length reftex-select-marked)))) | 616 | (message "Entry has mark no. %d" (length reftex-select-marked)))) |
| 616 | 617 | ||
| 617 | (defun reftex-select-mark-comma () | 618 | (defun reftex-select-mark-comma () |
| @@ -637,19 +638,16 @@ Useful for large TOC's." | |||
| 637 | sep) | 638 | sep) |
| 638 | (unless cell | 639 | (unless cell |
| 639 | (error "No marked entry at point")) | 640 | (error "No marked entry at point")) |
| 640 | (and ovl (delete-overlay ovl)) | 641 | (and ovl (reftex-delete-overlay ovl)) |
| 641 | (setq reftex-select-marked (delq cell reftex-select-marked)) | 642 | (setq reftex-select-marked (delq cell reftex-select-marked)) |
| 642 | (if (featurep 'xemacs) | 643 | (setq cnt (1+ (length reftex-select-marked))) |
| 643 | ;; before-string property is broken in Emacs | 644 | (mapcar (lambda (c) |
| 644 | (progn | 645 | (setq sep (nth 2 c)) |
| 645 | (setq cnt (1+ (length reftex-select-marked))) | 646 | (reftex-overlay-put (nth 1 c) 'before-string |
| 646 | (mapcar (lambda (c) | 647 | (if sep |
| 647 | (setq sep (nth 2 c)) | 648 | (format "*%c%d* " sep (decf cnt)) |
| 648 | (overlay-put (nth 1 c) 'before-string | 649 | (format "*%d* " (decf cnt))))) |
| 649 | (if sep | 650 | reftex-select-marked) |
| 650 | (format "*%c%d* " sep (decf cnt)) | ||
| 651 | (format "*%d* " (decf cnt))))) | ||
| 652 | reftex-select-marked))) | ||
| 653 | (message "Entry no longer marked"))) | 651 | (message "Entry no longer marked"))) |
| 654 | 652 | ||
| 655 | (defun reftex-select-help () | 653 | (defun reftex-select-help () |
diff --git a/lisp/textmodes/reftex-toc.el b/lisp/textmodes/reftex-toc.el index ed9746f8a69..8ad811391c7 100644 --- a/lisp/textmodes/reftex-toc.el +++ b/lisp/textmodes/reftex-toc.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; reftex-toc.el --- RefTeX's table of contents mode | 1 | ;;; reftex-toc.el --- RefTeX's table of contents mode |
| 2 | ;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc. | 2 | ;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004, 2005 |
| 3 | ;; Free Software Foundation, Inc. | ||
| 3 | 4 | ||
| 4 | ;; Author: Carsten Dominik <dominik@science.uva.nl> | 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> |
| 5 | ;; Version: 4.26 | 6 | ;; Version: 4.28 |
| 6 | 7 | ||
| 7 | ;; This file is part of GNU Emacs. | 8 | ;; This file is part of GNU Emacs. |
| 8 | 9 | ||
diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el index b2ca7bed250..b9748b31df2 100644 --- a/lisp/textmodes/reftex-vars.el +++ b/lisp/textmodes/reftex-vars.el | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | ;; Free Software Foundation, Inc. | 3 | ;; Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> | 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> |
| 6 | ;; Version: 4.26 | 6 | ;; Version: 4.28 |
| 7 | 7 | ||
| 8 | ;; This file is part of GNU Emacs. | 8 | ;; This file is part of GNU Emacs. |
| 9 | 9 | ||
| @@ -155,6 +155,21 @@ distribution. Mixed-case symbols are convenience aliases.") | |||
| 155 | (?f . "\\fullcite{%l}") | 155 | (?f . "\\fullcite{%l}") |
| 156 | (?F . "\\fullocite{%l}") | 156 | (?F . "\\fullocite{%l}") |
| 157 | (?n . "\\nocite{%l}"))) | 157 | (?n . "\\nocite{%l}"))) |
| 158 | (jurabib "The Jurabib package" | ||
| 159 | ((?\C-m . "\\cite{%l}") | ||
| 160 | (?c . "\\cite[][]{%l}") | ||
| 161 | (?t . "\\citet{%l}") | ||
| 162 | (?p . "\\citep{%l}") | ||
| 163 | (?e . "\\citep[e.g.][]{%l}") | ||
| 164 | (?s . "\\citep[see][]{%l}") | ||
| 165 | (?u . "\\fullcite{%l}") | ||
| 166 | (?i . "\\citetitle{%l}") | ||
| 167 | (?a . "\\citeauthor{%l}") | ||
| 168 | (?e . "\\citefield{}{%l}") | ||
| 169 | (?y . "\\citeyear{%l}") | ||
| 170 | (?f . "\\footcite{%l}") | ||
| 171 | (?F . "\\footcite[][]{%l}") | ||
| 172 | (?l . "\\footfullcite{%l}"))) | ||
| 158 | (bibentry "The Bibentry package" | 173 | (bibentry "The Bibentry package" |
| 159 | "\\bibentry{%l}") | 174 | "\\bibentry{%l}") |
| 160 | (harvard "The Harvard package" | 175 | (harvard "The Harvard package" |
| @@ -639,7 +654,7 @@ or macro." | |||
| 639 | "Non-nil means, trust the label prefix when determining label type. | 654 | "Non-nil means, trust the label prefix when determining label type. |
| 640 | It is customary to use special label prefixes to distinguish different label | 655 | It is customary to use special label prefixes to distinguish different label |
| 641 | types. The label prefixes have no syntactic meaning in LaTeX (unless | 656 | types. The label prefixes have no syntactic meaning in LaTeX (unless |
| 642 | special packages like fancyref) are being used. RefTeX can and by | 657 | special packages like fancyref are being used). RefTeX can and by |
| 643 | default does parse around each label to detect the correct label type, | 658 | default does parse around each label to detect the correct label type, |
| 644 | but this process can be slow when a document contains thousands of | 659 | but this process can be slow when a document contains thousands of |
| 645 | labels. If you use label prefixes consistently, you may speed up | 660 | labels. If you use label prefixes consistently, you may speed up |
| @@ -1373,7 +1388,9 @@ Inserting indexing commands in a line makes the line longer - often | |||
| 1373 | so long that it does not fit onto the screen. When this variable is | 1388 | so long that it does not fit onto the screen. When this variable is |
| 1374 | non-nil, newlines will be added as necessary before and/or after the | 1389 | non-nil, newlines will be added as necessary before and/or after the |
| 1375 | indexing command to keep lines short. However, the matched text | 1390 | indexing command to keep lines short. However, the matched text |
| 1376 | phrase and its index command will always end up on a single line.") | 1391 | phrase and its index command will always end up on a single line." |
| 1392 | :group 'reftex-index-support | ||
| 1393 | :type 'boolean) | ||
| 1377 | 1394 | ||
| 1378 | (defcustom reftex-index-phrases-sort-prefers-entry nil | 1395 | (defcustom reftex-index-phrases-sort-prefers-entry nil |
| 1379 | "*Non-nil means when sorting phrase lines, the explicit index entry is used. | 1396 | "*Non-nil means when sorting phrase lines, the explicit index entry is used. |
| @@ -1529,7 +1546,7 @@ TYPE: File type like \"bib\" or \"tex\". | |||
| 1529 | DEF-EXT: The default extension for that file type, like \".tex\" or \".bib\". | 1546 | DEF-EXT: The default extension for that file type, like \".tex\" or \".bib\". |
| 1530 | OTHER-EXT: Any number of other valid extensions for this file type. | 1547 | OTHER-EXT: Any number of other valid extensions for this file type. |
| 1531 | 1548 | ||
| 1532 | When a files is searched and it does not have any of the valid extensions, | 1549 | When a files is searched and it does not have any of the legal extensions, |
| 1533 | we try the default extension first, and then the naked file name. | 1550 | we try the default extension first, and then the naked file name. |
| 1534 | 1551 | ||
| 1535 | If you are using AUCTeX, you also need to add new extensions to | 1552 | If you are using AUCTeX, you also need to add new extensions to |
diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el index 865217dab08..f8b4cba65ae 100644 --- a/lisp/textmodes/reftex.el +++ b/lisp/textmodes/reftex.el | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | ;; Free Software Foundation, Inc. | 3 | ;; Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> | 5 | ;; Author: Carsten Dominik <dominik@science.uva.nl> |
| 6 | ;; Version: 4.26 | 6 | ;; Version: 4.28 |
| 7 | ;; Keywords: tex | 7 | ;; Keywords: tex |
| 8 | 8 | ||
| 9 | ;; This file is part of GNU Emacs. | 9 | ;; This file is part of GNU Emacs. |
| @@ -301,7 +301,7 @@ | |||
| 301 | ;;; Define the formal stuff for a minor mode named RefTeX. | 301 | ;;; Define the formal stuff for a minor mode named RefTeX. |
| 302 | ;;; | 302 | ;;; |
| 303 | 303 | ||
| 304 | (defconst reftex-version "RefTeX version 4.26" | 304 | (defconst reftex-version "RefTeX version 4.28" |
| 305 | "Version string for RefTeX.") | 305 | "Version string for RefTeX.") |
| 306 | 306 | ||
| 307 | (defvar reftex-mode nil | 307 | (defvar reftex-mode nil |
| @@ -1501,7 +1501,7 @@ When DIE is non-nil, throw an error if file not found." | |||
| 1501 | (when (null (get pathvar 'status)) | 1501 | (when (null (get pathvar 'status)) |
| 1502 | ;; Get basic path | 1502 | ;; Get basic path |
| 1503 | (set pathvar | 1503 | (set pathvar |
| 1504 | (reftex-uniq | 1504 | (reftex-uniquify |
| 1505 | (reftex-parse-colon-path | 1505 | (reftex-parse-colon-path |
| 1506 | (mapconcat | 1506 | (mapconcat |
| 1507 | (lambda(x) | 1507 | (lambda(x) |
| @@ -1606,15 +1606,6 @@ When DIE is non-nil, throw an error if file not found." | |||
| 1606 | (push dir path1))) | 1606 | (push dir path1))) |
| 1607 | path1)) | 1607 | path1)) |
| 1608 | 1608 | ||
| 1609 | (defun reftex-uniq (list) | ||
| 1610 | (let (new) | ||
| 1611 | (while list | ||
| 1612 | (or (member (car list) new) | ||
| 1613 | (push (car list) new)) | ||
| 1614 | (pop list)) | ||
| 1615 | (nreverse new))) | ||
| 1616 | |||
| 1617 | |||
| 1618 | ;;; ========================================================================= | 1609 | ;;; ========================================================================= |
| 1619 | ;;; | 1610 | ;;; |
| 1620 | ;;; Parser functions | 1611 | ;;; Parser functions |
| @@ -2145,7 +2136,7 @@ Works on both Emacs and XEmacs." | |||
| 2145 | (nreverse rtn))) | 2136 | (nreverse rtn))) |
| 2146 | 2137 | ||
| 2147 | (defun reftex-uniquify (list) | 2138 | (defun reftex-uniquify (list) |
| 2148 | ;; Return a list of all elements in LIST, but each only once | 2139 | ;; Return a list of all elements in LIST, but each only once, keeping order |
| 2149 | (let (new elm) | 2140 | (let (new elm) |
| 2150 | (while list | 2141 | (while list |
| 2151 | (setq elm (pop list)) | 2142 | (setq elm (pop list)) |
| @@ -2342,31 +2333,40 @@ IGNORE-WORDS List of words which should be removed from the string." | |||
| 2342 | (if (find-face face) (throw 'exit face)) | 2333 | (if (find-face face) (throw 'exit face)) |
| 2343 | (if (facep face) (throw 'exit face))))))) | 2334 | (if (facep face) (throw 'exit face))))))) |
| 2344 | 2335 | ||
| 2345 | ;; Highlighting uses overlays. For XEmacs, we need the emulation. | 2336 | ;; Highlighting uses overlays. For XEmacs, we use extends. |
| 2346 | (if (featurep 'xemacs) (require 'overlay)) | 2337 | (if (featurep 'xemacs) |
| 2338 | (progn | ||
| 2339 | (defalias 'reftex-make-overlay 'make-extent) | ||
| 2340 | (defalias 'reftex-overlay-put 'set-extent-property) | ||
| 2341 | (defalias 'reftex-move-overlay 'set-extent-endpoints) | ||
| 2342 | (defalias 'reftex-delete-overlay 'detach-extent)) | ||
| 2343 | (defalias 'reftex-make-overlay 'make-overlay) | ||
| 2344 | (defalias 'reftex-overlay-put 'overlay-put) | ||
| 2345 | (defalias 'reftex-move-overlay 'move-overlay) | ||
| 2346 | (defalias 'reftex-delete-overlay 'delete-overlay)) | ||
| 2347 | 2347 | ||
| 2348 | ;; We keep a vector with several different overlays to do our highlighting. | 2348 | ;; We keep a vector with several different overlays to do our highlighting. |
| 2349 | (defvar reftex-highlight-overlays [nil nil nil]) | 2349 | (defvar reftex-highlight-overlays [nil nil nil]) |
| 2350 | 2350 | ||
| 2351 | ;; Initialize the overlays | 2351 | ;; Initialize the overlays |
| 2352 | (aset reftex-highlight-overlays 0 (make-overlay 1 1)) | 2352 | (aset reftex-highlight-overlays 0 (reftex-make-overlay 1 1)) |
| 2353 | (overlay-put (aref reftex-highlight-overlays 0) | 2353 | (reftex-overlay-put (aref reftex-highlight-overlays 0) |
| 2354 | 'face 'highlight) | 2354 | 'face 'highlight) |
| 2355 | (aset reftex-highlight-overlays 1 (make-overlay 1 1)) | 2355 | (aset reftex-highlight-overlays 1 (reftex-make-overlay 1 1)) |
| 2356 | (overlay-put (aref reftex-highlight-overlays 1) | 2356 | (reftex-overlay-put (aref reftex-highlight-overlays 1) |
| 2357 | 'face reftex-cursor-selected-face) | 2357 | 'face reftex-cursor-selected-face) |
| 2358 | (aset reftex-highlight-overlays 2 (make-overlay 1 1)) | 2358 | (aset reftex-highlight-overlays 2 (reftex-make-overlay 1 1)) |
| 2359 | (overlay-put (aref reftex-highlight-overlays 2) | 2359 | (reftex-overlay-put (aref reftex-highlight-overlays 2) |
| 2360 | 'face reftex-cursor-selected-face) | 2360 | 'face reftex-cursor-selected-face) |
| 2361 | 2361 | ||
| 2362 | ;; Two functions for activating and deactivation highlight overlays | 2362 | ;; Two functions for activating and deactivation highlight overlays |
| 2363 | (defun reftex-highlight (index begin end &optional buffer) | 2363 | (defun reftex-highlight (index begin end &optional buffer) |
| 2364 | "Highlight a region with overlay INDEX." | 2364 | "Highlight a region with overlay INDEX." |
| 2365 | (move-overlay (aref reftex-highlight-overlays index) | 2365 | (reftex-move-overlay (aref reftex-highlight-overlays index) |
| 2366 | begin end (or buffer (current-buffer)))) | 2366 | begin end (or buffer (current-buffer)))) |
| 2367 | (defun reftex-unhighlight (index) | 2367 | (defun reftex-unhighlight (index) |
| 2368 | "Detach overlay INDEX." | 2368 | "Detach overlay INDEX." |
| 2369 | (delete-overlay (aref reftex-highlight-overlays index))) | 2369 | (reftex-delete-overlay (aref reftex-highlight-overlays index))) |
| 2370 | 2370 | ||
| 2371 | (defun reftex-highlight-shall-die () | 2371 | (defun reftex-highlight-shall-die () |
| 2372 | ;; Function used in pre-command-hook to remove highlights. | 2372 | ;; Function used in pre-command-hook to remove highlights. |
| @@ -2424,6 +2424,9 @@ IGNORE-WORDS List of words which should be removed from the string." | |||
| 2424 | 2424 | ||
| 2425 | ;; Define a menu for the menu bar if Emacs is running under X | 2425 | ;; Define a menu for the menu bar if Emacs is running under X |
| 2426 | 2426 | ||
| 2427 | (defvar reftex-isearch-minor-mode nil) | ||
| 2428 | (make-variable-buffer-local 'reftex-isearch-minor-mode) | ||
| 2429 | |||
| 2427 | (require 'easymenu) | 2430 | (require 'easymenu) |
| 2428 | 2431 | ||
| 2429 | (easy-menu-define reftex-mode-menu reftex-mode-map | 2432 | (easy-menu-define reftex-mode-menu reftex-mode-map |
diff --git a/lisp/textmodes/spell.el b/lisp/textmodes/spell.el index c6289819c88..6afaae83703 100644 --- a/lisp/textmodes/spell.el +++ b/lisp/textmodes/spell.el | |||
| @@ -128,9 +128,9 @@ for example, \"word\"." | |||
| 128 | (forward-char 1) | 128 | (forward-char 1) |
| 129 | (delete-region (point-min) (point)) | 129 | (delete-region (point-min) (point)) |
| 130 | (setq newword | 130 | (setq newword |
| 131 | (read-input (concat "`" word | 131 | (read-string (concat "`" word |
| 132 | "' not recognized; edit a replacement: ") | 132 | "' not recognized; edit a replacement: ") |
| 133 | word)) | 133 | word)) |
| 134 | (flush-lines (concat "^" (regexp-quote word) "$"))) | 134 | (flush-lines (concat "^" (regexp-quote word) "$"))) |
| 135 | (if (not (equal word newword)) | 135 | (if (not (equal word newword)) |
| 136 | (progn | 136 | (progn |
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el index a85e968d3ee..118ca3bb3fa 100644 --- a/lisp/textmodes/table.el +++ b/lisp/textmodes/table.el | |||
| @@ -842,7 +842,8 @@ simply by any key input." | |||
| 842 | :group 'table-hooks) | 842 | :group 'table-hooks) |
| 843 | 843 | ||
| 844 | (defcustom table-yank-handler '(nil nil t nil) | 844 | (defcustom table-yank-handler '(nil nil t nil) |
| 845 | "*yank-handler for table.") | 845 | "*yank-handler for table." |
| 846 | :group 'table) | ||
| 846 | 847 | ||
| 847 | (setplist 'table-disable-incompatibility-warning nil) | 848 | (setplist 'table-disable-incompatibility-warning nil) |
| 848 | 849 | ||
diff --git a/lisp/textmodes/texinfmt.el b/lisp/textmodes/texinfmt.el index e478169c250..ad029266f3b 100644 --- a/lisp/textmodes/texinfmt.el +++ b/lisp/textmodes/texinfmt.el | |||
| @@ -2807,7 +2807,7 @@ Default is to leave the number of spaces as is." | |||
| 2807 | (let ((arg (texinfo-parse-arg-discard))) | 2807 | (let ((arg (texinfo-parse-arg-discard))) |
| 2808 | (if (string= "asis" arg) | 2808 | (if (string= "asis" arg) |
| 2809 | (setq texinfo-paragraph-indent "asis") | 2809 | (setq texinfo-paragraph-indent "asis") |
| 2810 | (setq texinfo-paragraph-indent (string-to-int arg))))) | 2810 | (setq texinfo-paragraph-indent (string-to-number arg))))) |
| 2811 | 2811 | ||
| 2812 | (put 'refill 'texinfo-format 'texinfo-format-refill) | 2812 | (put 'refill 'texinfo-format 'texinfo-format-refill) |
| 2813 | (defun texinfo-format-refill () | 2813 | (defun texinfo-format-refill () |
diff --git a/lisp/time-stamp.el b/lisp/time-stamp.el index c0ba69f80c2..96f48434ab5 100644 --- a/lisp/time-stamp.el +++ b/lisp/time-stamp.el | |||
| @@ -270,7 +270,7 @@ template." | |||
| 270 | (string-match "\\`\\(\\(-?[0-9]+\\)/\\)?\\([^%]+\\)?\\(\\(%[-.,:@+_ #^()0-9]*[A-Za-z%][^%]*\\)*%[-.,:@+_ #^()0-9]*[A-Za-z%]\\)?\\([^%]+\\)?\\'" time-stamp-pattern) | 270 | (string-match "\\`\\(\\(-?[0-9]+\\)/\\)?\\([^%]+\\)?\\(\\(%[-.,:@+_ #^()0-9]*[A-Za-z%][^%]*\\)*%[-.,:@+_ #^()0-9]*[A-Za-z%]\\)?\\([^%]+\\)?\\'" time-stamp-pattern) |
| 271 | (and (match-beginning 2) | 271 | (and (match-beginning 2) |
| 272 | (setq line-limit | 272 | (setq line-limit |
| 273 | (string-to-int (match-string 2 time-stamp-pattern)))) | 273 | (string-to-number (match-string 2 time-stamp-pattern)))) |
| 274 | (and (match-beginning 3) | 274 | (and (match-beginning 3) |
| 275 | (setq ts-start (match-string 3 time-stamp-pattern))) | 275 | (setq ts-start (match-string 3 time-stamp-pattern))) |
| 276 | (and (match-beginning 4) | 276 | (and (match-beginning 4) |
| @@ -558,9 +558,9 @@ and all `time-stamp-format' compatibility." | |||
| 558 | ((eq cur-char ?y) ;year | 558 | ((eq cur-char ?y) ;year |
| 559 | (or alt-form (not (string-equal field-width "")) | 559 | (or alt-form (not (string-equal field-width "")) |
| 560 | (time-stamp-conv-warn "%y" "%:y")) | 560 | (time-stamp-conv-warn "%y" "%:y")) |
| 561 | (string-to-int (format-time-string "%Y" time))) | 561 | (string-to-number (format-time-string "%Y" time))) |
| 562 | ((eq cur-char ?Y) ;4-digit year, new style | 562 | ((eq cur-char ?Y) ;4-digit year, new style |
| 563 | (string-to-int (format-time-string "%Y" time))) | 563 | (string-to-number (format-time-string "%Y" time))) |
| 564 | ((eq cur-char ?z) ;time zone lower case | 564 | ((eq cur-char ?z) ;time zone lower case |
| 565 | (if change-case | 565 | (if change-case |
| 566 | "" ;discourage %z variations | 566 | "" ;discourage %z variations |
| @@ -597,7 +597,7 @@ and all `time-stamp-format' compatibility." | |||
| 597 | (let* ((initial-length (length padded-result)) | 597 | (let* ((initial-length (length padded-result)) |
| 598 | (desired-length (if (string-equal field-width "") | 598 | (desired-length (if (string-equal field-width "") |
| 599 | initial-length | 599 | initial-length |
| 600 | (string-to-int field-width)))) | 600 | (string-to-number field-width)))) |
| 601 | (if (> initial-length desired-length) | 601 | (if (> initial-length desired-length) |
| 602 | ;; truncate strings on right, years on left | 602 | ;; truncate strings on right, years on left |
| 603 | (if (stringp field-result) | 603 | (if (stringp field-result) |
| @@ -621,7 +621,7 @@ width specification or \"\". TIME is the time to convert." | |||
| 621 | (format "%%:%c" format-char))) | 621 | (format "%%:%c" format-char))) |
| 622 | (if (and alt-form (not (string-equal field-width ""))) | 622 | (if (and alt-form (not (string-equal field-width ""))) |
| 623 | "" ;discourage "%:2d" and the like | 623 | "" ;discourage "%:2d" and the like |
| 624 | (string-to-int (format-time-string format-string time))))) | 624 | (string-to-number (format-time-string format-string time))))) |
| 625 | 625 | ||
| 626 | (defvar time-stamp-conversion-warn t | 626 | (defvar time-stamp-conversion-warn t |
| 627 | "Warn about soon-to-be-unsupported forms in `time-stamp-format'. | 627 | "Warn about soon-to-be-unsupported forms in `time-stamp-format'. |
diff --git a/lisp/time.el b/lisp/time.el index 850843402ca..ddf0d932733 100644 --- a/lisp/time.el +++ b/lisp/time.el | |||
| @@ -331,7 +331,7 @@ update which can wait for the next redisplay." | |||
| 331 | ;; Record that mail file is accessible. | 331 | ;; Record that mail file is accessible. |
| 332 | (setq display-time-server-down-time nil))))))) | 332 | (setq display-time-server-down-time nil))))))) |
| 333 | (24-hours (substring time 11 13)) | 333 | (24-hours (substring time 11 13)) |
| 334 | (hour (string-to-int 24-hours)) | 334 | (hour (string-to-number 24-hours)) |
| 335 | (12-hours (int-to-string (1+ (% (+ hour 11) 12)))) | 335 | (12-hours (int-to-string (1+ (% (+ hour 11) 12)))) |
| 336 | (am-pm (if (>= hour 12) "pm" "am")) | 336 | (am-pm (if (>= hour 12) "pm" "am")) |
| 337 | (minutes (substring time 14 16)) | 337 | (minutes (substring time 14 16)) |
diff --git a/lisp/timezone.el b/lisp/timezone.el index bad269d9cbc..62c8f86f79b 100644 --- a/lisp/timezone.el +++ b/lisp/timezone.el | |||
| @@ -205,7 +205,7 @@ Understands the following styles: | |||
| 205 | ;; Unix Epoch, so are 2000+. Three-digit years are assumed to | 205 | ;; Unix Epoch, so are 2000+. Three-digit years are assumed to |
| 206 | ;; be relative to 1900. | 206 | ;; be relative to 1900. |
| 207 | (if (< (length year) 4) | 207 | (if (< (length year) 4) |
| 208 | (let ((y (string-to-int year))) | 208 | (let ((y (string-to-number year))) |
| 209 | (if (< y 69) | 209 | (if (< y 69) |
| 210 | (setq y (+ y 100))) | 210 | (setq y (+ y 100))) |
| 211 | (setq year (int-to-string (+ 1900 y))))) | 211 | (setq year (int-to-string (+ 1900 y))))) |
| @@ -271,7 +271,7 @@ or an integer of the form +-HHMM, or a time zone name." | |||
| 271 | ;; +900 | 271 | ;; +900 |
| 272 | timezone)) | 272 | timezone)) |
| 273 | (if (stringp timezone) | 273 | (if (stringp timezone) |
| 274 | (setq timezone (string-to-int timezone))) | 274 | (setq timezone (string-to-number timezone))) |
| 275 | ;; Taking account of minute in timezone. | 275 | ;; Taking account of minute in timezone. |
| 276 | ;; HHMM -> MM | 276 | ;; HHMM -> MM |
| 277 | (let* ((abszone (abs timezone)) | 277 | (let* ((abszone (abs timezone)) |
| @@ -314,7 +314,7 @@ Gregorian date Sunday, December 31, 1 BC." | |||
| 314 | If LOCAL is nil, it is assumed to be GMT. | 314 | If LOCAL is nil, it is assumed to be GMT. |
| 315 | If TIMEZONE is nil, use the local time zone." | 315 | If TIMEZONE is nil, use the local time zone." |
| 316 | (let* ((date (timezone-parse-date date)) | 316 | (let* ((date (timezone-parse-date date)) |
| 317 | (year (string-to-int (aref date 0))) | 317 | (year (string-to-number (aref date 0))) |
| 318 | (year (cond ((< year 69) | 318 | (year (cond ((< year 69) |
| 319 | (+ year 2000)) | 319 | (+ year 2000)) |
| 320 | ((< year 100) | 320 | ((< year 100) |
| @@ -322,12 +322,12 @@ If TIMEZONE is nil, use the local time zone." | |||
| 322 | ((< year 1000) ; possible 3-digit years. | 322 | ((< year 1000) ; possible 3-digit years. |
| 323 | (+ year 1900)) | 323 | (+ year 1900)) |
| 324 | (t year))) | 324 | (t year))) |
| 325 | (month (string-to-int (aref date 1))) | 325 | (month (string-to-number (aref date 1))) |
| 326 | (day (string-to-int (aref date 2))) | 326 | (day (string-to-number (aref date 2))) |
| 327 | (time (timezone-parse-time (aref date 3))) | 327 | (time (timezone-parse-time (aref date 3))) |
| 328 | (hour (string-to-int (aref time 0))) | 328 | (hour (string-to-number (aref time 0))) |
| 329 | (minute (string-to-int (aref time 1))) | 329 | (minute (string-to-number (aref time 1))) |
| 330 | (second (string-to-int (aref time 2))) | 330 | (second (string-to-number (aref time 2))) |
| 331 | (local (or (aref date 4) local)) ;Use original if defined | 331 | (local (or (aref date 4) local)) ;Use original if defined |
| 332 | (timezone | 332 | (timezone |
| 333 | (or timezone | 333 | (or timezone |
diff --git a/lisp/tmm.el b/lisp/tmm.el index 99931867792..3e0a8e95701 100644 --- a/lisp/tmm.el +++ b/lisp/tmm.el | |||
| @@ -395,7 +395,7 @@ element of keymap, an `x-popup-menu' argument, or an element of | |||
| 395 | `x-popup-menu' argument (when IN-X-MENU is not-nil). | 395 | `x-popup-menu' argument (when IN-X-MENU is not-nil). |
| 396 | This function adds the element only if it is not already present. | 396 | This function adds the element only if it is not already present. |
| 397 | It uses the free variable `tmm-table-undef' to keep undefined keys." | 397 | It uses the free variable `tmm-table-undef' to keep undefined keys." |
| 398 | (let (km str cache plist filter visible (event (car elt))) | 398 | (let (km str cache plist filter visible enable (event (car elt))) |
| 399 | (setq elt (cdr elt)) | 399 | (setq elt (cdr elt)) |
| 400 | (if (eq elt 'undefined) | 400 | (if (eq elt 'undefined) |
| 401 | (setq tmm-table-undef (cons (cons event nil) tmm-table-undef)) | 401 | (setq tmm-table-undef (cons (cons event nil) tmm-table-undef)) |
| @@ -436,6 +436,9 @@ It uses the free variable `tmm-table-undef' to keep undefined keys." | |||
| 436 | (setq visible (plist-get plist :visible)) | 436 | (setq visible (plist-get plist :visible)) |
| 437 | (if visible | 437 | (if visible |
| 438 | (setq km (and (eval visible) km))) | 438 | (setq km (and (eval visible) km))) |
| 439 | (setq enable (plist-get plist :enable)) | ||
| 440 | (if enable | ||
| 441 | (setq km (and (eval enable) km))) | ||
| 439 | (and str | 442 | (and str |
| 440 | (consp (nth 3 elt)) | 443 | (consp (nth 3 elt)) |
| 441 | (stringp (cdr (nth 3 elt))) ; keyseq cache | 444 | (stringp (cdr (nth 3 elt))) ; keyseq cache |
diff --git a/lisp/toolbar/tool-bar.el b/lisp/toolbar/tool-bar.el index f22d84cafaf..5f2e3afd46c 100644 --- a/lisp/toolbar/tool-bar.el +++ b/lisp/toolbar/tool-bar.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; tool-bar.el --- setting up the tool bar | 1 | ;;; tool-bar.el --- setting up the tool bar |
| 2 | ;; | 2 | ;; |
| 3 | ;; Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2000, 2001, 2002, 2005 Free Software Foundation, Inc. |
| 4 | ;; | 4 | ;; |
| 5 | ;; Author: Dave Love <fx@gnu.org> | 5 | ;; Author: Dave Love <fx@gnu.org> |
| 6 | ;; Keywords: mouse frames | 6 | ;; Keywords: mouse frames |
diff --git a/lisp/uniquify.el b/lisp/uniquify.el index ea9094da78a..792a81f3221 100644 --- a/lisp/uniquify.el +++ b/lisp/uniquify.el | |||
| @@ -110,17 +110,20 @@ would have the following buffer names in the various styles: | |||
| 110 | (const post-forward) | 110 | (const post-forward) |
| 111 | (const post-forward-angle-brackets) | 111 | (const post-forward-angle-brackets) |
| 112 | (const :tag "standard Emacs behavior (nil)" nil)) | 112 | (const :tag "standard Emacs behavior (nil)" nil)) |
| 113 | :require 'uniquify) | 113 | :require 'uniquify |
| 114 | :group 'uniquify) | ||
| 114 | 115 | ||
| 115 | (defcustom uniquify-after-kill-buffer-p t | 116 | (defcustom uniquify-after-kill-buffer-p t |
| 116 | "If non-nil, rerationalize buffer names after a buffer has been killed." | 117 | "If non-nil, rerationalize buffer names after a buffer has been killed." |
| 117 | :type 'boolean) | 118 | :type 'boolean |
| 119 | :group 'uniquify) | ||
| 118 | 120 | ||
| 119 | (defcustom uniquify-ask-about-buffer-names-p nil | 121 | (defcustom uniquify-ask-about-buffer-names-p nil |
| 120 | "*If non-nil, permit user to choose names for buffers with same base file. | 122 | "*If non-nil, permit user to choose names for buffers with same base file. |
| 121 | If the user chooses to name a buffer, uniquification is preempted and no | 123 | If the user chooses to name a buffer, uniquification is preempted and no |
| 122 | other buffer names are changed." | 124 | other buffer names are changed." |
| 123 | :type 'boolean) | 125 | :type 'boolean |
| 126 | :group 'uniquify) | ||
| 124 | 127 | ||
| 125 | ;; The default value matches certain Gnus buffers. | 128 | ;; The default value matches certain Gnus buffers. |
| 126 | (defcustom uniquify-ignore-buffers-re nil | 129 | (defcustom uniquify-ignore-buffers-re nil |
| @@ -128,11 +131,13 @@ other buffer names are changed." | |||
| 128 | For instance, set this to \"^draft-[0-9]+$\" to avoid having uniquify rename | 131 | For instance, set this to \"^draft-[0-9]+$\" to avoid having uniquify rename |
| 129 | draft buffers even if `uniquify-after-kill-buffer-p' is non-nil and the | 132 | draft buffers even if `uniquify-after-kill-buffer-p' is non-nil and the |
| 130 | visited file name isn't the same as that of the buffer." | 133 | visited file name isn't the same as that of the buffer." |
| 131 | :type '(choice (const :tag "Uniquify all buffers" nil) regexp)) | 134 | :type '(choice (const :tag "Uniquify all buffers" nil) regexp) |
| 135 | :group 'uniquify) | ||
| 132 | 136 | ||
| 133 | (defcustom uniquify-min-dir-content 0 | 137 | (defcustom uniquify-min-dir-content 0 |
| 134 | "*Minimum number of directory name components included in buffer name." | 138 | "*Minimum number of directory name components included in buffer name." |
| 135 | :type 'integer) | 139 | :type 'integer |
| 140 | :group 'uniquify) | ||
| 136 | 141 | ||
| 137 | (defcustom uniquify-separator nil | 142 | (defcustom uniquify-separator nil |
| 138 | "*String separator for buffer name components. | 143 | "*String separator for buffer name components. |
| @@ -140,14 +145,16 @@ When `uniquify-buffer-name-style' is `post-forward', separates | |||
| 140 | base file name from directory part in buffer names (default \"|\"). | 145 | base file name from directory part in buffer names (default \"|\"). |
| 141 | When `uniquify-buffer-name-style' is `reverse', separates all | 146 | When `uniquify-buffer-name-style' is `reverse', separates all |
| 142 | file name components (default \"\\\")." | 147 | file name components (default \"\\\")." |
| 143 | :type '(choice (const nil) string)) | 148 | :type '(choice (const nil) string) |
| 149 | :group 'uniquify) | ||
| 144 | 150 | ||
| 145 | (defcustom uniquify-trailing-separator-p nil | 151 | (defcustom uniquify-trailing-separator-p nil |
| 146 | "*If non-nil, add a file name separator to dired buffer names. | 152 | "*If non-nil, add a file name separator to dired buffer names. |
| 147 | If `uniquify-buffer-name-style' is `forward', add the separator at the end; | 153 | If `uniquify-buffer-name-style' is `forward', add the separator at the end; |
| 148 | if it is `reverse', add the separator at the beginning; otherwise, this | 154 | if it is `reverse', add the separator at the beginning; otherwise, this |
| 149 | variable is ignored." | 155 | variable is ignored." |
| 150 | :type 'boolean) | 156 | :type 'boolean |
| 157 | :group 'uniquify) | ||
| 151 | 158 | ||
| 152 | (defcustom uniquify-strip-common-suffix | 159 | (defcustom uniquify-strip-common-suffix |
| 153 | ;; Using it when uniquify-min-dir-content>0 doesn't make much sense. | 160 | ;; Using it when uniquify-min-dir-content>0 doesn't make much sense. |
| @@ -156,7 +163,8 @@ variable is ignored." | |||
| 156 | E.g. if you open /a1/b/c/d and /a2/b/c/d, the buffer names will say | 163 | E.g. if you open /a1/b/c/d and /a2/b/c/d, the buffer names will say |
| 157 | \"d|a1\" and \"d|a2\" instead of \"d|a1/b/c\" and \"d|a2/b/c\". | 164 | \"d|a1\" and \"d|a2\" instead of \"d|a1/b/c\" and \"d|a2/b/c\". |
| 158 | This can be handy when you have deep parallel hierarchies." | 165 | This can be handy when you have deep parallel hierarchies." |
| 159 | :type 'boolean) | 166 | :type 'boolean |
| 167 | :group 'uniquify) | ||
| 160 | 168 | ||
| 161 | (defvar uniquify-list-buffers-directory-modes '(dired-mode cvs-mode) | 169 | (defvar uniquify-list-buffers-directory-modes '(dired-mode cvs-mode) |
| 162 | "List of modes for which uniquify should obey `list-buffers-directory'. | 170 | "List of modes for which uniquify should obey `list-buffers-directory'. |
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index a023bdf18c7..546af477106 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog | |||
| @@ -1,3 +1,21 @@ | |||
| 1 | 2005-05-19 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * url-cookie.el (url-cookie-multiple-line): | ||
| 4 | Specify group and type in defcustom. | ||
| 5 | |||
| 6 | 2005-05-06 Juanma Barranquero <lekktu@gmail.com> | ||
| 7 | |||
| 8 | * url-auth.el (url-register-auth-scheme): | ||
| 9 | * url-cookie.el (url-cookie-expired-p): | ||
| 10 | * url-dav.el (url-dav-process-date-property) | ||
| 11 | (url-dav-process-boolean-property, url-dav-process-DAV:status): | ||
| 12 | * url-http.el (url-http-chunked-encoding-after-change-function) | ||
| 13 | (url-http-wait-for-headers-change-function): | ||
| 14 | * url-ns.el (isInNet): | ||
| 15 | * url-parse.el (url-generic-parse-url): | ||
| 16 | * url-util.el (url-get-normalized-date): Replace `string-to-int' | ||
| 17 | by `string-to-number'. | ||
| 18 | |||
| 1 | 2005-04-18 Stefan Monnier <monnier@iro.umontreal.ca> | 19 | 2005-04-18 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 20 | ||
| 3 | * url.el (url-retrieve-synchronously): Work around the fact that | 21 | * url.el (url-retrieve-synchronously): Work around the fact that |
diff --git a/lisp/url/url-auth.el b/lisp/url/url-auth.el index 260315c5d54..ea208ccadea 100644 --- a/lisp/url/url-auth.el +++ b/lisp/url/url-auth.el | |||
| @@ -293,7 +293,7 @@ RATING a rating between 1 and 10 of the strength of the authentication. | |||
| 293 | (function (or function (intern (concat "url-" type "-auth")))) | 293 | (function (or function (intern (concat "url-" type "-auth")))) |
| 294 | (rating (cond | 294 | (rating (cond |
| 295 | ((null rating) 2) | 295 | ((null rating) 2) |
| 296 | ((stringp rating) (string-to-int rating)) | 296 | ((stringp rating) (string-to-number rating)) |
| 297 | (t rating))) | 297 | (t rating))) |
| 298 | (node (assoc type url-registered-auth-schemes))) | 298 | (node (assoc type url-registered-auth-schemes))) |
| 299 | (if (not (fboundp function)) | 299 | (if (not (fboundp function)) |
diff --git a/lisp/url/url-cookie.el b/lisp/url/url-cookie.el index 9f7db867597..328e60b63bc 100644 --- a/lisp/url/url-cookie.el +++ b/lisp/url/url-cookie.el | |||
| @@ -87,7 +87,9 @@ | |||
| 87 | "*If nil, HTTP requests put all cookies for the server on one line. | 87 | "*If nil, HTTP requests put all cookies for the server on one line. |
| 88 | Some web servers, such as http://www.hotmail.com/, only accept cookies | 88 | Some web servers, such as http://www.hotmail.com/, only accept cookies |
| 89 | when they are on one line. This is broken behaviour, but just try | 89 | when they are on one line. This is broken behaviour, but just try |
| 90 | telling Microsoft that.") | 90 | telling Microsoft that." |
| 91 | :type 'boolean | ||
| 92 | :group 'url-cookie) | ||
| 91 | 93 | ||
| 92 | (defvar url-cookies-changed-since-last-save nil | 94 | (defvar url-cookies-changed-since-last-save nil |
| 93 | "Whether the cookies list has changed since the last save operation.") | 95 | "Whether the cookies list has changed since the last save operation.") |
| @@ -208,13 +210,13 @@ telling Microsoft that.") | |||
| 208 | (cur-date (and exp (timezone-parse-date (current-time-string)))) | 210 | (cur-date (and exp (timezone-parse-date (current-time-string)))) |
| 209 | (exp-date (and exp (timezone-parse-date exp))) | 211 | (exp-date (and exp (timezone-parse-date exp))) |
| 210 | (cur-greg (and cur-date (timezone-absolute-from-gregorian | 212 | (cur-greg (and cur-date (timezone-absolute-from-gregorian |
| 211 | (string-to-int (aref cur-date 1)) | 213 | (string-to-number (aref cur-date 1)) |
| 212 | (string-to-int (aref cur-date 2)) | 214 | (string-to-number (aref cur-date 2)) |
| 213 | (string-to-int (aref cur-date 0))))) | 215 | (string-to-number (aref cur-date 0))))) |
| 214 | (exp-greg (and exp (timezone-absolute-from-gregorian | 216 | (exp-greg (and exp (timezone-absolute-from-gregorian |
| 215 | (string-to-int (aref exp-date 1)) | 217 | (string-to-number (aref exp-date 1)) |
| 216 | (string-to-int (aref exp-date 2)) | 218 | (string-to-number (aref exp-date 2)) |
| 217 | (string-to-int (aref exp-date 0))))) | 219 | (string-to-number (aref exp-date 0))))) |
| 218 | (diff-in-days (and exp (- cur-greg exp-greg))) | 220 | (diff-in-days (and exp (- cur-greg exp-greg))) |
| 219 | ) | 221 | ) |
| 220 | (cond | 222 | (cond |
| @@ -224,12 +226,12 @@ telling Microsoft that.") | |||
| 224 | (t ; Expires sometime today, check times | 226 | (t ; Expires sometime today, check times |
| 225 | (let* ((cur-time (timezone-parse-time (aref cur-date 3))) | 227 | (let* ((cur-time (timezone-parse-time (aref cur-date 3))) |
| 226 | (exp-time (timezone-parse-time (aref exp-date 3))) | 228 | (exp-time (timezone-parse-time (aref exp-date 3))) |
| 227 | (cur-norm (+ (* 360 (string-to-int (aref cur-time 2))) | 229 | (cur-norm (+ (* 360 (string-to-number (aref cur-time 2))) |
| 228 | (* 60 (string-to-int (aref cur-time 1))) | 230 | (* 60 (string-to-number (aref cur-time 1))) |
| 229 | (* 1 (string-to-int (aref cur-time 0))))) | 231 | (* 1 (string-to-number (aref cur-time 0))))) |
| 230 | (exp-norm (+ (* 360 (string-to-int (aref exp-time 2))) | 232 | (exp-norm (+ (* 360 (string-to-number (aref exp-time 2))) |
| 231 | (* 60 (string-to-int (aref exp-time 1))) | 233 | (* 60 (string-to-number (aref exp-time 1))) |
| 232 | (* 1 (string-to-int (aref exp-time 0)))))) | 234 | (* 1 (string-to-number (aref exp-time 0)))))) |
| 233 | (> (- cur-norm exp-norm) 1)))))) | 235 | (> (- cur-norm exp-norm) 1)))))) |
| 234 | 236 | ||
| 235 | ;;;###autoload | 237 | ;;;###autoload |
diff --git a/lisp/url/url-dav.el b/lisp/url/url-dav.el index d6c5ffffa43..a0f1ae1ebe7 100644 --- a/lisp/url/url-dav.el +++ b/lisp/url/url-dav.el | |||
| @@ -121,17 +121,17 @@ | |||
| 121 | 121 | ||
| 122 | ;; Nobody else handles iso8601 correctly, lets do it ourselves. | 122 | ;; Nobody else handles iso8601 correctly, lets do it ourselves. |
| 123 | (when (string-match date-re date-string re-start) | 123 | (when (string-match date-re date-string re-start) |
| 124 | (setq year (string-to-int (match-string 1 date-string)) | 124 | (setq year (string-to-number (match-string 1 date-string)) |
| 125 | month (string-to-int (match-string 2 date-string)) | 125 | month (string-to-number (match-string 2 date-string)) |
| 126 | day (string-to-int (match-string 3 date-string)) | 126 | day (string-to-number (match-string 3 date-string)) |
| 127 | re-start (match-end 0)) | 127 | re-start (match-end 0)) |
| 128 | (when (string-match time-re date-string re-start) | 128 | (when (string-match time-re date-string re-start) |
| 129 | (setq hour (string-to-int (match-string 1 date-string)) | 129 | (setq hour (string-to-number (match-string 1 date-string)) |
| 130 | minute (string-to-int (match-string 2 date-string)) | 130 | minute (string-to-number (match-string 2 date-string)) |
| 131 | seconds (string-to-int (match-string 3 date-string)) | 131 | seconds (string-to-number (match-string 3 date-string)) |
| 132 | fractional-seconds (string-to-int (or | 132 | fractional-seconds (string-to-number (or |
| 133 | (match-string 4 date-string) | 133 | (match-string 4 date-string) |
| 134 | "0")) | 134 | "0")) |
| 135 | re-start (match-end 0)) | 135 | re-start (match-end 0)) |
| 136 | (when (string-match tz-re date-string re-start) | 136 | (when (string-match tz-re date-string re-start) |
| 137 | (setq tz (match-string 1 date-string))) | 137 | (setq tz (match-string 1 date-string))) |
| @@ -149,7 +149,7 @@ | |||
| 149 | time)) | 149 | time)) |
| 150 | 150 | ||
| 151 | (defun url-dav-process-boolean-property (node) | 151 | (defun url-dav-process-boolean-property (node) |
| 152 | (/= 0 (string-to-int (url-dav-node-text node)))) | 152 | (/= 0 (string-to-number (url-dav-node-text node)))) |
| 153 | 153 | ||
| 154 | (defun url-dav-process-uri-property (node) | 154 | (defun url-dav-process-uri-property (node) |
| 155 | ;; Returns a parsed representation of the URL... | 155 | ;; Returns a parsed representation of the URL... |
| @@ -318,7 +318,7 @@ | |||
| 318 | ;; only care about the numeric status code. | 318 | ;; only care about the numeric status code. |
| 319 | (let ((status (url-dav-node-text node))) | 319 | (let ((status (url-dav-node-text node))) |
| 320 | (if (string-match "\\`[ \r\t\n]*HTTP/[0-9.]+ \\([0-9]+\\)" status) | 320 | (if (string-match "\\`[ \r\t\n]*HTTP/[0-9.]+ \\([0-9]+\\)" status) |
| 321 | (string-to-int (match-string 1 status)) | 321 | (string-to-number (match-string 1 status)) |
| 322 | 500))) | 322 | 500))) |
| 323 | 323 | ||
| 324 | (defun url-dav-process-DAV:propstat (node) | 324 | (defun url-dav-process-DAV:propstat (node) |
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el index 872ea22ce05..16d51a0258c 100644 --- a/lisp/url/url-http.el +++ b/lisp/url/url-http.el | |||
| @@ -827,10 +827,10 @@ the end of the document." | |||
| 827 | 'text-cursor | 827 | 'text-cursor |
| 828 | 'cursor) | 828 | 'cursor) |
| 829 | 'invisible t)) | 829 | 'invisible t)) |
| 830 | (setq url-http-chunked-length (string-to-int (buffer-substring | 830 | (setq url-http-chunked-length (string-to-number (buffer-substring |
| 831 | (match-beginning 1) | 831 | (match-beginning 1) |
| 832 | (match-end 1)) | 832 | (match-end 1)) |
| 833 | 16) | 833 | 16) |
| 834 | url-http-chunked-counter (1+ url-http-chunked-counter) | 834 | url-http-chunked-counter (1+ url-http-chunked-counter) |
| 835 | url-http-chunked-start (set-marker | 835 | url-http-chunked-start (set-marker |
| 836 | (or url-http-chunked-start | 836 | (or url-http-chunked-start |
| @@ -904,7 +904,7 @@ the end of the document." | |||
| 904 | url-http-content-type (mail-fetch-field "content-type")) | 904 | url-http-content-type (mail-fetch-field "content-type")) |
| 905 | (if (mail-fetch-field "content-length") | 905 | (if (mail-fetch-field "content-length") |
| 906 | (setq url-http-content-length | 906 | (setq url-http-content-length |
| 907 | (string-to-int (mail-fetch-field "content-length")))) | 907 | (string-to-number (mail-fetch-field "content-length")))) |
| 908 | (widen))) | 908 | (widen))) |
| 909 | (if url-http-transfer-encoding | 909 | (if url-http-transfer-encoding |
| 910 | (setq url-http-transfer-encoding | 910 | (setq url-http-transfer-encoding |
diff --git a/lisp/url/url-ns.el b/lisp/url/url-ns.el index fe181422e4f..1dcb1f85f27 100644 --- a/lisp/url/url-ns.el +++ b/lisp/url/url-ns.el | |||
| @@ -51,9 +51,9 @@ | |||
| 51 | (if (or (/= (length netc) (length ipc)) | 51 | (if (or (/= (length netc) (length ipc)) |
| 52 | (/= (length ipc) (length maskc))) | 52 | (/= (length ipc) (length maskc))) |
| 53 | nil | 53 | nil |
| 54 | (setq netc (mapcar 'string-to-int netc) | 54 | (setq netc (mapcar 'string-to-number netc) |
| 55 | ipc (mapcar 'string-to-int ipc) | 55 | ipc (mapcar 'string-to-number ipc) |
| 56 | maskc (mapcar 'string-to-int maskc)) | 56 | maskc (mapcar 'string-to-number maskc)) |
| 57 | (and | 57 | (and |
| 58 | (= (logand (nth 0 netc) (nth 0 maskc)) | 58 | (= (logand (nth 0 netc) (nth 0 maskc)) |
| 59 | (logand (nth 0 ipc) (nth 0 maskc))) | 59 | (logand (nth 0 ipc) (nth 0 maskc))) |
diff --git a/lisp/url/url-parse.el b/lisp/url/url-parse.el index 97348ab5db2..5b5250ab31f 100644 --- a/lisp/url/url-parse.el +++ b/lisp/url/url-parse.el | |||
| @@ -167,7 +167,7 @@ Format is: | |||
| 167 | (setq pass (match-string 2 user) | 167 | (setq pass (match-string 2 user) |
| 168 | user (match-string 1 user))) | 168 | user (match-string 1 user))) |
| 169 | (if (string-match ":\\([0-9+]+\\)" host) | 169 | (if (string-match ":\\([0-9+]+\\)" host) |
| 170 | (setq port (string-to-int (match-string 1 host)) | 170 | (setq port (string-to-number (match-string 1 host)) |
| 171 | host (substring host 0 (match-beginning 0)))) | 171 | host (substring host 0 (match-beginning 0)))) |
| 172 | (if (string-match ":$" host) | 172 | (if (string-match ":$" host) |
| 173 | (setq host (substring host 0 (match-beginning 0)))) | 173 | (setq host (substring host 0 (match-beginning 0)))) |
diff --git a/lisp/url/url-util.el b/lisp/url/url-util.el index 1d0bfcf0c48..b796d695461 100644 --- a/lisp/url/url-util.el +++ b/lisp/url/url-util.el | |||
| @@ -196,7 +196,7 @@ Will not do anything if `url-show-status' is nil." | |||
| 196 | (year nil) | 196 | (year nil) |
| 197 | (month (car | 197 | (month (car |
| 198 | (rassoc | 198 | (rassoc |
| 199 | (string-to-int (aref parsed 1)) url-monthabbrev-alist))) | 199 | (string-to-number (aref parsed 1)) url-monthabbrev-alist))) |
| 200 | ) | 200 | ) |
| 201 | (setq day (or (car-safe (rassoc day url-weekday-alist)) | 201 | (setq day (or (car-safe (rassoc day url-weekday-alist)) |
| 202 | (substring raw 0 3)) | 202 | (substring raw 0 3)) |
diff --git a/lisp/vms-patch.el b/lisp/vms-patch.el index 48174f41237..60033dc7f20 100644 --- a/lisp/vms-patch.el +++ b/lisp/vms-patch.el | |||
| @@ -93,7 +93,7 @@ If the logical name `EMACS_FILE_NAME' is defined, `find-file' that file." | |||
| 93 | (if (not args) | 93 | (if (not args) |
| 94 | (if file | 94 | (if file |
| 95 | (progn (find-file file) | 95 | (progn (find-file file) |
| 96 | (if line (goto-line (string-to-int line))))) | 96 | (if line (goto-line (string-to-number line))))) |
| 97 | (cd (file-name-directory file)) | 97 | (cd (file-name-directory file)) |
| 98 | (vms-command-line-again)))) | 98 | (vms-command-line-again)))) |
| 99 | 99 | ||
diff --git a/lisp/w32-vars.el b/lisp/w32-vars.el index 6a3ff36108e..1877e159ae7 100644 --- a/lisp/w32-vars.el +++ b/lisp/w32-vars.el | |||
| @@ -146,7 +146,8 @@ menu if the variable `w32-use-w32-font-dialog' is nil." | |||
| 146 | (const :tag "Seperator" ("")) | 146 | (const :tag "Seperator" ("")) |
| 147 | (list :tag "Font Entry" | 147 | (list :tag "Font Entry" |
| 148 | (string :tag "Menu text") | 148 | (string :tag "Menu text") |
| 149 | (string :tag "Font")))))))) | 149 | (string :tag "Font"))))))) |
| 150 | :group 'w32) | ||
| 150 | 151 | ||
| 151 | (defcustom x-select-enable-clipboard t | 152 | (defcustom x-select-enable-clipboard t |
| 152 | "*Non-nil means cutting and pasting uses the clipboard. | 153 | "*Non-nil means cutting and pasting uses the clipboard. |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index b5ef4428396..ad16fe264f0 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,5 +1,75 @@ | |||
| 1 | 2005-05-19 Luc Teirlinck <teirllm@auburn.edu> | ||
| 2 | |||
| 3 | * keymaps.texi (Active Keymaps): Add anchor. | ||
| 4 | |||
| 5 | * modes.texi (Hooks): Delete confusing and unnecessary sentence. | ||
| 6 | (Major Mode Conventions): Refer to `Auto Major Mode' in more | ||
| 7 | appropriate place. | ||
| 8 | (Derived Modes): Small clarifications. | ||
| 9 | (Minor Mode Conventions, Keymaps and Minor Modes): Replace | ||
| 10 | references to nodes with references to anchors. | ||
| 11 | (Mode Line Data): Warn that `(:eval FORM)' should not load any files. | ||
| 12 | Clarify description of lists whose first element is an integer. | ||
| 13 | (Mode Line Variables): Add anchor. | ||
| 14 | (%-Constructs): Clarify description of integer after %. | ||
| 15 | (Emulating Mode Line): Describe nil value for FACE. | ||
| 16 | |||
| 17 | 2005-05-18 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18 | |||
| 19 | * modes.texi (Derived Modes): Correct references to non-existing | ||
| 20 | variable standard-syntax-table. | ||
| 21 | |||
| 22 | 2005-05-17 Lute Kamstra <lute@gnu.org> | ||
| 23 | |||
| 24 | * modes.texi (Defining Minor Modes): Mention the mode hook. | ||
| 25 | |||
| 26 | 2005-05-15 Kim F. Storm <storm@cua.dk> | ||
| 27 | |||
| 28 | * processes.texi (Network): Remove open-network-stream-nowait. | ||
| 29 | (Network Servers): Remove open-network-stream-server. | ||
| 30 | |||
| 31 | 2005-05-15 Luc Teirlinck <teirllm@auburn.edu> | ||
| 32 | |||
| 33 | * elisp.texi (Top): Update detailed menu. | ||
| 34 | |||
| 35 | * variables.texi: Reorder nodes. | ||
| 36 | (Variables): Update menu. | ||
| 37 | (File Local Variables): Do not refer to the `-*-' line as | ||
| 38 | a "local variables list". Add pxref. | ||
| 39 | |||
| 40 | 2005-05-14 Luc Teirlinck <teirllm@auburn.edu> | ||
| 41 | |||
| 42 | * elisp.texi (Top): Update detailed menu for node changes. | ||
| 43 | |||
| 44 | * modes.texi (Modes): Update Menu. | ||
| 45 | (Hooks): Move to beginning of chapter. | ||
| 46 | Most minor modes run mode hooks too. | ||
| 47 | `add-hook' can handle void hooks or hooks whose value is a single | ||
| 48 | function. | ||
| 49 | (Major Modes): Update Menu. | ||
| 50 | (Major Mode Basics): New node, split off from `Major Modes'. | ||
| 51 | (Major Mode Conventions): Correct xref. Explain how to handle | ||
| 52 | auto-mode-alist if the major mode command has an autoload cookie. | ||
| 53 | (Auto Major Mode): Major update. Add magic-mode-alist. | ||
| 54 | (Derived Modes): Major update. | ||
| 55 | (Mode Line Format): Update Menu. | ||
| 56 | (Mode Line Basics): New node, split off from `Mode Line Format'. | ||
| 57 | |||
| 58 | * loading.texi (Autoload): Mention `autoload cookie' as synonym | ||
| 59 | for `magic autoload comment'. Add index entries and anchor. | ||
| 60 | |||
| 61 | 2005-05-14 Richard M. Stallman <rms@gnu.org> | ||
| 62 | |||
| 63 | * tips.texi (Coding Conventions): Explain how important it is | ||
| 64 | that just loading certain files not change Emacs behavior. | ||
| 65 | |||
| 66 | * modes.texi (Defining Minor Modes): Define define-global-minor-mode. | ||
| 67 | |||
| 1 | 2005-05-12 Lute Kamstra <lute@gnu.org> | 68 | 2005-05-12 Lute Kamstra <lute@gnu.org> |
| 2 | 69 | ||
| 70 | * modes.texi (Generic Modes): Update. | ||
| 71 | (Major Modes): Refer to node "Generic Modes". | ||
| 72 | |||
| 3 | * elisp.texi (Top): Update to the current structure of the manual. | 73 | * elisp.texi (Top): Update to the current structure of the manual. |
| 4 | * processes.texi (Processes): Add menu description. | 74 | * processes.texi (Processes): Add menu description. |
| 5 | * customize.texi (Customization): Add menu descriptions. | 75 | * customize.texi (Customization): Add menu descriptions. |
diff --git a/lispref/elisp.texi b/lispref/elisp.texi index 061d826e711..7a19f8a47da 100644 --- a/lispref/elisp.texi +++ b/lispref/elisp.texi | |||
| @@ -383,8 +383,8 @@ Variables | |||
| 383 | * Buffer-Local Variables:: Variable values in effect only in one buffer. | 383 | * Buffer-Local Variables:: Variable values in effect only in one buffer. |
| 384 | * Frame-Local Variables:: Variable values in effect only in one frame. | 384 | * Frame-Local Variables:: Variable values in effect only in one frame. |
| 385 | * Future Local Variables:: New kinds of local values we might add some day. | 385 | * Future Local Variables:: New kinds of local values we might add some day. |
| 386 | * Variable Aliases:: Variables that are aliases for other variables. | ||
| 387 | * File Local Variables:: Handling local variable lists in files. | 386 | * File Local Variables:: Handling local variable lists in files. |
| 387 | * Variable Aliases:: Variables that are aliases for other variables. | ||
| 388 | * Variables with Restricted Values:: Non-constant variables whose value can | 388 | * Variables with Restricted Values:: Non-constant variables whose value can |
| 389 | @emph{not} be an arbitrary Lisp object. | 389 | @emph{not} be an arbitrary Lisp object. |
| 390 | 390 | ||
| @@ -617,6 +617,8 @@ Keymaps | |||
| 617 | 617 | ||
| 618 | Major and Minor Modes | 618 | Major and Minor Modes |
| 619 | 619 | ||
| 620 | * Hooks:: How to use hooks; how to write code that | ||
| 621 | provides hooks. | ||
| 620 | * Major Modes:: Defining major modes. | 622 | * Major Modes:: Defining major modes. |
| 621 | * Minor Modes:: Defining minor modes. | 623 | * Minor Modes:: Defining minor modes. |
| 622 | * Mode Line Format:: Customizing the text that appears in the mode line. | 624 | * Mode Line Format:: Customizing the text that appears in the mode line. |
| @@ -625,11 +627,10 @@ Major and Minor Modes | |||
| 625 | * Font Lock Mode:: How modes can highlight text according to syntax. | 627 | * Font Lock Mode:: How modes can highlight text according to syntax. |
| 626 | * Desktop Save Mode:: How modes can have buffer state saved between | 628 | * Desktop Save Mode:: How modes can have buffer state saved between |
| 627 | Emacs sessions. | 629 | Emacs sessions. |
| 628 | * Hooks:: How to use hooks; how to write code that | ||
| 629 | provides hooks. | ||
| 630 | 630 | ||
| 631 | Major Modes | 631 | Major Modes |
| 632 | 632 | ||
| 633 | * Major Mode Basics:: | ||
| 633 | * Major Mode Conventions:: Coding conventions for keymaps, etc. | 634 | * Major Mode Conventions:: Coding conventions for keymaps, etc. |
| 634 | * Example Major Modes:: Text mode and Lisp modes. | 635 | * Example Major Modes:: Text mode and Lisp modes. |
| 635 | * Auto Major Mode:: How Emacs chooses the major mode automatically. | 636 | * Auto Major Mode:: How Emacs chooses the major mode automatically. |
| @@ -648,6 +649,7 @@ Minor Modes | |||
| 648 | 649 | ||
| 649 | Mode Line Format | 650 | Mode Line Format |
| 650 | 651 | ||
| 652 | * Mode Line Basics:: | ||
| 651 | * Mode Line Data:: The data structure that controls the mode line. | 653 | * Mode Line Data:: The data structure that controls the mode line. |
| 652 | * Mode Line Variables:: Variables used in that data structure. | 654 | * Mode Line Variables:: Variables used in that data structure. |
| 653 | * %-Constructs:: Putting information into a mode line. | 655 | * %-Constructs:: Putting information into a mode line. |
diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi index e1784dd10a0..63832ced1b4 100644 --- a/lispref/keymaps.texi +++ b/lispref/keymaps.texi | |||
| @@ -666,6 +666,7 @@ commands use this function. | |||
| 666 | 666 | ||
| 667 | @c Emacs 19 feature | 667 | @c Emacs 19 feature |
| 668 | @defvar minor-mode-map-alist | 668 | @defvar minor-mode-map-alist |
| 669 | @anchor{Definition of minor-mode-map-alist} | ||
| 669 | This variable is an alist describing keymaps that may or may not be | 670 | This variable is an alist describing keymaps that may or may not be |
| 670 | active according to the values of certain variables. Its elements look | 671 | active according to the values of certain variables. Its elements look |
| 671 | like this: | 672 | like this: |
diff --git a/lispref/loading.texi b/lispref/loading.texi index e12826af2f8..4049877e782 100644 --- a/lispref/loading.texi +++ b/lispref/loading.texi | |||
| @@ -436,8 +436,12 @@ define function @var{function-name}"}. | |||
| 436 | 436 | ||
| 437 | @findex update-file-autoloads | 437 | @findex update-file-autoloads |
| 438 | @findex update-directory-autoloads | 438 | @findex update-directory-autoloads |
| 439 | A magic autoload comment consists of @samp{;;;###autoload}, on a line | 439 | @cindex magic autoload comment |
| 440 | by itself, just before the real definition of the function in its | 440 | @cindex autoload cookie |
| 441 | @anchor{autoload cookie} | ||
| 442 | A magic autoload comment (often called an @dfn{autoload cookie}) | ||
| 443 | consists of @samp{;;;###autoload}, on a line by itself, | ||
| 444 | just before the real definition of the function in its | ||
| 441 | autoloadable source file. The command @kbd{M-x update-file-autoloads} | 445 | autoloadable source file. The command @kbd{M-x update-file-autoloads} |
| 442 | writes a corresponding @code{autoload} call into @file{loaddefs.el}. | 446 | writes a corresponding @code{autoload} call into @file{loaddefs.el}. |
| 443 | Building Emacs loads @file{loaddefs.el} and thus calls @code{autoload}. | 447 | Building Emacs loads @file{loaddefs.el} and thus calls @code{autoload}. |
diff --git a/lispref/modes.texi b/lispref/modes.texi index 12c4493b36f..1b30a23e128 100644 --- a/lispref/modes.texi +++ b/lispref/modes.texi | |||
| @@ -20,6 +20,7 @@ user. For related topics such as keymaps and syntax tables, see | |||
| 20 | @ref{Keymaps}, and @ref{Syntax Tables}. | 20 | @ref{Keymaps}, and @ref{Syntax Tables}. |
| 21 | 21 | ||
| 22 | @menu | 22 | @menu |
| 23 | * Hooks:: How to use hooks; how to write code that provides hooks. | ||
| 23 | * Major Modes:: Defining major modes. | 24 | * Major Modes:: Defining major modes. |
| 24 | * Minor Modes:: Defining minor modes. | 25 | * Minor Modes:: Defining minor modes. |
| 25 | * Mode Line Format:: Customizing the text that appears in the mode line. | 26 | * Mode Line Format:: Customizing the text that appears in the mode line. |
| @@ -28,13 +29,152 @@ user. For related topics such as keymaps and syntax tables, see | |||
| 28 | * Font Lock Mode:: How modes can highlight text according to syntax. | 29 | * Font Lock Mode:: How modes can highlight text according to syntax. |
| 29 | * Desktop Save Mode:: How modes can have buffer state saved between | 30 | * Desktop Save Mode:: How modes can have buffer state saved between |
| 30 | Emacs sessions. | 31 | Emacs sessions. |
| 31 | * Hooks:: How to use hooks; how to write code that provides hooks. | ||
| 32 | @end menu | 32 | @end menu |
| 33 | 33 | ||
| 34 | @node Hooks | ||
| 35 | @section Hooks | ||
| 36 | @cindex hooks | ||
| 37 | |||
| 38 | A @dfn{hook} is a variable where you can store a function or functions | ||
| 39 | to be called on a particular occasion by an existing program. Emacs | ||
| 40 | provides hooks for the sake of customization. Most often, hooks are set | ||
| 41 | up in the init file (@pxref{Init File}), but Lisp programs can set them also. | ||
| 42 | @xref{Standard Hooks}, for a list of standard hook variables. | ||
| 43 | |||
| 44 | @cindex normal hook | ||
| 45 | Most of the hooks in Emacs are @dfn{normal hooks}. These variables | ||
| 46 | contain lists of functions to be called with no arguments. When the | ||
| 47 | hook name ends in @samp{-hook}, that tells you it is normal. We try to | ||
| 48 | make all hooks normal, as much as possible, so that you can use them in | ||
| 49 | a uniform way. | ||
| 50 | |||
| 51 | Every major mode function is supposed to run a normal hook called the | ||
| 52 | @dfn{mode hook} as the last step of initialization. This makes it easy | ||
| 53 | for a user to customize the behavior of the mode, by overriding the | ||
| 54 | buffer-local variable assignments already made by the mode. Most | ||
| 55 | minor modes also run a mode hook at their end. But hooks are used in | ||
| 56 | other contexts too. For example, the hook @code{suspend-hook} runs | ||
| 57 | just before Emacs suspends itself (@pxref{Suspending Emacs}). | ||
| 58 | |||
| 59 | The recommended way to add a hook function to a normal hook is by | ||
| 60 | calling @code{add-hook} (see below). The hook functions may be any of | ||
| 61 | the valid kinds of functions that @code{funcall} accepts (@pxref{What | ||
| 62 | Is a Function}). Most normal hook variables are initially void; | ||
| 63 | @code{add-hook} knows how to deal with this. You can add hooks either | ||
| 64 | globally or buffer-locally with @code{add-hook}. | ||
| 65 | |||
| 66 | @cindex abnormal hook | ||
| 67 | If the hook variable's name does not end with @samp{-hook}, that | ||
| 68 | indicates it is probably an @dfn{abnormal hook}. Then you should look at its | ||
| 69 | documentation to see how to use the hook properly. | ||
| 70 | |||
| 71 | If the variable's name ends in @samp{-functions} or @samp{-hooks}, | ||
| 72 | then the value is a list of functions, but it is abnormal in that either | ||
| 73 | these functions are called with arguments or their values are used in | ||
| 74 | some way. You can use @code{add-hook} to add a function to the list, | ||
| 75 | but you must take care in writing the function. (A few of these | ||
| 76 | variables, notably those ending in @samp{-hooks}, are actually | ||
| 77 | normal hooks which were named before we established the convention of | ||
| 78 | using @samp{-hook} for them.) | ||
| 79 | |||
| 80 | If the variable's name ends in @samp{-function}, then its value | ||
| 81 | is just a single function, not a list of functions. | ||
| 82 | |||
| 83 | Here's an example that uses a mode hook to turn on Auto Fill mode when | ||
| 84 | in Lisp Interaction mode: | ||
| 85 | |||
| 86 | @example | ||
| 87 | (add-hook 'lisp-interaction-mode-hook 'turn-on-auto-fill) | ||
| 88 | @end example | ||
| 89 | |||
| 90 | At the appropriate time, Emacs uses the @code{run-hooks} function to | ||
| 91 | run particular hooks. | ||
| 92 | |||
| 93 | @defun run-hooks &rest hookvars | ||
| 94 | This function takes one or more normal hook variable names as | ||
| 95 | arguments, and runs each hook in turn. Each argument should be a | ||
| 96 | symbol that is a normal hook variable. These arguments are processed | ||
| 97 | in the order specified. | ||
| 98 | |||
| 99 | If a hook variable has a non-@code{nil} value, that value may be a | ||
| 100 | function or a list of functions. (The former option is considered | ||
| 101 | obsolete.) If the value is a function (either a lambda expression or | ||
| 102 | a symbol with a function definition), it is called. If it is a list | ||
| 103 | that isn't a function, its elements are called, consecutively. All | ||
| 104 | the hook functions are called with no arguments. | ||
| 105 | @end defun | ||
| 106 | |||
| 107 | @defun run-hook-with-args hook &rest args | ||
| 108 | This function is the way to run an abnormal hook and always call all | ||
| 109 | of the hook functions. It calls each of the hook functions one by | ||
| 110 | one, passing each of them the arguments @var{args}. | ||
| 111 | @end defun | ||
| 112 | |||
| 113 | @defun run-hook-with-args-until-failure hook &rest args | ||
| 114 | This function is the way to run an abnormal hook until one of the hook | ||
| 115 | functions fails. It calls each of the hook functions, passing each of | ||
| 116 | them the arguments @var{args}, until some hook function returns | ||
| 117 | @code{nil}. It then stops and returns @code{nil}. If none of the | ||
| 118 | hook functions return @code{nil}, it returns a non-@code{nil} value. | ||
| 119 | @end defun | ||
| 120 | |||
| 121 | @defun run-hook-with-args-until-success hook &rest args | ||
| 122 | This function is the way to run an abnormal hook until a hook function | ||
| 123 | succeeds. It calls each of the hook functions, passing each of them | ||
| 124 | the arguments @var{args}, until some hook function returns | ||
| 125 | non-@code{nil}. Then it stops, and returns whatever was returned by | ||
| 126 | the last hook function that was called. If all hook functions return | ||
| 127 | @code{nil}, it returns @code{nil} as well. | ||
| 128 | @end defun | ||
| 129 | |||
| 130 | @defun add-hook hook function &optional append local | ||
| 131 | This function is the handy way to add function @var{function} to hook | ||
| 132 | variable @var{hook}. You can use it for abnormal hooks as well as for | ||
| 133 | normal hooks. @var{function} can be any Lisp function that can accept | ||
| 134 | the proper number of arguments for @var{hook}. For example, | ||
| 135 | |||
| 136 | @example | ||
| 137 | (add-hook 'text-mode-hook 'my-text-hook-function) | ||
| 138 | @end example | ||
| 139 | |||
| 140 | @noindent | ||
| 141 | adds @code{my-text-hook-function} to the hook called @code{text-mode-hook}. | ||
| 142 | |||
| 143 | If @var{function} is already present in @var{hook} (comparing using | ||
| 144 | @code{equal}), then @code{add-hook} does not add it a second time. | ||
| 145 | |||
| 146 | It is best to design your hook functions so that the order in which they | ||
| 147 | are executed does not matter. Any dependence on the order is ``asking | ||
| 148 | for trouble''. However, the order is predictable: normally, | ||
| 149 | @var{function} goes at the front of the hook list, so it will be | ||
| 150 | executed first (barring another @code{add-hook} call). If the optional | ||
| 151 | argument @var{append} is non-@code{nil}, the new hook function goes at | ||
| 152 | the end of the hook list and will be executed last. | ||
| 153 | |||
| 154 | @code{add-hook} can handle the cases where @var{hook} is void or its | ||
| 155 | value is a single function; it sets or changes the value to a list of | ||
| 156 | functions. | ||
| 157 | |||
| 158 | If @var{local} is non-@code{nil}, that says to add @var{function} to | ||
| 159 | the buffer-local hook list instead of to the global hook list. If | ||
| 160 | needed, this makes the hook buffer-local and adds @code{t} to the | ||
| 161 | buffer-local value. The latter acts as a flag to run the hook | ||
| 162 | functions in the default value as well as in the local value. | ||
| 163 | @end defun | ||
| 164 | |||
| 165 | @defun remove-hook hook function &optional local | ||
| 166 | This function removes @var{function} from the hook variable | ||
| 167 | @var{hook}. It compares @var{function} with elements of @var{hook} | ||
| 168 | using @code{equal}, so it works for both symbols and lambda | ||
| 169 | expressions. | ||
| 170 | |||
| 171 | If @var{local} is non-@code{nil}, that says to remove @var{function} | ||
| 172 | from the buffer-local hook list instead of from the global hook list. | ||
| 173 | @end defun | ||
| 174 | |||
| 34 | @node Major Modes | 175 | @node Major Modes |
| 35 | @section Major Modes | 176 | @section Major Modes |
| 36 | @cindex major mode | 177 | @cindex major mode |
| 37 | @cindex Fundamental mode | ||
| 38 | 178 | ||
| 39 | Major modes specialize Emacs for editing particular kinds of text. | 179 | Major modes specialize Emacs for editing particular kinds of text. |
| 40 | Each buffer has only one major mode at a time. For each major mode | 180 | Each buffer has only one major mode at a time. For each major mode |
| @@ -44,6 +184,23 @@ buffer-local variable bindings and other data associated with the | |||
| 44 | buffer, such as a local keymap. The effect lasts until you switch | 184 | buffer, such as a local keymap. The effect lasts until you switch |
| 45 | to another major mode in the same buffer. | 185 | to another major mode in the same buffer. |
| 46 | 186 | ||
| 187 | @menu | ||
| 188 | * Major Mode Basics:: | ||
| 189 | * Major Mode Conventions:: Coding conventions for keymaps, etc. | ||
| 190 | * Example Major Modes:: Text mode and Lisp modes. | ||
| 191 | * Auto Major Mode:: How Emacs chooses the major mode automatically. | ||
| 192 | * Mode Help:: Finding out how to use a mode. | ||
| 193 | * Derived Modes:: Defining a new major mode based on another major | ||
| 194 | mode. | ||
| 195 | * Generic Modes:: Defining a simple major mode that supports | ||
| 196 | comment syntax and Font Lock mode. | ||
| 197 | * Mode Hooks:: Hooks run at the end of major mode functions. | ||
| 198 | @end menu | ||
| 199 | |||
| 200 | @node Major Mode Basics | ||
| 201 | @subsection Major Mode Basics | ||
| 202 | @cindex Fundamental mode | ||
| 203 | |||
| 47 | The least specialized major mode is called @dfn{Fundamental mode}. | 204 | The least specialized major mode is called @dfn{Fundamental mode}. |
| 48 | This mode has no mode-specific definitions or variable settings, so each | 205 | This mode has no mode-specific definitions or variable settings, so each |
| 49 | Emacs command behaves in its default manner, and each option is in its | 206 | Emacs command behaves in its default manner, and each option is in its |
| @@ -71,10 +228,9 @@ it is convenient to use @code{define-derived-mode} with a @code{nil} | |||
| 71 | parent argument, since it automatically enforces the most important | 228 | parent argument, since it automatically enforces the most important |
| 72 | coding conventions for you. | 229 | coding conventions for you. |
| 73 | 230 | ||
| 74 | @findex define-generic-mode | ||
| 75 | For a very simple programming language major mode that handles | 231 | For a very simple programming language major mode that handles |
| 76 | comments and fontification, you can use @code{define-generic-mode} | 232 | comments and fontification, you can use @code{define-generic-mode}. |
| 77 | in @file{generic.el}. | 233 | @xref{Generic Modes}. |
| 78 | 234 | ||
| 79 | Rmail Edit mode offers an example of changing the major mode | 235 | Rmail Edit mode offers an example of changing the major mode |
| 80 | temporarily for a buffer, so it can be edited in a different way (with | 236 | temporarily for a buffer, so it can be edited in a different way (with |
| @@ -96,18 +252,6 @@ for several major modes, in files such as @file{text-mode.el}, | |||
| 96 | are written. Text mode is perhaps the simplest major mode aside from | 252 | are written. Text mode is perhaps the simplest major mode aside from |
| 97 | Fundamental mode. Rmail mode is a complicated and specialized mode. | 253 | Fundamental mode. Rmail mode is a complicated and specialized mode. |
| 98 | 254 | ||
| 99 | @menu | ||
| 100 | * Major Mode Conventions:: Coding conventions for keymaps, etc. | ||
| 101 | * Example Major Modes:: Text mode and Lisp modes. | ||
| 102 | * Auto Major Mode:: How Emacs chooses the major mode automatically. | ||
| 103 | * Mode Help:: Finding out how to use a mode. | ||
| 104 | * Derived Modes:: Defining a new major mode based on another major | ||
| 105 | mode. | ||
| 106 | * Generic Modes:: Defining a simple major mode that supports | ||
| 107 | comment syntax and Font Lock mode. | ||
| 108 | * Mode Hooks:: Hooks run at the end of major mode functions. | ||
| 109 | @end menu | ||
| 110 | |||
| 111 | @node Major Mode Conventions | 255 | @node Major Mode Conventions |
| 112 | @subsection Major Mode Conventions | 256 | @subsection Major Mode Conventions |
| 113 | 257 | ||
| @@ -241,7 +385,7 @@ related modes. If it has its own abbrev table, it should store this | |||
| 241 | in a variable named @code{@var{modename}-mode-abbrev-table}. If the | 385 | in a variable named @code{@var{modename}-mode-abbrev-table}. If the |
| 242 | major mode command defines any abbrevs itself, it should pass @code{t} | 386 | major mode command defines any abbrevs itself, it should pass @code{t} |
| 243 | for the @var{system-flag} argument to @code{define-abbrev}. | 387 | for the @var{system-flag} argument to @code{define-abbrev}. |
| 244 | @xref{Abbrev Tables}. | 388 | @xref{Defining Abbrevs}. |
| 245 | 389 | ||
| 246 | @item | 390 | @item |
| 247 | The mode should specify how to do highlighting for Font Lock mode, by | 391 | The mode should specify how to do highlighting for Font Lock mode, by |
| @@ -325,10 +469,13 @@ and Buffer List use this feature. | |||
| 325 | @item | 469 | @item |
| 326 | If you want to make the new mode the default for files with certain | 470 | If you want to make the new mode the default for files with certain |
| 327 | recognizable names, add an element to @code{auto-mode-alist} to select | 471 | recognizable names, add an element to @code{auto-mode-alist} to select |
| 328 | the mode for those file names. If you define the mode command to | 472 | the mode for those file names (@pxref{Auto Major Mode}). If you |
| 329 | autoload, you should add this element in the same file that calls | 473 | define the mode command to autoload, you should add this element in |
| 330 | @code{autoload}. Otherwise, it is sufficient to add the element in the | 474 | the same file that calls @code{autoload}. If you use an autoload |
| 331 | file that contains the mode definition. @xref{Auto Major Mode}. | 475 | cookie for the mode command, you can also use an autoload cookie for |
| 476 | the form that adds the element (@pxref{autoload cookie}). If you do | ||
| 477 | not autoload the mode command, it is sufficient to add the element in | ||
| 478 | the file that contains the mode definition. | ||
| 332 | 479 | ||
| 333 | @item | 480 | @item |
| 334 | In the comments that document the file, you should provide a sample | 481 | In the comments that document the file, you should provide a sample |
| @@ -636,21 +783,28 @@ state of Emacs.) | |||
| 636 | 783 | ||
| 637 | @deffn Command normal-mode &optional find-file | 784 | @deffn Command normal-mode &optional find-file |
| 638 | This function establishes the proper major mode and buffer-local variable | 785 | This function establishes the proper major mode and buffer-local variable |
| 639 | bindings for the current buffer. First it calls @code{set-auto-mode}, | 786 | bindings for the current buffer. First it calls @code{set-auto-mode} |
| 640 | then it runs @code{hack-local-variables} to parse, and bind or | 787 | (see below), then it runs @code{hack-local-variables} to parse, and |
| 641 | evaluate as appropriate, the file's local variables. | 788 | bind or evaluate as appropriate, the file's local variables |
| 789 | (@pxref{File Local Variables}). | ||
| 642 | 790 | ||
| 643 | If the @var{find-file} argument to @code{normal-mode} is non-@code{nil}, | 791 | If the @var{find-file} argument to @code{normal-mode} is non-@code{nil}, |
| 644 | @code{normal-mode} assumes that the @code{find-file} function is calling | 792 | @code{normal-mode} assumes that the @code{find-file} function is calling |
| 645 | it. In this case, it may process a local variables list at the end of | 793 | it. In this case, it may process local variables in the @samp{-*-} |
| 646 | the file and in the @samp{-*-} line. The variable | 794 | line or at the end of the file. The variable |
| 647 | @code{enable-local-variables} controls whether to do so. @xref{File | 795 | @code{enable-local-variables} controls whether to do so. @xref{File |
| 648 | variables, , Local Variables in Files, emacs, The GNU Emacs Manual}, for | 796 | Variables, , Local Variables in Files, emacs, The GNU Emacs Manual}, |
| 649 | the syntax of the local variables section of a file. | 797 | for the syntax of the local variables section of a file. |
| 650 | 798 | ||
| 651 | If you run @code{normal-mode} interactively, the argument | 799 | If you run @code{normal-mode} interactively, the argument |
| 652 | @var{find-file} is normally @code{nil}. In this case, | 800 | @var{find-file} is normally @code{nil}. In this case, |
| 653 | @code{normal-mode} unconditionally processes any local variables list. | 801 | @code{normal-mode} unconditionally processes any file local variables. |
| 802 | |||
| 803 | If @code{normal-mode} processes the local variables list and this list | ||
| 804 | specifies a major mode, that mode overrides any mode chosen by | ||
| 805 | @code{set-auto-mode}. If neither @code{set-auto-mode} nor | ||
| 806 | @code{hack-local-variables} specify a major mode, the buffer stays in | ||
| 807 | the major mode determined by @code{default-major-mode} (see below). | ||
| 654 | 808 | ||
| 655 | @cindex file mode specification error | 809 | @cindex file mode specification error |
| 656 | @code{normal-mode} uses @code{condition-case} around the call to the | 810 | @code{normal-mode} uses @code{condition-case} around the call to the |
| @@ -658,16 +812,25 @@ major mode function, so errors are caught and reported as a @samp{File | |||
| 658 | mode specification error}, followed by the original error message. | 812 | mode specification error}, followed by the original error message. |
| 659 | @end deffn | 813 | @end deffn |
| 660 | 814 | ||
| 661 | @defun set-auto-mode | 815 | @defun set-auto-mode &optional keep-mode-if-same |
| 662 | @cindex visited file mode | 816 | @cindex visited file mode |
| 663 | This function selects the major mode that is appropriate for the | 817 | This function selects the major mode that is appropriate for the |
| 664 | current buffer. It may base its decision on the value of the @w{@samp{-*-}} | 818 | current buffer. It bases its decision (in order of precedence) on |
| 665 | line, on the visited file name (using @code{auto-mode-alist}), on the | 819 | the @w{@samp{-*-}} line, on the @w{@samp{#!}} line (using |
| 666 | @w{@samp{#!}} line (using @code{interpreter-mode-alist}), or on the | 820 | @code{interpreter-mode-alist}), on the text at the beginning of the |
| 667 | file's local variables list. However, this function does not look for | 821 | buffer (using @code{magic-mode-alist}), and finally on the visited |
| 668 | the @samp{mode:} local variable near the end of a file; the | 822 | file name (using @code{auto-mode-alist}). @xref{Choosing Modes, , How |
| 669 | @code{hack-local-variables} function does that. @xref{Choosing Modes, , | 823 | Major Modes are Chosen, emacs, The GNU Emacs Manual}. However, this |
| 670 | How Major Modes are Chosen, emacs, The GNU Emacs Manual}. | 824 | function does not look for the @samp{mode:} local variable near the |
| 825 | end of a file; the @code{hack-local-variables} function does that. | ||
| 826 | If @code{enable-local-variables} is @code{nil}, @code{set-auto-mode} | ||
| 827 | does not check the @w{@samp{-*-}} line for a mode tag either. | ||
| 828 | |||
| 829 | If @var{keep-mode-if-same} is non-@code{nil}, this function does not | ||
| 830 | call the mode command if the buffer is already in the proper major | ||
| 831 | mode. For instance, @code{set-visited-file-name} sets this to | ||
| 832 | @code{t} to avoid killing buffer local variables that the user may | ||
| 833 | have set. | ||
| 671 | @end defun | 834 | @end defun |
| 672 | 835 | ||
| 673 | @defopt default-major-mode | 836 | @defopt default-major-mode |
| @@ -675,8 +838,8 @@ This variable holds the default major mode for new buffers. The | |||
| 675 | standard value is @code{fundamental-mode}. | 838 | standard value is @code{fundamental-mode}. |
| 676 | 839 | ||
| 677 | If the value of @code{default-major-mode} is @code{nil}, Emacs uses | 840 | If the value of @code{default-major-mode} is @code{nil}, Emacs uses |
| 678 | the (previously) current buffer's major mode for the major mode of a new | 841 | the (previously) current buffer's major mode as the default major mode |
| 679 | buffer. However, if that major mode symbol has a @code{mode-class} | 842 | of a new buffer. However, if that major mode symbol has a @code{mode-class} |
| 680 | property with value @code{special}, then it is not used for new buffers; | 843 | property with value @code{special}, then it is not used for new buffers; |
| 681 | Fundamental mode is used instead. The modes that have this property are | 844 | Fundamental mode is used instead. The modes that have this property are |
| 682 | those such as Dired and Rmail that are useful only with text that has | 845 | those such as Dired and Rmail that are useful only with text that has |
| @@ -685,28 +848,50 @@ been specially prepared. | |||
| 685 | 848 | ||
| 686 | @defun set-buffer-major-mode buffer | 849 | @defun set-buffer-major-mode buffer |
| 687 | This function sets the major mode of @var{buffer} to the value of | 850 | This function sets the major mode of @var{buffer} to the value of |
| 688 | @code{default-major-mode}. If that variable is @code{nil}, it uses | 851 | @code{default-major-mode}; if that variable is @code{nil}, it uses the |
| 689 | the current buffer's major mode (if that is suitable). | 852 | current buffer's major mode (if that is suitable). As an exception, |
| 853 | if @var{buffer}'s name is @samp{*scratch*}, it sets the mode to | ||
| 854 | @code{initial-major-mode}. | ||
| 690 | 855 | ||
| 691 | The low-level primitives for creating buffers do not use this function, | 856 | The low-level primitives for creating buffers do not use this function, |
| 692 | but medium-level commands such as @code{switch-to-buffer} and | 857 | but medium-level commands such as @code{switch-to-buffer} and |
| 693 | @code{find-file-noselect} use it whenever they create buffers. | 858 | @code{find-file-noselect} use it whenever they create buffers. |
| 694 | @end defun | 859 | @end defun |
| 695 | 860 | ||
| 696 | @defvar initial-major-mode | 861 | @defopt initial-major-mode |
| 697 | @cindex @samp{*scratch*} | 862 | @cindex @samp{*scratch*} |
| 698 | The value of this variable determines the major mode of the initial | 863 | The value of this variable determines the major mode of the initial |
| 699 | @samp{*scratch*} buffer. The value should be a symbol that is a major | 864 | @samp{*scratch*} buffer. The value should be a symbol that is a major |
| 700 | mode command. The default value is @code{lisp-interaction-mode}. | 865 | mode command. The default value is @code{lisp-interaction-mode}. |
| 866 | @end defopt | ||
| 867 | |||
| 868 | @defvar interpreter-mode-alist | ||
| 869 | This variable specifies major modes to use for scripts that specify a | ||
| 870 | command interpreter in a @samp{#!} line. Its value is an alist with | ||
| 871 | elements of the form @code{(@var{interpreter} . @var{mode})}; for | ||
| 872 | example, @code{("perl" . perl-mode)} is one element present by | ||
| 873 | default. The element says to use mode @var{mode} if the file | ||
| 874 | specifies an interpreter which matches @var{interpreter}. The value | ||
| 875 | of @var{interpreter} is actually a regular expression. @xref{Regular | ||
| 876 | Expressions}. | ||
| 877 | @end defvar | ||
| 878 | |||
| 879 | @defvar magic-mode-alist | ||
| 880 | This variable's value is an alist with elements of the form | ||
| 881 | @code{(@var{regexp} . @var{function})}, where @var{regexp} is a | ||
| 882 | regular expression and @var{function} is a function or @code{nil}. | ||
| 883 | After visiting a file, @code{set-auto-mode} calls @var{function} if | ||
| 884 | the text at the beginning of the buffer matches @var{regexp} and | ||
| 885 | @var{function} is non-@code{nil}; if @var{function} is @code{nil}, | ||
| 886 | @code{auto-mode-alist} gets to decide the mode. | ||
| 701 | @end defvar | 887 | @end defvar |
| 702 | 888 | ||
| 703 | @defvar auto-mode-alist | 889 | @defvar auto-mode-alist |
| 704 | This variable contains an association list of file name patterns | 890 | This variable contains an association list of file name patterns |
| 705 | (regular expressions; @pxref{Regular Expressions}) and corresponding | 891 | (regular expressions) and corresponding major mode commands. Usually, |
| 706 | major mode commands. Usually, the file name patterns test for suffixes, | 892 | the file name patterns test for suffixes, such as @samp{.el} and |
| 707 | such as @samp{.el} and @samp{.c}, but this need not be the case. An | 893 | @samp{.c}, but this need not be the case. An ordinary element of the |
| 708 | ordinary element of the alist looks like @code{(@var{regexp} . | 894 | alist looks like @code{(@var{regexp} . @var{mode-function})}. |
| 709 | @var{mode-function})}. | ||
| 710 | 895 | ||
| 711 | For example, | 896 | For example, |
| 712 | 897 | ||
| @@ -725,9 +910,11 @@ For example, | |||
| 725 | @end smallexample | 910 | @end smallexample |
| 726 | 911 | ||
| 727 | When you visit a file whose expanded file name (@pxref{File Name | 912 | When you visit a file whose expanded file name (@pxref{File Name |
| 728 | Expansion}) matches a @var{regexp}, @code{set-auto-mode} calls the | 913 | Expansion}), with version numbers and backup suffixes removed using |
| 729 | corresponding @var{mode-function}. This feature enables Emacs to select | 914 | @code{file-name-sans-versions} (@pxref{File Name Components}), matches |
| 730 | the proper major mode for most files. | 915 | a @var{regexp}, @code{set-auto-mode} calls the corresponding |
| 916 | @var{mode-function}. This feature enables Emacs to select the proper | ||
| 917 | major mode for most files. | ||
| 731 | 918 | ||
| 732 | If an element of @code{auto-mode-alist} has the form @code{(@var{regexp} | 919 | If an element of @code{auto-mode-alist} has the form @code{(@var{regexp} |
| 733 | @var{function} t)}, then after calling @var{function}, Emacs searches | 920 | @var{function} t)}, then after calling @var{function}, Emacs searches |
| @@ -756,19 +943,6 @@ init file.) | |||
| 756 | @end smallexample | 943 | @end smallexample |
| 757 | @end defvar | 944 | @end defvar |
| 758 | 945 | ||
| 759 | @defvar interpreter-mode-alist | ||
| 760 | This variable specifies major modes to use for scripts that specify a | ||
| 761 | command interpreter in a @samp{#!} line. Its value is a list of | ||
| 762 | elements of the form @code{(@var{interpreter} . @var{mode})}; for | ||
| 763 | example, @code{("perl" . perl-mode)} is one element present by default. | ||
| 764 | The element says to use mode @var{mode} if the file specifies | ||
| 765 | an interpreter which matches @var{interpreter}. The value of | ||
| 766 | @var{interpreter} is actually a regular expression. | ||
| 767 | |||
| 768 | This variable is applicable only when the @code{auto-mode-alist} does | ||
| 769 | not indicate which major mode to use. | ||
| 770 | @end defvar | ||
| 771 | |||
| 772 | @node Mode Help | 946 | @node Mode Help |
| 773 | @subsection Getting Help about a Major Mode | 947 | @subsection Getting Help about a Major Mode |
| 774 | @cindex mode help | 948 | @cindex mode help |
| @@ -805,46 +979,77 @@ mode. | |||
| 805 | It's often useful to define a new major mode in terms of an existing | 979 | It's often useful to define a new major mode in terms of an existing |
| 806 | one. An easy way to do this is to use @code{define-derived-mode}. | 980 | one. An easy way to do this is to use @code{define-derived-mode}. |
| 807 | 981 | ||
| 808 | @defmac define-derived-mode variant parent name docstring body@dots{} | 982 | @defmac define-derived-mode variant parent name docstring keyword-args@dots{} body@dots{} |
| 809 | This construct defines @var{variant} as a major mode command, using | 983 | This construct defines @var{variant} as a major mode command, using |
| 810 | @var{name} as the string form of the mode name. | 984 | @var{name} as the string form of the mode name. @var{variant} and |
| 985 | @var{parent} should be unquoted symbols. | ||
| 811 | 986 | ||
| 812 | The new command @var{variant} is defined to call the function | 987 | The new command @var{variant} is defined to call the function |
| 813 | @var{parent}, then override certain aspects of that parent mode: | 988 | @var{parent}, then override certain aspects of that parent mode: |
| 814 | 989 | ||
| 815 | @itemize @bullet | 990 | @itemize @bullet |
| 816 | @item | 991 | @item |
| 817 | The new mode has its own keymap, named @code{@var{variant}-map}. | 992 | The new mode has its own sparse keymap, named |
| 818 | @code{define-derived-mode} initializes this map to inherit from | 993 | @code{@var{variant}-map}. @code{define-derived-mode} |
| 819 | @code{@var{parent}-map}, if it is not already set. | 994 | makes the parent mode's keymap the parent of the new map, unless |
| 995 | @code{@var{variant}-map} is already set and already has a parent. | ||
| 820 | 996 | ||
| 821 | @item | 997 | @item |
| 822 | The new mode has its own syntax table, kept in the variable | 998 | The new mode has its own syntax table, kept in the variable |
| 823 | @code{@var{variant}-syntax-table}. | 999 | @code{@var{variant}-syntax-table}, unless you override this using the |
| 824 | @code{define-derived-mode} initializes this variable by copying | 1000 | @code{:syntax-table} keyword (see below). @code{define-derived-mode} |
| 825 | @code{@var{parent}-syntax-table}, if it is not already set. | 1001 | makes the parent mode's syntax-table the parent of |
| 1002 | @code{@var{variant}-syntax-table}, unless the latter is already set | ||
| 1003 | and already has a parent different from the standard syntax table. | ||
| 826 | 1004 | ||
| 827 | @item | 1005 | @item |
| 828 | The new mode has its own abbrev table, kept in the variable | 1006 | The new mode has its own abbrev table, kept in the variable |
| 829 | @code{@var{variant}-abbrev-table}. | 1007 | @code{@var{variant}-abbrev-table}, unless you override this using the |
| 830 | @code{define-derived-mode} initializes this variable by copying | 1008 | @code{:abbrev-table} keyword (see below). |
| 831 | @code{@var{parent}-abbrev-table}, if it is not already set. | ||
| 832 | 1009 | ||
| 833 | @item | 1010 | @item |
| 834 | The new mode has its own mode hook, @code{@var{variant}-hook}, | 1011 | The new mode has its own mode hook, @code{@var{variant}-hook}. It |
| 835 | which it runs in standard fashion as the very last thing that it does. | 1012 | runs this hook, after running the hooks of its ancestor modes, with |
| 836 | (The new mode also runs the mode hook of @var{parent} as part | 1013 | @code{run-mode-hooks}, as the last thing it does. @xref{Mode Hooks}. |
| 837 | of calling @var{parent}.) | ||
| 838 | @end itemize | 1014 | @end itemize |
| 839 | 1015 | ||
| 840 | In addition, you can specify how to override other aspects of | 1016 | In addition, you can specify how to override other aspects of |
| 841 | @var{parent} with @var{body}. The command @var{variant} | 1017 | @var{parent} with @var{body}. The command @var{variant} |
| 842 | evaluates the forms in @var{body} after setting up all its usual | 1018 | evaluates the forms in @var{body} after setting up all its usual |
| 843 | overrides, just before running @code{@var{variant}-hook}. | 1019 | overrides, just before running the mode hooks. |
| 1020 | |||
| 1021 | You can also specify @code{nil} for @var{parent}. This gives the new | ||
| 1022 | mode no parent. Then @code{define-derived-mode} behaves as described | ||
| 1023 | above, but, of course, omits all actions connected with @var{parent}. | ||
| 844 | 1024 | ||
| 845 | The argument @var{docstring} specifies the documentation string for the | 1025 | The argument @var{docstring} specifies the documentation string for |
| 846 | new mode. If you omit @var{docstring}, @code{define-derived-mode} | 1026 | the new mode. @code{define-derived-mode} adds some general |
| 847 | generates a documentation string. | 1027 | information about the mode's hook, followed by the mode's keymap, at |
| 1028 | the end of this docstring. If you omit @var{docstring}, | ||
| 1029 | @code{define-derived-mode} generates a documentation string. | ||
| 1030 | |||
| 1031 | The @var{keyword-args} are pairs of keywords and values. The values | ||
| 1032 | are evaluated. The following keywords are currently supported: | ||
| 1033 | |||
| 1034 | @table @code | ||
| 1035 | @item :group | ||
| 1036 | If this is specified, it is the customization group for this mode. | ||
| 1037 | |||
| 1038 | @item :syntax-table | ||
| 1039 | You can use this to explicitly specify a syntax table for the new | ||
| 1040 | mode. If you specify a @code{nil} value, the new mode uses the same | ||
| 1041 | syntax table as @var{parent}, or the standard syntax table if | ||
| 1042 | @var{parent} is @code{nil}. (Note that this does @emph{not} follow | ||
| 1043 | the convention used for non-keyword arguments that a @code{nil} value | ||
| 1044 | is equivalent with not specifying the argument.) | ||
| 1045 | |||
| 1046 | @item :abbrev-table | ||
| 1047 | You can use this to explicitly specify an abbrev table for the new | ||
| 1048 | mode. If you specify a @code{nil} value, the new mode uses the same | ||
| 1049 | abbrev table as @var{parent}, or @code{fundamental-mode-abbrev-table} | ||
| 1050 | if @var{parent} is @code{nil}. (Again, a @code{nil} value is | ||
| 1051 | @emph{not} equivalent to not specifying this keyword.) | ||
| 1052 | @end table | ||
| 848 | 1053 | ||
| 849 | Here is a hypothetical example: | 1054 | Here is a hypothetical example: |
| 850 | 1055 | ||
| @@ -873,7 +1078,7 @@ configuration files. To define a generic mode, use the macro | |||
| 873 | @code{define-generic-mode}. See the file @file{generic-x.el} for some | 1078 | @code{define-generic-mode}. See the file @file{generic-x.el} for some |
| 874 | examples of the use of @code{define-generic-mode}. | 1079 | examples of the use of @code{define-generic-mode}. |
| 875 | 1080 | ||
| 876 | @defmac define-generic-mode mode comment-list keyword-list font-lock-list auto-mode-list function-list &optional docstring &rest custom-keyword-args | 1081 | @defmac define-generic-mode mode comment-list keyword-list font-lock-list auto-mode-list function-list &optional docstring |
| 877 | This macro creates a new generic mode. The argument @var{mode} (an | 1082 | This macro creates a new generic mode. The argument @var{mode} (an |
| 878 | unquoted symbol) is the major mode command. The optional argument | 1083 | unquoted symbol) is the major mode command. The optional argument |
| 879 | @var{docstring} is the documentation for the mode command. If you do | 1084 | @var{docstring} is the documentation for the mode command. If you do |
| @@ -902,16 +1107,7 @@ when Emacs runs the macro expansion. | |||
| 902 | 1107 | ||
| 903 | @var{function-list} is a list of functions to call to do some | 1108 | @var{function-list} is a list of functions to call to do some |
| 904 | additional setup. The mode command calls these functions just before | 1109 | additional setup. The mode command calls these functions just before |
| 905 | it runs the mode hook. | 1110 | it runs the mode hook variable @code{@var{mode}-hook}. |
| 906 | |||
| 907 | The optional @var{custom-keyword-args} are pairs of keywords and | ||
| 908 | values to include in the generated @code{defcustom} form for the mode | ||
| 909 | hook variable @code{@var{mode}-hook}. The default value for the | ||
| 910 | @samp{:group} keyword is @var{mode} with the final @samp{-mode} (if | ||
| 911 | any) removed. Don't use this default group name unless you have | ||
| 912 | written a @code{defgroup} to define that group properly (@pxref{Group | ||
| 913 | Definitions}). You can specify keyword arguments without specifying a | ||
| 914 | docstring. | ||
| 915 | @end defmac | 1111 | @end defmac |
| 916 | 1112 | ||
| 917 | @node Mode Hooks | 1113 | @node Mode Hooks |
| @@ -1065,8 +1261,9 @@ enable or disable the minor mode based on the raw prefix argument value. | |||
| 1065 | 1261 | ||
| 1066 | @item | 1262 | @item |
| 1067 | Add an element to @code{minor-mode-alist} for each minor mode | 1263 | Add an element to @code{minor-mode-alist} for each minor mode |
| 1068 | (@pxref{Mode Line Variables}), if you want to indicate the minor mode in | 1264 | (@pxref{Definition of minor-mode-alist}), if you want to indicate the |
| 1069 | the mode line. This element should be a list of the following form: | 1265 | minor mode in the mode line. This element should be a list of the |
| 1266 | following form: | ||
| 1070 | 1267 | ||
| 1071 | @smallexample | 1268 | @smallexample |
| 1072 | (@var{mode-variable} @var{string}) | 1269 | (@var{mode-variable} @var{string}) |
| @@ -1108,7 +1305,7 @@ should also specify a @code{:set} method which enables the mode by | |||
| 1108 | invoking the mode command. Note in the variable's documentation string that | 1305 | invoking the mode command. Note in the variable's documentation string that |
| 1109 | setting the variable other than via Custom may not take effect. | 1306 | setting the variable other than via Custom may not take effect. |
| 1110 | 1307 | ||
| 1111 | Also mark the definition with an autoload cookie (@pxref{Autoload}), | 1308 | Also mark the definition with an autoload cookie (@pxref{autoload cookie}), |
| 1112 | and specify a @code{:require} so that customizing the variable will load | 1309 | and specify a @code{:require} so that customizing the variable will load |
| 1113 | the library that defines the mode. This will copy suitable definitions | 1310 | the library that defines the mode. This will copy suitable definitions |
| 1114 | into @file{loaddefs.el} so that users can use @code{customize-option} to | 1311 | into @file{loaddefs.el} so that users can use @code{customize-option} to |
| @@ -1137,7 +1334,7 @@ use either \\[customize] or the function `msb-mode'." | |||
| 1137 | 1334 | ||
| 1138 | Each minor mode can have its own keymap, which is active when the mode | 1335 | Each minor mode can have its own keymap, which is active when the mode |
| 1139 | is enabled. To set up a keymap for a minor mode, add an element to the | 1336 | is enabled. To set up a keymap for a minor mode, add an element to the |
| 1140 | alist @code{minor-mode-map-alist}. @xref{Active Keymaps}. | 1337 | alist @code{minor-mode-map-alist}. @xref{Definition of minor-mode-map-alist}. |
| 1141 | 1338 | ||
| 1142 | @cindex @code{self-insert-command}, minor modes | 1339 | @cindex @code{self-insert-command}, minor modes |
| 1143 | One use of minor mode keymaps is to modify the behavior of certain | 1340 | One use of minor mode keymaps is to modify the behavior of certain |
| @@ -1194,8 +1391,9 @@ written a @code{defgroup} to define that group properly. @xref{Group | |||
| 1194 | Definitions}. | 1391 | Definitions}. |
| 1195 | 1392 | ||
| 1196 | @item :global @var{global} | 1393 | @item :global @var{global} |
| 1197 | If non-@code{nil} specifies that the minor mode should be global. | 1394 | If non-@code{nil} specifies that the minor mode should be global. By |
| 1198 | By default, minor modes are buffer-local. | 1395 | default, minor modes defined with @code{define-minor-mode} are |
| 1396 | buffer-local. | ||
| 1199 | 1397 | ||
| 1200 | @item :init-value @var{init-value} | 1398 | @item :init-value @var{init-value} |
| 1201 | This is equivalent to specifying @var{init-value} positionally. | 1399 | This is equivalent to specifying @var{init-value} positionally. |
| @@ -1210,9 +1408,10 @@ This is equivalent to specifying @var{keymap} positionally. | |||
| 1210 | Any other keyword arguments are passed passed directly to the | 1408 | Any other keyword arguments are passed passed directly to the |
| 1211 | @code{defcustom} generated for the variable @var{mode}. | 1409 | @code{defcustom} generated for the variable @var{mode}. |
| 1212 | 1410 | ||
| 1213 | The command named @var{mode} finishes by executing the @var{body} forms, | 1411 | The command named @var{mode} first performs the standard actions such |
| 1214 | if any, after it has performed the standard actions such as setting | 1412 | as setting the variable named @var{mode} and then executes the |
| 1215 | the variable named @var{mode}. | 1413 | @var{body} forms, if any. It finishes by running the mode hook |
| 1414 | variable @code{@var{mode}-hook}. | ||
| 1216 | @end defmac | 1415 | @end defmac |
| 1217 | 1416 | ||
| 1218 | @findex easy-mmode-define-minor-mode | 1417 | @findex easy-mmode-define-minor-mode |
| @@ -1276,6 +1475,17 @@ See the command \\[hungry-electric-delete]." | |||
| 1276 | :group 'hunger) | 1475 | :group 'hunger) |
| 1277 | @end smallexample | 1476 | @end smallexample |
| 1278 | 1477 | ||
| 1478 | @defmac define-global-minor-mode global-mode mode turn-on keyword-args... | ||
| 1479 | This defines a global minor mode named @var{global-mode} whose meaning | ||
| 1480 | is to enable the buffer-local minor mode @var{mode} in every buffer. | ||
| 1481 | To turn on the minor mode in a buffer, it uses the function | ||
| 1482 | @var{turn-on}; to turn off the minor mode, it calls @code{mode} with | ||
| 1483 | @minus{}1 as argument. | ||
| 1484 | |||
| 1485 | Use @code{:group @var{group}} in @var{keyword-args} to specify the | ||
| 1486 | custom group for the mode variable of the global minor mode. | ||
| 1487 | @end defmac | ||
| 1488 | |||
| 1279 | @node Mode Line Format | 1489 | @node Mode Line Format |
| 1280 | @section Mode-Line Format | 1490 | @section Mode-Line Format |
| 1281 | @cindex mode line | 1491 | @cindex mode line |
| @@ -1293,6 +1503,19 @@ and header line. We include it in this chapter because much of the | |||
| 1293 | information displayed in the mode line relates to the enabled major and | 1503 | information displayed in the mode line relates to the enabled major and |
| 1294 | minor modes. | 1504 | minor modes. |
| 1295 | 1505 | ||
| 1506 | @menu | ||
| 1507 | * Mode Line Basics:: | ||
| 1508 | * Mode Line Data:: The data structure that controls the mode line. | ||
| 1509 | * Mode Line Variables:: Variables used in that data structure. | ||
| 1510 | * %-Constructs:: Putting information into a mode line. | ||
| 1511 | * Properties in Mode:: Using text properties in the mode line. | ||
| 1512 | * Header Lines:: Like a mode line, but at the top. | ||
| 1513 | * Emulating Mode Line:: Formatting text as the mode line would. | ||
| 1514 | @end menu | ||
| 1515 | |||
| 1516 | @node Mode Line Basics | ||
| 1517 | @subsection Mode Line Basics | ||
| 1518 | |||
| 1296 | @code{mode-line-format} is a buffer-local variable that holds a | 1519 | @code{mode-line-format} is a buffer-local variable that holds a |
| 1297 | template used to display the mode line of the current buffer. All | 1520 | template used to display the mode line of the current buffer. All |
| 1298 | windows for the same buffer use the same @code{mode-line-format}, so | 1521 | windows for the same buffer use the same @code{mode-line-format}, so |
| @@ -1334,15 +1557,6 @@ that is two lines tall cannot display both a mode line and a header | |||
| 1334 | line at once; if the variables call for both, only the mode line | 1557 | line at once; if the variables call for both, only the mode line |
| 1335 | actually appears. | 1558 | actually appears. |
| 1336 | 1559 | ||
| 1337 | @menu | ||
| 1338 | * Mode Line Data:: The data structure that controls the mode line. | ||
| 1339 | * Mode Line Variables:: Variables used in that data structure. | ||
| 1340 | * %-Constructs:: Putting information into a mode line. | ||
| 1341 | * Properties in Mode:: Using text properties in the mode line. | ||
| 1342 | * Header Lines:: Like a mode line, but at the top. | ||
| 1343 | * Emulating Mode Line:: Formatting text as the mode line would. | ||
| 1344 | @end menu | ||
| 1345 | |||
| 1346 | @node Mode Line Data | 1560 | @node Mode Line Data |
| 1347 | @subsection The Data Structure of the Mode Line | 1561 | @subsection The Data Structure of the Mode Line |
| 1348 | @cindex mode-line construct | 1562 | @cindex mode-line construct |
| @@ -1414,7 +1628,9 @@ common form of mode-line construct. | |||
| 1414 | 1628 | ||
| 1415 | @item (:eval @var{form}) | 1629 | @item (:eval @var{form}) |
| 1416 | A list whose first element is the symbol @code{:eval} says to evaluate | 1630 | A list whose first element is the symbol @code{:eval} says to evaluate |
| 1417 | @var{form}, and use the result as a string to display. | 1631 | @var{form}, and use the result as a string to display. Make sure this |
| 1632 | evaluation cannot load any files, as doing so could cause infinite | ||
| 1633 | recursion. | ||
| 1418 | 1634 | ||
| 1419 | @item (:propertize @var{elt} @var{props}@dots{}) | 1635 | @item (:propertize @var{elt} @var{props}@dots{}) |
| 1420 | A list whose first element is the symbol @code{:propertize} says to | 1636 | A list whose first element is the symbol @code{:propertize} says to |
| @@ -1436,9 +1652,10 @@ the value of @var{symbol} is @code{nil}. | |||
| 1436 | A list whose first element is an integer specifies truncation or | 1652 | A list whose first element is an integer specifies truncation or |
| 1437 | padding of the results of @var{rest}. The remaining elements | 1653 | padding of the results of @var{rest}. The remaining elements |
| 1438 | @var{rest} are processed recursively as mode-line constructs and | 1654 | @var{rest} are processed recursively as mode-line constructs and |
| 1439 | concatenated together. Then the result is space filled (if | 1655 | concatenated together. When @var{width} is positive, the result is |
| 1440 | @var{width} is positive) or truncated (to @minus{}@var{width} columns, | 1656 | space filled on the right if its width is less than @var{width}. When |
| 1441 | if @var{width} is negative) on the right. | 1657 | @var{width} is negative, the result is truncated on the right to |
| 1658 | @minus{}@var{width} columns if its width exceeds @minus{}@var{width}. | ||
| 1442 | 1659 | ||
| 1443 | For example, the usual way to show what percentage of a buffer is above | 1660 | For example, the usual way to show what percentage of a buffer is above |
| 1444 | the top of the window is to use a list like this: @code{(-3 "%p")}. | 1661 | the top of the window is to use a list like this: @code{(-3 "%p")}. |
| @@ -1604,6 +1821,7 @@ is @code{nil}. | |||
| 1604 | @end defvar | 1821 | @end defvar |
| 1605 | 1822 | ||
| 1606 | @defvar minor-mode-alist | 1823 | @defvar minor-mode-alist |
| 1824 | @anchor{Definition of minor-mode-alist} | ||
| 1607 | This variable holds an association list whose elements specify how the | 1825 | This variable holds an association list whose elements specify how the |
| 1608 | mode line should indicate that a minor mode is active. Each element of | 1826 | mode line should indicate that a minor mode is active. Each element of |
| 1609 | the @code{minor-mode-alist} should be a two-element list: | 1827 | the @code{minor-mode-alist} should be a two-element list: |
| @@ -1675,7 +1893,8 @@ specifies addition of text properties. | |||
| 1675 | 1893 | ||
| 1676 | The following table lists the recognized @code{%}-constructs and what | 1894 | The following table lists the recognized @code{%}-constructs and what |
| 1677 | they mean. In any construct except @samp{%%}, you can add a decimal | 1895 | they mean. In any construct except @samp{%%}, you can add a decimal |
| 1678 | integer after the @samp{%} to specify how many characters to display. | 1896 | integer after the @samp{%} to specify a minimum field width. If the |
| 1897 | width is less, the field is padded with spaces to the right. | ||
| 1679 | 1898 | ||
| 1680 | @table @code | 1899 | @table @code |
| 1681 | @item %b | 1900 | @item %b |
| @@ -1780,7 +1999,7 @@ The value of @code{global-mode-string}. Currently, only | |||
| 1780 | 1999 | ||
| 1781 | Certain text properties are meaningful in the | 2000 | Certain text properties are meaningful in the |
| 1782 | mode line. The @code{face} property affects the appearance of text; the | 2001 | mode line. The @code{face} property affects the appearance of text; the |
| 1783 | @code{help-echo} property associate help strings with the text, and | 2002 | @code{help-echo} property associates help strings with the text, and |
| 1784 | @code{local-map} can make the text mouse-sensitive. | 2003 | @code{local-map} can make the text mouse-sensitive. |
| 1785 | 2004 | ||
| 1786 | There are four ways to specify text properties for text in the mode | 2005 | There are four ways to specify text properties for text in the mode |
| @@ -1848,7 +2067,7 @@ It is normally @code{nil}, so that ordinary buffers have no header line. | |||
| 1848 | 2067 | ||
| 1849 | You can use the function @code{format-mode-line} to compute | 2068 | You can use the function @code{format-mode-line} to compute |
| 1850 | the text that would appear in a mode line or header line | 2069 | the text that would appear in a mode line or header line |
| 1851 | based on certain mode-line specification. | 2070 | based on a certain mode-line specification. |
| 1852 | 2071 | ||
| 1853 | @defun format-mode-line format &optional face window buffer | 2072 | @defun format-mode-line format &optional face window buffer |
| 1854 | This function formats a line of text according to @var{format} as if | 2073 | This function formats a line of text according to @var{format} as if |
| @@ -1864,7 +2083,8 @@ faces, keymaps, etc., that the mode line would have. And any character | |||
| 1864 | for which no @code{face} property is specified gets a default | 2083 | for which no @code{face} property is specified gets a default |
| 1865 | value which is usually @var{face}. (If @var{face} is @code{t}, | 2084 | value which is usually @var{face}. (If @var{face} is @code{t}, |
| 1866 | that stands for either @code{mode-line} if @var{window} is selected, | 2085 | that stands for either @code{mode-line} if @var{window} is selected, |
| 1867 | otherwise @code{mode-line-inactive}.) | 2086 | otherwise @code{mode-line-inactive}. If @var{face} is @code{nil} or |
| 2087 | omitted, that stands for no face property.) | ||
| 1868 | 2088 | ||
| 1869 | However, if @var{face} is an integer, the value has no text properties. | 2089 | However, if @var{face} is an integer, the value has no text properties. |
| 1870 | 2090 | ||
| @@ -2811,147 +3031,8 @@ argument list | |||
| 2811 | and it should return the restored buffer. | 3031 | and it should return the restored buffer. |
| 2812 | Here @var{desktop-buffer-misc} is the value returned by the function | 3032 | Here @var{desktop-buffer-misc} is the value returned by the function |
| 2813 | optionally bound to @code{desktop-save-buffer}. | 3033 | optionally bound to @code{desktop-save-buffer}. |
| 2814 | |||
| 2815 | @end defvar | 3034 | @end defvar |
| 2816 | 3035 | ||
| 2817 | @node Hooks | ||
| 2818 | @section Hooks | ||
| 2819 | @cindex hooks | ||
| 2820 | |||
| 2821 | A @dfn{hook} is a variable where you can store a function or functions | ||
| 2822 | to be called on a particular occasion by an existing program. Emacs | ||
| 2823 | provides hooks for the sake of customization. Most often, hooks are set | ||
| 2824 | up in the init file (@pxref{Init File}), but Lisp programs can set them also. | ||
| 2825 | @xref{Standard Hooks}, for a list of standard hook variables. | ||
| 2826 | |||
| 2827 | @cindex normal hook | ||
| 2828 | Most of the hooks in Emacs are @dfn{normal hooks}. These variables | ||
| 2829 | contain lists of functions to be called with no arguments. When the | ||
| 2830 | hook name ends in @samp{-hook}, that tells you it is normal. We try to | ||
| 2831 | make all hooks normal, as much as possible, so that you can use them in | ||
| 2832 | a uniform way. | ||
| 2833 | |||
| 2834 | Every major mode function is supposed to run a normal hook called the | ||
| 2835 | @dfn{mode hook} as the last step of initialization. This makes it easy | ||
| 2836 | for a user to customize the behavior of the mode, by overriding the | ||
| 2837 | buffer-local variable assignments already made by the mode. But hooks | ||
| 2838 | are used in other contexts too. For example, the hook | ||
| 2839 | @code{suspend-hook} runs just before Emacs suspends itself | ||
| 2840 | (@pxref{Suspending Emacs}). | ||
| 2841 | |||
| 2842 | The recommended way to add a hook function to a normal hook is by | ||
| 2843 | calling @code{add-hook} (see below). The hook functions may be any of | ||
| 2844 | the valid kinds of functions that @code{funcall} accepts (@pxref{What | ||
| 2845 | Is a Function}). Most normal hook variables are initially void; | ||
| 2846 | @code{add-hook} knows how to deal with this. You can add hooks either | ||
| 2847 | globally or buffer-locally with @code{add-hook}. | ||
| 2848 | |||
| 2849 | @cindex abnormal hook | ||
| 2850 | If the hook variable's name does not end with @samp{-hook}, that | ||
| 2851 | indicates it is probably an @dfn{abnormal hook}. Then you should look at its | ||
| 2852 | documentation to see how to use the hook properly. | ||
| 2853 | |||
| 2854 | If the variable's name ends in @samp{-functions} or @samp{-hooks}, | ||
| 2855 | then the value is a list of functions, but it is abnormal in that either | ||
| 2856 | these functions are called with arguments or their values are used in | ||
| 2857 | some way. You can use @code{add-hook} to add a function to the list, | ||
| 2858 | but you must take care in writing the function. (A few of these | ||
| 2859 | variables, notably those ending in @samp{-hooks}, are actually | ||
| 2860 | normal hooks which were named before we established the convention of | ||
| 2861 | using @samp{-hook} for them.) | ||
| 2862 | |||
| 2863 | If the variable's name ends in @samp{-function}, then its value | ||
| 2864 | is just a single function, not a list of functions. | ||
| 2865 | |||
| 2866 | Here's an example that uses a mode hook to turn on Auto Fill mode when | ||
| 2867 | in Lisp Interaction mode: | ||
| 2868 | |||
| 2869 | @example | ||
| 2870 | (add-hook 'lisp-interaction-mode-hook 'turn-on-auto-fill) | ||
| 2871 | @end example | ||
| 2872 | |||
| 2873 | At the appropriate time, Emacs uses the @code{run-hooks} function to | ||
| 2874 | run particular hooks. This function calls the hook functions that have | ||
| 2875 | been added with @code{add-hook}. | ||
| 2876 | |||
| 2877 | @defun run-hooks &rest hookvars | ||
| 2878 | This function takes one or more normal hook variable names as | ||
| 2879 | arguments, and runs each hook in turn. Each argument should be a | ||
| 2880 | symbol that is a normal hook variable. These arguments are processed | ||
| 2881 | in the order specified. | ||
| 2882 | |||
| 2883 | If a hook variable has a non-@code{nil} value, that value may be a | ||
| 2884 | function or a list of functions. (The former option is considered | ||
| 2885 | obsolete.) If the value is a function (either a lambda expression or | ||
| 2886 | a symbol with a function definition), it is called. If it is a list | ||
| 2887 | that isn't a function, its elements are called, consecutively. All | ||
| 2888 | the hook functions are called with no arguments. | ||
| 2889 | @end defun | ||
| 2890 | |||
| 2891 | @defun run-hook-with-args hook &rest args | ||
| 2892 | This function is the way to run an abnormal hook and always call all | ||
| 2893 | of the hook functions. It calls each of the hook functions one by | ||
| 2894 | one, passing each of them the arguments @var{args}. | ||
| 2895 | @end defun | ||
| 2896 | |||
| 2897 | @defun run-hook-with-args-until-failure hook &rest args | ||
| 2898 | This function is the way to run an abnormal hook until one of the hook | ||
| 2899 | functions fails. It calls each of the hook functions, passing each of | ||
| 2900 | them the arguments @var{args}, until some hook function returns | ||
| 2901 | @code{nil}. It then stops and returns @code{nil}. If none of the | ||
| 2902 | hook functions return @code{nil}, it returns a non-@code{nil} value. | ||
| 2903 | @end defun | ||
| 2904 | |||
| 2905 | @defun run-hook-with-args-until-success hook &rest args | ||
| 2906 | This function is the way to run an abnormal hook until a hook function | ||
| 2907 | succeeds. It calls each of the hook functions, passing each of them | ||
| 2908 | the arguments @var{args}, until some hook function returns | ||
| 2909 | non-@code{nil}. Then it stops, and returns whatever was returned by | ||
| 2910 | the last hook function that was called. If all hook functions return | ||
| 2911 | @code{nil}, it returns @code{nil} as well. | ||
| 2912 | @end defun | ||
| 2913 | |||
| 2914 | @defun add-hook hook function &optional append local | ||
| 2915 | This function is the handy way to add function @var{function} to hook | ||
| 2916 | variable @var{hook}. You can use it for abnormal hooks as well as for | ||
| 2917 | normal hooks. @var{function} can be any Lisp function that can accept | ||
| 2918 | the proper number of arguments for @var{hook}. For example, | ||
| 2919 | |||
| 2920 | @example | ||
| 2921 | (add-hook 'text-mode-hook 'my-text-hook-function) | ||
| 2922 | @end example | ||
| 2923 | |||
| 2924 | @noindent | ||
| 2925 | adds @code{my-text-hook-function} to the hook called @code{text-mode-hook}. | ||
| 2926 | |||
| 2927 | If @var{function} is already present in @var{hook} (comparing using | ||
| 2928 | @code{equal}), then @code{add-hook} does not add it a second time. | ||
| 2929 | |||
| 2930 | It is best to design your hook functions so that the order in which they | ||
| 2931 | are executed does not matter. Any dependence on the order is ``asking | ||
| 2932 | for trouble''. However, the order is predictable: normally, | ||
| 2933 | @var{function} goes at the front of the hook list, so it will be | ||
| 2934 | executed first (barring another @code{add-hook} call). If the optional | ||
| 2935 | argument @var{append} is non-@code{nil}, the new hook function goes at | ||
| 2936 | the end of the hook list and will be executed last. | ||
| 2937 | |||
| 2938 | If @var{local} is non-@code{nil}, that says to add @var{function} to | ||
| 2939 | the buffer-local hook list instead of to the global hook list. If | ||
| 2940 | needed, this makes the hook buffer-local and adds @code{t} to the | ||
| 2941 | buffer-local value. The latter acts as a flag to run the hook | ||
| 2942 | functions in the default value as well as in the local value. | ||
| 2943 | @end defun | ||
| 2944 | |||
| 2945 | @defun remove-hook hook function &optional local | ||
| 2946 | This function removes @var{function} from the hook variable | ||
| 2947 | @var{hook}. It compares @var{function} with elements of @var{hook} | ||
| 2948 | using @code{equal}, so it works for both symbols and lambda | ||
| 2949 | expressions. | ||
| 2950 | |||
| 2951 | If @var{local} is non-@code{nil}, that says to remove @var{function} | ||
| 2952 | from the buffer-local hook list instead of from the global hook list. | ||
| 2953 | @end defun | ||
| 2954 | |||
| 2955 | @ignore | 3036 | @ignore |
| 2956 | arch-tag: 4c7bff41-36e6-4da6-9e7f-9b9289e27c8e | 3037 | arch-tag: 4c7bff41-36e6-4da6-9e7f-9b9289e27c8e |
| 2957 | @end ignore | 3038 | @end ignore |
diff --git a/lispref/processes.texi b/lispref/processes.texi index 6ffacebce8a..07a72886355 100644 --- a/lispref/processes.texi +++ b/lispref/processes.texi | |||
| @@ -1559,9 +1559,7 @@ back to listening for more connection requests. | |||
| 1559 | keyword/argument pairs, for example @code{:server t} to create a | 1559 | keyword/argument pairs, for example @code{:server t} to create a |
| 1560 | server process, or @code{:type 'datagram} to create a datagram | 1560 | server process, or @code{:type 'datagram} to create a datagram |
| 1561 | connection. @xref{Low-Level Network}, for details. You can also use | 1561 | connection. @xref{Low-Level Network}, for details. You can also use |
| 1562 | one of the @code{open-network-...} functions descibed below; | 1562 | the @code{open-network-stream} function descibed below. |
| 1563 | internally, they just call @code{make-network-process} with suitable | ||
| 1564 | arguments. | ||
| 1565 | 1563 | ||
| 1566 | You can distinguish process objects representing network connections | 1564 | You can distinguish process objects representing network connections |
| 1567 | and servers from those representing subprocesses with the | 1565 | and servers from those representing subprocesses with the |
| @@ -1601,25 +1599,6 @@ The arguments @var{host} and @var{service} specify where to connect to; | |||
| 1601 | a defined network service (a string) or a port number (an integer). | 1599 | a defined network service (a string) or a port number (an integer). |
| 1602 | @end defun | 1600 | @end defun |
| 1603 | 1601 | ||
| 1604 | @defun open-network-stream-nowait name buffer-or-name host service &optional sentinel filter | ||
| 1605 | This function opens a TCP connection, like @code{open-network-stream}, | ||
| 1606 | but it returns immediately without waiting for the request to be | ||
| 1607 | accepted or rejected by the remote server. When the request is | ||
| 1608 | subsequently accepted or rejected, the process's sentinel function | ||
| 1609 | will be called with a string that starts with @code{"open"} (on | ||
| 1610 | success) or @code{"failed"} (on error). | ||
| 1611 | |||
| 1612 | Some systems do not support non-blocking connections; on those | ||
| 1613 | systems, @code{open-network-stream-nowait} returns @code{nil} | ||
| 1614 | and does nothing. | ||
| 1615 | |||
| 1616 | The optional arguments @var{sentinel} and @var{filter} specify the | ||
| 1617 | sentinel and filter functions for this network connection. It is | ||
| 1618 | useful to specify them when opening the connection, because they will | ||
| 1619 | be used later asynchronously. The other arguments mean the same as in | ||
| 1620 | @code{open-network-stream}. | ||
| 1621 | @end defun | ||
| 1622 | |||
| 1623 | @defun process-contact process &optional key | 1602 | @defun process-contact process &optional key |
| 1624 | This function returns information about how a network process was set | 1603 | This function returns information about how a network process was set |
| 1625 | up. For a connection, when @var{key} is @code{nil}, it returns | 1604 | up. For a connection, when @var{key} is @code{nil}, it returns |
| @@ -1704,24 +1683,6 @@ number used for the connection. | |||
| 1704 | The client process' plist is initialized from the server's plist. | 1683 | The client process' plist is initialized from the server's plist. |
| 1705 | @end itemize | 1684 | @end itemize |
| 1706 | 1685 | ||
| 1707 | @defun open-network-stream-server name buffer-or-name service &optional sentinel filter | ||
| 1708 | Create a network server process for a TCP service. | ||
| 1709 | It returns @code{nil} if server processes are not supported; otherwise, | ||
| 1710 | it returns a subprocess-object to represent the server. | ||
| 1711 | |||
| 1712 | When a client connects to the specified service, Emacs creates a new | ||
| 1713 | subprocess to handle the new connection, and then calls its sentinel | ||
| 1714 | function (which it has inherited from the server). | ||
| 1715 | |||
| 1716 | The optional arguments @var{sentinel} and @var{filter} specify the | ||
| 1717 | sentinel and filter functions for the server. It is useful to specify | ||
| 1718 | them now, because they will be used later asynchronously when the | ||
| 1719 | server receives a connection request. The three arguments @var{name}, | ||
| 1720 | @var{buffer-or-name} and @var{service} mean the same thing as in | ||
| 1721 | @code{open-network-stream}, but @var{service} can be @code{t} | ||
| 1722 | meaning ask the system to allocate an unused port to listen on. | ||
| 1723 | @end defun | ||
| 1724 | |||
| 1725 | @node Datagrams | 1686 | @node Datagrams |
| 1726 | @section Datagrams | 1687 | @section Datagrams |
| 1727 | @cindex datagrams | 1688 | @cindex datagrams |
diff --git a/lispref/tips.texi b/lispref/tips.texi index 538affd7450..8ec755f54b1 100644 --- a/lispref/tips.texi +++ b/lispref/tips.texi | |||
| @@ -37,6 +37,16 @@ code intended for widespread use: | |||
| 37 | 37 | ||
| 38 | @itemize @bullet | 38 | @itemize @bullet |
| 39 | @item | 39 | @item |
| 40 | Simply loading the package should not change Emacs's editing behavior. | ||
| 41 | Include a command or commands to enable and disable the feature, | ||
| 42 | or to invoke it. | ||
| 43 | |||
| 44 | This convention is mandatory for any file that includes custom | ||
| 45 | definitions. If fixing such a file to follow this convention requires | ||
| 46 | an incompatible change, go ahead and make the incompatible change; | ||
| 47 | don't postpone it. | ||
| 48 | |||
| 49 | @item | ||
| 40 | Since all global variables share the same name space, and all | 50 | Since all global variables share the same name space, and all |
| 41 | functions share another name space, you should choose a short word to | 51 | functions share another name space, you should choose a short word to |
| 42 | distinguish your program from other Lisp programs.@footnote{The | 52 | distinguish your program from other Lisp programs.@footnote{The |
| @@ -201,17 +211,6 @@ way. | |||
| 201 | In addition, they should mark the text as a kind of ``link'' so that | 211 | In addition, they should mark the text as a kind of ``link'' so that |
| 202 | @kbd{mouse-1} will follow it also. @xref{Links and Mouse-1}. | 212 | @kbd{mouse-1} will follow it also. @xref{Links and Mouse-1}. |
| 203 | 213 | ||
| 204 | @item | ||
| 205 | When a package provides a modification of ordinary Emacs behavior, it is | ||
| 206 | good to include a command to enable and disable the feature, provide a | ||
| 207 | command named @code{@var{whatever}-mode} which turns the feature on or | ||
| 208 | off, and make it autoload (@pxref{Autoload}). Design the package so | ||
| 209 | that simply loading it has no visible effect---that should not enable | ||
| 210 | the feature.@footnote{Consider that the package may be loaded | ||
| 211 | arbitrarily by Custom for instance.} Users will request the feature by | ||
| 212 | invoking the command. It is a good idea to define this command | ||
| 213 | as a minor mode. | ||
| 214 | |||
| 215 | @cindex unloading packages | 214 | @cindex unloading packages |
| 216 | If loading the file adds functions to hooks, define a function | 215 | If loading the file adds functions to hooks, define a function |
| 217 | @code{@var{feature}-unload-hook}, where @var{feature} is the name of | 216 | @code{@var{feature}-unload-hook}, where @var{feature} is the name of |
diff --git a/lispref/variables.texi b/lispref/variables.texi index 28eab924eca..27f0f4a7029 100644 --- a/lispref/variables.texi +++ b/lispref/variables.texi | |||
| @@ -42,8 +42,8 @@ variable. | |||
| 42 | * Buffer-Local Variables:: Variable values in effect only in one buffer. | 42 | * Buffer-Local Variables:: Variable values in effect only in one buffer. |
| 43 | * Frame-Local Variables:: Variable values in effect only in one frame. | 43 | * Frame-Local Variables:: Variable values in effect only in one frame. |
| 44 | * Future Local Variables:: New kinds of local values we might add some day. | 44 | * Future Local Variables:: New kinds of local values we might add some day. |
| 45 | * Variable Aliases:: Variables that are aliases for other variables. | ||
| 46 | * File Local Variables:: Handling local variable lists in files. | 45 | * File Local Variables:: Handling local variable lists in files. |
| 46 | * Variable Aliases:: Variables that are aliases for other variables. | ||
| 47 | * Variables with Restricted Values:: Non-constant variables whose value can | 47 | * Variables with Restricted Values:: Non-constant variables whose value can |
| 48 | @emph{not} be an arbitrary Lisp object. | 48 | @emph{not} be an arbitrary Lisp object. |
| 49 | @end menu | 49 | @end menu |
| @@ -1688,6 +1688,92 @@ bindings offer a way to handle these situations more robustly. | |||
| 1688 | If sufficient application is found for either of these two kinds of | 1688 | If sufficient application is found for either of these two kinds of |
| 1689 | local bindings, we will provide it in a subsequent Emacs version. | 1689 | local bindings, we will provide it in a subsequent Emacs version. |
| 1690 | 1690 | ||
| 1691 | @node File Local Variables | ||
| 1692 | @section File Local Variables | ||
| 1693 | |||
| 1694 | This section describes the functions and variables that affect | ||
| 1695 | processing of file local variables. @xref{File variables, , | ||
| 1696 | Local Variables in Files, emacs, The GNU Emacs Manual}, for basic | ||
| 1697 | information about file local variables. | ||
| 1698 | |||
| 1699 | @defopt enable-local-variables | ||
| 1700 | This variable controls whether to process file local variables. A | ||
| 1701 | value of @code{t} means process them unconditionally; @code{nil} means | ||
| 1702 | ignore them; anything else means ask the user what to do for each | ||
| 1703 | file. The default value is @code{t}. | ||
| 1704 | @end defopt | ||
| 1705 | |||
| 1706 | @defun hack-local-variables &optional mode-only | ||
| 1707 | This function parses, and binds or evaluates as appropriate, any local | ||
| 1708 | variables specified by the contents of the current buffer. The variable | ||
| 1709 | @code{enable-local-variables} has its effect here. However, this | ||
| 1710 | function does not look for the @samp{mode:} local variable in the | ||
| 1711 | @w{@samp{-*-}} line. @code{set-auto-mode} does that, also taking | ||
| 1712 | @code{enable-local-variables} into account (@pxref{Auto Major Mode}). | ||
| 1713 | |||
| 1714 | If the optional argument @var{mode-only} is non-@code{nil}, then all | ||
| 1715 | this function does is return @code{t} if the @w{@samp{-*-}} line or | ||
| 1716 | the local variables list specifies a mode and @code{nil} otherwise. | ||
| 1717 | It does not set the mode nor any other file local variable. | ||
| 1718 | @end defun | ||
| 1719 | |||
| 1720 | If a file local variable could specify a function that would | ||
| 1721 | be called later, or an expression that would be executed later, simply | ||
| 1722 | visiting a file could take over your Emacs. To prevent this, Emacs | ||
| 1723 | takes care not to allow to set such file local variables. | ||
| 1724 | |||
| 1725 | For one thing, any variable whose name ends in @samp{-command}, | ||
| 1726 | @samp{-frame-alist}, @samp{-function}, @samp{-functions}, | ||
| 1727 | @samp{-hook}, @samp{-hooks}, @samp{-form}, @samp{-forms}, @samp{-map}, | ||
| 1728 | @samp{-map-alist}, @samp{-mode-alist}, @samp{-program}, or | ||
| 1729 | @samp{-predicate} cannot be given a file local value. In general, | ||
| 1730 | you should use such a name whenever it is appropriate for the | ||
| 1731 | variable's meaning. The variables @samp{font-lock-keywords}, | ||
| 1732 | @samp{font-lock-keywords-[0-9]}, and | ||
| 1733 | @samp{font-lock-syntactic-keywords} cannot be given file local values either. | ||
| 1734 | These rules can be overridden by giving the variable's | ||
| 1735 | name a non-@code{nil} @code{safe-local-variable} property. If one | ||
| 1736 | gives it a @code{safe-local-variable} property of @code{t}, then one | ||
| 1737 | can give the variable any file local value. One can also give any | ||
| 1738 | symbol, including the above, a @code{safe-local-variable} property | ||
| 1739 | that is a function taking exactly one argument. In that case, giving | ||
| 1740 | a variable with that name a file local value is only allowed if the | ||
| 1741 | function returns non-@code{nil} when called with that value as | ||
| 1742 | argument. | ||
| 1743 | |||
| 1744 | In addition, any variable whose name has a non-@code{nil} | ||
| 1745 | @code{risky-local-variable} property is also ignored. So are all | ||
| 1746 | variables listed in @code{ignored-local-variables}: | ||
| 1747 | |||
| 1748 | @defvar ignored-local-variables | ||
| 1749 | This variable holds a list of variables that should not be given local | ||
| 1750 | values by files. Any value specified for one of these variables is | ||
| 1751 | ignored. | ||
| 1752 | @end defvar | ||
| 1753 | |||
| 1754 | @defun risky-local-variable-p sym &optional val | ||
| 1755 | If @var{val} is non-@code{nil}, returns non-@code{nil} if giving | ||
| 1756 | @var{sym} a file local value of @var{val} would be risky, for any of | ||
| 1757 | the reasons stated above. If @var{val} is @code{nil} or omitted, only | ||
| 1758 | returns @code{nil} if @var{sym} can be safely assigned any file local | ||
| 1759 | value whatsoever. | ||
| 1760 | @end defun | ||
| 1761 | |||
| 1762 | The @samp{Eval:} ``variable'' is also a potential loophole, so Emacs | ||
| 1763 | normally asks for confirmation before handling it. | ||
| 1764 | |||
| 1765 | @defopt enable-local-eval | ||
| 1766 | This variable controls processing of @samp{Eval:} in @samp{-*-} lines | ||
| 1767 | or local variables | ||
| 1768 | lists in files being visited. A value of @code{t} means process them | ||
| 1769 | unconditionally; @code{nil} means ignore them; anything else means ask | ||
| 1770 | the user what to do for each file. The default value is @code{maybe}. | ||
| 1771 | @end defopt | ||
| 1772 | |||
| 1773 | Text properties are also potential loopholes, since their values | ||
| 1774 | could include functions to call. So Emacs discards all text | ||
| 1775 | properties from string values specified for file local variables. | ||
| 1776 | |||
| 1691 | @node Variable Aliases | 1777 | @node Variable Aliases |
| 1692 | @section Variable Aliases | 1778 | @section Variable Aliases |
| 1693 | 1779 | ||
| @@ -1780,92 +1866,6 @@ foo | |||
| 1780 | @result{} 0 | 1866 | @result{} 0 |
| 1781 | @end example | 1867 | @end example |
| 1782 | 1868 | ||
| 1783 | @node File Local Variables | ||
| 1784 | @section File Local Variables | ||
| 1785 | |||
| 1786 | This section describes the functions and variables that affect | ||
| 1787 | processing of local variables lists in files. @xref{File variables, , | ||
| 1788 | Local Variables in Files, emacs, The GNU Emacs Manual}, for basic | ||
| 1789 | information about file local variables. | ||
| 1790 | |||
| 1791 | @defopt enable-local-variables | ||
| 1792 | This variable controls whether to process file local variables lists. A | ||
| 1793 | value of @code{t} means process the local variables lists | ||
| 1794 | unconditionally; @code{nil} means ignore them; anything else means ask | ||
| 1795 | the user what to do for each file. The default value is @code{t}. | ||
| 1796 | @end defopt | ||
| 1797 | |||
| 1798 | @defun hack-local-variables &optional mode-only | ||
| 1799 | This function parses, and binds or evaluates as appropriate, any local | ||
| 1800 | variables specified by the contents of the current buffer. The variable | ||
| 1801 | @code{enable-local-variables} has its effect here. However, this | ||
| 1802 | function does not look for the @samp{mode:} local variable in the | ||
| 1803 | @w{@samp{-*-}} line. @code{set-auto-mode} does that, also taking | ||
| 1804 | @code{enable-local-variables} into account. | ||
| 1805 | |||
| 1806 | If the optional argument @var{mode-only} is non-@code{nil}, then all | ||
| 1807 | this function does is return @code{t} if the @w{@samp{-*-}} line or | ||
| 1808 | the local variables list specifies a mode and @code{nil} otherwise. | ||
| 1809 | It does not set the mode nor any other file local variable. | ||
| 1810 | @end defun | ||
| 1811 | |||
| 1812 | If a file local variable list could specify a function that would | ||
| 1813 | be called later, or an expression that would be executed later, simply | ||
| 1814 | visiting a file could take over your Emacs. To prevent this, Emacs | ||
| 1815 | takes care not to allow local variable lists to set such variables. | ||
| 1816 | |||
| 1817 | For one thing, any variable whose name ends in @samp{-command}, | ||
| 1818 | @samp{-frame-alist}, @samp{-function}, @samp{-functions}, | ||
| 1819 | @samp{-hook}, @samp{-hooks}, @samp{-form}, @samp{-forms}, @samp{-map}, | ||
| 1820 | @samp{-map-alist}, @samp{-mode-alist}, @samp{-program}, or | ||
| 1821 | @samp{-predicate} cannot be set in a local variable list. In general, | ||
| 1822 | you should use such a name whenever it is appropriate for the | ||
| 1823 | variable's meaning. The variables @samp{font-lock-keywords}, | ||
| 1824 | @samp{font-lock-keywords-[0-9]}, and | ||
| 1825 | @samp{font-lock-syntactic-keywords} cannot be set in a local variable | ||
| 1826 | list, either. These rules can be overridden by giving the variable's | ||
| 1827 | name a non-@code{nil} @code{safe-local-variable} property. If one | ||
| 1828 | gives it a @code{safe-local-variable} property of @code{t}, then one | ||
| 1829 | can give the variable any file local value. One can also give any | ||
| 1830 | symbol, including the above, a @code{safe-local-variable} property | ||
| 1831 | that is a function taking exactly one argument. In that case, giving | ||
| 1832 | a variable with that name a file local value is only allowed if the | ||
| 1833 | function returns non-@code{nil} when called with that value as | ||
| 1834 | argument. | ||
| 1835 | |||
| 1836 | In addition, any variable whose name has a non-@code{nil} | ||
| 1837 | @code{risky-local-variable} property is also ignored. So are all | ||
| 1838 | variables listed in @code{ignored-local-variables}: | ||
| 1839 | |||
| 1840 | @defvar ignored-local-variables | ||
| 1841 | This variable holds a list of variables that should not be | ||
| 1842 | set by a file's local variables list. Any value specified | ||
| 1843 | for one of these variables is ignored. | ||
| 1844 | @end defvar | ||
| 1845 | |||
| 1846 | @defun risky-local-variable-p sym &optional val | ||
| 1847 | If @var{val} is non-@code{nil}, returns non-@code{nil} if giving | ||
| 1848 | @var{sym} a file local value of @var{val} would be risky, for any of | ||
| 1849 | the reasons stated above. If @var{val} is @code{nil} or omitted, only | ||
| 1850 | returns @code{nil} if @var{sym} can be safely assigned any file local | ||
| 1851 | value whatsoever. | ||
| 1852 | @end defun | ||
| 1853 | |||
| 1854 | The @samp{Eval:} ``variable'' is also a potential loophole, so Emacs | ||
| 1855 | normally asks for confirmation before handling it. | ||
| 1856 | |||
| 1857 | @defopt enable-local-eval | ||
| 1858 | This variable controls processing of @samp{Eval:} in local variables | ||
| 1859 | lists in files being visited. A value of @code{t} means process them | ||
| 1860 | unconditionally; @code{nil} means ignore them; anything else means ask | ||
| 1861 | the user what to do for each file. The default value is @code{maybe}. | ||
| 1862 | @end defopt | ||
| 1863 | |||
| 1864 | Text properties are also potential loopholes, since their values | ||
| 1865 | could include functions to call. So Emacs discards all text | ||
| 1866 | properties from string values specified in a file's local variables | ||
| 1867 | list. | ||
| 1868 | |||
| 1869 | @node Variables with Restricted Values | 1869 | @node Variables with Restricted Values |
| 1870 | @section Variables with Restricted Values | 1870 | @section Variables with Restricted Values |
| 1871 | 1871 | ||
diff --git a/mac/ChangeLog b/mac/ChangeLog index 96ba2ee5201..61489e5a88e 100644 --- a/mac/ChangeLog +++ b/mac/ChangeLog | |||
| @@ -1,6 +1,47 @@ | |||
| 1 | 2005-05-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * makefile.MPW (buildobj.lst): New target. | ||
| 4 | (Clean): Delete file buildobj.lst. | ||
| 5 | (Emacs, {DocTarget}DOC): Depend on buildobj.lst. | ||
| 6 | (EmacsSource, MacSource, LispSource, LispSourceDontCompile): | ||
| 7 | Remove variables. | ||
| 8 | (SOME_MACHINE_OBJECTS, shortlisp, SOME_MACHINE_LISP): New | ||
| 9 | variables. | ||
| 10 | ({DocTarget}DOC): Use them. | ||
| 11 | (Make-DocFile-PPCCOptions): Add `-d MAC_OS -d MAC_OS8'. | ||
| 12 | |||
| 13 | * inc/config.h: Sync with src/config.in. | ||
| 14 | (DO_BLOCK_INPUT, HAVE_DIFFTIME, HAVE_LOCALE_H, HAVE_MEMCMP) | ||
| 15 | (HAVE_MEMCPY, HAVE_MEMMOVE, HAVE_MEMSET, HAVE_SETITIMER) | ||
| 16 | (HAVE_SIZE_T, HAVE_SYS_IOCTL_H, HAVE_SYS_PARAM_H, HAVE_SYS_STAT_H) | ||
| 17 | (HAVE_SYS_TYPES_H, TIME_WITH_SYS_TIME, SYNC_INPUT): Define them. | ||
| 18 | [__MRC__] (HAVE_ALLOCA_H): Likewise. | ||
| 19 | (config_machfile, config_opsysfile, my_strftime): New macros. | ||
| 20 | (HAVE_PWD_H): Move from s-mac.h. | ||
| 21 | (HAVE_ALLOCA, C_ALLOCA): Move from m-mac.h. | ||
| 22 | (PTR): Move to s-mac.h. | ||
| 23 | |||
| 24 | * inc/m-mac.h: (HAVE_ALLOCA, C_ALLOCA): Move to config.h. | ||
| 25 | |||
| 26 | * inc/s-mac.h: Sync with src/s/template.h. Don't include fcntl.h, | ||
| 27 | time.h, or signal.h. | ||
| 28 | (index, rindex): New macros. | ||
| 29 | [__MRC__] (sigmask, __signal_max, NSIG): Adjust signal numbers for | ||
| 30 | compatibility with predefined ones. | ||
| 31 | (PTR): Move from s-mac.h. | ||
| 32 | (HAVE_PWD_H): Move to config.h. | ||
| 33 | (volatile): Remove macro. | ||
| 34 | [__MRC__] (strftime): Likewise. | ||
| 35 | (read_input_waiting, sys_gmtime, sys_localtime, sys_ctime) | ||
| 36 | (sys_time, sys_signal, atof): Remove declarations. | ||
| 37 | |||
| 38 | * inc/sys/time.h (ITIMER_REAL): New macro. | ||
| 39 | (struct itimerval): New struct. | ||
| 40 | (setitimer): New extern. | ||
| 41 | |||
| 1 | 2005-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 42 | 2005-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 2 | 43 | ||
| 3 | * inc/config.h [HAVE_CARBON]: Define USE_TOOLKIT_SCROLL_BARS. | 44 | * inc/config.h [HAVE_CARBON] (USE_TOOLKIT_SCROLL_BARS): Define. |
| 4 | 45 | ||
| 5 | 2005-04-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 46 | 2005-04-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 6 | 47 | ||
| @@ -10,7 +51,7 @@ | |||
| 10 | 51 | ||
| 11 | * Emacs.app/Contents/Info.plist: Add NSServices key and data. | 52 | * Emacs.app/Contents/Info.plist: Add NSServices key and data. |
| 12 | 53 | ||
| 13 | * inc/s-mac.h: Define HAVE_PWD_H. | 54 | * inc/s-mac.h (HAVE_PWD_H): Define. |
| 14 | 55 | ||
| 15 | 2005-04-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 56 | 2005-04-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 16 | 57 | ||
diff --git a/mac/inc/config.h b/mac/inc/config.h index c81db673cca..4ac6a9d61f0 100644 --- a/mac/inc/config.h +++ b/mac/inc/config.h | |||
| @@ -22,388 +22,949 @@ Boston, MA 02111-1307, USA. */ | |||
| 22 | 22 | ||
| 23 | /* Contributed by Andrew Choi (akochoi@mac.com). */ | 23 | /* Contributed by Andrew Choi (akochoi@mac.com). */ |
| 24 | 24 | ||
| 25 | 25 | /* No code in Emacs #includes config.h twice, but some bits of code | |
| 26 | /* No code in Emacs #includes config.h twice, but some of the code | ||
| 27 | intended to work with other packages as well (like gmalloc.c) | 26 | intended to work with other packages as well (like gmalloc.c) |
| 28 | think they can include it as many times as they like. */ | 27 | think they can include it as many times as they like. */ |
| 29 | #ifndef EMACS_CONFIG_H | 28 | #ifndef EMACS_CONFIG_H |
| 30 | #define EMACS_CONFIG_H | 29 | #define EMACS_CONFIG_H |
| 31 | 30 | ||
| 32 | /* These are all defined in the top-level Makefile by configure. | ||
| 33 | They're here only for reference. */ | ||
| 34 | 31 | ||
| 35 | /* Define GNU_MALLOC if you want to use the GNU memory allocator. */ | 32 | /* Define to 1 if the mktime function is broken. */ |
| 36 | /* #undef GNU_MALLOC */ | 33 | /* #undef BROKEN_MKTIME */ |
| 34 | |||
| 35 | /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP | ||
| 36 | systems. This function is required for `alloca.c' support on those systems. | ||
| 37 | */ | ||
| 38 | /* #undef CRAY_STACKSEG_END */ | ||
| 39 | |||
| 40 | /* Define to 1 if using `alloca.c'. */ | ||
| 41 | #ifndef __MRC__ /* CodeWarrior */ | ||
| 42 | #define C_ALLOCA 1 | ||
| 43 | #endif | ||
| 44 | |||
| 45 | /* Define to 1 if using `getloadavg.c'. */ | ||
| 46 | /* #undef C_GETLOADAVG */ | ||
| 47 | |||
| 48 | /* Define C_SWITCH_X_SITE to contain any special flags your compiler | ||
| 49 | may need to deal with X Windows. For instance, if you've defined | ||
| 50 | HAVE_X_WINDOWS above and your X include files aren't in a place | ||
| 51 | that your compiler can find on its own, you might want to add | ||
| 52 | "-I/..." or something similar. */ | ||
| 53 | /* #undef C_SWITCH_X_SITE */ | ||
| 54 | |||
| 55 | /* Define to 1 for DGUX with <sys/dg_sys_info.h>. */ | ||
| 56 | /* #undef DGUX */ | ||
| 37 | 57 | ||
| 38 | /* Define if you are using the GNU C Library. */ | 58 | /* Define to 1 if you are using the GNU C Library. */ |
| 39 | /* #undef DOUG_LEA_MALLOC */ | 59 | /* #undef DOUG_LEA_MALLOC */ |
| 40 | 60 | ||
| 41 | /* Define REL_ALLOC if you want to use the relocating allocator for | 61 | /* Define to the canonical Emacs configuration name. */ |
| 42 | buffer space. */ | 62 | #ifdef __MRC__ |
| 43 | /* #undef REL_ALLOC */ | 63 | #define EMACS_CONFIGURATION "macos-mpw" |
| 64 | #else /* Assume CodeWarrior */ | ||
| 65 | #define EMACS_CONFIGURATION "macos-cw" | ||
| 66 | #endif | ||
| 44 | 67 | ||
| 45 | /* Define HAVE_X_WINDOWS if you want to use the X window system. */ | 68 | /* Define to the options passed to configure. */ |
| 46 | /* #undef HAVE_X_WINDOWS */ | 69 | #define EMACS_CONFIG_OPTIONS "" |
| 47 | 70 | ||
| 48 | /* Define HAVE_X11 if you want to use version 11 of X windows. | 71 | /* Define to 1 if the `getpgrp' function requires zero arguments. */ |
| 49 | Otherwise, Emacs expects to use version 10. */ | 72 | /* #undef GETPGRP_VOID */ |
| 50 | /* #undef HAVE_X11 */ | ||
| 51 | 73 | ||
| 52 | /* Define if using an X toolkit. */ | 74 | /* Define to 1 if gettimeofday accepts only one argument. */ |
| 53 | /* #undef USE_X_TOOLKIT */ | 75 | #define GETTIMEOFDAY_ONE_ARGUMENT 1 |
| 54 | 76 | ||
| 55 | /* Define this if you're using XFree386. */ | 77 | /* Define to 1 if you want to use the GNU memory allocator. */ |
| 56 | /* #undef HAVE_XFREE386 */ | 78 | /* #undef GNU_MALLOC */ |
| 57 | 79 | ||
| 58 | /* Define this if you have Motif 2.1 or newer. */ | 80 | /* Define to 1 if the file /usr/lpp/X11/bin/smt.exp exists. */ |
| 59 | /* #undef HAVE_MOTIF_2_1 */ | 81 | /* #undef HAVE_AIX_SMT_EXP */ |
| 60 | 82 | ||
| 61 | /* Define HAVE_MENUS if you have mouse menus. | 83 | /* Define to 1 if you have the `alarm' function. */ |
| 62 | (This is automatic if you use X, but the option to specify it remains.) | 84 | /* #undef HAVE_ALARM */ |
| 63 | It is also defined with other window systems that support xmenu.c. */ | ||
| 64 | #define HAVE_MENUS 1 | ||
| 65 | 85 | ||
| 66 | /* Define if we have the X11R6 or newer version of Xt. */ | 86 | /* Define to 1 if you have `alloca', as a function or macro. */ |
| 67 | /* #undef HAVE_X11XTR6 */ | 87 | #ifdef __MRC__ |
| 88 | #define HAVE_ALLOCA 1 | ||
| 89 | #endif | ||
| 68 | 90 | ||
| 69 | /* Define if we have the X11R6 or newer version of Xlib. */ | 91 | /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). |
| 70 | /* #undef HAVE_X11R6 */ | 92 | */ |
| 93 | #ifdef __MRC__ | ||
| 94 | #define HAVE_ALLOCA_H 1 | ||
| 95 | #endif | ||
| 71 | 96 | ||
| 72 | /* Define if we have the X11R5 or newer version of Xlib. */ | 97 | /* Define to 1 if you have the `bcmp' function. */ |
| 73 | /* #undef HAVE_X11R5 */ | 98 | /* #define HAVE_BCMP */ |
| 74 | 99 | ||
| 75 | /* Define if we have the XPM libary. */ | 100 | /* Define to 1 if you have the `bcopy' function. */ |
| 76 | /* #undef HAVE_XPM */ | 101 | /* #define HAVE_BCOPY */ |
| 77 | 102 | ||
| 78 | /* Define if we have the PNG library. */ | 103 | /* Define to 1 if you have the `bzero' function. */ |
| 79 | /* #undef HAVE_PNG */ | 104 | /* #define HAVE_BZERO */ |
| 80 | 105 | ||
| 81 | /* Define if we have the JPEG library. */ | 106 | /* Define to 1 if you are using the Carbon API on Mac OS X. */ |
| 82 | /* #undef HAVE_JPEG */ | 107 | /* #undef HAVE_CARBON */ |
| 83 | 108 | ||
| 84 | /* Define if we have the TIFF library. */ | 109 | /* Define to 1 if you have the `cbrt' function. */ |
| 85 | /* #undef HAVE_TIFF */ | 110 | /* #undef HAVE_CBRT */ |
| 111 | |||
| 112 | /* Define to 1 if you have the `closedir' function. */ | ||
| 113 | #define HAVE_CLOSEDIR 1 | ||
| 114 | |||
| 115 | /* Define to 1 if you have the <coff.h> header file. */ | ||
| 116 | /* #undef HAVE_COFF_H */ | ||
| 117 | |||
| 118 | /* Define to 1 if you have the <com_err.h> header file. */ | ||
| 119 | /* #undef HAVE_COM_ERR_H */ | ||
| 120 | |||
| 121 | /* Define to 1 if you have /usr/lib/crti.o. */ | ||
| 122 | /* #undef HAVE_CRTIN */ | ||
| 86 | 123 | ||
| 87 | /* Define if we have the GIF library. */ | 124 | /* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you |
| 125 | don't. */ | ||
| 126 | /* #undef HAVE_DECL_SYS_SIGLIST */ | ||
| 127 | |||
| 128 | /* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you | ||
| 129 | don't. */ | ||
| 130 | /* #undef HAVE_DECL___SYS_SIGLIST */ | ||
| 131 | |||
| 132 | /* Define to 1 if you have the <des.h> header file. */ | ||
| 133 | /* #undef HAVE_DES_H */ | ||
| 134 | |||
| 135 | /* Define to 1 if dynamic ptys are supported. */ | ||
| 136 | /* #undef HAVE_DEV_PTMX */ | ||
| 137 | |||
| 138 | /* Define to 1 if you have the `difftime' function. */ | ||
| 139 | #define HAVE_DIFFTIME 1 | ||
| 140 | |||
| 141 | /* Define to 1 if you have the `dup2' function. */ | ||
| 142 | /* #undef HAVE_DUP2 */ | ||
| 143 | |||
| 144 | /* Define to 1 if you have the `euidaccess' function. */ | ||
| 145 | /* #undef HAVE_EUIDACCESS */ | ||
| 146 | |||
| 147 | /* Define to 1 if you have the <fcntl.h> header file. */ | ||
| 148 | #define HAVE_FCNTL_H 1 | ||
| 149 | |||
| 150 | /* Define to 1 if you have the `fmod' function. */ | ||
| 151 | #define HAVE_FMOD 1 | ||
| 152 | |||
| 153 | /* Define to 1 if you have the `fork' function. */ | ||
| 154 | /* #undef HAVE_FORK */ | ||
| 155 | |||
| 156 | /* Define to 1 if you have the `fpathconf' function. */ | ||
| 157 | /* #undef HAVE_FPATHCONF */ | ||
| 158 | |||
| 159 | /* Define to 1 if you have the `frexp' function. */ | ||
| 160 | #define HAVE_FREXP 1 | ||
| 161 | |||
| 162 | /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ | ||
| 163 | /* #undef HAVE_FSEEKO */ | ||
| 164 | |||
| 165 | /* Define to 1 if you have the `fsync' function. */ | ||
| 166 | /* #undef HAVE_FSYNC */ | ||
| 167 | |||
| 168 | /* Define to 1 if you have the `ftime' function. */ | ||
| 169 | /* #undef HAVE_FTIME */ | ||
| 170 | |||
| 171 | /* Define to 1 if you have the `gai_strerror' function. */ | ||
| 172 | /* #undef HAVE_GAI_STRERROR */ | ||
| 173 | |||
| 174 | /* Define to 1 if you have the `gdk_display_open' function. */ | ||
| 175 | /* #undef HAVE_GDK_DISPLAY_OPEN */ | ||
| 176 | |||
| 177 | /* Define to 1 if you have the `getaddrinfo' function. */ | ||
| 178 | /* #undef HAVE_GETADDRINFO */ | ||
| 179 | |||
| 180 | /* Define to 1 if you have the `getcwd' function. */ | ||
| 181 | /* #undef HAVE_GETCWD */ | ||
| 182 | |||
| 183 | /* Define to 1 if you have the `getdelim' function. */ | ||
| 184 | /* #undef HAVE_GETDELIM */ | ||
| 185 | |||
| 186 | /* Define to 1 if you have the `getdomainname' function. */ | ||
| 187 | /* #undef HAVE_GETDOMAINNAME */ | ||
| 188 | |||
| 189 | /* Define to 1 if you have the `gethostname' function. */ | ||
| 190 | /* #undef HAVE_GETHOSTNAME */ | ||
| 191 | |||
| 192 | /* Define to 1 if you have the `getline' function. */ | ||
| 193 | /* #undef HAVE_GETLINE */ | ||
| 194 | |||
| 195 | /* Define to 1 if you have the `getloadavg' function. */ | ||
| 196 | /* #undef HAVE_GETLOADAVG */ | ||
| 197 | |||
| 198 | /* Define to 1 if you have the `getpagesize' function. */ | ||
| 199 | /* #undef HAVE_GETPAGESIZE */ | ||
| 200 | |||
| 201 | /* Define to 1 if you have the `getpeername' function. */ | ||
| 202 | /* #undef HAVE_GETPEERNAME */ | ||
| 203 | |||
| 204 | /* Define to 1 if you have the `getpt' function. */ | ||
| 205 | /* #undef HAVE_GETPT */ | ||
| 206 | |||
| 207 | /* Define to 1 if you have the `getrusage' function. */ | ||
| 208 | /* #undef HAVE_GETRUSAGE */ | ||
| 209 | |||
| 210 | /* Define to 1 if you have the `getsockname' function. */ | ||
| 211 | /* #undef HAVE_GETSOCKNAME */ | ||
| 212 | |||
| 213 | /* Define to 1 if you have the `getsockopt' function. */ | ||
| 214 | /* #undef HAVE_GETSOCKOPT */ | ||
| 215 | |||
| 216 | /* Define to 1 if you have the `gettimeofday' function. */ | ||
| 217 | #define HAVE_GETTIMEOFDAY 1 | ||
| 218 | |||
| 219 | /* Define to 1 if you have the `getwd' function. */ | ||
| 220 | #define HAVE_GETWD 1 | ||
| 221 | |||
| 222 | /* Define to 1 if you have the ungif library (-lungif). */ | ||
| 88 | /* #undef HAVE_GIF */ | 223 | /* #undef HAVE_GIF */ |
| 89 | 224 | ||
| 90 | /* Define if libXaw3d is available. */ | 225 | /* Define to 1 if you have the `grantpt' function. */ |
| 91 | /* #undef HAVE_XAW3D */ | 226 | /* #undef HAVE_GRANTPT */ |
| 92 | 227 | ||
| 93 | /* Define if we should use toolkit scroll bars. */ | 228 | /* Define to 1 if using GTK. */ |
| 94 | #ifdef HAVE_CARBON | 229 | /* #undef HAVE_GTK */ |
| 95 | #define USE_TOOLKIT_SCROLL_BARS 1 | ||
| 96 | #endif | ||
| 97 | 230 | ||
| 98 | /* Define if we should use XIM, if it is available. */ | 231 | /* Define to 1 if you have GTK and pthread (-lpthread). */ |
| 99 | /* #undef USE_XIM */ | 232 | /* #undef HAVE_GTK_AND_PTHREAD */ |
| 233 | |||
| 234 | /* Define to 1 if GTK has both file selection and chooser dialog. */ | ||
| 235 | /* #undef HAVE_GTK_FILE_BOTH */ | ||
| 236 | |||
| 237 | /* Define to 1 if you have the `gtk_file_chooser_dialog_new' function. */ | ||
| 238 | /* #undef HAVE_GTK_FILE_CHOOSER_DIALOG_NEW */ | ||
| 239 | |||
| 240 | /* Define to 1 if you have the `gtk_file_selection_new' function. */ | ||
| 241 | /* #undef HAVE_GTK_FILE_SELECTION_NEW */ | ||
| 100 | 242 | ||
| 101 | /* Define if netdb.h declares h_errno. */ | 243 | /* Define to 1 if GTK can handle more than one display. */ |
| 244 | /* #undef HAVE_GTK_MULTIDISPLAY */ | ||
| 245 | |||
| 246 | /* Define to 1 if netdb.h declares h_errno. */ | ||
| 102 | /* #undef HAVE_H_ERRNO */ | 247 | /* #undef HAVE_H_ERRNO */ |
| 103 | 248 | ||
| 104 | /* If we're using any sort of window system, define some consequences. */ | 249 | /* Define to 1 if you have the `index' function. */ |
| 105 | #ifdef HAVE_X_WINDOWS | 250 | /* #undef HAVE_INDEX */ |
| 106 | #define HAVE_WINDOW_SYSTEM | ||
| 107 | #define MULTI_KBOARD | ||
| 108 | #define HAVE_MOUSE | ||
| 109 | #endif | ||
| 110 | 251 | ||
| 111 | /* Define for MacOS */ | 252 | /* Define to 1 if you have inet sockets. */ |
| 112 | #define HAVE_WINDOW_SYSTEM 1 | 253 | /* #undef HAVE_INET_SOCKETS */ |
| 113 | #define HAVE_MOUSE 1 | ||
| 114 | 254 | ||
| 115 | /* Define USER_FULL_NAME to return a string | 255 | /* Define to 1 if you have the <inttypes.h> header file. */ |
| 116 | that is the user's full name. | 256 | /* #undef HAVE_INTTYPES_H */ |
| 117 | It can assume that the variable `pw' | ||
| 118 | points to the password file entry for this user. | ||
| 119 | 257 | ||
| 120 | At some sites, the pw_gecos field contains | 258 | /* Define to 1 if you have the jpeg library (-ljpeg). */ |
| 121 | the user's full name. If neither this nor any other | 259 | /* #undef HAVE_JPEG */ |
| 122 | field contains the right thing, use pw_name, | ||
| 123 | giving the user's login name, since that is better than nothing. */ | ||
| 124 | #define USER_FULL_NAME pw->pw_name | ||
| 125 | 260 | ||
| 126 | /* Define AMPERSAND_FULL_NAME if you use the convention | 261 | /* Define to 1 if you have the <kerberosIV/des.h> header file. */ |
| 127 | that & in the full name stands for the login id. */ | 262 | /* #undef HAVE_KERBEROSIV_DES_H */ |
| 128 | /* Turned on June 1996 supposing nobody will mind it. */ | ||
| 129 | /* #undef AMPERSAND_FULL_NAME */ | ||
| 130 | 263 | ||
| 131 | /* Things set by --with options in the configure script. */ | 264 | /* Define to 1 if you have the <kerberosIV/krb.h> header file. */ |
| 265 | /* #undef HAVE_KERBEROSIV_KRB_H */ | ||
| 132 | 266 | ||
| 133 | /* Define to support POP mail retrieval. */ | 267 | /* Define to 1 if you have the <kerberos/des.h> header file. */ |
| 134 | /* #undef MAIL_USE_POP 1 */ | 268 | /* #undef HAVE_KERBEROS_DES_H */ |
| 135 | 269 | ||
| 136 | /* Define to support Kerberos-authenticated POP mail retrieval. */ | 270 | /* Define to 1 if you have the <kerberos/krb.h> header file. */ |
| 137 | /* #undef KERBEROS */ | 271 | /* #undef HAVE_KERBEROS_KRB_H */ |
| 138 | /* Define to use Kerberos 5 instead of Kerberos 4 */ | ||
| 139 | /* #undef KERBEROS5 */ | ||
| 140 | /* Define to support GSS-API in addition to (or instead of) Kerberos */ | ||
| 141 | /* #undef GSSAPI */ | ||
| 142 | 272 | ||
| 143 | /* Define to support using a Hesiod database to find the POP server. */ | 273 | /* Define to 1 if you have the <krb5.h> header file. */ |
| 144 | /* #undef HESIOD */ | 274 | /* #undef HAVE_KRB5_H */ |
| 145 | 275 | ||
| 146 | /* Header for Voxware or PCM sound card driver. */ | 276 | /* Define to 1 if you have the <krb.h> header file. */ |
| 147 | /* #undef HAVE_MACHINE_SOUNDCARD_H */ | 277 | /* #undef HAVE_KRB_H */ |
| 148 | /* #undef HAVE_SYS_SOUNDCARD_H */ | ||
| 149 | /* #undef HAVE_SOUNDCARD_H */ | ||
| 150 | 278 | ||
| 151 | /* Define HAVE_SOUND if we have sound support. We know it works | 279 | /* Define if you have <langinfo.h> and nl_langinfo(CODESET). */ |
| 152 | and compiles only on the specified platforms. For others, | 280 | /* #undef HAVE_LANGINFO_CODESET */ |
| 153 | it probably doesn't make sense to try. */ | ||
| 154 | 281 | ||
| 155 | #if defined __FreeBSD__ || defined __NetBSD__ || defined __linux__ | 282 | /* Define to 1 if you have the `com_err' library (-lcom_err). */ |
| 156 | #ifdef HAVE_MACHINE_SOUNDCARD_H | 283 | /* #undef HAVE_LIBCOM_ERR */ |
| 157 | #define HAVE_SOUND 1 | ||
| 158 | #endif | ||
| 159 | #ifdef HAVE_SYS_SOUNDCARD_H | ||
| 160 | #define HAVE_SOUND 1 | ||
| 161 | #endif | ||
| 162 | #ifdef HAVE_SOUNDCARD_H | ||
| 163 | #define HAVE_SOUND 1 | ||
| 164 | #endif | ||
| 165 | #endif /* __FreeBSD__ || __NetBSD__ || __linux__ */ | ||
| 166 | 284 | ||
| 167 | /* Some things figured out by the configure script, grouped as they are in | 285 | /* Define to 1 if you have the `crypto' library (-lcrypto). */ |
| 168 | configure.in. */ | 286 | /* #undef HAVE_LIBCRYPTO */ |
| 169 | #ifndef _ALL_SOURCE /* suppress warning if this is pre-defined */ | ||
| 170 | /* #undef _ALL_SOURCE */ | ||
| 171 | #endif | ||
| 172 | 287 | ||
| 173 | /* #undef HAVE_SYS_SELECT_H */ | 288 | /* Define to 1 if you have the `des' library (-ldes). */ |
| 174 | /* #undef HAVE_SYS_TIMEB_H */ | 289 | /* #undef HAVE_LIBDES */ |
| 175 | #define HAVE_SYS_TIME_H 1 | ||
| 176 | 290 | ||
| 177 | #ifdef __MRC__ | 291 | /* Define to 1 if you have the `des425' library (-ldes425). */ |
| 178 | #undef HAVE_UNISTD_H | 292 | /* #undef HAVE_LIBDES425 */ |
| 179 | #else /* CodeWarrior */ | ||
| 180 | #define HAVE_UNISTD_H 1 | ||
| 181 | #endif | ||
| 182 | 293 | ||
| 183 | #define HAVE_UTIME_H 1 | 294 | /* Define to 1 if you have the `dgc' library (-ldgc). */ |
| 184 | /* #undef HAVE_LINUX_VERSION_H */ | 295 | /* #undef HAVE_LIBDGC */ |
| 185 | /* #undef HAVE_SYS_SYSTEMINFO_H */ | ||
| 186 | /* #undef HAVE_TERMIOS_H */ | ||
| 187 | #define HAVE_LIMITS_H 1 | ||
| 188 | #define HAVE_STRING_H 1 | ||
| 189 | #define HAVE_STDLIB_H 1 | ||
| 190 | /* #undef HAVE_TERMCAP_H */ | ||
| 191 | /* #undef HAVE_TERM_H */ | ||
| 192 | /* #undef HAVE_STDIO_EXT_H */ | ||
| 193 | /* #undef STDC_HEADERS */ | ||
| 194 | /* #undef TIME_WITH_SYS_TIME */ | ||
| 195 | /* #undef HAVE_VFORK_H */ | ||
| 196 | #define HAVE_FCNTL_H 1 | ||
| 197 | /* #undef HAVE_SETITIMER */ | ||
| 198 | /* #undef HAVE_UALARM */ | ||
| 199 | /* #undef HAVE_SYS_WAIT_H */ | ||
| 200 | 296 | ||
| 297 | /* Define to 1 if you have the `dnet' library (-ldnet). */ | ||
| 201 | /* #undef HAVE_LIBDNET */ | 298 | /* #undef HAVE_LIBDNET */ |
| 202 | /* #undef HAVE_LIBPTHREADS */ | 299 | |
| 203 | /* #undef HAVE_LIBRESOLV */ | 300 | /* Define to 1 if you have the hesiod library (-lhesiod). */ |
| 204 | /* #undef HAVE_LIBXMU */ | 301 | /* #undef HAVE_LIBHESIOD */ |
| 205 | /* #undef HAVE_LIBNCURSES */ | 302 | |
| 303 | /* Define to 1 if you have the `intl' library (-lintl). */ | ||
| 206 | /* #undef HAVE_LIBINTL */ | 304 | /* #undef HAVE_LIBINTL */ |
| 207 | /* #undef HAVE_LIBXP */ | ||
| 208 | 305 | ||
| 209 | /* movemail Kerberos support */ | 306 | /* Define to 1 if you have the `k5crypto' library (-lk5crypto). */ |
| 210 | /* libraries */ | 307 | /* #undef HAVE_LIBK5CRYPTO */ |
| 308 | |||
| 309 | /* Define to 1 if you have the `krb' library (-lkrb). */ | ||
| 211 | /* #undef HAVE_LIBKRB */ | 310 | /* #undef HAVE_LIBKRB */ |
| 311 | |||
| 312 | /* Define to 1 if you have the `krb4' library (-lkrb4). */ | ||
| 212 | /* #undef HAVE_LIBKRB4 */ | 313 | /* #undef HAVE_LIBKRB4 */ |
| 213 | /* #undef HAVE_LIBDES */ | 314 | |
| 214 | /* #undef HAVE_LIBDES425 */ | 315 | /* Define to 1 if you have the `krb5' library (-lkrb5). */ |
| 215 | /* #undef HAVE_LIBKRB5 */ | 316 | /* #undef HAVE_LIBKRB5 */ |
| 216 | /* #undef HAVE_LIBCRYPTO */ | ||
| 217 | /* #undef HAVE_LIBCOM_ERR */ | ||
| 218 | /* header files */ | ||
| 219 | /* #undef HAVE_KRB5_H */ | ||
| 220 | /* #undef HAVE_DES_H */ | ||
| 221 | /* #undef HAVE_KRB_H */ | ||
| 222 | /* #undef HAVE_KERBEROSIV_DES_H */ | ||
| 223 | /* #undef HAVE_KERBEROSIV_KRB_H */ | ||
| 224 | /* #undef HAVE_KERBEROS_DES_H */ | ||
| 225 | /* #undef HAVE_KERBEROS_KRB_H */ | ||
| 226 | /* #undef HAVE_COM_ERR_H */ | ||
| 227 | 317 | ||
| 228 | /* GSS-API libraries and headers */ | 318 | /* Define to 1 if you have the `kstat' library (-lkstat). */ |
| 229 | /* #undef HAVE_LIBGSSAPI_KRB5 */ | 319 | /* #undef HAVE_LIBKSTAT */ |
| 230 | /* #undef HAVE_LIBGSSAPI */ | 320 | |
| 231 | /* #undef HAVE_GSSAPI_H */ | 321 | /* Define to 1 if you have the `lockfile' library (-llockfile). */ |
| 322 | /* #undef HAVE_LIBLOCKFILE */ | ||
| 232 | 323 | ||
| 233 | /* Mail-file locking */ | 324 | /* Define to 1 if you have the `m' library (-lm). */ |
| 325 | /* #undef HAVE_LIBM */ | ||
| 326 | |||
| 327 | /* Define to 1 if you have the `mail' library (-lmail). */ | ||
| 234 | /* #undef HAVE_LIBMAIL */ | 328 | /* #undef HAVE_LIBMAIL */ |
| 235 | /* #undef HAVE_MAILLOCK_H */ | ||
| 236 | /* #undef HAVE_TOUCHLOCK */ | ||
| 237 | 329 | ||
| 238 | /* #undef HAVE_ALLOCA_H */ | 330 | /* Define to 1 if you have the `ncurses' library (-lncurses). */ |
| 331 | /* #undef HAVE_LIBNCURSES */ | ||
| 239 | 332 | ||
| 240 | /* #undef HAVE_DEV_PTMX */ | 333 | /* Define to 1 if you have the <libpng/png.h> header file. */ |
| 334 | /* #undef HAVE_LIBPNG_PNG_H */ | ||
| 241 | 335 | ||
| 242 | #define HAVE_GETTIMEOFDAY 1 | 336 | /* Define to 1 if you have the `pthreads' library (-lpthreads). */ |
| 243 | /* If we don't have gettimeofday, | 337 | /* #undef HAVE_LIBPTHREADS */ |
| 244 | the test for GETTIMEOFDAY_ONE_ARGUMENT may succeed, | ||
| 245 | but we should ignore it. */ | ||
| 246 | #ifdef HAVE_GETTIMEOFDAY | ||
| 247 | #define GETTIMEOFDAY_ONE_ARGUMENT 1 | ||
| 248 | #endif | ||
| 249 | /* #undef HAVE_GETHOSTNAME */ | ||
| 250 | /* #undef HAVE_GETDOMAINNAME */ | ||
| 251 | /* #undef HAVE_DUP2 */ | ||
| 252 | #define HAVE_RENAME 1 | ||
| 253 | #define HAVE_CLOSEDIR 1 | ||
| 254 | 338 | ||
| 255 | /* #undef TM_IN_SYS_TIME */ | 339 | /* Define to 1 if you have the resolv library (-lresolv). */ |
| 256 | /* #undef HAVE_TM_ZONE */ | 340 | /* #undef HAVE_LIBRESOLV */ |
| 257 | /* #undef HAVE_TZNAME */ | ||
| 258 | /* #undef HAVE_TM_GMTOFF */ | ||
| 259 | 341 | ||
| 260 | /* #undef const */ | 342 | /* Define to 1 if you have the `Xext' library (-lXext). */ |
| 343 | /* #undef HAVE_LIBXEXT */ | ||
| 261 | 344 | ||
| 345 | /* Define to 1 if you have the `Xmu' library (-lXmu). */ | ||
| 346 | /* #undef HAVE_LIBXMU */ | ||
| 347 | |||
| 348 | /* Define to 1 if you have the Xp library (-lXp). */ | ||
| 349 | /* #undef HAVE_LIBXP */ | ||
| 350 | |||
| 351 | /* Define to 1 if you have the <limits.h> header file. */ | ||
| 352 | #define HAVE_LIMITS_H 1 | ||
| 353 | |||
| 354 | /* Define to 1 if you have the <linux/version.h> header file. */ | ||
| 355 | /* #undef HAVE_LINUX_VERSION_H */ | ||
| 356 | |||
| 357 | /* Define to 1 if you have the <locale.h> header file. */ | ||
| 358 | #define HAVE_LOCALE_H 1 | ||
| 359 | |||
| 360 | /* Define to 1 if you have the `logb' function. */ | ||
| 361 | #define HAVE_LOGB 1 | ||
| 362 | |||
| 363 | /* Define to 1 if you support file names longer than 14 characters. */ | ||
| 262 | /* #undef HAVE_LONG_FILE_NAMES */ | 364 | /* #undef HAVE_LONG_FILE_NAMES */ |
| 263 | 365 | ||
| 264 | /* #undef CRAY_STACKSEG_END */ | 366 | /* Define to 1 if you have the `lrand48' function. */ |
| 367 | /* #undef HAVE_LRAND48 */ | ||
| 265 | 368 | ||
| 266 | /* #undef UNEXEC_SRC */ | 369 | /* Define to 1 if you have the <machine/soundcard.h> header file. */ |
| 370 | /* #undef HAVE_MACHINE_SOUNDCARD_H */ | ||
| 267 | 371 | ||
| 268 | /* #undef HAVE_LIBXBSD */ | 372 | /* Define to 1 if you have the <mach/mach.h> header file. */ |
| 269 | /* #undef HAVE_XRMSETDATABASE */ | 373 | /* #undef HAVE_MACH_MACH_H */ |
| 270 | /* #undef HAVE_XSCREENRESOURCESTRING */ | 374 | |
| 271 | /* #undef HAVE_XSCREENNUMBEROFSCREEN */ | 375 | /* Define to 1 if you have the <maillock.h> header file. */ |
| 272 | /* #undef HAVE_XSETWMPROTOCOLS */ | 376 | /* #undef HAVE_MAILLOCK_H */ |
| 273 | 377 | ||
| 378 | /* Define to 1 if you have the <malloc/malloc.h> header file. */ | ||
| 379 | /* #undef HAVE_MALLOC_MALLOC_H */ | ||
| 380 | |||
| 381 | /* Define to 1 if you have the `mblen' function. */ | ||
| 382 | /* #undef HAVE_MBLEN */ | ||
| 383 | |||
| 384 | /* Define to 1 if you have the `mbrlen' function. */ | ||
| 385 | /* #undef HAVE_MBRLEN */ | ||
| 386 | |||
| 387 | /* Define to 1 if you have the `mbsinit' function. */ | ||
| 388 | /* #undef HAVE_MBSINIT */ | ||
| 389 | |||
| 390 | /* Define to 1 if <wchar.h> declares mbstate_t. */ | ||
| 391 | /* #undef HAVE_MBSTATE_T */ | ||
| 392 | |||
| 393 | /* Define to 1 if you have the `memcmp' function. */ | ||
| 394 | #define HAVE_MEMCMP 1 | ||
| 395 | |||
| 396 | /* Define to 1 if you have the `memcpy' function. */ | ||
| 397 | #define HAVE_MEMCPY 1 | ||
| 398 | |||
| 399 | /* Define to 1 if you have the `memmove' function. */ | ||
| 400 | #define HAVE_MEMMOVE 1 | ||
| 401 | |||
| 402 | /* Define to 1 if you have the <memory.h> header file. */ | ||
| 403 | /* #undef HAVE_MEMORY_H */ | ||
| 404 | |||
| 405 | /* Define to 1 if you have the `mempcpy' function. */ | ||
| 406 | /* #undef HAVE_MEMPCPY */ | ||
| 407 | |||
| 408 | /* Define to 1 if you have the `memset' function. */ | ||
| 409 | #define HAVE_MEMSET 1 | ||
| 410 | |||
| 411 | /* Define to 1 if you have mouse menus. (This is automatic if you use X, but | ||
| 412 | the option to specify it remains.) It is also defined with other window | ||
| 413 | systems that support xmenu.c. */ | ||
| 414 | #define HAVE_MENUS 1 | ||
| 415 | |||
| 416 | /* Define to 1 if you have the `mkdir' function. */ | ||
| 274 | #define HAVE_MKDIR 1 | 417 | #define HAVE_MKDIR 1 |
| 275 | #define HAVE_RMDIR 1 | 418 | |
| 276 | /* #undef HAVE_SYSINFO */ | 419 | /* Define to 1 if you have the `mkstemp' function. */ |
| 420 | /* #undef HAVE_MKSTEMP */ | ||
| 421 | |||
| 422 | /* Define to 1 if you have the `mktime' function. */ | ||
| 423 | /* #undef HAVE_MKTIME */ | ||
| 424 | |||
| 425 | /* Define to 1 if you have a working `mmap' system call. */ | ||
| 426 | /* #undef HAVE_MMAP */ | ||
| 427 | |||
| 428 | /* Define to 1 if you have Motif 2.1 or newer. */ | ||
| 429 | /* #undef HAVE_MOTIF_2_1 */ | ||
| 430 | |||
| 431 | /* Define to 1 if you have the `mremap' function. */ | ||
| 432 | /* #undef HAVE_MREMAP */ | ||
| 433 | |||
| 434 | /* Define to 1 if you have the <net/if.h> header file. */ | ||
| 435 | /* #define HAVE_NET_IF_H */ | ||
| 436 | |||
| 437 | /* Define to 1 if you have the <nlist.h> header file. */ | ||
| 438 | /* #undef HAVE_NLIST_H */ | ||
| 439 | |||
| 440 | /* Define to 1 if personality LINUX32 can be set. */ | ||
| 441 | /* #undef HAVE_PERSONALITY_LINUX32 */ | ||
| 442 | |||
| 443 | /* Define to 1 if you have the png library (-lpng). */ | ||
| 444 | /* #undef HAVE_PNG */ | ||
| 445 | |||
| 446 | /* Define to 1 if you have the <png.h> header file. */ | ||
| 447 | /* #undef HAVE_PNG_H */ | ||
| 448 | |||
| 449 | /* Define to 1 if you have the `posix_memalign' function. */ | ||
| 450 | /* #undef HAVE_POSIX_MEMALIGN */ | ||
| 451 | |||
| 452 | /* Define to 1 if you have the `pstat_getdynamic' function. */ | ||
| 453 | /* #undef HAVE_PSTAT_GETDYNAMIC */ | ||
| 454 | |||
| 455 | /* Define to 1 if you have the <pthread.h> header file. */ | ||
| 456 | /* #undef HAVE_PTHREAD_H */ | ||
| 457 | |||
| 458 | /* Define to 1 if you have the <pty.h> header file. */ | ||
| 459 | /* #undef HAVE_PTY_H */ | ||
| 460 | |||
| 461 | /* Define to 1 if you have the <pwd.h> header file. */ | ||
| 462 | #define HAVE_PWD_H 1 | ||
| 463 | |||
| 464 | /* Define to 1 if you have the `random' function. */ | ||
| 277 | /* #undef HAVE_RANDOM */ | 465 | /* #undef HAVE_RANDOM */ |
| 278 | /* #undef HAVE_LRAND48 */ | ||
| 279 | /* #undef HAVE_BCOPY */ | ||
| 280 | /* #undef HAVE_BCMP */ | ||
| 281 | #define HAVE_LOGB 1 | ||
| 282 | #define HAVE_FREXP 1 | ||
| 283 | #define HAVE_FMOD 1 | ||
| 284 | 466 | ||
| 467 | /* Define to 1 if you have the `recvfrom' function. */ | ||
| 468 | /* #undef HAVE_RECVFROM */ | ||
| 469 | |||
| 470 | /* Define to 1 if you have the `rename' function. */ | ||
| 471 | #define HAVE_RENAME 1 | ||
| 472 | |||
| 473 | /* Define to 1 if you have the `res_init' function. */ | ||
| 474 | /* #undef HAVE_RES_INIT */ | ||
| 475 | |||
| 476 | /* Define to 1 if you have the `rindex' function. */ | ||
| 477 | /* #undef HAVE_RINDEX */ | ||
| 478 | |||
| 479 | /* Define to 1 if you have the `rint' function. */ | ||
| 285 | #ifdef __MRC__ | 480 | #ifdef __MRC__ |
| 286 | #undef HAVE_RINT | 481 | #undef HAVE_RINT |
| 287 | #else /* CodeWarrior */ | 482 | #else /* CodeWarrior */ |
| 288 | #define HAVE_RINT | 483 | #define HAVE_RINT |
| 289 | #endif | 484 | #endif |
| 290 | 485 | ||
| 291 | /* #undef HAVE_CBRT */ | 486 | /* Define to 1 if you have the `rmdir' function. */ |
| 292 | /* #undef HAVE_FTIME */ | 487 | #define HAVE_RMDIR 1 |
| 293 | /* #undef HAVE_RES_INIT */ /* For -lresolv on Suns. */ | 488 | |
| 294 | /* #undef HAVE_SETSID */ | 489 | /* Define to 1 if you have the `select' function. */ |
| 295 | /* #undef HAVE_FPATHCONF */ | ||
| 296 | #define HAVE_SELECT 1 | 490 | #define HAVE_SELECT 1 |
| 297 | /* #undef HAVE_MKTIME */ | 491 | |
| 298 | /* #undef BROKEN_MKTIME */ /* have mktime but it's broken */ | 492 | /* Define to 1 if you have the `sendto' function. */ |
| 299 | /* #undef HAVE_EUIDACCESS */ | 493 | /* #undef HAVE_SENDTO */ |
| 300 | /* #undef HAVE_GETPAGESIZE */ | 494 | |
| 301 | /* #undef HAVE_TZSET */ | 495 | /* Define to 1 if you have the `setitimer' function. */ |
| 496 | #define HAVE_SETITIMER 1 | ||
| 497 | |||
| 498 | /* Define to 1 if you have the `setlocale' function. */ | ||
| 302 | #define HAVE_SETLOCALE 1 | 499 | #define HAVE_SETLOCALE 1 |
| 303 | /* #undef HAVE_UTIMES */ | 500 | |
| 304 | /* #undef HAVE_SETRLIMIT */ | 501 | /* Define to 1 if you have the `setpgid' function. */ |
| 305 | /* #undef HAVE_SETPGID */ | 502 | /* #undef HAVE_SETPGID */ |
| 306 | /* #undef HAVE_GETCWD */ | 503 | |
| 307 | #define HAVE_GETWD 1 | 504 | /* Define to 1 if you have the `setrlimit' function. */ |
| 505 | /* #undef HAVE_SETRLIMIT */ | ||
| 506 | |||
| 507 | /* Define to 1 if you have the `setsid' function. */ | ||
| 508 | /* #undef HAVE_SETSID */ | ||
| 509 | |||
| 510 | /* Define to 1 if you have the `setsockopt' function. */ | ||
| 511 | /* #undefine HAVE_SETSOCKOPT */ | ||
| 512 | |||
| 513 | /* Define to 1 if you have the `shutdown' function. */ | ||
| 308 | /* #undef HAVE_SHUTDOWN */ | 514 | /* #undef HAVE_SHUTDOWN */ |
| 515 | |||
| 516 | /* Define to 1 if the system has the type `size_t'. */ | ||
| 517 | #define HAVE_SIZE_T 1 | ||
| 518 | |||
| 519 | /* Define to 1 if you have the <soundcard.h> header file. */ | ||
| 520 | /* #undef HAVE_SOUNDCARD_H */ | ||
| 521 | |||
| 522 | /* Define to 1 if `speed_t' is declared by <termios.h>. */ | ||
| 523 | /* #undef HAVE_SPEED_T */ | ||
| 524 | |||
| 525 | /* Define to 1 if you have the <stdint.h> header file. */ | ||
| 526 | /* #undef HAVE_STDINT_H */ | ||
| 527 | |||
| 528 | /* Define to 1 if you have the <stdio_ext.h> header file. */ | ||
| 529 | /* #undef HAVE_STDIO_EXT_H */ | ||
| 530 | |||
| 531 | /* Define to 1 if you have the <stdlib.h> header file. */ | ||
| 532 | #define HAVE_STDLIB_H 1 | ||
| 533 | |||
| 534 | /* Define to 1 if you have the `strerror' function. */ | ||
| 535 | #define HAVE_STRERROR 1 | ||
| 536 | |||
| 537 | /* Define to 1 if you have the `strftime' function. */ | ||
| 538 | #ifndef __MRC__ /* CodeWarrior */ | ||
| 309 | #define HAVE_STRFTIME 1 | 539 | #define HAVE_STRFTIME 1 |
| 310 | /* #undef HAVE_GETADDRINFO */ | 540 | #endif |
| 311 | /* #undef HAVE___FPENDING */ | 541 | |
| 312 | /* #undef HAVE_FTELLO */ | 542 | /* Define to 1 if you have the <strings.h> header file. */ |
| 313 | /* #undef HAVE_GETLOADAVG */ | 543 | /* #undef HAVE_STRINGS_H */ |
| 314 | /* #undef NLIST_STRUCT */ | 544 | |
| 315 | /* #undef NLIST_NAME_UNION */ | 545 | /* Define to 1 if you have the <string.h> header file. */ |
| 316 | /* #undef HAVE_MBLEN */ | 546 | #define HAVE_STRING_H 1 |
| 317 | /* #undef HAVE_MBRLEN */ | 547 | |
| 548 | /* Define to 1 if you have the `strsignal' function. */ | ||
| 318 | /* #undef HAVE_STRSIGNAL */ | 549 | /* #undef HAVE_STRSIGNAL */ |
| 319 | /* #undef HAVE_GRANTPT */ | ||
| 320 | /* #undef HAVE_GETPT */ | ||
| 321 | /* #undef HAVE_SPEED_T */ /* speed_t typedef in termios.h */ | ||
| 322 | /* #undef HAVE_STRUCT_TIMEZONE */ | ||
| 323 | 550 | ||
| 324 | /* #undef LOCALTIME_CACHE */ | 551 | /* Define to 1 if `ifr_addr' is member of `struct ifreq'. */ |
| 325 | /* #undef HAVE_INET_SOCKETS */ | 552 | /* #undef HAVE_STRUCT_IFREQ_IFR_ADDR */ |
| 326 | 553 | ||
| 327 | /* #undef HAVE_AIX_SMT_EXP */ | 554 | /* Define to 1 if `ifr_broadaddr' is member of `struct ifreq'. */ |
| 555 | /* #undef HAVE_STRUCT_IFREQ_IFR_BROADADDR */ | ||
| 328 | 556 | ||
| 329 | /* #undef vfork */ | 557 | /* Define to 1 if `ifr_flags' is member of `struct ifreq'. */ |
| 558 | /* #undef HAVE_STRUCT_IFREQ_IFR_FLAGS */ | ||
| 330 | 559 | ||
| 331 | /* Define if you have the ANSI `strerror' function. | 560 | /* Define to 1 if `ifr_hwaddr' is member of `struct ifreq'. */ |
| 332 | Otherwise you must have the variable `char *sys_errlist[]'. */ | 561 | /* #undef HAVE_STRUCT_IFREQ_IFR_HWADDR */ |
| 333 | #define HAVE_STRERROR 1 | 562 | |
| 563 | /* Define to 1 if `ifr_netmask' is member of `struct ifreq'. */ | ||
| 564 | /* #undef HAVE_STRUCT_IFREQ_IFR_NETMASK */ | ||
| 565 | |||
| 566 | /* Define to 1 if `n_un.n_name' is member of `struct nlist'. */ | ||
| 567 | /* #undef HAVE_STRUCT_NLIST_N_UN_N_NAME */ | ||
| 334 | 568 | ||
| 335 | /* Define if `sys_siglist' is declared by <signal.h>. */ | 569 | /* Define to 1 if `tm_zone' is member of `struct tm'. */ |
| 336 | /* #undef SYS_SIGLIST_DECLARED */ | 570 | /* #undef HAVE_STRUCT_TM_TM_ZONE */ |
| 337 | 571 | ||
| 338 | /* Define if `struct utimbuf' is declared by <utime.h>. */ | 572 | /* Define to 1 if `struct utimbuf' is declared by <utime.h>. */ |
| 339 | #define HAVE_STRUCT_UTIMBUF 1 | 573 | #define HAVE_STRUCT_UTIMBUF 1 |
| 340 | 574 | ||
| 341 | /* Define if `struct timeval' is declared by <sys/time.h>. */ | 575 | /* Define to 1 if you have the `sysinfo' function. */ |
| 576 | /* #undef HAVE_SYSINFO */ | ||
| 577 | |||
| 578 | /* Define to 1 if you have the <sys/ioctl.h> header file. */ | ||
| 579 | #define HAVE_SYS_IOCTL_H 1 | ||
| 580 | |||
| 581 | /* Define to 1 if you have the <sys/mman.h> header file. */ | ||
| 582 | /* #undef HAVE_SYS_MMAN_H */ | ||
| 583 | |||
| 584 | /* Define to 1 if you have the <sys/param.h> header file. */ | ||
| 585 | #define HAVE_SYS_PARAM_H 1 | ||
| 586 | |||
| 587 | /* Define to 1 if you have the <sys/resource.h> header file. */ | ||
| 588 | /* #undefine HAVE_SYS_RESOURCE_H */ | ||
| 589 | |||
| 590 | /* Define to 1 if you have the <sys/select.h> header file. */ | ||
| 591 | /* #undef HAVE_SYS_SELECT_H */ | ||
| 592 | |||
| 593 | /* Define to 1 if you have the <sys/socket.h> header file. */ | ||
| 594 | /* #undef HAVE_SYS_SOCKET_H */ | ||
| 595 | |||
| 596 | /* Define to 1 if you have the <sys/soundcard.h> header file. */ | ||
| 597 | /* #undef HAVE_SYS_SOUNDCARD_H */ | ||
| 598 | |||
| 599 | /* Define to 1 if you have the <sys/stat.h> header file. */ | ||
| 600 | #define HAVE_SYS_STAT_H 1 | ||
| 601 | |||
| 602 | /* Define to 1 if you have the <sys/systeminfo.h> header file. */ | ||
| 603 | /* #undef HAVE_SYS_SYSTEMINFO_H */ | ||
| 604 | |||
| 605 | /* Define to 1 if you have the <sys/timeb.h> header file. */ | ||
| 606 | /* #undef HAVE_SYS_TIMEB_H */ | ||
| 607 | |||
| 608 | /* Define to 1 if you have the <sys/time.h> header file. */ | ||
| 609 | #define HAVE_SYS_TIME_H 1 | ||
| 610 | |||
| 611 | /* Define to 1 if you have the <sys/types.h> header file. */ | ||
| 612 | #define HAVE_SYS_TYPES_H 1 | ||
| 613 | |||
| 614 | /* Define to 1 if you have the <sys/un.h> header file. */ | ||
| 615 | /* #undef HAVE_SYS_UN_H */ | ||
| 616 | |||
| 617 | /* Define to 1 if you have the <sys/utsname.h> header file. */ | ||
| 618 | /* #undef HAVE_SYS_UTSNAME_H */ | ||
| 619 | |||
| 620 | /* Define to 1 if you have the <sys/vlimit.h> header file. */ | ||
| 621 | /* #undef HAVE_SYS_VLIMIT_H */ | ||
| 622 | |||
| 623 | /* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */ | ||
| 624 | /* #undef HAVE_SYS_WAIT_H */ | ||
| 625 | |||
| 626 | /* Define to 1 if you have the <sys/_mbstate_t.h> header file. */ | ||
| 627 | /* #undef HAVE_SYS__MBSTATE_T_H */ | ||
| 628 | |||
| 629 | /* Define to 1 if you have the <termcap.h> header file. */ | ||
| 630 | /* #undef HAVE_TERMCAP_H */ | ||
| 631 | |||
| 632 | /* Define to 1 if you have the <termios.h> header file. */ | ||
| 633 | /* #undef HAVE_TERMIOS_H */ | ||
| 634 | |||
| 635 | /* Define to 1 if you have the <term.h> header file. */ | ||
| 636 | /* #undef HAVE_TERM_H */ | ||
| 637 | |||
| 638 | /* Define to 1 if you have the tiff library (-ltiff). */ | ||
| 639 | /* #undef HAVE_TIFF */ | ||
| 640 | |||
| 641 | /* Define to 1 if `struct timeval' is declared by <sys/time.h>. */ | ||
| 342 | #define HAVE_TIMEVAL 1 | 642 | #define HAVE_TIMEVAL 1 |
| 343 | 643 | ||
| 344 | /* If using GNU, then support inline function declarations. */ | 644 | /* Define to 1 if `tm_gmtoff' is member of `struct tm'. */ |
| 345 | /* Don't try to switch on inline handling as detected by AC_C_INLINE | 645 | /* #undef HAVE_TM_GMTOFF */ |
| 346 | generally, because even if non-gcc compilers accept `inline', they | 646 | |
| 347 | may reject `extern inline'. */ | 647 | /* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use |
| 348 | #ifdef __GNUC__ | 648 | `HAVE_STRUCT_TM_TM_ZONE' instead. */ |
| 349 | #define INLINE __inline__ | 649 | /* #undef HAVE_TM_ZONE */ |
| 350 | #else | 650 | |
| 351 | #define INLINE | 651 | /* Define to 1 if you have the `touchlock' function. */ |
| 652 | /* #undef HAVE_TOUCHLOCK */ | ||
| 653 | |||
| 654 | /* Define to 1 if you don't have `tm_zone' but do have the external array | ||
| 655 | `tzname'. */ | ||
| 656 | /* #undef HAVE_TZNAME */ | ||
| 657 | |||
| 658 | /* Define to 1 if you have the `tzset' function. */ | ||
| 659 | /* #undef HAVE_TZSET */ | ||
| 660 | |||
| 661 | /* Define to 1 if you have the `ualarm' function. */ | ||
| 662 | /* #undef HAVE_UALARM */ | ||
| 663 | |||
| 664 | /* Define to 1 if you have the <unistd.h> header file. */ | ||
| 665 | #ifdef __MRC__ | ||
| 666 | #undef HAVE_UNISTD_H | ||
| 667 | #else /* CodeWarrior */ | ||
| 668 | #define HAVE_UNISTD_H 1 | ||
| 352 | #endif | 669 | #endif |
| 353 | 670 | ||
| 354 | /* Define this if you don't have struct exception in math.h. */ | 671 | /* Define to 1 if you have the `utimes' function. */ |
| 672 | /* #undef HAVE_UTIMES */ | ||
| 673 | |||
| 674 | /* Define to 1 if you have the <utime.h> header file. */ | ||
| 675 | #define HAVE_UTIME_H 1 | ||
| 676 | |||
| 677 | /* Define to 1 if you have the `vfork' function. */ | ||
| 678 | /* #undef HAVE_VFORK */ | ||
| 679 | |||
| 680 | /* Define to 1 if you have the <vfork.h> header file. */ | ||
| 681 | /* #undef HAVE_VFORK_H */ | ||
| 682 | |||
| 683 | /* Define to 1 if `fork' works. */ | ||
| 684 | /* #undef HAVE_WORKING_FORK */ | ||
| 685 | |||
| 686 | /* Define to 1 if `vfork' works. */ | ||
| 687 | /* #undef HAVE_WORKING_VFORK */ | ||
| 688 | |||
| 689 | /* Define to 1 if you want to use version 11 of X windows. Otherwise, Emacs | ||
| 690 | expects to use version 10. */ | ||
| 691 | /* #undef HAVE_X11 */ | ||
| 692 | |||
| 693 | /* Define to 1 if you have the X11R5 or newer version of Xlib. */ | ||
| 694 | /* #undef HAVE_X11R5 */ | ||
| 695 | |||
| 696 | /* Define to 1 if you have the X11R6 or newer version of Xlib. */ | ||
| 697 | /* #undef HAVE_X11R6 */ | ||
| 698 | |||
| 699 | /* Define to 1 if you have the X11R6 or newer version of Xt. */ | ||
| 700 | /* #undef HAVE_X11XTR6 */ | ||
| 701 | |||
| 702 | /* Define to 1 if you have the Xaw3d library (-lXaw3d). */ | ||
| 703 | /* #undef HAVE_XAW3D */ | ||
| 704 | |||
| 705 | /* Define to 1 if you're using XFree386. */ | ||
| 706 | /* #undef HAVE_XFREE386 */ | ||
| 707 | |||
| 708 | /* Define to 1 if XIM is available */ | ||
| 709 | /* #undef HAVE_XIM */ | ||
| 710 | |||
| 711 | /* Define to 1 if you have the XkbGetKeyboard function. */ | ||
| 712 | /* #undef HAVE_XKBGETKEYBOARD */ | ||
| 713 | |||
| 714 | /* Define to 1 if you have the Xpm libary (-lXpm). */ | ||
| 715 | /* #undef HAVE_XPM */ | ||
| 716 | |||
| 717 | /* Define to 1 if you have the `XrmSetDatabase' function. */ | ||
| 718 | /* #undef HAVE_XRMSETDATABASE */ | ||
| 719 | |||
| 720 | /* Define to 1 if you have the `XScreenNumberOfScreen' function. */ | ||
| 721 | /* #undef HAVE_XSCREENNUMBEROFSCREEN */ | ||
| 722 | |||
| 723 | /* Define to 1 if you have the `XScreenResourceString' function. */ | ||
| 724 | /* #undef HAVE_XSCREENRESOURCESTRING */ | ||
| 725 | |||
| 726 | /* Define to 1 if you have the `XSetWMProtocols' function. */ | ||
| 727 | /* #undef HAVE_XSETWMPROTOCOLS */ | ||
| 728 | |||
| 729 | /* Define to 1 if you have the SM library (-lSM). */ | ||
| 730 | /* #undef HAVE_X_SM */ | ||
| 731 | |||
| 732 | /* Define to 1 if you want to use the X window system. */ | ||
| 733 | /* #undef HAVE_X_WINDOWS */ | ||
| 734 | |||
| 735 | /* Define to 1 if you have the `__fpending' function. */ | ||
| 736 | /* #undef HAVE___FPENDING */ | ||
| 737 | |||
| 738 | /* Define to support using a Hesiod database to find the POP server. */ | ||
| 739 | /* #undef HESIOD */ | ||
| 740 | |||
| 741 | /* Define to support Kerberos-authenticated POP mail retrieval. */ | ||
| 742 | /* #undef KERBEROS */ | ||
| 743 | |||
| 744 | /* Define to use Kerberos 5 instead of Kerberos 4. */ | ||
| 745 | /* #undef KERBEROS5 */ | ||
| 746 | |||
| 747 | /* Define LD_SWITCH_X_SITE to contain any special flags your loader may need | ||
| 748 | to deal with X Windows. For instance, if you've defined HAVE_X_WINDOWS | ||
| 749 | above and your X libraries aren't in a place that your loader can find on | ||
| 750 | its own, you might want to add "-L/..." or something similar. */ | ||
| 751 | /* #undef LD_SWITCH_X_SITE */ | ||
| 752 | |||
| 753 | /* Define LD_SWITCH_X_SITE_AUX with an -R option in case it's needed (for | ||
| 754 | Solaris, for example). */ | ||
| 755 | /* #undef LD_SWITCH_X_SITE_AUX */ | ||
| 756 | |||
| 757 | /* Define to 1 if localtime caches TZ. */ | ||
| 758 | /* #undef LOCALTIME_CACHE */ | ||
| 759 | |||
| 760 | /* Define to support POP mail retrieval. */ | ||
| 761 | /* #undef MAIL_USE_POP 1 */ | ||
| 762 | |||
| 763 | /* Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend | ||
| 764 | on `HAVE_STRUCT_NLIST_N_UN_N_NAME */ | ||
| 765 | /* #undef NLIST_NAME_UNION */ | ||
| 766 | |||
| 767 | /* Define to 1 if you don't have struct exception in math.h. */ | ||
| 355 | /* #undef NO_MATHERR */ | 768 | /* #undef NO_MATHERR */ |
| 356 | 769 | ||
| 357 | /* Define as `void' if your compiler accepts `void *'; otherwise | 770 | /* Define to the address where bug reports for this package should be sent. */ |
| 358 | define as `char'. */ | 771 | /* #undef PACKAGE_BUGREPORT */ |
| 772 | |||
| 773 | /* Define to the full name of this package. */ | ||
| 774 | /* #undef PACKAGE_NAME */ | ||
| 775 | |||
| 776 | /* Define to the full name and version of this package. */ | ||
| 777 | /* #undef PACKAGE_STRING */ | ||
| 778 | |||
| 779 | /* Define to the one symbol short name of this package. */ | ||
| 780 | /* #undef PACKAGE_TARNAME */ | ||
| 781 | |||
| 782 | /* Define to the version of this package. */ | ||
| 783 | /* #undef PACKAGE_VERSION */ | ||
| 784 | |||
| 785 | /* Define as `void' if your compiler accepts `void *'; otherwise define as | ||
| 786 | `char'. */ | ||
| 359 | #define POINTER_TYPE void | 787 | #define POINTER_TYPE void |
| 360 | #define PTR POINTER_TYPE * /* For strftime.c. */ | ||
| 361 | 788 | ||
| 362 | /* Number of bits in a file offset, on hosts where this is settable. */ | 789 | /* Define to 1 if the C compiler supports function prototypes. */ |
| 790 | /* #undef PROTOTYPES */ | ||
| 791 | |||
| 792 | /* Define REL_ALLOC if you want to use the relocating allocator for buffer | ||
| 793 | space. */ | ||
| 794 | /* #undef REL_ALLOC */ | ||
| 795 | |||
| 796 | /* Define as the return type of signal handlers (`int' or `void'). */ | ||
| 797 | #define RETSIGTYPE void | ||
| 798 | |||
| 799 | /* If using the C implementation of alloca, define if you know the | ||
| 800 | direction of stack growth for your system; otherwise it will be | ||
| 801 | automatically deduced at run-time. | ||
| 802 | STACK_DIRECTION > 0 => grows toward higher addresses | ||
| 803 | STACK_DIRECTION < 0 => grows toward lower addresses | ||
| 804 | STACK_DIRECTION = 0 => direction of growth unknown */ | ||
| 805 | /* #undef STACK_DIRECTION */ | ||
| 806 | |||
| 807 | /* Define to 1 if you have the ANSI C header files. */ | ||
| 808 | /* #undef STDC_HEADERS */ | ||
| 809 | |||
| 810 | /* Define to 1 on System V Release 4. */ | ||
| 811 | /* #undef SVR4 */ | ||
| 812 | |||
| 813 | /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ | ||
| 814 | #define TIME_WITH_SYS_TIME 1 | ||
| 815 | |||
| 816 | /* Define to 1 if your <sys/time.h> declares `struct tm'. */ | ||
| 817 | /* #undef TM_IN_SYS_TIME */ | ||
| 818 | |||
| 819 | /* Define to 1 for Encore UMAX. */ | ||
| 820 | /* #undef UMAX */ | ||
| 821 | |||
| 822 | /* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of | ||
| 823 | <sys/cpustats.h>. */ | ||
| 824 | /* #undef UMAX4_3 */ | ||
| 825 | |||
| 826 | /* Define to the unexec source file name. */ | ||
| 827 | /* #undef UNEXEC_SRC */ | ||
| 828 | |||
| 829 | /* Define to 1 if we should use toolkit scroll bars. */ | ||
| 830 | #ifdef HAVE_CARBON | ||
| 831 | #define USE_TOOLKIT_SCROLL_BARS 1 | ||
| 832 | #endif | ||
| 833 | |||
| 834 | /* Define to 1 if we should use XIM, if it is available. */ | ||
| 835 | /* #undef USE_XIM */ | ||
| 836 | |||
| 837 | /* Define to 1 if using an X toolkit. */ | ||
| 838 | /* #undef USE_X_TOOLKIT */ | ||
| 839 | |||
| 840 | /* Define to the type of the 6th arg of XRegisterIMInstantiateCallback, either | ||
| 841 | XPointer or XPointer*. */ | ||
| 842 | /* #undef XRegisterIMInstantiateCallback_arg6 */ | ||
| 843 | |||
| 844 | /* Define to 1 if on AIX 3. | ||
| 845 | System headers sometimes define this. | ||
| 846 | We just want to avoid a redefinition error message. */ | ||
| 847 | #ifndef _ALL_SOURCE | ||
| 848 | /* #undef _ALL_SOURCE */ | ||
| 849 | #endif | ||
| 850 | |||
| 851 | /* Number of bits in a file offset, on hosts where this is settable. */ | ||
| 363 | /* #undef _FILE_OFFSET_BITS */ | 852 | /* #undef _FILE_OFFSET_BITS */ |
| 364 | /* Define to make ftello visible on some hosts (e.g. HP-UX 10.20). */ | 853 | |
| 854 | /* Enable GNU extensions on systems that have them. */ | ||
| 855 | #ifndef _GNU_SOURCE | ||
| 856 | /* # undef _GNU_SOURCE */ | ||
| 857 | #endif | ||
| 858 | |||
| 859 | /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ | ||
| 365 | /* #undef _LARGEFILE_SOURCE */ | 860 | /* #undef _LARGEFILE_SOURCE */ |
| 366 | /* Define for large files, on AIX-style hosts. */ | 861 | |
| 862 | /* Define for large files, on AIX-style hosts. */ | ||
| 367 | /* #undef _LARGE_FILES */ | 863 | /* #undef _LARGE_FILES */ |
| 368 | /* Define to make ftello visible on some hosts (e.g. glibc 2.1.3). */ | ||
| 369 | /* #undef _XOPEN_SOURCE */ | ||
| 370 | 864 | ||
| 371 | #ifdef __MRC__ | 865 | /* Define like PROTOTYPES; this can be used by system headers. */ |
| 372 | /* Use low-bits for tags. If ENABLE_CHECKING is turned on together | 866 | /* #undef __PROTOTYPES */ |
| 373 | with USE_LSB_TAG, optimization flags should be explicitly turned | ||
| 374 | off. */ | ||
| 375 | #define USE_LSB_TAG | ||
| 376 | #endif | ||
| 377 | 867 | ||
| 378 | #ifdef __MRC__ | 868 | /* Define to compiler's equivalent of C99 restrict keyword. Don't define if |
| 379 | #define EMACS_CONFIGURATION "macos-mpw" | 869 | equivalent is `__restrict'. */ |
| 380 | #else /* Assume CodeWarrior */ | 870 | /* #undef __restrict */ |
| 381 | #define EMACS_CONFIGURATION "macos-cw" | 871 | |
| 872 | /* Define to compiler's equivalent of C99 restrict keyword in array | ||
| 873 | declarations. Define as empty for no equivalent. */ | ||
| 874 | /* #undef __restrict_arr */ | ||
| 875 | |||
| 876 | /* Define to the used machine dependent file. */ | ||
| 877 | #define config_machfile "m-mac.h" | ||
| 878 | |||
| 879 | /* Define to the used os dependent file. */ | ||
| 880 | #define config_opsysfile "s-mac.h" | ||
| 881 | |||
| 882 | /* Define to empty if `const' does not conform to ANSI C. */ | ||
| 883 | /* #undef const */ | ||
| 884 | |||
| 885 | /* Define to a type if <wchar.h> does not define. */ | ||
| 886 | /* #undef mbstate_t */ | ||
| 887 | |||
| 888 | /* Define to `int' if <sys/types.h> does not define. */ | ||
| 889 | /* #undef pid_t */ | ||
| 890 | |||
| 891 | /* Define to any substitute for sys_siglist. */ | ||
| 892 | /* #undef sys_siglist */ | ||
| 893 | |||
| 894 | /* Define as `fork' if `vfork' does not work. */ | ||
| 895 | /* #undef vfork */ | ||
| 896 | |||
| 897 | /* Define to empty if the keyword `volatile' does not work. Warning: valid | ||
| 898 | code using `volatile' can become incorrect without. Disable with care. */ | ||
| 899 | /* #undef volatile */ | ||
| 900 | |||
| 901 | |||
| 902 | /* If we're using any sort of window system, define some consequences. */ | ||
| 903 | #ifdef HAVE_X_WINDOWS | ||
| 904 | #define HAVE_WINDOW_SYSTEM | ||
| 905 | #define MULTI_KBOARD | ||
| 906 | #define HAVE_MOUSE | ||
| 382 | #endif | 907 | #endif |
| 383 | 908 | ||
| 384 | #define EMACS_CONFIG_OPTIONS "" | 909 | /* Define for MacOS */ |
| 910 | #define HAVE_WINDOW_SYSTEM 1 | ||
| 911 | #define HAVE_MOUSE 1 | ||
| 385 | 912 | ||
| 386 | /* The configuration script defines opsysfile to be the name of the | 913 | /* Define USER_FULL_NAME to return a string |
| 387 | s/SYSTEM.h file that describes the system type you are using. The file | 914 | that is the user's full name. |
| 388 | is chosen based on the configuration name you give. | 915 | It can assume that the variable `pw' |
| 916 | points to the password file entry for this user. | ||
| 389 | 917 | ||
| 390 | See the file ../etc/MACHINES for a list of systems and the | 918 | At some sites, the pw_gecos field contains |
| 391 | configuration names to use for them. | 919 | the user's full name. If neither this nor any other |
| 920 | field contains the right thing, use pw_name, | ||
| 921 | giving the user's login name, since that is better than nothing. */ | ||
| 922 | #define USER_FULL_NAME pw->pw_name | ||
| 392 | 923 | ||
| 393 | See s/template.h for documentation on writing s/SYSTEM.h files. */ | 924 | /* Define AMPERSAND_FULL_NAME if you use the convention |
| 394 | #undef config_opsysfile | 925 | that & in the full name stands for the login id. */ |
| 395 | #include "s-mac.h" | 926 | /* Turned on June 1996 supposing nobody will mind it. */ |
| 927 | /* #undef AMPERSAND_FULL_NAME */ | ||
| 396 | 928 | ||
| 397 | /* The configuration script defines machfile to be the name of the | 929 | /* We have blockinput.h. */ |
| 398 | m/MACHINE.h file that describes the machine you are using. The file is | 930 | #define DO_BLOCK_INPUT |
| 399 | chosen based on the configuration name you give. | ||
| 400 | 931 | ||
| 401 | See the file ../etc/MACHINES for a list of machines and the | 932 | /* Define HAVE_SOUND if we have sound support. We know it works |
| 402 | configuration names to use for them. | 933 | and compiles only on the specified platforms. For others, |
| 934 | it probably doesn't make sense to try. */ | ||
| 403 | 935 | ||
| 404 | See m/template.h for documentation on writing m/MACHINE.h files. */ | 936 | #if defined __FreeBSD__ || defined __NetBSD__ || defined __linux__ |
| 405 | #undef config_machfile | 937 | #ifdef HAVE_MACHINE_SOUNDCARD_H |
| 406 | #include "m-mac.h" | 938 | #define HAVE_SOUND 1 |
| 939 | #endif | ||
| 940 | #ifdef HAVE_SYS_SOUNDCARD_H | ||
| 941 | #define HAVE_SOUND 1 | ||
| 942 | #endif | ||
| 943 | #ifdef HAVE_SOUNDCARD_H | ||
| 944 | #define HAVE_SOUND 1 | ||
| 945 | #endif | ||
| 946 | #endif /* __FreeBSD__ || __NetBSD__ || __linux__ */ | ||
| 947 | |||
| 948 | /* If using GNU, then support inline function declarations. */ | ||
| 949 | /* Don't try to switch on inline handling as detected by AC_C_INLINE | ||
| 950 | generally, because even if non-gcc compilers accept `inline', they | ||
| 951 | may reject `extern inline'. */ | ||
| 952 | #if defined (__GNUC__) && defined (OPTIMIZE) | ||
| 953 | #define INLINE __inline__ | ||
| 954 | #else | ||
| 955 | #define INLINE | ||
| 956 | #endif | ||
| 957 | |||
| 958 | #ifdef __MRC__ | ||
| 959 | /* Use low-bits for tags. If ENABLE_CHECKING is turned on together | ||
| 960 | with USE_LSB_TAG, optimization flags should be explicitly turned | ||
| 961 | off. */ | ||
| 962 | #define USE_LSB_TAG | ||
| 963 | #endif | ||
| 964 | |||
| 965 | /* Include the os and machine dependent files. */ | ||
| 966 | #include config_opsysfile | ||
| 967 | #include config_machfile | ||
| 407 | 968 | ||
| 408 | /* Load in the conversion definitions if this system | 969 | /* Load in the conversion definitions if this system |
| 409 | needs them and the source file being compiled has not | 970 | needs them and the source file being compiled has not |
| @@ -434,39 +995,6 @@ Boston, MA 02111-1307, USA. */ | |||
| 434 | #endif | 995 | #endif |
| 435 | #endif | 996 | #endif |
| 436 | 997 | ||
| 437 | /* Define LD_SWITCH_SITE to contain any special flags your loader may need. */ | ||
| 438 | /* #undef LD_SWITCH_SITE */ | ||
| 439 | |||
| 440 | /* Define C_SWITCH_SITE to contain any special flags your compiler needs. */ | ||
| 441 | /* #undef C_SWITCH_SITE */ | ||
| 442 | |||
| 443 | /* Define LD_SWITCH_X_SITE to contain any special flags your loader | ||
| 444 | may need to deal with X Windows. For instance, if you've defined | ||
| 445 | HAVE_X_WINDOWS above and your X libraries aren't in a place that | ||
| 446 | your loader can find on its own, you might want to add "-L/..." or | ||
| 447 | something similar. */ | ||
| 448 | /* #undef LD_SWITCH_X_SITE */ | ||
| 449 | |||
| 450 | /* Define LD_SWITCH_X_SITE_AUX with an -R option | ||
| 451 | in case it's needed (for Solaris, for example). */ | ||
| 452 | /* #undef LD_SWITCH_X_SITE_AUX */ | ||
| 453 | |||
| 454 | /* Define C_SWITCH_X_SITE to contain any special flags your compiler | ||
| 455 | may need to deal with X Windows. For instance, if you've defined | ||
| 456 | HAVE_X_WINDOWS above and your X include files aren't in a place | ||
| 457 | that your compiler can find on its own, you might want to add | ||
| 458 | "-I/..." or something similar. */ | ||
| 459 | /* #undef C_SWITCH_X_SITE */ | ||
| 460 | |||
| 461 | /* Define STACK_DIRECTION here, but not if m/foo.h did. */ | ||
| 462 | #ifndef STACK_DIRECTION | ||
| 463 | /* #undef STACK_DIRECTION */ | ||
| 464 | #endif | ||
| 465 | |||
| 466 | /* Define the return type of signal handlers if the s-xxx file | ||
| 467 | did not already do so. */ | ||
| 468 | #define RETSIGTYPE void | ||
| 469 | |||
| 470 | /* SIGTYPE is the macro we actually use. */ | 998 | /* SIGTYPE is the macro we actually use. */ |
| 471 | #ifndef SIGTYPE | 999 | #ifndef SIGTYPE |
| 472 | #define SIGTYPE RETSIGTYPE | 1000 | #define SIGTYPE RETSIGTYPE |
| @@ -476,7 +1004,13 @@ Boston, MA 02111-1307, USA. */ | |||
| 476 | /* Tell regex.c to use a type compatible with Emacs. */ | 1004 | /* Tell regex.c to use a type compatible with Emacs. */ |
| 477 | #define RE_TRANSLATE_TYPE Lisp_Object | 1005 | #define RE_TRANSLATE_TYPE Lisp_Object |
| 478 | #define RE_TRANSLATE(TBL, C) CHAR_TABLE_TRANSLATE (TBL, C) | 1006 | #define RE_TRANSLATE(TBL, C) CHAR_TABLE_TRANSLATE (TBL, C) |
| 479 | #define RE_TRANSLATE_P(TBL) (XFASTINT (TBL) != 0) | 1007 | #ifdef make_number |
| 1008 | /* If make_number is a macro, use it. */ | ||
| 1009 | #define RE_TRANSLATE_P(TBL) (!EQ (TBL, make_number (0))) | ||
| 1010 | #else | ||
| 1011 | /* If make_number is a function, avoid it. */ | ||
| 1012 | #define RE_TRANSLATE_P(TBL) (!(INTEGERP (TBL) && XINT (TBL) == 0)) | ||
| 1013 | #endif | ||
| 480 | #endif | 1014 | #endif |
| 481 | 1015 | ||
| 482 | /* Avoid link-time collision with system mktime if we will use our own. */ | 1016 | /* Avoid link-time collision with system mktime if we will use our own. */ |
| @@ -484,6 +1018,8 @@ Boston, MA 02111-1307, USA. */ | |||
| 484 | #define mktime emacs_mktime | 1018 | #define mktime emacs_mktime |
| 485 | #endif | 1019 | #endif |
| 486 | 1020 | ||
| 1021 | #define my_strftime nstrftime /* for strftime.c */ | ||
| 1022 | |||
| 487 | /* The rest of the code currently tests the CPP symbol BSTRING. | 1023 | /* The rest of the code currently tests the CPP symbol BSTRING. |
| 488 | Override any claims made by the system-description files. | 1024 | Override any claims made by the system-description files. |
| 489 | Note that on some SCO version it is possible to have bcopy and not bcmp. */ | 1025 | Note that on some SCO version it is possible to have bcopy and not bcmp. */ |
| @@ -492,11 +1028,6 @@ Boston, MA 02111-1307, USA. */ | |||
| 492 | #define BSTRING | 1028 | #define BSTRING |
| 493 | #endif | 1029 | #endif |
| 494 | 1030 | ||
| 495 | /* Define to empty if the keyword `volatile' does not work. Warning: | ||
| 496 | valid code using `volatile' can become incorrect without. Disable | ||
| 497 | with care. */ | ||
| 498 | /* #undef volatile */ | ||
| 499 | |||
| 500 | /* Some of the files of Emacs which are intended for use with other | 1031 | /* Some of the files of Emacs which are intended for use with other |
| 501 | programs assume that if you have a config.h file, you must declare | 1032 | programs assume that if you have a config.h file, you must declare |
| 502 | the type of getenv. | 1033 | the type of getenv. |
| @@ -507,8 +1038,6 @@ Boston, MA 02111-1307, USA. */ | |||
| 507 | extern char *getenv (); | 1038 | extern char *getenv (); |
| 508 | #endif | 1039 | #endif |
| 509 | 1040 | ||
| 510 | #endif /* EMACS_CONFIG_H */ | ||
| 511 | |||
| 512 | /* These default definitions are good for almost all machines. | 1041 | /* These default definitions are good for almost all machines. |
| 513 | The exceptions override them in m/MACHINE.h. */ | 1042 | The exceptions override them in m/MACHINE.h. */ |
| 514 | 1043 | ||
| @@ -548,16 +1077,30 @@ extern char *getenv (); | |||
| 548 | # endif /* GCC. */ | 1077 | # endif /* GCC. */ |
| 549 | #endif /* __P */ | 1078 | #endif /* __P */ |
| 550 | 1079 | ||
| 551 | |||
| 552 | /* Don't include "string.h" or <stdlib.h> in non-C code. */ | 1080 | /* Don't include "string.h" or <stdlib.h> in non-C code. */ |
| 553 | #ifndef NOT_C_CODE | 1081 | #ifndef NOT_C_CODE |
| 554 | #ifdef HAVE_STRING_H | 1082 | #ifdef HAVE_STRING_H |
| 555 | #include "string.h" | 1083 | #include "string.h" |
| 556 | #endif | 1084 | #endif |
| 1085 | #ifdef HAVE_STRINGS_H | ||
| 1086 | #include "strings.h" /* May be needed for bcopy & al. */ | ||
| 1087 | #endif | ||
| 557 | #ifdef HAVE_STDLIB_H | 1088 | #ifdef HAVE_STDLIB_H |
| 558 | #include <stdlib.h> | 1089 | #include <stdlib.h> |
| 559 | #endif | 1090 | #endif |
| 1091 | #ifndef __GNUC__ | ||
| 1092 | # ifdef HAVE_ALLOCA_H | ||
| 1093 | # include <alloca.h> | ||
| 1094 | # else /* AIX files deal with #pragma. */ | ||
| 1095 | # ifndef alloca /* predefined by HP cc +Olibcalls */ | ||
| 1096 | char *alloca (); | ||
| 1097 | # endif | ||
| 1098 | # endif /* HAVE_ALLOCA_H */ | ||
| 1099 | #endif /* __GNUC__ */ | ||
| 1100 | #ifndef HAVE_SIZE_T | ||
| 1101 | typedef unsigned size_t; | ||
| 560 | #endif | 1102 | #endif |
| 1103 | #endif /* NOT_C_CODE */ | ||
| 561 | 1104 | ||
| 562 | /* Define HAVE_X_I18N if we have usable i18n support. */ | 1105 | /* Define HAVE_X_I18N if we have usable i18n support. */ |
| 563 | 1106 | ||
| @@ -576,9 +1119,42 @@ extern char *getenv (); | |||
| 576 | /* Should we enable expensive run-time checking of data types? */ | 1119 | /* Should we enable expensive run-time checking of data types? */ |
| 577 | /* #undef ENABLE_CHECKING */ | 1120 | /* #undef ENABLE_CHECKING */ |
| 578 | 1121 | ||
| 579 | /* #define GLYPH_DEBUG 1 */ | 1122 | #if defined __GNUC__ && (__GNUC__ > 2 \ |
| 1123 | || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5)) | ||
| 1124 | #define NO_RETURN __attribute__ ((__noreturn__)) | ||
| 1125 | #else | ||
| 1126 | #define NO_RETURN /* nothing */ | ||
| 1127 | #endif | ||
| 580 | 1128 | ||
| 581 | #define NO_RETURN /* nothing */ | 1129 | /* These won't be used automatically yet. We also need to know, at least, |
| 1130 | that the stack is continuous. */ | ||
| 1131 | #ifdef __GNUC__ | ||
| 1132 | # ifndef GC_SETJMP_WORKS | ||
| 1133 | /* GC_SETJMP_WORKS is nearly always appropriate for GCC -- | ||
| 1134 | see NON_SAVING_SETJMP in the target descriptions. */ | ||
| 1135 | /* Exceptions (see NON_SAVING_SETJMP in target description) are ns32k, | ||
| 1136 | SCO5 non-ELF (but Emacs specifies ELF) and SVR3 on x86. | ||
| 1137 | Fixme: Deal with ns32k, SVR3. */ | ||
| 1138 | # define GC_SETJMP_WORKS 1 | ||
| 1139 | # endif | ||
| 1140 | # ifndef GC_LISP_OBJECT_ALIGNMENT | ||
| 1141 | # define GC_LISP_OBJECT_ALIGNMENT (__alignof__ (Lisp_Object)) | ||
| 1142 | # endif | ||
| 1143 | #endif | ||
| 1144 | |||
| 1145 | #ifndef HAVE_BCOPY | ||
| 1146 | #define bcopy(a,b,s) memcpy (b,a,s) | ||
| 1147 | #endif | ||
| 1148 | #ifndef HAVE_BZERO | ||
| 1149 | #define bzero(a,s) memset (a,0,s) | ||
| 1150 | #endif | ||
| 1151 | #ifndef HAVE_BCMP | ||
| 1152 | #define BCMP memcmp | ||
| 1153 | #endif | ||
| 1154 | |||
| 1155 | #define SYNC_INPUT | ||
| 1156 | |||
| 1157 | #endif /* EMACS_CONFIG_H */ | ||
| 582 | 1158 | ||
| 583 | /* arch-tag: 2596b649-b569-448e-8880-373d2a9909b7 | 1159 | /* arch-tag: 2596b649-b569-448e-8880-373d2a9909b7 |
| 584 | (do not change this comment) */ | 1160 | (do not change this comment) */ |
diff --git a/mac/inc/m-mac.h b/mac/inc/m-mac.h index bb4011af4a6..356a557c5fa 100644 --- a/mac/inc/m-mac.h +++ b/mac/inc/m-mac.h | |||
| @@ -80,19 +80,6 @@ Boston, MA 02111-1307, USA. */ | |||
| 80 | 80 | ||
| 81 | #define VIRT_ADDR_VARIES | 81 | #define VIRT_ADDR_VARIES |
| 82 | 82 | ||
| 83 | /* Define C_ALLOCA if this machine does not support a true alloca | ||
| 84 | and the one written in C should be used instead. | ||
| 85 | Define HAVE_ALLOCA to say that the system provides a properly | ||
| 86 | working alloca function and it should be used. | ||
| 87 | Define neither one if an assembler-language alloca | ||
| 88 | in the file alloca.s should be used. */ | ||
| 89 | |||
| 90 | #ifdef __MRC__ | ||
| 91 | #define HAVE_ALLOCA | ||
| 92 | #else | ||
| 93 | #define C_ALLOCA | ||
| 94 | #endif | ||
| 95 | |||
| 96 | /* Define NO_REMAP if memory segmentation makes it not work well | 83 | /* Define NO_REMAP if memory segmentation makes it not work well |
| 97 | to change the boundary between the text section and data section | 84 | to change the boundary between the text section and data section |
| 98 | when Emacs is dumped. If you define this, the preloaded Lisp | 85 | when Emacs is dumped. If you define this, the preloaded Lisp |
| @@ -129,18 +116,5 @@ Boston, MA 02111-1307, USA. */ | |||
| 129 | #define IEEE_FLOATING_POINT 1 | 116 | #define IEEE_FLOATING_POINT 1 |
| 130 | #endif | 117 | #endif |
| 131 | 118 | ||
| 132 | #if 0 | ||
| 133 | /* The usual definition of XINT, which involves shifting, does not | ||
| 134 | sign-extend properly on this machine. */ | ||
| 135 | |||
| 136 | #define XINT(i) (((sign_extend_temp=(i)) & 0x00800000) \ | ||
| 137 | ? (sign_extend_temp | 0xFF000000) \ | ||
| 138 | : (sign_extend_temp & 0x00FFFFFF)) | ||
| 139 | |||
| 140 | #ifdef emacs /* Don't do this when making xmakefile! */ | ||
| 141 | extern int sign_extend_temp; | ||
| 142 | #endif | ||
| 143 | #endif | ||
| 144 | |||
| 145 | /* arch-tag: 9e759031-ab7b-4c76-99d7-3ae94a98de38 | 119 | /* arch-tag: 9e759031-ab7b-4c76-99d7-3ae94a98de38 |
| 146 | (do not change this comment) */ | 120 | (do not change this comment) */ |
diff --git a/mac/inc/s-mac.h b/mac/inc/s-mac.h index 56f4df5941c..149d465f59f 100644 --- a/mac/inc/s-mac.h +++ b/mac/inc/s-mac.h | |||
| @@ -53,8 +53,8 @@ Boston, MA 02111-1307, USA. */ | |||
| 53 | 53 | ||
| 54 | Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) | 54 | Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) |
| 55 | 55 | ||
| 56 | Emacs uses the presence or absence of the SIGIO macro to indicate | 56 | Emacs uses the presence or absence of the SIGIO and BROKEN_SIGIO macros |
| 57 | whether or not signal-driven I/O is possible. It uses | 57 | to indicate whether or not signal-driven I/O is possible. It uses |
| 58 | INTERRUPT_INPUT to decide whether to use it by default. | 58 | INTERRUPT_INPUT to decide whether to use it by default. |
| 59 | 59 | ||
| 60 | SIGIO can be used only on systems that implement it (4.2 and 4.3). | 60 | SIGIO can be used only on systems that implement it (4.2 and 4.3). |
| @@ -96,8 +96,6 @@ Boston, MA 02111-1307, USA. */ | |||
| 96 | 96 | ||
| 97 | /* #define HAVE_PTYS */ | 97 | /* #define HAVE_PTYS */ |
| 98 | 98 | ||
| 99 | #define HAVE_PWD_H 1 | ||
| 100 | |||
| 101 | /* | 99 | /* |
| 102 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | 100 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate |
| 103 | * The 4.2 opendir, etc., library functions. | 101 | * The 4.2 opendir, etc., library functions. |
| @@ -148,6 +146,9 @@ Boston, MA 02111-1307, USA. */ | |||
| 148 | is not ':', #define this to be the appropriate character constant. */ | 146 | is not ':', #define this to be the appropriate character constant. */ |
| 149 | /* #define SEPCHAR ':' */ | 147 | /* #define SEPCHAR ':' */ |
| 150 | 148 | ||
| 149 | /* Define this if the system can use mmap for buffer text allocation. */ | ||
| 150 | /* #define USE_MMAP_FOR_BUFFERS 1 */ | ||
| 151 | |||
| 151 | /* ============================================================ */ | 152 | /* ============================================================ */ |
| 152 | 153 | ||
| 153 | /* Here, add any special hacks needed | 154 | /* Here, add any special hacks needed |
| @@ -164,6 +165,14 @@ Boston, MA 02111-1307, USA. */ | |||
| 164 | 165 | ||
| 165 | /* #define static */ | 166 | /* #define static */ |
| 166 | 167 | ||
| 168 | /* If the system's imake configuration file defines `NeedWidePrototypes' | ||
| 169 | as `NO', we must define NARROWPROTO manually. Such a define is | ||
| 170 | generated in the Makefile generated by `xmkmf'. If we don't | ||
| 171 | define NARROWPROTO, we will see the wrong function prototypes | ||
| 172 | for X functions taking float or double parameters. */ | ||
| 173 | |||
| 174 | /* #define NARROWPROTO 1 */ | ||
| 175 | |||
| 167 | /* ============================================================ */ | 176 | /* ============================================================ */ |
| 168 | 177 | ||
| 169 | /* After adding support for a new system, modify the large case | 178 | /* After adding support for a new system, modify the large case |
| @@ -176,7 +185,12 @@ Boston, MA 02111-1307, USA. */ | |||
| 176 | of known problems in that configuration should be updated. */ | 185 | of known problems in that configuration should be updated. */ |
| 177 | 186 | ||
| 178 | #ifdef __MRC__ | 187 | #ifdef __MRC__ |
| 179 | #define __signal_max SIGTERM /* largest one in signal.h */ | 188 | /* MrC predefines signal numbers as powers of 2. */ |
| 189 | #define sigmask(no) (((no) & (no) - 1) ? 1L << ((no) - 1) : (no)) | ||
| 190 | #define __signal_max 8 /* There's enough room for the following | ||
| 191 | signals between 8 and 16, and the | ||
| 192 | maximum predefined one (32) is less | ||
| 193 | than 8th power of 2. */ | ||
| 180 | #endif | 194 | #endif |
| 181 | 195 | ||
| 182 | #define SIGHUP (__signal_max+1) | 196 | #define SIGHUP (__signal_max+1) |
| @@ -185,7 +199,12 @@ Boston, MA 02111-1307, USA. */ | |||
| 185 | #define SIGKILL (__signal_max+4) | 199 | #define SIGKILL (__signal_max+4) |
| 186 | #define SIGALRM (__signal_max+5) | 200 | #define SIGALRM (__signal_max+5) |
| 187 | #define SIGPIPE (__signal_max+6) | 201 | #define SIGPIPE (__signal_max+6) |
| 202 | |||
| 203 | #ifdef __MRC__ | ||
| 204 | #define NSIG SIGTERM /* largest one in signal.h */ | ||
| 205 | #else | ||
| 188 | #define NSIG (__signal_max+6) | 206 | #define NSIG (__signal_max+6) |
| 207 | #endif | ||
| 189 | 208 | ||
| 190 | #ifdef __MRC__ | 209 | #ifdef __MRC__ |
| 191 | #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_ptr - (FILE)->_base) | 210 | #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_ptr - (FILE)->_base) |
| @@ -230,19 +249,11 @@ Boston, MA 02111-1307, USA. */ | |||
| 230 | #define READ_BUF_SIZE (8 << 10) | 249 | #define READ_BUF_SIZE (8 << 10) |
| 231 | 250 | ||
| 232 | #include <utsname.h> | 251 | #include <utsname.h> |
| 233 | void read_input_waiting (); | ||
| 234 | |||
| 235 | /* #define GETTIMEOFDAY_ONE_ARGUMENT */ | ||
| 236 | 252 | ||
| 237 | #define SYSV_SYSTEM_DIR | 253 | #define SYSV_SYSTEM_DIR |
| 238 | 254 | ||
| 239 | #define SYSTEM_MALLOC | 255 | #define SYSTEM_MALLOC |
| 240 | 256 | ||
| 241 | /* Constants such as O_RDONLY are defined in fcntl.h. Best solution is | ||
| 242 | really to patch individual files to include it: callproc.c, doc.c, | ||
| 243 | fileio.c, getloadavg.c, lread.c, and termcap.c. */ | ||
| 244 | #include <fcntl.h> | ||
| 245 | |||
| 246 | #define _setjmp setjmp | 257 | #define _setjmp setjmp |
| 247 | #define _longjmp longjmp | 258 | #define _longjmp longjmp |
| 248 | 259 | ||
| @@ -284,44 +295,10 @@ void read_input_waiting (); | |||
| 284 | #define ctime sys_ctime | 295 | #define ctime sys_ctime |
| 285 | #define time sys_time | 296 | #define time sys_time |
| 286 | 297 | ||
| 287 | #ifndef bcmp | 298 | #define index strchr |
| 288 | #define bcmp(s1, s2, n) memcmp ((s1), (s2), (n)) | 299 | #define rindex strrchr |
| 289 | #endif | ||
| 290 | #ifndef bcopy | ||
| 291 | #define bcopy(s, d, n) memcpy ((d), (s), (n)) | ||
| 292 | #endif | ||
| 293 | #ifndef bzero | ||
| 294 | #define bzero(s, n) memset ((s), 0, (n)) | ||
| 295 | #endif | ||
| 296 | |||
| 297 | extern char *index (const char *, int); | ||
| 298 | |||
| 299 | /* MPW strftime broken for "%p" format */ | ||
| 300 | #ifdef __MRC__ | ||
| 301 | #define strftime sys_strftime | ||
| 302 | #endif | ||
| 303 | |||
| 304 | #include <time.h> | ||
| 305 | /* Editfns.c includes types.h which indirectly includes time.h before config.h. | ||
| 306 | So gmtime (localtime) is defined and not sys_gmtime (sys_localtime). Define | ||
| 307 | here explicitly. */ | ||
| 308 | extern struct tm *sys_gmtime (const time_t *); | ||
| 309 | extern struct tm *sys_localtime (const time_t *); | ||
| 310 | extern char *sys_ctime (const time_t *); | ||
| 311 | extern time_t sys_time (time_t *); | ||
| 312 | |||
| 313 | /* Emacs.c includes signal.h before config.h. Define this to make it happy. */ | ||
| 314 | #ifdef __MRC__ | ||
| 315 | #include <signal.h> | ||
| 316 | extern __sigfun sys_signal (int signal_num, __sigfun signal_func); | ||
| 317 | #elif __MWERKS__ | ||
| 318 | #include <signal.h> | ||
| 319 | extern __signal_func_ptr sys_signal (int signal_num, __signal_func_ptr signal_func); | ||
| 320 | #endif | ||
| 321 | |||
| 322 | extern double atof (const char *); | ||
| 323 | 300 | ||
| 324 | #define volatile | 301 | #define PTR POINTER_TYPE * /* For strftime.c. */ |
| 325 | 302 | ||
| 326 | #define SYMS_SYSTEM syms_of_mac() | 303 | #define SYMS_SYSTEM syms_of_mac() |
| 327 | 304 | ||
diff --git a/mac/inc/sys/time.h b/mac/inc/sys/time.h index b80135b7b5e..4ae305cf026 100644 --- a/mac/inc/sys/time.h +++ b/mac/inc/sys/time.h | |||
| @@ -28,6 +28,21 @@ struct timeval { | |||
| 28 | long tv_usec; /* microseconds */ | 28 | long tv_usec; /* microseconds */ |
| 29 | }; | 29 | }; |
| 30 | 30 | ||
| 31 | #define ITIMER_REAL 0 | ||
| 32 | #if 0 | ||
| 33 | #define ITIMER_VIRTUAL 1 | ||
| 34 | #define ITIMER_PROF 2 | ||
| 35 | #endif | ||
| 36 | |||
| 37 | struct itimerval { | ||
| 38 | #if 0 | ||
| 39 | struct timeval it_interval; /* timer interval */ | ||
| 40 | #endif | ||
| 41 | struct timeval it_value; /* current value */ | ||
| 42 | }; | ||
| 43 | |||
| 44 | extern int setitimer(int, const struct itimerval *, struct itimerval *); | ||
| 45 | |||
| 31 | #endif /* _SYS_TYPES_H */ | 46 | #endif /* _SYS_TYPES_H */ |
| 32 | 47 | ||
| 33 | /* arch-tag: f85ed04d-0e99-4f97-892b-fe029d0e92f9 | 48 | /* arch-tag: f85ed04d-0e99-4f97-892b-fe029d0e92f9 |
diff --git a/mac/makefile.MPW b/mac/makefile.MPW index e7c7e438973..76217d24101 100644 --- a/mac/makefile.MPW +++ b/mac/makefile.MPW | |||
| @@ -26,8 +26,6 @@ | |||
| 26 | # Clean - remove all object and executable files to prepare for a fresh build. | 26 | # Clean - remove all object and executable files to prepare for a fresh build. |
| 27 | # Doc - generate the "DOC" file in ~emacs/etc/. | 27 | # Doc - generate the "DOC" file in ~emacs/etc/. |
| 28 | # Make-DocFile - build the make-docfile tool, utility for generating "DOC". | 28 | # Make-DocFile - build the make-docfile tool, utility for generating "DOC". |
| 29 | # PrepSource - prepare the source files after unstuffing the distribution. | ||
| 30 | # PrepDist - prepare for distribution: generate diff files; move mac-win.el to {Patches}. | ||
| 31 | 29 | ||
| 32 | Src = ::src: # emacs's src directory | 30 | Src = ::src: # emacs's src directory |
| 33 | Includes = :inc: # mac includes directory (common for MPW and CW) | 31 | Includes = :inc: # mac includes directory (common for MPW and CW) |
| @@ -156,7 +154,7 @@ NonCarbonLibs = ¶ | |||
| 156 | 154 | ||
| 157 | # The next two are the dependency rules for building Emacs. | 155 | # The next two are the dependency rules for building Emacs. |
| 158 | 156 | ||
| 159 | Emacs ÄÄ {Makefile} {DocTarget}DOC {EmacsObjects} {MacObjects} | 157 | Emacs ÄÄ {Makefile} buildobj.lst {DocTarget}DOC {EmacsObjects} {MacObjects} |
| 160 | PPCLink ¶ | 158 | PPCLink ¶ |
| 161 | {LinkOptions} ¶ | 159 | {LinkOptions} ¶ |
| 162 | {EmacsObjects} {MacObjects} ¶ | 160 | {EmacsObjects} {MacObjects} ¶ |
| @@ -182,6 +180,9 @@ NonCarbon Ä | |||
| 182 | "{Source}"EmacsMPW.maclf.r Ä "{Source}"EmacsMPW.r | 180 | "{Source}"EmacsMPW.maclf.r Ä "{Source}"EmacsMPW.r |
| 183 | translate ¶0x0a ¶n < "{Source}"EmacsMPW.r > "{Source}"EmacsMPW.maclf.r | 181 | translate ¶0x0a ¶n < "{Source}"EmacsMPW.r > "{Source}"EmacsMPW.maclf.r |
| 184 | 182 | ||
| 183 | buildobj.lst Ä | ||
| 184 | Echo "{EmacsObjects} {MacObjects}" | StreamEdit -e '1,$ Replace -c ° /[Â ]*:([Â: ]*)¨1.c.x/ ¨1".o"' > buildobj.lst | ||
| 185 | |||
| 185 | # Here comes a long boring list of rules saying which files depend on which | 186 | # Here comes a long boring list of rules saying which files depend on which |
| 186 | # other ones. I generated them by hand using the "-p" option of the MrC compiler. | 187 | # other ones. I generated them by hand using the "-p" option of the MrC compiler. |
| 187 | # Know about MakeMake, but this is probably more accurate. | 188 | # Know about MakeMake, but this is probably more accurate. |
| @@ -984,6 +985,7 @@ Clean Ä | |||
| 984 | Delete -i {Make-DocFile-Objects} {Make-DocFileDir}make-docfile | 985 | Delete -i {Make-DocFile-Objects} {Make-DocFileDir}make-docfile |
| 985 | Delete -i "{Source}"Emacs.maclf.r "{Source}"EmacsMPW.maclf.r | 986 | Delete -i "{Source}"Emacs.maclf.r "{Source}"EmacsMPW.maclf.r |
| 986 | Delete -i "{NonCarbonMakeOut}" | 987 | Delete -i "{NonCarbonMakeOut}" |
| 988 | Delete -i buildobj.lst | ||
| 987 | 989 | ||
| 988 | DistClean Ä Clean | 990 | DistClean Ä Clean |
| 989 | Delete -i "Emacs CW"Å | 991 | Delete -i "Emacs CW"Å |
| @@ -994,96 +996,21 @@ DistClean Ä Clean | |||
| 994 | # Variables and rules for target "Doc" # | 996 | # Variables and rules for target "Doc" # |
| 995 | #--------------------------------------# | 997 | #--------------------------------------# |
| 996 | 998 | ||
| 997 | EmacsSource = ¶ | 999 | SOME_MACHINE_OBJECTS = sunfns.o dosfns.o msdos.o ¶ |
| 998 | "{Src}abbrev.c" ¶ | 1000 | xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o ¶ |
| 999 | "{Src}alloc.c" ¶ | 1001 | mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o ¶ |
| 1000 | "{Src}atimer.c" ¶ | 1002 | w32.o w32bdf.o w32console.o w32fns.o w32heap.o w32inevt.o ¶ |
| 1001 | "{Src}buffer.c" ¶ | 1003 | w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o |
| 1002 | "{Src}bytecode.c" ¶ | 1004 | |
| 1003 | "{Src}callint.c" ¶ | 1005 | shortlisp = ¶ |
| 1004 | "{Src}callproc.c" ¶ | ||
| 1005 | "{Src}casefiddle.c" ¶ | ||
| 1006 | "{Src}casetab.c" ¶ | ||
| 1007 | "{Src}category.c" ¶ | ||
| 1008 | "{Src}ccl.c" ¶ | ||
| 1009 | "{Src}charset.c" ¶ | ||
| 1010 | "{Src}cm.c" ¶ | ||
| 1011 | "{Src}cmds.c" ¶ | ||
| 1012 | "{Src}coding.c" ¶ | ||
| 1013 | "{Src}composite.c" ¶ | ||
| 1014 | "{Src}data.c" ¶ | ||
| 1015 | "{Src}dired.c" ¶ | ||
| 1016 | "{Src}dispnew.c" ¶ | ||
| 1017 | "{Src}doc.c" ¶ | ||
| 1018 | "{Src}doprnt.c" ¶ | ||
| 1019 | "{Src}editfns.c" ¶ | ||
| 1020 | "{Src}emacs.c" ¶ | ||
| 1021 | "{Src}eval.c" ¶ | ||
| 1022 | "{Src}fileio.c" ¶ | ||
| 1023 | "{Src}filemode.c" ¶ | ||
| 1024 | "{Src}floatfns.c" ¶ | ||
| 1025 | "{Src}fns.c" ¶ | ||
| 1026 | "{Src}fontset.c" ¶ | ||
| 1027 | "{Src}frame.c" ¶ | ||
| 1028 | "{Src}fringe.c" ¶ | ||
| 1029 | "{Src}getloadavg.c" ¶ | ||
| 1030 | "{Src}image.c" ¶ | ||
| 1031 | "{Src}indent.c" ¶ | ||
| 1032 | "{Src}insdel.c" ¶ | ||
| 1033 | "{Src}intervals.c" ¶ | ||
| 1034 | "{Src}keyboard.c" ¶ | ||
| 1035 | "{Src}keymap.c" ¶ | ||
| 1036 | "{Src}lastfile.c" ¶ | ||
| 1037 | "{Src}lread.c" ¶ | ||
| 1038 | "{Src}macros.c" ¶ | ||
| 1039 | "{Src}marker.c" ¶ | ||
| 1040 | "{Src}minibuf.c" ¶ | ||
| 1041 | "{Src}mktime.c" ¶ | ||
| 1042 | "{Src}print.c" ¶ | ||
| 1043 | "{Src}process.c" ¶ | ||
| 1044 | "{Src}regex.c" ¶ | ||
| 1045 | "{Src}region-cache.c" ¶ | ||
| 1046 | "{Src}scroll.c" ¶ | ||
| 1047 | "{Src}search.c" ¶ | ||
| 1048 | "{Src}strftime.c" ¶ | ||
| 1049 | "{Src}syntax.c" ¶ | ||
| 1050 | "{Src}sysdep.c" ¶ | ||
| 1051 | "{Src}term.c" ¶ | ||
| 1052 | "{Src}termcap.c" ¶ | ||
| 1053 | "{Src}textprop.c" ¶ | ||
| 1054 | "{Src}tparam.c" ¶ | ||
| 1055 | "{Src}undo.c" ¶ | ||
| 1056 | "{Src}window.c" ¶ | ||
| 1057 | "{Src}xdisp.c" ¶ | ||
| 1058 | "{Src}xfaces.c" ¶ | ||
| 1059 | "{Src}xmenu.c" | ||
| 1060 | |||
| 1061 | MacSource = ¶ | ||
| 1062 | "{Src}mac.c" ¶ | ||
| 1063 | "{Src}macfns.c" ¶ | ||
| 1064 | "{Src}macterm.c" | ||
| 1065 | |||
| 1066 | |||
| 1067 | LispSource = ¶ | ||
| 1068 | {Lisp}menu-bar.elc ¶ | ||
| 1069 | {Lisp}mouse.elc ¶ | ||
| 1070 | {Lisp}select.elc ¶ | ||
| 1071 | {Lisp}scroll-bar.elc ¶ | ||
| 1072 | {Lisp}vmsproc.elc ¶ | ||
| 1073 | {Lisp}vms-patch.elc ¶ | ||
| 1074 | {Lisp}ls-lisp.elc ¶ | ||
| 1075 | {Lisp}dos-fns.elc ¶ | ||
| 1076 | {Lisp}w32-fns.elc ¶ | ||
| 1077 | {Lisp}dos-w32.elc ¶ | ||
| 1078 | {Lisp}disp-table.elc ¶ | ||
| 1079 | {Lisp}dos-vars.elc ¶ | ||
| 1080 | {Lisp}international:ccl.elc ¶ | ||
| 1081 | {Lisp}international:codepage.elc ¶ | ||
| 1082 | {Lisp}abbrev.elc ¶ | 1006 | {Lisp}abbrev.elc ¶ |
| 1083 | {Lisp}buff-menu.elc ¶ | 1007 | {Lisp}buff-menu.elc ¶ |
| 1008 | {Lisp}button.elc ¶ | ||
| 1084 | {Lisp}emacs-lisp:byte-run.elc ¶ | 1009 | {Lisp}emacs-lisp:byte-run.elc ¶ |
| 1085 | {Lisp}cus-start.el ¶ | 1010 | {Lisp}cus-face.elc ¶ |
| 1011 | {Lisp}cus-start.elc ¶ | ||
| 1086 | {Lisp}custom.elc ¶ | 1012 | {Lisp}custom.elc ¶ |
| 1013 | {Lisp}emacs-lisp:backquote.elc ¶ | ||
| 1087 | {Lisp}emacs-lisp:lisp-mode.elc ¶ | 1014 | {Lisp}emacs-lisp:lisp-mode.elc ¶ |
| 1088 | {Lisp}emacs-lisp:lisp.elc ¶ | 1015 | {Lisp}emacs-lisp:lisp.elc ¶ |
| 1089 | {Lisp}facemenu.elc ¶ | 1016 | {Lisp}facemenu.elc ¶ |
| @@ -1099,18 +1026,47 @@ LispSource = ¶ | |||
| 1099 | {Lisp}loaddefs.el ¶ | 1026 | {Lisp}loaddefs.el ¶ |
| 1100 | {Lisp}bindings.elc ¶ | 1027 | {Lisp}bindings.elc ¶ |
| 1101 | {Lisp}emacs-lisp:map-ynp.elc ¶ | 1028 | {Lisp}emacs-lisp:map-ynp.elc ¶ |
| 1029 | {Lisp}env.elc ¶ | ||
| 1102 | {Lisp}international:mule.elc ¶ | 1030 | {Lisp}international:mule.elc ¶ |
| 1103 | {Lisp}international:mule-conf.el ¶ | 1031 | {Lisp}international:mule-conf.el ¶ |
| 1104 | {Lisp}international:mule-cmds.elc ¶ | 1032 | {Lisp}international:mule-cmds.elc ¶ |
| 1105 | {Lisp}international:characters.elc ¶ | 1033 | {Lisp}international:characters.elc ¶ |
| 1034 | {Lisp}international:ucs-tables.elc ¶ | ||
| 1035 | {Lisp}international:utf-8.elc ¶ | ||
| 1036 | {Lisp}international:utf-16.elc ¶ | ||
| 1037 | {Lisp}international:latin-1.el ¶ | ||
| 1038 | {Lisp}international:latin-2.el ¶ | ||
| 1039 | {Lisp}international:latin-3.el ¶ | ||
| 1040 | {Lisp}international:latin-4.el ¶ | ||
| 1041 | {Lisp}international:latin-5.el ¶ | ||
| 1042 | {Lisp}international:latin-8.el ¶ | ||
| 1043 | {Lisp}international:latin-9.el ¶ | ||
| 1106 | {Lisp}case-table.elc ¶ | 1044 | {Lisp}case-table.elc ¶ |
| 1107 | {Lisp}language:chinese.elc ¶ | 1045 | {Lisp}language:chinese.elc ¶ |
| 1108 | {Lisp}language:cyrillic.elc ¶ | 1046 | {Lisp}language:cyrillic.elc ¶ |
| 1109 | {Lisp}language:indian.elc ¶ | 1047 | {Lisp}language:indian.elc ¶ |
| 1048 | {Lisp}language:devanagari.el ¶ | ||
| 1049 | {Lisp}language:kannada.el ¶ | ||
| 1050 | {Lisp}language:malayalam.el ¶ | ||
| 1051 | {Lisp}language:tamil.el ¶ | ||
| 1052 | {Lisp}language:english.el ¶ | ||
| 1110 | {Lisp}language:ethiopic.elc ¶ | 1053 | {Lisp}language:ethiopic.elc ¶ |
| 1111 | {Lisp}language:european.elc ¶ | 1054 | {Lisp}language:european.elc ¶ |
| 1055 | {Lisp}language:czech.el ¶ | ||
| 1056 | {Lisp}language:slovak.el ¶ | ||
| 1057 | {Lisp}language:romanian.el ¶ | ||
| 1058 | {Lisp}language:greek.el ¶ | ||
| 1059 | {Lisp}language:hebrew.el ¶ | ||
| 1060 | {Lisp}language:japanese.el ¶ | ||
| 1061 | {Lisp}language:korean.el ¶ | ||
| 1062 | {Lisp}language:lao.el ¶ | ||
| 1063 | {Lisp}language:thai.el ¶ | ||
| 1112 | {Lisp}language:tibetan.elc ¶ | 1064 | {Lisp}language:tibetan.elc ¶ |
| 1113 | {Lisp}language:vietnamese.elc ¶ | 1065 | {Lisp}language:vietnamese.elc ¶ |
| 1066 | {Lisp}language:misc-lang.el ¶ | ||
| 1067 | {Lisp}language:utf-8-lang.el ¶ | ||
| 1068 | {Lisp}language:georgian.el ¶ | ||
| 1069 | {Lisp}menu-bar.elc ¶ | ||
| 1114 | {Lisp}paths.el ¶ | 1070 | {Lisp}paths.el ¶ |
| 1115 | {Lisp}register.elc ¶ | 1071 | {Lisp}register.elc ¶ |
| 1116 | {Lisp}replace.elc ¶ | 1072 | {Lisp}replace.elc ¶ |
| @@ -1118,37 +1074,34 @@ LispSource = ¶ | |||
| 1118 | {Lisp}startup.elc ¶ | 1074 | {Lisp}startup.elc ¶ |
| 1119 | {Lisp}subr.elc ¶ | 1075 | {Lisp}subr.elc ¶ |
| 1120 | {Lisp}term:tty-colors.elc ¶ | 1076 | {Lisp}term:tty-colors.elc ¶ |
| 1077 | {Lisp}font-core.elc ¶ | ||
| 1121 | {Lisp}textmodes:fill.elc ¶ | 1078 | {Lisp}textmodes:fill.elc ¶ |
| 1122 | {Lisp}textmodes:page.elc ¶ | 1079 | {Lisp}textmodes:page.elc ¶ |
| 1123 | {Lisp}textmodes:paragraphs.elc ¶ | 1080 | {Lisp}textmodes:paragraphs.elc ¶ |
| 1124 | {Lisp}textmodes:text-mode.elc ¶ | 1081 | {Lisp}textmodes:text-mode.elc ¶ |
| 1082 | {Lisp}emacs-lisp:timer.elc ¶ | ||
| 1125 | {Lisp}vc-hooks.elc ¶ | 1083 | {Lisp}vc-hooks.elc ¶ |
| 1084 | {Lisp}jka-cmpr-hook.elc ¶ | ||
| 1126 | {Lisp}ediff-hook.elc ¶ | 1085 | {Lisp}ediff-hook.elc ¶ |
| 1127 | {Lisp}widget.elc ¶ | 1086 | {Lisp}widget.elc ¶ |
| 1128 | {Lisp}window.elc ¶ | 1087 | {Lisp}window.elc ¶ |
| 1129 | {Lisp}version.el | 1088 | {Lisp}version.el |
| 1130 | 1089 | ||
| 1131 | LispSourceDontCompile = ¶ | 1090 | SOME_MACHINE_LISP = {Lisp}mouse.elc ¶ |
| 1132 | {Lisp}language:devanagari.el ¶ | 1091 | {Lisp}select.elc {Lisp}scroll-bar.elc ¶ |
| 1133 | {Lisp}language:english.el ¶ | 1092 | {Lisp}vmsproc.elc {Lisp}vms-patch.elc ¶ |
| 1134 | {Lisp}language:czech.el ¶ | 1093 | {Lisp}ls-lisp.elc {Lisp}dos-fns.elc ¶ |
| 1135 | {Lisp}language:slovak.el ¶ | 1094 | {Lisp}w32-fns.elc {Lisp}dos-w32.elc ¶ |
| 1136 | {Lisp}language:romanian.el ¶ | 1095 | {Lisp}disp-table.elc {Lisp}dos-vars.elc ¶ |
| 1137 | {Lisp}language:greek.el ¶ | 1096 | {Lisp}tooltip.elc ¶ |
| 1138 | {Lisp}language:hebrew.el ¶ | 1097 | {Lisp}international:ccl.elc ¶ |
| 1139 | {Lisp}language:japanese.el ¶ | 1098 | {Lisp}international:codepage.elc |
| 1140 | {Lisp}language:korean.el ¶ | ||
| 1141 | {Lisp}language:lao.el ¶ | ||
| 1142 | {Lisp}language:thai.el ¶ | ||
| 1143 | {Lisp}language:misc-lang.el | ||
| 1144 | 1099 | ||
| 1145 | Doc Ä {DocTarget}DOC | 1100 | Doc Ä {DocTarget}DOC |
| 1146 | 1101 | ||
| 1147 | {DocTarget}DOC Ä {Makefile} {EmacsSource} {MacSource} {LispSource} {LispSourceDontCompile} {Make-DocFileDir}Make-DocFile | 1102 | {DocTarget}DOC Ä {Makefile} {shortlisp} {SOME_MACHINE_LISP} {Make-DocFileDir}Make-DocFile buildobj.lst |
| 1148 | {Make-DocFileDir}make-docfile {EmacsSource} > {DocTarget}DOC | 1103 | {Make-DocFileDir}make-docfile -d {Src} {SOME_MACHINE_OBJECTS} `Catenate buildobj.lst` > {DocTarget}DOC |
| 1149 | {Make-DocFileDir}make-docfile {MacSource} >> {DocTarget}DOC | 1104 | {Make-DocFileDir}make-docfile -a {DocTarget}DOC -d {Src} {SOME_MACHINE_LISP} {shortlisp} |
| 1150 | {Make-DocFileDir}make-docfile {LispSource} >> {DocTarget}DOC | ||
| 1151 | {Make-DocFileDir}make-docfile {LispSourceDontCompile} >> {DocTarget}DOC | ||
| 1152 | 1105 | ||
| 1153 | 1106 | ||
| 1154 | #-----------------------------------------------# | 1107 | #-----------------------------------------------# |
| @@ -1159,7 +1112,8 @@ Make-DocFile-Includes = -i :inc: | |||
| 1159 | Make-DocFile-Sym = | 1112 | Make-DocFile-Sym = |
| 1160 | 1113 | ||
| 1161 | Make-DocFile-PPCCOptions = -typecheck relaxed -w off -noMapCR ¶ | 1114 | Make-DocFile-PPCCOptions = -typecheck relaxed -w off -noMapCR ¶ |
| 1162 | {Make-DocFile-Includes} {Make-DocFile-Sym} | 1115 | -d MAC_OS -d MAC_OS8 ¶ |
| 1116 | {Make-DocFile-Includes} {Make-DocFile-Sym} | ||
| 1163 | 1117 | ||
| 1164 | Make-DocFile-Objects = ¶ | 1118 | Make-DocFile-Objects = ¶ |
| 1165 | "{Lib-Src}make-docfile.c.x" ¶ | 1119 | "{Lib-Src}make-docfile.c.x" ¶ |
diff --git a/man/ChangeLog b/man/ChangeLog index 8574bd8f205..acde7c5b491 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,78 @@ | |||
| 1 | 2005-05-18 Luc Teirlinck <teirllm@auburn.edu> | ||
| 2 | |||
| 3 | * buffers.texi (Select Buffer): Document `C-u M-g M-g'. | ||
| 4 | |||
| 5 | * basic.texi (Moving Point): Mention default for `goto-line'. | ||
| 6 | |||
| 7 | * programs.texi (Lisp Doc): Eldoc mode shows only the first line | ||
| 8 | of a variable's docstring. | ||
| 9 | |||
| 10 | 2005-05-18 Lute Kamstra <lute@gnu.org> | ||
| 11 | |||
| 12 | * maintaining.texi (Overview of Emerge): Add cross reference. | ||
| 13 | Remove duplication. | ||
| 14 | |||
| 15 | * emacs.texi (Top): Update to the current structure of the manual. | ||
| 16 | * misc.texi (Emacs Server): Add menu description. | ||
| 17 | * files.texi (Saving): Fix menu. | ||
| 18 | * custom.texi (Customization): Fix menu. | ||
| 19 | * mule.texi (International): Fix menu. | ||
| 20 | * kmacro.texi (Keyboard Macros): Fix menu. | ||
| 21 | |||
| 22 | 2005-05-16 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23 | |||
| 24 | * display.texi: Various minor changes. | ||
| 25 | (Faces): Delete text that is repeated in the next section. | ||
| 26 | |||
| 27 | 2005-05-16 Nick Roberts <nickrob@snap.net.nz> | ||
| 28 | |||
| 29 | * building.texi (Debugger Operation): Mention GUD tooltips are | ||
| 30 | disabled with GDB in text command mode. | ||
| 31 | |||
| 32 | 2005-05-16 Jay Belanger <belanger@truman.edu> | ||
| 33 | |||
| 34 | * calc.texi (Storing Variables): Mention `calc-copy-special-constant'. | ||
| 35 | |||
| 36 | 2005-05-16 Nick Roberts <nickrob@snap.net.nz> | ||
| 37 | |||
| 38 | * building.texi: Replace toolbar with "tool bar" for consistency. | ||
| 39 | (Compilation Mode): Describe compilation-context-lines | ||
| 40 | and use of arrow in compilation buffer. | ||
| 41 | (Debugger Operation): Replace help text with variable's value. | ||
| 42 | |||
| 43 | * frames.texi (Tooltips): Replace toolbar with "tool bar" for | ||
| 44 | consistency. | ||
| 45 | |||
| 46 | 2005-05-15 Luc Teirlinck <teirllm@auburn.edu> | ||
| 47 | |||
| 48 | * major.texi (Choosing Modes): normal-mode processes the -*- line. | ||
| 49 | Add xref. | ||
| 50 | |||
| 51 | 2005-05-14 Jay Belanger <belanger@truman.edu> | ||
| 52 | |||
| 53 | * calc.texi (Default Simplifications): Insert missing ! (logical | ||
| 54 | not operator). | ||
| 55 | |||
| 56 | 2005-05-14 Michael Albinus <michael.albinus@gmx.de> | ||
| 57 | |||
| 58 | Sync with Tramp 2.0.49. | ||
| 59 | |||
| 60 | 2005-05-14 Luc Teirlinck <teirllm@auburn.edu> | ||
| 61 | |||
| 62 | * basic.texi (Moving Point): Mention `M-g g' binding for `goto-line'. | ||
| 63 | (Position Info): Delete discussion of `goto-line'. It is already | ||
| 64 | described in `Moving point'. | ||
| 65 | |||
| 66 | * mini.texi (Completion Commands): Correct reference. | ||
| 67 | (Completion Options): Fix typo. | ||
| 68 | |||
| 69 | * killing.texi (Deletion): Complete description of `C-x C-o'. | ||
| 70 | |||
| 71 | 2005-05-10 Jay Belanger <belanger@truman.edu> | ||
| 72 | |||
| 73 | * calc.texi (Default Simplifications): Mention that 0^0 simplifies | ||
| 74 | to 1. | ||
| 75 | |||
| 1 | 2005-05-10 Richard M. Stallman <rms@gnu.org> | 76 | 2005-05-10 Richard M. Stallman <rms@gnu.org> |
| 2 | 77 | ||
| 3 | * building.texi (Compilation): Clarify recompile's directory choice. | 78 | * building.texi (Compilation): Clarify recompile's directory choice. |
diff --git a/man/basic.texi b/man/basic.texi index 3fbaff2a1e7..d94e52b0112 100644 --- a/man/basic.texi +++ b/man/basic.texi | |||
| @@ -238,9 +238,12 @@ it is commonly used to do so. If your keyboard has a @key{PAGEUP} or | |||
| 238 | Read a number @var{n} and move point to buffer position @var{n}. | 238 | Read a number @var{n} and move point to buffer position @var{n}. |
| 239 | Position 1 is the beginning of the buffer. | 239 | Position 1 is the beginning of the buffer. |
| 240 | @item M-g M-g | 240 | @item M-g M-g |
| 241 | @itemx M-g g | ||
| 241 | @itemx M-x goto-line | 242 | @itemx M-x goto-line |
| 242 | Read a number @var{n} and move point to line number @var{n}. Line 1 | 243 | Read a number @var{n} and move point to the beginning of line number |
| 243 | is the beginning of the buffer. | 244 | @var{n}. Line 1 is the beginning of the buffer. If point is on or |
| 245 | just after a number, then that is the default for @var{n}, if you just | ||
| 246 | press @key{RET} with an empty minibuffer. | ||
| 244 | @item C-x C-n | 247 | @item C-x C-n |
| 245 | @findex set-goal-column | 248 | @findex set-goal-column |
| 246 | @kindex C-x C-n | 249 | @kindex C-x C-n |
| @@ -595,19 +598,13 @@ Toggle automatic display of the size of the buffer. | |||
| 595 | @cindex location of point | 598 | @cindex location of point |
| 596 | @cindex cursor location | 599 | @cindex cursor location |
| 597 | @cindex point location | 600 | @cindex point location |
| 598 | There are two commands for working with line numbers. @kbd{M-x | 601 | @kbd{M-x what-line} computes the current line number and displays it |
| 599 | what-line} computes the current line number and displays it in the | 602 | in the echo area. You can also see the current line number in the |
| 600 | echo area. To go to a given line by number, use @kbd{M-g M-g} or | 603 | mode line; see @ref{Mode Line}. If you narrow the buffer, then the |
| 601 | @kbd{M-g g} (@code{goto-line}). This prompts you for a line number, | 604 | line number in the mode line is relative to the accessible portion |
| 602 | then moves point to the beginning of that line. To move to a given | 605 | (@pxref{Narrowing}). By contrast, @code{what-line} shows both the |
| 603 | line in the most recently displayed other buffer, use @kbd{C-u M-g | 606 | line number relative to the narrowed region and the line number |
| 604 | M-g}. Line numbers in Emacs count from one at the beginning of the buffer. | 607 | relative to the whole buffer. |
| 605 | |||
| 606 | You can also see the current line number in the mode line; see @ref{Mode | ||
| 607 | Line}. If you narrow the buffer, then the line number in the mode line | ||
| 608 | is relative to the accessible portion (@pxref{Narrowing}). By contrast, | ||
| 609 | @code{what-line} shows both the line number relative to the narrowed | ||
| 610 | region and the line number relative to the whole buffer. | ||
| 611 | 608 | ||
| 612 | @kbd{M-x what-page} counts pages from the beginning of the file, and | 609 | @kbd{M-x what-page} counts pages from the beginning of the file, and |
| 613 | counts lines within the page, showing both numbers in the echo area. | 610 | counts lines within the page, showing both numbers in the echo area. |
diff --git a/man/buffers.texi b/man/buffers.texi index 97234966b4b..694c7780854 100644 --- a/man/buffers.texi +++ b/man/buffers.texi | |||
| @@ -77,6 +77,10 @@ Similar, but select @var{buffer} in another window | |||
| 77 | @item C-x 5 b @var{buffer} @key{RET} | 77 | @item C-x 5 b @var{buffer} @key{RET} |
| 78 | Similar, but select @var{buffer} in a separate frame | 78 | Similar, but select @var{buffer} in a separate frame |
| 79 | (@code{switch-to-buffer-other-frame}). | 79 | (@code{switch-to-buffer-other-frame}). |
| 80 | @item C-u M-g M-g | ||
| 81 | @itemx C-u M-g g | ||
| 82 | Read a number @var{n} and move to line @var{n} in the most recently | ||
| 83 | selected buffer other than the current buffer. | ||
| 80 | @end table | 84 | @end table |
| 81 | 85 | ||
| 82 | @kindex C-x b | 86 | @kindex C-x b |
| @@ -139,6 +143,19 @@ Modes}). | |||
| 139 | can also be used to switch to an existing file-visiting buffer. | 143 | can also be used to switch to an existing file-visiting buffer. |
| 140 | @xref{Visiting}. | 144 | @xref{Visiting}. |
| 141 | 145 | ||
| 146 | @kbd{C-u M-g M-g}, that is @code{goto-line} with a prefix argument | ||
| 147 | of just @kbd{C-u}, reads a number @var{n} using the minibuffer, | ||
| 148 | selects the most recently selected buffer other than the current | ||
| 149 | buffer in another window, and then moves point to the beginning of | ||
| 150 | line number @var{n} in that buffer. This is mainly useful in a buffer | ||
| 151 | that refers to line numbers in another buffer: if point is on or just | ||
| 152 | after a number, @code{goto-line} uses that number as the default for | ||
| 153 | @var{n}. Note that prefix arguments other than just @kbd{C-u} behave | ||
| 154 | differently. @kbd{C-u 4 M-g M-g} goes to line 4 in the @emph{current} | ||
| 155 | buffer, without reading a number from the minibuffer. (Remember that | ||
| 156 | @kbd{M-g M-g} without prefix argument reads a number @var{n} and then | ||
| 157 | moves to line number @var{n} in the current buffer.) | ||
| 158 | |||
| 142 | Emacs uses buffer names that start with a space for internal purposes. | 159 | Emacs uses buffer names that start with a space for internal purposes. |
| 143 | It treats these buffers specially in minor ways---for example, by | 160 | It treats these buffers specially in minor ways---for example, by |
| 144 | default they do not record undo information. It is best to avoid using | 161 | default they do not record undo information. It is best to avoid using |
diff --git a/man/building.texi b/man/building.texi index 99bc20260b2..2182cccd8b9 100644 --- a/man/building.texi +++ b/man/building.texi | |||
| @@ -223,6 +223,14 @@ commands advance from there. When @kbd{C-x `} gets to the end of the | |||
| 223 | buffer and finds no more error messages to visit, it fails and signals | 223 | buffer and finds no more error messages to visit, it fails and signals |
| 224 | an Emacs error. | 224 | an Emacs error. |
| 225 | 225 | ||
| 226 | When the left fringe is displayed, an arrow points to the | ||
| 227 | current message in the compilation buffer. The variable | ||
| 228 | @code{compilation-context-lines} controls the number of lines of | ||
| 229 | leading context in the window before the current message. If it is | ||
| 230 | @code{nil} and the left fringe is displayed, the window doesn't | ||
| 231 | scroll. If there is no left fringe, no arrow is displayed and a value | ||
| 232 | of @code{nil} means display the message at the top of the window. | ||
| 233 | |||
| 226 | You don't have to be in the compilation buffer in order to use | 234 | You don't have to be in the compilation buffer in order to use |
| 227 | @code{next-error}. If one window on the selected frame can be the | 235 | @code{next-error}. If one window on the selected frame can be the |
| 228 | target of the @code{next-error} call, it is used. Else, if a buffer | 236 | target of the @code{next-error} call, it is used. Else, if a buffer |
| @@ -504,8 +512,13 @@ with a C program, you can also display the @code{#define} directive | |||
| 504 | associated with an identifier when the program is not executing. This | 512 | associated with an identifier when the program is not executing. This |
| 505 | operates in the GUD buffer and in source buffers with major modes in | 513 | operates in the GUD buffer and in source buffers with major modes in |
| 506 | the list @code{gud-tooltip-modes}. If the variable | 514 | the list @code{gud-tooltip-modes}. If the variable |
| 507 | @code{gud-tooltip-echo-area} is non-@code{nil} then the help text is | 515 | @code{gud-tooltip-echo-area} is non-@code{nil} then the variable's |
| 508 | displayed in the echo area. | 516 | value is displayed in the echo area. |
| 517 | |||
| 518 | With GDB in text command mode (@pxref{GDB Graphical Interface}), | ||
| 519 | it is possible that use of GUD tooltips can cause a function to be | ||
| 520 | called with harmful side-effects. In this case, Emacs disables | ||
| 521 | gud-tooltip-mode. | ||
| 509 | 522 | ||
| 510 | @node Commands of GUD | 523 | @node Commands of GUD |
| 511 | @subsection Commands of GUD | 524 | @subsection Commands of GUD |
| @@ -515,7 +528,7 @@ commands of Shell mode are available (@pxref{Shell Mode}). GUD mode | |||
| 515 | also provides commands for setting and clearing breakpoints, for | 528 | also provides commands for setting and clearing breakpoints, for |
| 516 | selecting stack frames, and for stepping through the program. These | 529 | selecting stack frames, and for stepping through the program. These |
| 517 | commands are available both in the GUD buffer and globally, but with | 530 | commands are available both in the GUD buffer and globally, but with |
| 518 | different key bindings. It also has its own toolbar from which you | 531 | different key bindings. It also has its own tool bar from which you |
| 519 | can invoke the more common commands by clicking on the appropriate | 532 | can invoke the more common commands by clicking on the appropriate |
| 520 | icon. This is particularly useful for repetitive commands like | 533 | icon. This is particularly useful for repetitive commands like |
| 521 | gud-next and gud-step and allows the user to hide the GUD buffer. | 534 | gud-next and gud-step and allows the user to hide the GUD buffer. |
| @@ -742,7 +755,7 @@ that line, this action will remove it | |||
| 742 | (@code{gdb-mouse-set-clear-breakpoint}). Where Emacs uses the margin | 755 | (@code{gdb-mouse-set-clear-breakpoint}). Where Emacs uses the margin |
| 743 | to display breakpoints, it is also possible to enable or disable them | 756 | to display breakpoints, it is also possible to enable or disable them |
| 744 | when you click @kbd{Mouse-3} there | 757 | when you click @kbd{Mouse-3} there |
| 745 | (@code{gdb-mouse-toggle--breakpoint}). | 758 | (@code{gdb-mouse-toggle-breakpoint}). |
| 746 | 759 | ||
| 747 | @vindex gud-gdb-command-name | 760 | @vindex gud-gdb-command-name |
| 748 | @findex gdba | 761 | @findex gdba |
| @@ -869,7 +882,7 @@ the variables that are local to the new frame. | |||
| 869 | 882 | ||
| 870 | If you want to see how a variable changes each time your program stops | 883 | If you want to see how a variable changes each time your program stops |
| 871 | then place the cursor over the variable name and click on the watch | 884 | then place the cursor over the variable name and click on the watch |
| 872 | icon in the toolbar (@code{gud-watch}). | 885 | icon in the tool bar (@code{gud-watch}). |
| 873 | 886 | ||
| 874 | Each watch expression is displayed in the speedbar. Complex data | 887 | Each watch expression is displayed in the speedbar. Complex data |
| 875 | types, such as arrays, structures and unions are represented in a tree | 888 | types, such as arrays, structures and unions are represented in a tree |
diff --git a/man/calc.texi b/man/calc.texi index 97f06047773..5d0af765f15 100644 --- a/man/calc.texi +++ b/man/calc.texi | |||
| @@ -22660,11 +22660,10 @@ to @expr{a / (c - b)}, and @expr{(a - b) / (-c)} to @expr{(b - a) / c}. | |||
| 22660 | 22660 | ||
| 22661 | The formula @expr{x^0} is simplified to @expr{1}, or to @samp{idn(1)} | 22661 | The formula @expr{x^0} is simplified to @expr{1}, or to @samp{idn(1)} |
| 22662 | in Matrix mode. The formula @expr{0^x} is simplified to @expr{0} | 22662 | in Matrix mode. The formula @expr{0^x} is simplified to @expr{0} |
| 22663 | unless @expr{x} is a negative number or complex number, in which | 22663 | unless @expr{x} is a negative number, complex number or zero. |
| 22664 | case the result is an infinity or an unsimplified formula according | 22664 | If @expr{x} is negative, complex or @expr{0.0}, @expr{0^x} is an |
| 22665 | to the current infinite mode. Note that @expr{0^0} is an | 22665 | infinity or an unsimplified formula according to the current infinite |
| 22666 | indeterminate form, as evidenced by the fact that the simplifications | 22666 | mode. The expression @expr{0^0} is simplified to @expr{1}. |
| 22667 | for @expr{x^0} and @expr{0^x} conflict when @expr{x=0}. | ||
| 22668 | 22667 | ||
| 22669 | Powers of products or quotients @expr{(a b)^c}, @expr{(a/b)^c} | 22668 | Powers of products or quotients @expr{(a b)^c}, @expr{(a/b)^c} |
| 22670 | are distributed to @expr{a^c b^c}, @expr{a^c / b^c} only if @expr{c} | 22669 | are distributed to @expr{a^c b^c}, @expr{a^c / b^c} only if @expr{c} |
| @@ -22766,7 +22765,7 @@ simplified to @expr{x} for any @expr{x}. This occurs even if you have | |||
| 22766 | stored a different value in the Calc variable @samp{e}; but this would | 22765 | stored a different value in the Calc variable @samp{e}; but this would |
| 22767 | be a bad idea in any case if you were also using natural logarithms! | 22766 | be a bad idea in any case if you were also using natural logarithms! |
| 22768 | 22767 | ||
| 22769 | Among the logical functions, @tfn{(@var{a} <= @var{b})} changes to | 22768 | Among the logical functions, @tfn{!(@var{a} <= @var{b})} changes to |
| 22770 | @tfn{@var{a} > @var{b}} and so on. Equations and inequalities where both sides | 22769 | @tfn{@var{a} > @var{b}} and so on. Equations and inequalities where both sides |
| 22771 | are either negative-looking or zero are simplified by negating both sides | 22770 | are either negative-looking or zero are simplified by negating both sides |
| 22772 | and reversing the inequality. While it might seem reasonable to simplify | 22771 | and reversing the inequality. While it might seem reasonable to simplify |
| @@ -28299,6 +28298,15 @@ will be left alone even if you press @kbd{=} (@code{calc-evaluate}). | |||
| 28299 | The @kbd{s u} (@code{calc-unstore}) command returns a variable to the | 28298 | The @kbd{s u} (@code{calc-unstore}) command returns a variable to the |
| 28300 | void state. | 28299 | void state. |
| 28301 | 28300 | ||
| 28301 | @kindex s c | ||
| 28302 | @pindex calc-copy-variable | ||
| 28303 | The @kbd{s c} (@code{calc-copy-variable}) command copies the stored | ||
| 28304 | value of one variable to another. One way it differs from a simple | ||
| 28305 | @kbd{s r} followed by an @kbd{s t} (aside from saving keystrokes) is | ||
| 28306 | that the value never goes on the stack and thus is never rounded, | ||
| 28307 | evaluated, or simplified in any way; it is not even rounded down to the | ||
| 28308 | current precision. | ||
| 28309 | |||
| 28302 | The only variables with predefined values are the ``special constants'' | 28310 | The only variables with predefined values are the ``special constants'' |
| 28303 | @code{pi}, @code{e}, @code{i}, @code{phi}, and @code{gamma}. You are free | 28311 | @code{pi}, @code{e}, @code{i}, @code{phi}, and @code{gamma}. You are free |
| 28304 | to unstore these variables or to store new values into them if you like, | 28312 | to unstore these variables or to store new values into them if you like, |
| @@ -28308,25 +28316,26 @@ you change the value of one of these variables, or of one of the other | |||
| 28308 | special variables @code{inf}, @code{uinf}, and @code{nan} (which are | 28316 | special variables @code{inf}, @code{uinf}, and @code{nan} (which are |
| 28309 | normally void). | 28317 | normally void). |
| 28310 | 28318 | ||
| 28311 | Note that @code{pi} doesn't actually have 3.14159265359 stored | 28319 | Note that @code{pi} doesn't actually have 3.14159265359 stored in it, |
| 28312 | in it, but rather a special magic value that evaluates to @cpi{} | 28320 | but rather a special magic value that evaluates to @cpi{} at the current |
| 28313 | at the current precision. Likewise @code{e}, @code{i}, and | 28321 | precision. Likewise @code{e}, @code{i}, and @code{phi} evaluate |
| 28314 | @code{phi} evaluate according to the current precision or polar mode. | 28322 | according to the current precision or polar mode. If you recall a value |
| 28315 | If you recall a value from @code{pi} and store it back, this magic | 28323 | from @code{pi} and store it back, this magic property will be lost. The |
| 28316 | property will be lost. | 28324 | magic property is preserved, however, when a variable is copied with |
| 28317 | 28325 | @kbd{s c}. | |
| 28318 | @kindex s c | 28326 | |
| 28319 | @pindex calc-copy-variable | 28327 | @kindex s k |
| 28320 | The @kbd{s c} (@code{calc-copy-variable}) command copies the stored | 28328 | @pindex calc-copy-special-constant |
| 28321 | value of one variable to another. It differs from a simple @kbd{s r} | 28329 | If one of the ``special constants'' is redefined (or undefined) so that |
| 28322 | followed by an @kbd{s t} in two important ways. First, the value never | 28330 | it no longer has its magic property, the property can be restored with |
| 28323 | goes on the stack and thus is never rounded, evaluated, or simplified | 28331 | @kbd{s k} (@code{calc-copy-special-constant}). This command will prompt |
| 28324 | in any way; it is not even rounded down to the current precision. | 28332 | for a special constant and a variable to store it in, and so a special |
| 28325 | Second, the ``magic'' contents of a variable like @code{e} can | 28333 | constant can be stored in any variable. Here, the special constant that |
| 28326 | be copied into another variable with this command, perhaps because | 28334 | you enter doesn't depend on the value of the corresponding variable; |
| 28327 | you need to unstore @code{e} right now but you wish to put it | 28335 | @code{pi} will represent 3.14159@dots{} regardless of what is currently |
| 28328 | back when you're done. The @kbd{s c} command is the only way to | 28336 | stored in the Calc variable @code{pi}. If one of the other special |
| 28329 | manipulate these magic values intact. | 28337 | variables, @code{inf}, @code{uinf} or @code{nan}, is given a value, its |
| 28338 | original behavior can be restored by voiding it with @kbd{s u}. | ||
| 28330 | 28339 | ||
| 28331 | @node Recalling Variables, Operations on Variables, Storing Variables, Store and Recall | 28340 | @node Recalling Variables, Operations on Variables, Storing Variables, Store and Recall |
| 28332 | @section Recalling Variables | 28341 | @section Recalling Variables |
| @@ -35616,6 +35625,7 @@ keystrokes are not listed in this summary. | |||
| 35616 | @r{ @: s d @:var, decl @: @:calc-declare-variable@:} | 35625 | @r{ @: s d @:var, decl @: @:calc-declare-variable@:} |
| 35617 | @r{ @: s e @:var, editing @: 29,30 @:calc-edit-variable@:} | 35626 | @r{ @: s e @:var, editing @: 29,30 @:calc-edit-variable@:} |
| 35618 | @r{ @: s i @:buffer @: @:calc-insert-variables@:} | 35627 | @r{ @: s i @:buffer @: @:calc-insert-variables@:} |
| 35628 | @r{ @: s k @:const, var @: 29 @:calc-copy-special-constant@:} | ||
| 35619 | @r{ a b@: s l @:var @: 29 @:@:a (letting var=b)} | 35629 | @r{ a b@: s l @:var @: 29 @:@:a (letting var=b)} |
| 35620 | @r{ a ...@: s m @:op, var @: 22,29 @:calc-store-map@:} | 35630 | @r{ a ...@: s m @:op, var @: 22,29 @:calc-store-map@:} |
| 35621 | @r{ @: s n @:var @: 29,47 @:calc-store-neg@: (v/-1)} | 35631 | @r{ @: s n @:var @: 29,47 @:calc-store-neg@: (v/-1)} |
diff --git a/man/custom.texi b/man/custom.texi index 26c76c68562..ffded429c48 100644 --- a/man/custom.texi +++ b/man/custom.texi | |||
| @@ -27,19 +27,17 @@ replay sequences of keys. | |||
| 27 | @menu | 27 | @menu |
| 28 | * Minor Modes:: Each minor mode is one feature you can turn on | 28 | * Minor Modes:: Each minor mode is one feature you can turn on |
| 29 | independently of any others. | 29 | independently of any others. |
| 30 | * Easy Customization:: | 30 | * Easy Customization:: Convenient way to browse and change user options. |
| 31 | Convenient way to browse and change user options. | ||
| 32 | * Variables:: Many Emacs commands examine Emacs variables | 31 | * Variables:: Many Emacs commands examine Emacs variables |
| 33 | to decide what to do; by setting variables, | 32 | to decide what to do; by setting variables, |
| 34 | you can control their functioning. | 33 | you can control their functioning. |
| 35 | * Key Bindings:: The keymaps say what command each key runs. | 34 | * Key Bindings:: The keymaps say what command each key runs. |
| 36 | By changing them, you can "redefine keys". | 35 | By changing them, you can "redefine keys". |
| 37 | * Keyboard Translations:: | 36 | * Keyboard Translations:: If your keyboard passes an undesired code |
| 38 | If your keyboard passes an undesired code | 37 | for a key, you can tell Emacs to |
| 39 | for a key, you can tell Emacs to | 38 | substitute another code. |
| 40 | substitute another code. | ||
| 41 | * Syntax:: The syntax table controls how words and | 39 | * Syntax:: The syntax table controls how words and |
| 42 | expressions are parsed. | 40 | expressions are parsed. |
| 43 | * Init File:: How to write common customizations in the | 41 | * Init File:: How to write common customizations in the |
| 44 | @file{.emacs} file. | 42 | @file{.emacs} file. |
| 45 | @end menu | 43 | @end menu |
diff --git a/man/display.texi b/man/display.texi index c1b0c540fb5..b4e72edc9ca 100644 --- a/man/display.texi +++ b/man/display.texi | |||
| @@ -177,13 +177,9 @@ style of this face (@pxref{Face Customization}). @xref{Transient Mark}, | |||
| 177 | for more information about Transient Mark mode and activation and | 177 | for more information about Transient Mark mode and activation and |
| 178 | deactivation of the mark. | 178 | deactivation of the mark. |
| 179 | 179 | ||
| 180 | One easy way to use faces is to turn on Font Lock mode. This minor | 180 | One easy way to use faces is to turn on Font Lock mode. @xref{Font |
| 181 | mode, which is always local to a particular buffer, arranges to | 181 | Lock}, for more information about Font Lock mode and syntactic |
| 182 | choose faces according to the syntax of the text you are editing. It | 182 | highlighting. |
| 183 | can recognize comments and strings in most languages; in several | ||
| 184 | languages, it can also recognize and properly highlight various other | ||
| 185 | important constructs. @xref{Font Lock}, for more information about | ||
| 186 | Font Lock mode and syntactic highlighting. | ||
| 187 | 183 | ||
| 188 | You can print out the buffer with the highlighting that appears | 184 | You can print out the buffer with the highlighting that appears |
| 189 | on your screen using the command @code{ps-print-buffer-with-faces}. | 185 | on your screen using the command @code{ps-print-buffer-with-faces}. |
| @@ -206,11 +202,12 @@ specialized ways of assigning fonts for Font Lock mode. | |||
| 206 | 202 | ||
| 207 | @findex font-lock-mode | 203 | @findex font-lock-mode |
| 208 | @findex turn-on-font-lock | 204 | @findex turn-on-font-lock |
| 209 | The command @kbd{M-x font-lock-mode} turns Font Lock mode on or off | 205 | The command @kbd{M-x font-lock-mode} turns Font Lock mode on with |
| 210 | according to the argument, and toggles the mode when it has no argument. | 206 | positive argument, off with negative or zero argument, and toggles the |
| 211 | The function @code{turn-on-font-lock} unconditionally enables Font Lock | 207 | mode when it has no argument. The function @code{turn-on-font-lock} |
| 212 | mode. This is useful in mode-hook functions. For example, to enable | 208 | unconditionally enables Font Lock mode. This is useful in mode-hook |
| 213 | Font Lock mode whenever you edit a C file, you can do this: | 209 | functions. For example, to enable Font Lock mode whenever you edit a |
| 210 | C file, you can do this: | ||
| 214 | 211 | ||
| 215 | @example | 212 | @example |
| 216 | (add-hook 'c-mode-hook 'turn-on-font-lock) | 213 | (add-hook 'c-mode-hook 'turn-on-font-lock) |
| @@ -219,9 +216,9 @@ Font Lock mode whenever you edit a C file, you can do this: | |||
| 219 | @findex global-font-lock-mode | 216 | @findex global-font-lock-mode |
| 220 | @vindex global-font-lock-mode | 217 | @vindex global-font-lock-mode |
| 221 | To turn on Font Lock mode automatically in all modes which support | 218 | To turn on Font Lock mode automatically in all modes which support |
| 222 | it, customize the variable @code{global-font-lock-mode} or use the | 219 | it, customize the variable @code{global-font-lock-mode} using the |
| 223 | function @code{global-font-lock-mode} in your @file{.emacs} file, like | 220 | Customize interface (@pxref{Easy Customization}) or use the function |
| 224 | this: | 221 | @code{global-font-lock-mode} in your @file{.emacs} file, like this: |
| 225 | 222 | ||
| 226 | @example | 223 | @example |
| 227 | (global-font-lock-mode 1) | 224 | (global-font-lock-mode 1) |
| @@ -641,7 +638,7 @@ last, indicating that ``this is not the real end.'' | |||
| 641 | meaning ``there's more text on this line which is scrolled | 638 | meaning ``there's more text on this line which is scrolled |
| 642 | horizontally out of view;'' clicking the mouse on one of the arrows | 639 | horizontally out of view;'' clicking the mouse on one of the arrows |
| 643 | scrolls the display horizontally in the direction of the arrow. The | 640 | scrolls the display horizontally in the direction of the arrow. The |
| 644 | fringes also indicate other things such as empty lines, or where a | 641 | fringes can also indicate other things, such as empty lines, or where a |
| 645 | program you are debugging is executing (@pxref{Debuggers}). | 642 | program you are debugging is executing (@pxref{Debuggers}). |
| 646 | 643 | ||
| 647 | @findex set-fringe-style | 644 | @findex set-fringe-style |
| @@ -728,11 +725,12 @@ one large window. | |||
| 728 | of columns (you specify how many columns). You can use this to get an | 725 | of columns (you specify how many columns). You can use this to get an |
| 729 | overview of a part of a program. | 726 | overview of a part of a program. |
| 730 | 727 | ||
| 731 | To hide lines, type @kbd{C-x $} (@code{set-selective-display}) with a | 728 | To hide lines in the current buffer, type @kbd{C-x $} |
| 732 | numeric argument @var{n}. Then lines with at least @var{n} columns of | 729 | (@code{set-selective-display}) with a numeric argument @var{n}. Then |
| 733 | indentation disappear from the screen. The only indication of their | 730 | lines with at least @var{n} columns of indentation disappear from the |
| 734 | presence is that three dots (@samp{@dots{}}) appear at the end of each | 731 | screen. The only indication of their presence is that three dots |
| 735 | visible line that is followed by one or more hidden ones. | 732 | (@samp{@dots{}}) appear at the end of each visible line that is |
| 733 | followed by one or more hidden ones. | ||
| 736 | 734 | ||
| 737 | The commands @kbd{C-n} and @kbd{C-p} move across the hidden lines as | 735 | The commands @kbd{C-n} and @kbd{C-p} move across the hidden lines as |
| 738 | if they were not there. | 736 | if they were not there. |
diff --git a/man/ediff.texi b/man/ediff.texi index 318ac9e5c3f..8e176a49fe0 100644 --- a/man/ediff.texi +++ b/man/ediff.texi | |||
| @@ -155,6 +155,12 @@ Compare, Merge, and Apply Patch. | |||
| 155 | @findex ediff | 155 | @findex ediff |
| 156 | Compare two files. | 156 | Compare two files. |
| 157 | 157 | ||
| 158 | @item ediff-backup | ||
| 159 | @findex ediff-backup | ||
| 160 | Compare a file with its backup. If there are several numerical backups, use | ||
| 161 | the latest. If the file is itself a backup, then compare it with its | ||
| 162 | original. | ||
| 163 | |||
| 158 | @item ediff-buffers | 164 | @item ediff-buffers |
| 159 | @findex ediff-buffers | 165 | @findex ediff-buffers |
| 160 | Compare two buffers. | 166 | Compare two buffers. |
diff --git a/man/emacs.texi b/man/emacs.texi index 120e2648526..c5b6cdf3246 100644 --- a/man/emacs.texi +++ b/man/emacs.texi | |||
| @@ -12,7 +12,7 @@ This is the @value{EDITION} edition of the @cite{GNU Emacs Manual}, | |||
| 12 | updated for Emacs version @value{EMACSVER}. | 12 | updated for Emacs version @value{EMACSVER}. |
| 13 | 13 | ||
| 14 | Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, | 14 | Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, |
| 15 | 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc. | 15 | 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. |
| 16 | 16 | ||
| 17 | @quotation | 17 | @quotation |
| 18 | Permission is granted to copy, distribute and/or modify this document | 18 | Permission is granted to copy, distribute and/or modify this document |
| @@ -129,13 +129,10 @@ and Sending Mail and Registers and Minibuffer. | |||
| 129 | 129 | ||
| 130 | Indexes (nodes containing large menus) | 130 | Indexes (nodes containing large menus) |
| 131 | * Key Index:: An item for each standard Emacs key sequence. | 131 | * Key Index:: An item for each standard Emacs key sequence. |
| 132 | * Option Index:: An item for every command-line option. | ||
| 132 | * Command Index:: An item for each command name. | 133 | * Command Index:: An item for each command name. |
| 133 | * Variable Index:: An item for each documented variable. | 134 | * Variable Index:: An item for each documented variable. |
| 134 | * Concept Index:: An item for each concept. | 135 | * Concept Index:: An item for each concept. |
| 135 | @c This is last because @ifnottex leaves an empty line. | ||
| 136 | @ifnottex | ||
| 137 | * Option Index:: An item for every command-line option. | ||
| 138 | @end ifnottex | ||
| 139 | 136 | ||
| 140 | Important General Concepts | 137 | Important General Concepts |
| 141 | * Screen:: How to interpret what you see on the screen. | 138 | * Screen:: How to interpret what you see on the screen. |
| @@ -196,17 +193,14 @@ Advanced Features | |||
| 196 | * Emacs Server:: Using Emacs as an editing server for @code{mail}, etc. | 193 | * Emacs Server:: Using Emacs as an editing server for @code{mail}, etc. |
| 197 | * Hardcopy:: Printing buffers or regions. | 194 | * Hardcopy:: Printing buffers or regions. |
| 198 | * PostScript:: Printing buffers or regions as PostScript. | 195 | * PostScript:: Printing buffers or regions as PostScript. |
| 199 | * PostScript Variables:: | 196 | * PostScript Variables::Customizing the PostScript printing commands. |
| 200 | Customizing the PostScript printing commands. | ||
| 201 | * Sorting:: Sorting lines, paragraphs or pages within Emacs. | 197 | * Sorting:: Sorting lines, paragraphs or pages within Emacs. |
| 202 | * Narrowing:: Restricting display and editing to a portion | 198 | * Narrowing:: Restricting display and editing to a portion |
| 203 | of the buffer. | 199 | of the buffer. |
| 204 | * Two-Column:: Splitting apart columns to edit them | 200 | * Two-Column:: Splitting apart columns to edit them |
| 205 | in side-by-side windows. | 201 | in side-by-side windows. |
| 206 | * Editing Binary Files:: | 202 | * Editing Binary Files::Using Hexl mode to edit binary files. |
| 207 | Using Hexl mode to edit binary files. | 203 | * Saving Emacs Sessions:: Saving Emacs state from one session to the next. |
| 208 | * Saving Emacs Sessions:: | ||
| 209 | Saving Emacs state from one session to the next. | ||
| 210 | * Recursive Edit:: A command can allow you to do editing | 204 | * Recursive Edit:: A command can allow you to do editing |
| 211 | "within the command". This is called a | 205 | "within the command". This is called a |
| 212 | "recursive editing level". | 206 | "recursive editing level". |
| @@ -224,7 +218,6 @@ Recovery from Problems | |||
| 224 | * Contributing:: How to contribute improvements to Emacs. | 218 | * Contributing:: How to contribute improvements to Emacs. |
| 225 | * Service:: How to get help for your own Emacs needs. | 219 | * Service:: How to get help for your own Emacs needs. |
| 226 | 220 | ||
| 227 | |||
| 228 | Detailed Node Listing | 221 | Detailed Node Listing |
| 229 | --------------------- | 222 | --------------------- |
| 230 | 223 | ||
| @@ -245,12 +238,13 @@ Basic Editing Commands | |||
| 245 | change something. | 238 | change something. |
| 246 | * Erasing:: Deleting and killing text. | 239 | * Erasing:: Deleting and killing text. |
| 247 | * Undo:: Undoing recent changes in the text. | 240 | * Undo:: Undoing recent changes in the text. |
| 248 | * Files: Basic Files. Visiting, creating, and saving files. | 241 | * Basic Files:: Visiting, creating, and saving files. |
| 249 | * Help: Basic Help. Asking what a character does. | 242 | * Basic Help:: Asking what a character does. |
| 250 | * Blank Lines:: Commands to make or delete blank lines. | 243 | * Blank Lines:: Commands to make or delete blank lines. |
| 251 | * Continuation Lines:: Lines too wide for the screen. | 244 | * Continuation Lines:: Lines too wide for the screen. |
| 252 | * Position Info:: What page, line, row, or column is point on? | 245 | * Position Info:: What page, line, row, or column is point on? |
| 253 | * Arguments:: Numeric arguments for repeating a command. | 246 | * Arguments:: Numeric arguments for repeating a command. |
| 247 | * Repeating:: A short-cut for repeating the previous command. | ||
| 254 | 248 | ||
| 255 | The Minibuffer | 249 | The Minibuffer |
| 256 | 250 | ||
| @@ -268,19 +262,23 @@ Help | |||
| 268 | * Apropos:: Asking what pertains to a given topic. | 262 | * Apropos:: Asking what pertains to a given topic. |
| 269 | * Library Keywords:: Finding Lisp libraries by keywords (topics). | 263 | * Library Keywords:: Finding Lisp libraries by keywords (topics). |
| 270 | * Language Help:: Help relating to international language support. | 264 | * Language Help:: Help relating to international language support. |
| 265 | * Help Mode:: Special features of Help mode and Help buffers. | ||
| 271 | * Misc Help:: Other help commands. | 266 | * Misc Help:: Other help commands. |
| 267 | * Help Files:: Commands to display pre-written help files. | ||
| 268 | * Help Echo:: Help on active text and tooltips (`balloon help') | ||
| 272 | 269 | ||
| 273 | The Mark and the Region | 270 | The Mark and the Region |
| 274 | 271 | ||
| 275 | * Setting Mark:: Commands to set the mark. | 272 | * Setting Mark:: Commands to set the mark. |
| 276 | * Transient Mark:: How to make Emacs highlight the region-- | 273 | * Transient Mark:: How to make Emacs highlight the region-- |
| 277 | when there is one. | 274 | when there is one. |
| 275 | * Momentary Mark:: Enabling Transient Mark mode momentarily. | ||
| 278 | * Using Region:: Summary of ways to operate on contents of the region. | 276 | * Using Region:: Summary of ways to operate on contents of the region. |
| 279 | * Marking Objects:: Commands to put region around textual units. | 277 | * Marking Objects:: Commands to put region around textual units. |
| 280 | * Mark Ring:: Previous mark positions saved so you can go back there. | 278 | * Mark Ring:: Previous mark positions saved so you can go back there. |
| 281 | * Global Mark Ring:: Previous mark positions in various buffers. | 279 | * Global Mark Ring:: Previous mark positions in various buffers. |
| 282 | 280 | ||
| 283 | Killing | 281 | Killing and Moving Text |
| 284 | 282 | ||
| 285 | * Deletion:: Commands for deleting small amounts of text and | 283 | * Deletion:: Commands for deleting small amounts of text and |
| 286 | blank areas. | 284 | blank areas. |
| @@ -302,6 +300,7 @@ Registers | |||
| 302 | * RegText:: Saving text in registers. | 300 | * RegText:: Saving text in registers. |
| 303 | * RegRect:: Saving rectangles in registers. | 301 | * RegRect:: Saving rectangles in registers. |
| 304 | * RegConfig:: Saving window configurations in registers. | 302 | * RegConfig:: Saving window configurations in registers. |
| 303 | * RegNumbers:: Numbers in registers. | ||
| 305 | * RegFiles:: File names in registers. | 304 | * RegFiles:: File names in registers. |
| 306 | * Bookmarks:: Bookmarks are like registers, but persistent. | 305 | * Bookmarks:: Bookmarks are like registers, but persistent. |
| 307 | 306 | ||
| @@ -355,7 +354,8 @@ Keyboard Macros | |||
| 355 | * Keyboard Macro Query:: Making keyboard macros do different things each time. | 354 | * Keyboard Macro Query:: Making keyboard macros do different things each time. |
| 356 | * Save Keyboard Macro:: Giving keyboard macros names; saving them in files. | 355 | * Save Keyboard Macro:: Giving keyboard macros names; saving them in files. |
| 357 | * Edit Keyboard Macro:: Editing keyboard macros. | 356 | * Edit Keyboard Macro:: Editing keyboard macros. |
| 358 | * Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard macro. | 357 | * Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard |
| 358 | macro. | ||
| 359 | 359 | ||
| 360 | File Handling | 360 | File Handling |
| 361 | 361 | ||
| @@ -382,8 +382,7 @@ Saving Files | |||
| 382 | * Backup:: How Emacs saves the old version of your file. | 382 | * Backup:: How Emacs saves the old version of your file. |
| 383 | * Interlocking:: How Emacs protects against simultaneous editing | 383 | * Interlocking:: How Emacs protects against simultaneous editing |
| 384 | of one file by two users. | 384 | of one file by two users. |
| 385 | * Shadowing: File Shadowing. | 385 | * File Shadowing:: Copying files to "shadows" automatically. |
| 386 | Copying files to "shadows" automatically. | ||
| 387 | * Time Stamps:: Emacs can update time stamps on saved files. | 386 | * Time Stamps:: Emacs can update time stamps on saved files. |
| 388 | 387 | ||
| 389 | Version Control | 388 | Version Control |
| @@ -392,7 +391,7 @@ Version Control | |||
| 392 | * VC Mode Line:: How the mode line shows version control status. | 391 | * VC Mode Line:: How the mode line shows version control status. |
| 393 | * Basic VC Editing:: How to edit a file under version control. | 392 | * Basic VC Editing:: How to edit a file under version control. |
| 394 | * Old Versions:: Examining and comparing old versions. | 393 | * Old Versions:: Examining and comparing old versions. |
| 395 | * Secondary VC Commands:: The commands used a little less frequently. | 394 | * Secondary VC Commands:: The commands used a little less frequently. |
| 396 | * Branches:: Multiple lines of development. | 395 | * Branches:: Multiple lines of development. |
| 397 | * Remote Repositories:: Efficient access to remote CVS servers. | 396 | * Remote Repositories:: Efficient access to remote CVS servers. |
| 398 | * Snapshots:: Sets of file versions treated as a unit. | 397 | * Snapshots:: Sets of file versions treated as a unit. |
| @@ -408,6 +407,8 @@ Using Multiple Buffers | |||
| 408 | * Several Buffers:: How to go through the list of all buffers | 407 | * Several Buffers:: How to go through the list of all buffers |
| 409 | and operate variously on several of them. | 408 | and operate variously on several of them. |
| 410 | * Indirect Buffers:: An indirect buffer shares the text of another buffer. | 409 | * Indirect Buffers:: An indirect buffer shares the text of another buffer. |
| 410 | * Buffer Convenience:: Convenience and customization features for | ||
| 411 | buffer handling. | ||
| 411 | 412 | ||
| 412 | Multiple Windows | 413 | Multiple Windows |
| 413 | 414 | ||
| @@ -418,6 +419,7 @@ Multiple Windows | |||
| 418 | * Force Same Window:: Forcing certain buffers to appear in the selected | 419 | * Force Same Window:: Forcing certain buffers to appear in the selected |
| 419 | window rather than in another window. | 420 | window rather than in another window. |
| 420 | * Change Window:: Deleting windows and changing their sizes. | 421 | * Change Window:: Deleting windows and changing their sizes. |
| 422 | * Window Convenience:: Convenience functions for window handling. | ||
| 421 | 423 | ||
| 422 | Frames and X Windows | 424 | Frames and X Windows |
| 423 | 425 | ||
| @@ -451,6 +453,7 @@ International Character Set Support | |||
| 451 | * Language Environments:: Setting things up for the language you use. | 453 | * Language Environments:: Setting things up for the language you use. |
| 452 | * Input Methods:: Entering text characters not on your keyboard. | 454 | * Input Methods:: Entering text characters not on your keyboard. |
| 453 | * Select Input Method:: Specifying your choice of input methods. | 455 | * Select Input Method:: Specifying your choice of input methods. |
| 456 | * Multibyte Conversion:: How single-byte characters convert to multibyte. | ||
| 454 | * Coding Systems:: Character set conversion when you read and | 457 | * Coding Systems:: Character set conversion when you read and |
| 455 | write files, and so on. | 458 | write files, and so on. |
| 456 | * Recognize Coding:: How Emacs figures out which conversion to use. | 459 | * Recognize Coding:: How Emacs figures out which conversion to use. |
| @@ -458,9 +461,10 @@ International Character Set Support | |||
| 458 | * Fontsets:: Fontsets are collections of fonts | 461 | * Fontsets:: Fontsets are collections of fonts |
| 459 | that cover the whole spectrum of characters. | 462 | that cover the whole spectrum of characters. |
| 460 | * Defining Fontsets:: Defining a new fontset. | 463 | * Defining Fontsets:: Defining a new fontset. |
| 461 | * Single-Byte Character Support:: | 464 | * Undisplayable Characters::When characters don't display. |
| 462 | You can pick one European character set | 465 | * Single-Byte Character Support:: You can pick one European character set |
| 463 | to use without multibyte characters. | 466 | to use without multibyte characters. |
| 467 | * Charsets:: How Emacs groups its internal character codes. | ||
| 464 | 468 | ||
| 465 | Major Modes | 469 | Major Modes |
| 466 | 470 | ||
| @@ -484,16 +488,20 @@ Commands for Human Languages | |||
| 484 | * Text Mode:: The major modes for editing text files. | 488 | * Text Mode:: The major modes for editing text files. |
| 485 | * Outline Mode:: Editing outlines. | 489 | * Outline Mode:: Editing outlines. |
| 486 | * TeX Mode:: Editing input to the formatter TeX. | 490 | * TeX Mode:: Editing input to the formatter TeX. |
| 491 | * HTML Mode:: Editing HTML, SGML, and XML files. | ||
| 487 | * Nroff Mode:: Editing input to the formatter nroff. | 492 | * Nroff Mode:: Editing input to the formatter nroff. |
| 488 | * Formatted Text:: Editing formatted text directly in WYSIWYG fashion. | 493 | * Formatted Text:: Editing formatted text directly in WYSIWYG fashion. |
| 494 | * Text Based Tables:: Editing text-based tables in WYSIWYG fashion. | ||
| 489 | 495 | ||
| 490 | Filling Text | 496 | Filling Text |
| 491 | 497 | ||
| 492 | * Auto Fill:: Auto Fill mode breaks long lines automatically. | 498 | * Auto Fill:: Auto Fill mode breaks long lines automatically. |
| 499 | * Refill:: Keeping paragraphs filled. | ||
| 493 | * Fill Commands:: Commands to refill paragraphs and center lines. | 500 | * Fill Commands:: Commands to refill paragraphs and center lines. |
| 494 | * Fill Prefix:: Filling paragraphs that are indented | 501 | * Fill Prefix:: Filling paragraphs that are indented |
| 495 | or in a comment, etc. | 502 | or in a comment, etc. |
| 496 | * Adaptive Fill:: How Emacs can determine the fill prefix automatically. | 503 | * Adaptive Fill:: How Emacs can determine the fill prefix automatically. |
| 504 | * Longlines:: Editing text with very long lines. | ||
| 497 | 505 | ||
| 498 | Editing Programs | 506 | Editing Programs |
| 499 | 507 | ||
| @@ -501,8 +509,8 @@ Editing Programs | |||
| 501 | * Defuns:: Commands to operate on major top-level parts | 509 | * Defuns:: Commands to operate on major top-level parts |
| 502 | of a program. | 510 | of a program. |
| 503 | * Program Indent:: Adjusting indentation to show the nesting. | 511 | * Program Indent:: Adjusting indentation to show the nesting. |
| 504 | * Comments:: Inserting, killing, and aligning comments. | ||
| 505 | * Parentheses:: Commands that operate on parentheses. | 512 | * Parentheses:: Commands that operate on parentheses. |
| 513 | * Comments:: Inserting, killing, and aligning comments. | ||
| 506 | * Documentation:: Getting documentation of functions you plan to call. | 514 | * Documentation:: Getting documentation of functions you plan to call. |
| 507 | * Hideshow:: Displaying blocks selectively. | 515 | * Hideshow:: Displaying blocks selectively. |
| 508 | * Symbol Completion:: Completion on symbol names of your program or language. | 516 | * Symbol Completion:: Completion on symbol names of your program or language. |
| @@ -559,12 +567,12 @@ C and Related Modes | |||
| 559 | 567 | ||
| 560 | Fortran Mode | 568 | Fortran Mode |
| 561 | 569 | ||
| 562 | * Motion: Fortran Motion. Moving point by statements or subprograms. | 570 | * Fortran Motion:: Moving point by statements or subprograms. |
| 563 | * Indent: Fortran Indent. Indentation commands for Fortran. | 571 | * Fortran Indent:: Indentation commands for Fortran. |
| 564 | * Comments: Fortran Comments. Inserting and aligning comments. | 572 | * Fortran Comments:: Inserting and aligning comments. |
| 565 | * Autofill: Fortran Autofill. Auto fill minor mode for Fortran. | 573 | * Fortran Autofill:: Auto fill minor mode for Fortran. |
| 566 | * Columns: Fortran Columns. Measuring columns for valid Fortran. | 574 | * Fortran Columns:: Measuring columns for valid Fortran. |
| 567 | * Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords. | 575 | * Fortran Abbrev:: Built-in abbrevs for Fortran keywords. |
| 568 | 576 | ||
| 569 | Compiling and Testing Programs | 577 | Compiling and Testing Programs |
| 570 | 578 | ||
| @@ -580,8 +588,8 @@ Compiling and Testing Programs | |||
| 580 | with different facilities for running | 588 | with different facilities for running |
| 581 | the Lisp programs. | 589 | the Lisp programs. |
| 582 | * Lisp Libraries:: Creating Lisp programs to run in Emacs. | 590 | * Lisp Libraries:: Creating Lisp programs to run in Emacs. |
| 583 | * Lisp Interaction:: Executing Lisp in an Emacs buffer. | ||
| 584 | * Lisp Eval:: Executing a single Lisp expression in Emacs. | 591 | * Lisp Eval:: Executing a single Lisp expression in Emacs. |
| 592 | * Lisp Interaction:: Executing Lisp in an Emacs buffer. | ||
| 585 | * External Lisp:: Communicating through Emacs with a separate Lisp. | 593 | * External Lisp:: Communicating through Emacs with a separate Lisp. |
| 586 | 594 | ||
| 587 | Running Debuggers Under Emacs | 595 | Running Debuggers Under Emacs |
| @@ -590,6 +598,9 @@ Running Debuggers Under Emacs | |||
| 590 | * Debugger Operation:: Connection between the debugger and source buffers. | 598 | * Debugger Operation:: Connection between the debugger and source buffers. |
| 591 | * Commands of GUD:: Key bindings for common commands. | 599 | * Commands of GUD:: Key bindings for common commands. |
| 592 | * GUD Customization:: Defining your own commands for GUD. | 600 | * GUD Customization:: Defining your own commands for GUD. |
| 601 | * GDB Graphical Interface:: An enhanced mode that uses GDB features to | ||
| 602 | implement a graphical debugging environment through | ||
| 603 | Emacs. | ||
| 593 | 604 | ||
| 594 | Maintaining Programs | 605 | Maintaining Programs |
| 595 | 606 | ||
| @@ -605,6 +616,7 @@ Tags Tables | |||
| 605 | 616 | ||
| 606 | * Tag Syntax:: Tag syntax for various types of code and text files. | 617 | * Tag Syntax:: Tag syntax for various types of code and text files. |
| 607 | * Create Tags Table:: Creating a tags table with @code{etags}. | 618 | * Create Tags Table:: Creating a tags table with @code{etags}. |
| 619 | * Etags Regexps:: Create arbitrary tags using regular expressions. | ||
| 608 | * Select Tags Table:: How to visit a tags table. | 620 | * Select Tags Table:: How to visit a tags table. |
| 609 | * Find Tag:: Commands to find the definition of a specific tag. | 621 | * Find Tag:: Commands to find the definition of a specific tag. |
| 610 | * Tags Search:: Using a tags table for searching and replacing. | 622 | * Tags Search:: Using a tags table for searching and replacing. |
| @@ -631,6 +643,7 @@ Abbrevs | |||
| 631 | * Editing Abbrevs:: Viewing or editing the entire list of defined abbrevs. | 643 | * Editing Abbrevs:: Viewing or editing the entire list of defined abbrevs. |
| 632 | * Saving Abbrevs:: Saving the entire list of abbrevs for another session. | 644 | * Saving Abbrevs:: Saving the entire list of abbrevs for another session. |
| 633 | * Dynamic Abbrevs:: Abbreviations for words already in the buffer. | 645 | * Dynamic Abbrevs:: Abbreviations for words already in the buffer. |
| 646 | * Dabbrev Customization:: What is a word, for dynamic abbrevs. Case handling. | ||
| 634 | 647 | ||
| 635 | Editing Pictures | 648 | Editing Pictures |
| 636 | 649 | ||
| @@ -664,11 +677,15 @@ Reading Mail with Rmail | |||
| 664 | * Rmail Summary:: Summaries show brief info on many messages. | 677 | * Rmail Summary:: Summaries show brief info on many messages. |
| 665 | * Rmail Sorting:: Sorting messages in Rmail. | 678 | * Rmail Sorting:: Sorting messages in Rmail. |
| 666 | * Rmail Display:: How Rmail displays a message; customization. | 679 | * Rmail Display:: How Rmail displays a message; customization. |
| 680 | * Rmail Coding:: How Rmail handles decoding character sets. | ||
| 667 | * Rmail Editing:: Editing message text and headers in Rmail. | 681 | * Rmail Editing:: Editing message text and headers in Rmail. |
| 668 | * Rmail Digest:: Extracting the messages from a digest message. | 682 | * Rmail Digest:: Extracting the messages from a digest message. |
| 669 | * Out of Rmail:: Converting an Rmail file to mailbox format. | 683 | * Out of Rmail:: Converting an Rmail file to mailbox format. |
| 670 | * Rmail Rot13:: Reading messages encoded in the rot13 code. | 684 | * Rmail Rot13:: Reading messages encoded in the rot13 code. |
| 671 | * Movemail:: More details of fetching new mail. | 685 | * Movemail:: More details of fetching new mail. |
| 686 | * Remote Mailboxes:: Retrieving Mail from Remote Mailboxes. | ||
| 687 | * Other Mailbox Formats:: Retrieving Mail from Local Mailboxes in | ||
| 688 | Various Formats | ||
| 672 | 689 | ||
| 673 | Dired, the Directory Editor | 690 | Dired, the Directory Editor |
| 674 | 691 | ||
| @@ -688,7 +705,6 @@ Dired, the Directory Editor | |||
| 688 | * Hiding Subdirectories:: Making subdirectories visible or invisible. | 705 | * Hiding Subdirectories:: Making subdirectories visible or invisible. |
| 689 | * Dired Updating:: Discarding lines for files of no interest. | 706 | * Dired Updating:: Discarding lines for files of no interest. |
| 690 | * Dired and Find:: Using `find' to choose the files for Dired. | 707 | * Dired and Find:: Using `find' to choose the files for Dired. |
| 691 | * Dired and Find:: Using `find' to choose the files for Dired. | ||
| 692 | * Wdired:: Operating on files by editing the Dired buffer. | 708 | * Wdired:: Operating on files by editing the Dired buffer. |
| 693 | * Misc Dired Features:: Various other features. | 709 | * Misc Dired Features:: Various other features. |
| 694 | 710 | ||
| @@ -698,14 +714,16 @@ The Calendar and the Diary | |||
| 698 | * Scroll Calendar:: Bringing earlier or later months onto the screen. | 714 | * Scroll Calendar:: Bringing earlier or later months onto the screen. |
| 699 | * Counting Days:: How many days are there between two dates? | 715 | * Counting Days:: How many days are there between two dates? |
| 700 | * General Calendar:: Exiting or recomputing the calendar. | 716 | * General Calendar:: Exiting or recomputing the calendar. |
| 701 | * LaTeX Calendar:: Print a calendar using LaTeX. | 717 | * LaTeX Calendar:: Print a calendar using LaTeX. |
| 702 | * Holidays:: Displaying dates of holidays. | 718 | * Holidays:: Displaying dates of holidays. |
| 703 | * Sunrise/Sunset:: Displaying local times of sunrise and sunset. | 719 | * Sunrise/Sunset:: Displaying local times of sunrise and sunset. |
| 704 | * Lunar Phases:: Displaying phases of the moon. | 720 | * Lunar Phases:: Displaying phases of the moon. |
| 705 | * Other Calendars:: Converting dates to other calendar systems. | 721 | * Other Calendars:: Converting dates to other calendar systems. |
| 706 | * Diary:: Displaying events from your diary. | 722 | * Diary:: Displaying events from your diary. |
| 707 | * Appointments:: Reminders when it's time to do something. | 723 | * Appointments:: Reminders when it's time to do something. |
| 724 | * Importing Diary:: Converting diary events to/from other formats. | ||
| 708 | * Daylight Savings:: How to specify when daylight savings time is active. | 725 | * Daylight Savings:: How to specify when daylight savings time is active. |
| 726 | * Time Intervals:: Keeping track of time intervals. | ||
| 709 | 727 | ||
| 710 | Movement in the Calendar | 728 | Movement in the Calendar |
| 711 | 729 | ||
| @@ -741,27 +759,40 @@ Running Shell Commands from Emacs | |||
| 741 | * Single Shell:: How to run one shell command and return. | 759 | * Single Shell:: How to run one shell command and return. |
| 742 | * Interactive Shell:: Permanent shell taking input via Emacs. | 760 | * Interactive Shell:: Permanent shell taking input via Emacs. |
| 743 | * Shell Mode:: Special Emacs commands used with permanent shell. | 761 | * Shell Mode:: Special Emacs commands used with permanent shell. |
| 762 | * Shell Prompts:: Two ways to recognize shell prompts. | ||
| 744 | * Shell History:: Repeating previous commands in a shell buffer. | 763 | * Shell History:: Repeating previous commands in a shell buffer. |
| 764 | * Directory Tracking:: Keeping track when the subshell changes directory. | ||
| 745 | * Shell Options:: Options for customizing Shell mode. | 765 | * Shell Options:: Options for customizing Shell mode. |
| 766 | * Terminal emulator:: An Emacs window as a terminal emulator. | ||
| 767 | * Term Mode:: Special Emacs commands used in Term mode. | ||
| 768 | * Paging in Term:: Paging in the terminal emulator. | ||
| 746 | * Remote Host:: Connecting to another computer. | 769 | * Remote Host:: Connecting to another computer. |
| 747 | 770 | ||
| 771 | Using Emacs as a Server | ||
| 772 | |||
| 773 | * Invoking emacsclient:: Emacs client startup options. | ||
| 774 | |||
| 775 | Hyperlinking and Navigation Features | ||
| 776 | |||
| 777 | * Browse-URL:: Following URLs. | ||
| 778 | * Goto-address:: Activating URLs. | ||
| 779 | * FFAP:: Finding files etc. at point. | ||
| 780 | |||
| 748 | Customization | 781 | Customization |
| 749 | 782 | ||
| 750 | * Minor Modes:: Each minor mode is one feature you can turn on | 783 | * Minor Modes:: Each minor mode is one feature you can turn on |
| 751 | independently of any others. | 784 | independently of any others. |
| 752 | * Easy Customization:: | 785 | * Easy Customization:: Convenient way to browse and change user options. |
| 753 | Convenient way to browse and change user options. | ||
| 754 | * Variables:: Many Emacs commands examine Emacs variables | 786 | * Variables:: Many Emacs commands examine Emacs variables |
| 755 | to decide what to do; by setting variables, | 787 | to decide what to do; by setting variables, |
| 756 | you can control their functioning. | 788 | you can control their functioning. |
| 757 | * Key Bindings:: The keymaps say what command each key runs. | 789 | * Key Bindings:: The keymaps say what command each key runs. |
| 758 | By changing them, you can "redefine keys". | 790 | By changing them, you can "redefine keys". |
| 759 | * Keyboard Translations:: | 791 | * Keyboard Translations:: If your keyboard passes an undesired code |
| 760 | If your keyboard passes an undesired code | 792 | for a key, you can tell Emacs to |
| 761 | for a key, you can tell Emacs to | 793 | substitute another code. |
| 762 | substitute another code. | ||
| 763 | * Syntax:: The syntax table controls how words and | 794 | * Syntax:: The syntax table controls how words and |
| 764 | expressions are parsed. | 795 | expressions are parsed. |
| 765 | * Init File:: How to write common customizations in the | 796 | * Init File:: How to write common customizations in the |
| 766 | @file{.emacs} file. | 797 | @file{.emacs} file. |
| 767 | 798 | ||
| @@ -783,6 +814,7 @@ Customizing Key Bindings | |||
| 783 | * Init Rebinding:: Rebinding keys with your init file, @file{.emacs}. | 814 | * Init Rebinding:: Rebinding keys with your init file, @file{.emacs}. |
| 784 | * Function Keys:: Rebinding terminal function keys. | 815 | * Function Keys:: Rebinding terminal function keys. |
| 785 | * Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on. | 816 | * Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on. |
| 817 | * Non-ASCII Rebinding:: Rebinding non-@acronym{ASCII} characters such as Latin-1. | ||
| 786 | * Mouse Buttons:: Rebinding mouse buttons in Emacs. | 818 | * Mouse Buttons:: Rebinding mouse buttons in Emacs. |
| 787 | * Disabling:: Disabling a command means confirmation is required | 819 | * Disabling:: Disabling a command means confirmation is required |
| 788 | before it can be executed. This is done to protect | 820 | before it can be executed. This is done to protect |
| @@ -803,18 +835,19 @@ Dealing with Emacs Trouble | |||
| 803 | * Text Garbled:: Garbage in the text. | 835 | * Text Garbled:: Garbage in the text. |
| 804 | * Unasked-for Search:: Spontaneous entry to incremental search. | 836 | * Unasked-for Search:: Spontaneous entry to incremental search. |
| 805 | * Memory Full:: How to cope when you run out of memory. | 837 | * Memory Full:: How to cope when you run out of memory. |
| 838 | * After a Crash:: Recovering editing in an Emacs session that crashed. | ||
| 806 | * Emergency Escape:: Emergency escape--- | 839 | * Emergency Escape:: Emergency escape--- |
| 807 | What to do if Emacs stops responding. | 840 | What to do if Emacs stops responding. |
| 808 | * Total Frustration:: When you are at your wits' end. | 841 | * Total Frustration:: When you are at your wits' end. |
| 809 | 842 | ||
| 810 | Reporting Bugs | 843 | Reporting Bugs |
| 811 | 844 | ||
| 812 | * Criteria: Bug Criteria. Have you really found a bug? | 845 | * Bug Criteria:: Have you really found a bug? |
| 813 | * Understanding Bug Reporting:: How to report a bug effectively. | 846 | * Understanding Bug Reporting:: How to report a bug effectively. |
| 814 | * Checklist:: Steps to follow for a good bug report. | 847 | * Checklist:: Steps to follow for a good bug report. |
| 815 | * Sending Patches:: How to send a patch for GNU Emacs. | 848 | * Sending Patches:: How to send a patch for GNU Emacs. |
| 816 | 849 | ||
| 817 | Command Line Options and Arguments | 850 | Command Line Arguments for Emacs Invocation |
| 818 | 851 | ||
| 819 | * Action Arguments:: Arguments to visit files, load libraries, | 852 | * Action Arguments:: Arguments to visit files, load libraries, |
| 820 | and call functions. | 853 | and call functions. |
| @@ -831,18 +864,29 @@ Command Line Options and Arguments | |||
| 831 | * Icons X:: Choosing what sort of icon to use, under X. | 864 | * Icons X:: Choosing what sort of icon to use, under X. |
| 832 | * Misc X:: Other display options. | 865 | * Misc X:: Other display options. |
| 833 | 866 | ||
| 834 | X Resources | 867 | Environment Variables |
| 868 | |||
| 869 | * General Variables:: Environment variables that all versions of Emacs use. | ||
| 870 | * Misc Variables:: Certain system specific variables. | ||
| 871 | * MS-Windows Registry:: An alternative to the environment on MS-Windows. | ||
| 872 | |||
| 873 | X Options and Resources | ||
| 835 | 874 | ||
| 836 | * Resources:: Using X resources with Emacs (in general). | 875 | * Resources:: Using X resources with Emacs (in general). |
| 837 | * Table of Resources:: Table of specific X resources that affect Emacs. | 876 | * Table of Resources:: Table of specific X resources that affect Emacs. |
| 838 | * Face Resources:: X resources for customizing faces. | 877 | * Face Resources:: X resources for customizing faces. |
| 839 | * Lucid Resources:: X resources for Lucid menus. | 878 | * Lucid Resources:: X resources for Lucid menus. |
| 840 | * LessTif Resources:: X resources for LessTif and Motif menus. | 879 | * LessTif Resources:: X resources for LessTif and Motif menus. |
| 880 | * GTK resources:: Resources for GTK widgets. | ||
| 841 | 881 | ||
| 842 | Environment Variables | 882 | Emacs and the Mac OS |
| 843 | 883 | ||
| 844 | * General Variables:: Environment variables that all versions of Emacs use. | 884 | * Mac Input:: Keyboard input on the Mac. |
| 845 | * Misc Variables:: Certain system specific variables. | 885 | * Mac International:: International character sets on the Mac. |
| 886 | * Mac Environment Variables:: Setting environment variables for Emacs. | ||
| 887 | * Mac Directories:: Volumes and directories on the Mac. | ||
| 888 | * Mac Font Specs:: Specifying fonts on the Mac. | ||
| 889 | * Mac Functions:: Mac-specific Lisp functions. | ||
| 846 | 890 | ||
| 847 | MS-DOS and Windows 95/98/NT | 891 | MS-DOS and Windows 95/98/NT |
| 848 | 892 | ||
| @@ -852,6 +896,7 @@ MS-DOS and Windows 95/98/NT | |||
| 852 | * MS-DOS File Names:: File-name conventions on MS-DOS. | 896 | * MS-DOS File Names:: File-name conventions on MS-DOS. |
| 853 | * Text and Binary:: Text files on MS-DOS use CRLF to separate lines. | 897 | * Text and Binary:: Text files on MS-DOS use CRLF to separate lines. |
| 854 | * MS-DOS Printing:: How to specify the printer on MS-DOS. | 898 | * MS-DOS Printing:: How to specify the printer on MS-DOS. |
| 899 | * MS-DOS and MULE:: Support for internationalization on MS-DOS. | ||
| 855 | * MS-DOS Processes:: Running subprocesses on MS-DOS. | 900 | * MS-DOS Processes:: Running subprocesses on MS-DOS. |
| 856 | * Windows Processes:: Running subprocesses on Windows. | 901 | * Windows Processes:: Running subprocesses on Windows. |
| 857 | * Windows System Menu:: Controlling what the ALT key does. | 902 | * Windows System Menu:: Controlling what the ALT key does. |
diff --git a/man/files.texi b/man/files.texi index d7510862465..6be4d0f467d 100644 --- a/man/files.texi +++ b/man/files.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985,86,87,93,94,95,97,99, 2000, 2001, 2004 | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, |
| 3 | @c Free Software Foundation, Inc. | 3 | @c 2001, 2004, 2005 Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Files, Buffers, Keyboard Macros, Top | 5 | @node Files, Buffers, Keyboard Macros, Top |
| 6 | @chapter File Handling | 6 | @chapter File Handling |
| @@ -505,8 +505,7 @@ you can control how these modes handle final newlines. | |||
| 505 | * Backup:: How Emacs saves the old version of your file. | 505 | * Backup:: How Emacs saves the old version of your file. |
| 506 | * Interlocking:: How Emacs protects against simultaneous editing | 506 | * Interlocking:: How Emacs protects against simultaneous editing |
| 507 | of one file by two users. | 507 | of one file by two users. |
| 508 | * Shadowing: File Shadowing. | 508 | * Shadowing: File Shadowing. Copying files to "shadows" automatically. |
| 509 | Copying files to "shadows" automatically. | ||
| 510 | * Time Stamps:: Emacs can update time stamps on saved files. | 509 | * Time Stamps:: Emacs can update time stamps on saved files. |
| 511 | @end menu | 510 | @end menu |
| 512 | 511 | ||
diff --git a/man/frames.texi b/man/frames.texi index 68d406b45e3..2b2c61af133 100644 --- a/man/frames.texi +++ b/man/frames.texi | |||
| @@ -979,7 +979,7 @@ tooltips. | |||
| 979 | 979 | ||
| 980 | @dfn{Help tooltips} typically display over text---including the mode | 980 | @dfn{Help tooltips} typically display over text---including the mode |
| 981 | line---but may be also available for many other parts of the Emacs | 981 | line---but may be also available for many other parts of the Emacs |
| 982 | frame such as the toolbar and menu items. | 982 | frame such as the tool bar and menu items. |
| 983 | 983 | ||
| 984 | @findex tooltip-mode | 984 | @findex tooltip-mode |
| 985 | You can toggle help tooltips (Tooltip mode) with the command | 985 | You can toggle help tooltips (Tooltip mode) with the command |
diff --git a/man/killing.texi b/man/killing.texi index 9950e405cdd..006af200c06 100644 --- a/man/killing.texi +++ b/man/killing.texi | |||
| @@ -157,7 +157,7 @@ leaves @var{n} spaces after point. | |||
| 157 | @kbd{C-x C-o} (@code{delete-blank-lines}) deletes all blank lines | 157 | @kbd{C-x C-o} (@code{delete-blank-lines}) deletes all blank lines |
| 158 | after the current line. If the current line is blank, it deletes all | 158 | after the current line. If the current line is blank, it deletes all |
| 159 | blank lines preceding the current line as well (leaving one blank line, | 159 | blank lines preceding the current line as well (leaving one blank line, |
| 160 | the current line). | 160 | the current line). On a solitary blank line, it deletes that line. |
| 161 | 161 | ||
| 162 | @kbd{M-^} (@code{delete-indentation}) joins the current line and the | 162 | @kbd{M-^} (@code{delete-indentation}) joins the current line and the |
| 163 | previous line, by deleting a newline and all surrounding spaces, usually | 163 | previous line, by deleting a newline and all surrounding spaces, usually |
diff --git a/man/kmacro.texi b/man/kmacro.texi index 5ef34f6c929..e19c1434813 100644 --- a/man/kmacro.texi +++ b/man/kmacro.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985,86,87,93,94,95,97,2000,2001,2002,2003,2004 | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, |
| 3 | @c Free Software Foundation, Inc. | 3 | @c 2002, 2003, 2004, 2005 Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Keyboard Macros, Files, Fixit, Top | 5 | @node Keyboard Macros, Files, Fixit, Top |
| 6 | @chapter Keyboard Macros | 6 | @chapter Keyboard Macros |
| @@ -38,7 +38,8 @@ intelligent or general. For such things, Lisp must be used. | |||
| 38 | * Keyboard Macro Query:: Making keyboard macros do different things each time. | 38 | * Keyboard Macro Query:: Making keyboard macros do different things each time. |
| 39 | * Save Keyboard Macro:: Giving keyboard macros names; saving them in files. | 39 | * Save Keyboard Macro:: Giving keyboard macros names; saving them in files. |
| 40 | * Edit Keyboard Macro:: Editing keyboard macros. | 40 | * Edit Keyboard Macro:: Editing keyboard macros. |
| 41 | * Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard macro. | 41 | * Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard |
| 42 | macro. | ||
| 42 | @end menu | 43 | @end menu |
| 43 | 44 | ||
| 44 | @node Basic Keyboard Macro | 45 | @node Basic Keyboard Macro |
diff --git a/man/maintaining.texi b/man/maintaining.texi index 347a15d3c95..b11ae6b6cdd 100644 --- a/man/maintaining.texi +++ b/man/maintaining.texi | |||
| @@ -963,10 +963,9 @@ variant B, and the common ancestor. | |||
| 963 | 963 | ||
| 964 | After the comparison is done and the buffers are prepared, the | 964 | After the comparison is done and the buffers are prepared, the |
| 965 | interactive merging starts. You control the merging by typing special | 965 | interactive merging starts. You control the merging by typing special |
| 966 | @dfn{merge commands} in the merge buffer. The merge buffer shows you a | 966 | @dfn{merge commands} in the merge buffer (@pxref{Merge Commands}). |
| 967 | full merged text, not just differences. For each run of differences | 967 | For each run of differences between the input texts, you can choose |
| 968 | between the input texts, you can choose which one of them to keep, or | 968 | which one of them to keep, or edit them both together. |
| 969 | edit them both together. | ||
| 970 | 969 | ||
| 971 | The merge buffer uses a special major mode, Emerge mode, with commands | 970 | The merge buffer uses a special major mode, Emerge mode, with commands |
| 972 | for making these choices. But you can also edit the buffer with | 971 | for making these choices. But you can also edit the buffer with |
diff --git a/man/major.texi b/man/major.texi index 28f0ff0f32f..23e0f8e116f 100644 --- a/man/major.texi +++ b/man/major.texi | |||
| @@ -176,7 +176,8 @@ mode is taken from the previously current buffer. | |||
| 176 | mode Emacs would choose automatically: use the command @kbd{M-x | 176 | mode Emacs would choose automatically: use the command @kbd{M-x |
| 177 | normal-mode} to do this. This is the same function that | 177 | normal-mode} to do this. This is the same function that |
| 178 | @code{find-file} calls to choose the major mode. It also processes | 178 | @code{find-file} calls to choose the major mode. It also processes |
| 179 | the file's local variables list (if any). | 179 | the file's @samp{-*-} line or local variables list (if any). |
| 180 | @xref{File Variables}. | ||
| 180 | 181 | ||
| 181 | @vindex change-major-mode-with-file-name | 182 | @vindex change-major-mode-with-file-name |
| 182 | The commands @kbd{C-x C-w} and @code{set-visited-file-name} change to | 183 | The commands @kbd{C-x C-w} and @code{set-visited-file-name} change to |
diff --git a/man/mini.texi b/man/mini.texi index fbe1d1e3909..0a775000722 100644 --- a/man/mini.texi +++ b/man/mini.texi | |||
| @@ -260,7 +260,14 @@ Complete the minibuffer text before point, but don't go beyond one word | |||
| 260 | (@code{minibuffer-complete-word}). | 260 | (@code{minibuffer-complete-word}). |
| 261 | @item @key{RET} | 261 | @item @key{RET} |
| 262 | Submit the text in the minibuffer as the argument, possibly completing | 262 | Submit the text in the minibuffer as the argument, possibly completing |
| 263 | first as described below (@code{minibuffer-complete-and-exit}). | 263 | first as described |
| 264 | @iftex | ||
| 265 | in the next subsection (@code{minibuffer-complete-and-exit}). | ||
| 266 | @end iftex | ||
| 267 | @ifnottex | ||
| 268 | in the next node (@code{minibuffer-complete-and-exit}). @xref{Strict | ||
| 269 | Completion}. | ||
| 270 | @end ifnottex | ||
| 264 | @item ? | 271 | @item ? |
| 265 | Display a list of all possible completions of the text in the minibuffer | 272 | Display a list of all possible completions of the text in the minibuffer |
| 266 | (@code{minibuffer-list-completions}). | 273 | (@code{minibuffer-list-completions}). |
| @@ -410,7 +417,7 @@ completion commands are available on @kbd{M-@key{TAB}} (or | |||
| 410 | @vindex PC-include-file-path | 417 | @vindex PC-include-file-path |
| 411 | @vindex PC-disable-includes | 418 | @vindex PC-disable-includes |
| 412 | Another feature of Partial Completion mode is to extend | 419 | Another feature of Partial Completion mode is to extend |
| 413 | @code{find-file} so that the @samp{<@var{include}>} stands for the | 420 | @code{find-file} so that @samp{<@var{include}>} stands for the |
| 414 | file named @var{include} in some directory in the path | 421 | file named @var{include} in some directory in the path |
| 415 | @code{PC-include-file-path}. If you set @code{PC-disable-includes} to | 422 | @code{PC-include-file-path}. If you set @code{PC-disable-includes} to |
| 416 | non-@code{nil}, this feature is disabled. | 423 | non-@code{nil}, this feature is disabled. |
diff --git a/man/misc.texi b/man/misc.texi index d6471166cc4..68dd7356479 100644 --- a/man/misc.texi +++ b/man/misc.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2004 | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, |
| 3 | @c Free Software Foundation, Inc. | 3 | @c 2004, 2005 Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @iftex | 5 | @iftex |
| 6 | @chapter Miscellaneous Commands | 6 | @chapter Miscellaneous Commands |
| @@ -1314,7 +1314,7 @@ in Emacs. Note that server buffers created in this way are not killed | |||
| 1314 | automatically when you finish with them. | 1314 | automatically when you finish with them. |
| 1315 | 1315 | ||
| 1316 | @menu | 1316 | @menu |
| 1317 | * Invoking emacsclient:: | 1317 | * Invoking emacsclient:: Emacs client startup options. |
| 1318 | @end menu | 1318 | @end menu |
| 1319 | 1319 | ||
| 1320 | @node Invoking emacsclient,, Emacs Server, Emacs Server | 1320 | @node Invoking emacsclient,, Emacs Server, Emacs Server |
diff --git a/man/mule.texi b/man/mule.texi index c085839cbd8..985d0b9afb5 100644 --- a/man/mule.texi +++ b/man/mule.texi | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1997, 1999, 2000, 2001 Free Software Foundation, Inc. | 2 | @c Copyright (C) 1997, 1999, 2000, 2001, 2005 Free Software Foundation, Inc. |
| 3 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 4 | @node International, Major Modes, Frames, Top | 4 | @node International, Major Modes, Frames, Top |
| 5 | @chapter International Character Set Support | 5 | @chapter International Character Set Support |
| @@ -97,9 +97,8 @@ correctly; see @ref{Language Environments, locales}. | |||
| 97 | that cover the whole spectrum of characters. | 97 | that cover the whole spectrum of characters. |
| 98 | * Defining Fontsets:: Defining a new fontset. | 98 | * Defining Fontsets:: Defining a new fontset. |
| 99 | * Undisplayable Characters:: When characters don't display. | 99 | * Undisplayable Characters:: When characters don't display. |
| 100 | * Single-Byte Character Support:: | 100 | * Single-Byte Character Support:: You can pick one European character set |
| 101 | You can pick one European character set | 101 | to use without multibyte characters. |
| 102 | to use without multibyte characters. | ||
| 103 | * Charsets:: How Emacs groups its internal character codes. | 102 | * Charsets:: How Emacs groups its internal character codes. |
| 104 | @end menu | 103 | @end menu |
| 105 | 104 | ||
diff --git a/man/programs.texi b/man/programs.texi index 98e60d0385c..83d8d6aa0b8 100644 --- a/man/programs.texi +++ b/man/programs.texi | |||
| @@ -1235,9 +1235,10 @@ mode constantly displays in the echo area the argument list for the | |||
| 1235 | function being called at point. (In other words, it finds the | 1235 | function being called at point. (In other words, it finds the |
| 1236 | function call that point is contained in, and displays the argument | 1236 | function call that point is contained in, and displays the argument |
| 1237 | list of that function.) If point is over a documented variable, it | 1237 | list of that function.) If point is over a documented variable, it |
| 1238 | shows the variable's docstring. Eldoc mode applies in Emacs Lisp and | 1238 | shows the first line of the variable's docstring. Eldoc mode applies |
| 1239 | Lisp Interaction modes only. Use the command @kbd{M-x eldoc-mode} to | 1239 | in Emacs Lisp and Lisp Interaction modes, and perhaps a few others |
| 1240 | enable or disable this feature. | 1240 | that provide special support for looking up doc strings. Use the |
| 1241 | command @kbd{M-x eldoc-mode} to enable or disable this feature. | ||
| 1241 | 1242 | ||
| 1242 | @node Hideshow | 1243 | @node Hideshow |
| 1243 | @section Hideshow minor mode | 1244 | @section Hideshow minor mode |
| @@ -2022,7 +2023,7 @@ value 5, line numbers are right-justified to end in column 4. | |||
| 2022 | Simply inserting a line number is enough to indent it according to | 2023 | Simply inserting a line number is enough to indent it according to |
| 2023 | these rules. As each digit is inserted, the indentation is recomputed. | 2024 | these rules. As each digit is inserted, the indentation is recomputed. |
| 2024 | To turn off this feature, set the variable | 2025 | To turn off this feature, set the variable |
| 2025 | @code{fortran-electric-line-number} to @code{nil}. | 2026 | @code{fortran-electric-line-number} to @code{nil}. |
| 2026 | 2027 | ||
| 2027 | 2028 | ||
| 2028 | @node ForIndent Conv | 2029 | @node ForIndent Conv |
diff --git a/man/reftex.texi b/man/reftex.texi index 0d3c5bdc32e..32db61e0eea 100644 --- a/man/reftex.texi +++ b/man/reftex.texi | |||
| @@ -7,9 +7,9 @@ | |||
| 7 | @syncodeindex fn cp | 7 | @syncodeindex fn cp |
| 8 | 8 | ||
| 9 | @c Version and Contact Info | 9 | @c Version and Contact Info |
| 10 | @set VERSION 4.24 | 10 | @set VERSION 4.28 |
| 11 | @set EDITION 4.24 | 11 | @set EDITION 4.28 |
| 12 | @set DATE March 2005 | 12 | @set DATE May 2005 |
| 13 | @set AUCTEXSITE @uref{http://www.nongnu.org/auctex/,AUCTeX distribution site} | 13 | @set AUCTEXSITE @uref{http://www.nongnu.org/auctex/,AUCTeX distribution site} |
| 14 | @set MAINTAINERSITE @uref{http://www.astro.uva.nl/~dominik/Tools/,maintainers webpage} | 14 | @set MAINTAINERSITE @uref{http://www.astro.uva.nl/~dominik/Tools/,maintainers webpage} |
| 15 | @set MAINTAINER Carsten Dominik | 15 | @set MAINTAINER Carsten Dominik |
| @@ -25,8 +25,7 @@ citations and indices for LaTeX documents with Emacs. | |||
| 25 | This is edition @value{EDITION} of the @b{Ref@TeX{}} User Manual for | 25 | This is edition @value{EDITION} of the @b{Ref@TeX{}} User Manual for |
| 26 | @b{Ref@TeX{}} @value{VERSION} | 26 | @b{Ref@TeX{}} @value{VERSION} |
| 27 | 27 | ||
| 28 | Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2005 | 28 | Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. |
| 29 | Free Software Foundation, Inc. | ||
| 30 | 29 | ||
| 31 | @quotation | 30 | @quotation |
| 32 | Permission is granted to copy, distribute and/or modify this document | 31 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1817,22 +1816,25 @@ keymap @code{reftex-select-bib-map} may be used. | |||
| 1817 | @cindex Citation styles, @code{natbib} | 1816 | @cindex Citation styles, @code{natbib} |
| 1818 | @cindex Citation styles, @code{harvard} | 1817 | @cindex Citation styles, @code{harvard} |
| 1819 | @cindex Citation styles, @code{chicago} | 1818 | @cindex Citation styles, @code{chicago} |
| 1819 | @cindex Citation styles, @code{jurabib} | ||
| 1820 | @cindex @code{natbib}, citation style | 1820 | @cindex @code{natbib}, citation style |
| 1821 | @cindex @code{harvard}, citation style | 1821 | @cindex @code{harvard}, citation style |
| 1822 | @cindex @code{chicago}, citation style | 1822 | @cindex @code{chicago}, citation style |
| 1823 | @cindex @code{jurabib}, citation style | ||
| 1823 | 1824 | ||
| 1824 | @vindex reftex-cite-format | 1825 | @vindex reftex-cite-format |
| 1825 | The standard LaTeX macro @code{\cite} works well with numeric or simple | 1826 | The standard LaTeX macro @code{\cite} works well with numeric or simple |
| 1826 | key citations. To deal with the more complex task of author-year | 1827 | key citations. To deal with the more complex task of author-year |
| 1827 | citations as used in many natural sciences, a variety of packages has | 1828 | citations as used in many natural sciences, a variety of packages has |
| 1828 | been developed which define derived forms of the @code{\cite} macro. | 1829 | been developed which define derived forms of the @code{\cite} macro. |
| 1829 | @b{Ref@TeX{}} can be configured to produce these citation macros as well by | 1830 | @b{Ref@TeX{}} can be configured to produce these citation macros as well |
| 1830 | setting the variable @code{reftex-cite-format}. For the most commonly | 1831 | by setting the variable @code{reftex-cite-format}. For the most |
| 1831 | used packages (@code{natbib}, @code{harvard}, @code{chicago}) this may | 1832 | commonly used packages (@code{natbib}, @code{harvard}, @code{chicago}, |
| 1832 | be done from the menu, under @code{Ref->Citation Styles}. Since there | 1833 | @code{jurabib}) this may be done from the menu, under |
| 1833 | are usually several macros to create the citations, executing | 1834 | @code{Ref->Citation Styles}. Since there are usually several macros to |
| 1834 | @code{reftex-citation} (@kbd{C-c [}) starts by prompting for the correct | 1835 | create the citations, executing @code{reftex-citation} (@kbd{C-c [}) |
| 1835 | macro. For the Natbib style, this looks like this: | 1836 | starts by prompting for the correct macro. For the Natbib style, this |
| 1837 | looks like this: | ||
| 1836 | 1838 | ||
| 1837 | @example | 1839 | @example |
| 1838 | SELECT A CITATION FORMAT | 1840 | SELECT A CITATION FORMAT |
| @@ -3520,15 +3522,15 @@ the Emacs 19 version supports many but not all features described in | |||
| 3520 | this manual. | 3522 | this manual. |
| 3521 | 3523 | ||
| 3522 | Thanks to the people on the Net who have used @b{Ref@TeX{}} and helped | 3524 | Thanks to the people on the Net who have used @b{Ref@TeX{}} and helped |
| 3523 | developing it with their reports. In particular thanks to @i{Fran | 3525 | developing it with their reports. In particular thanks to @i{Ralf |
| 3524 | Burstall, Alastair Burt, Lars Clausen, Soren Dayton, Stephen Eglen, | 3526 | Angeli, Fran Burstall, Alastair Burt, Lars Clausen, Soren Dayton, |
| 3525 | Karl Eichwalder, Erik Frisk, Peter Galbraith, Kai Grossjohann, Frank | 3527 | Stephen Eglen, Karl Eichwalder, Erik Frisk, Peter Galbraith, Kai |
| 3526 | Harrell, Peter Heslin, Stephan Heuel, Alan Ho, Lute Kamstra, Dieter | 3528 | Grossjohann, Frank Harrell, Till A. Heilmann, Peter Heslin, Stephan |
| 3527 | Kraft, David Kastrup, Adrian Lanz, Juri Linkov, Rory Molinari, Stefan | 3529 | Heuel, Alan Ho, Lute Kamstra, Dieter Kraft, David Kastrup, Adrian Lanz, |
| 3528 | Monnier, Laurent Mugnier, Dan Nicolaescu, Sudeep Kumar Palat, Daniel | 3530 | Juri Linkov, Rory Molinari, Stefan Monnier, Laurent Mugnier, Dan |
| 3529 | Polani, Alan Shutko, Robin Socha, Richard Stanton, Allan Strand, Jan | 3531 | Nicolaescu, Sudeep Kumar Palat, Daniel Polani, Alan Shutko, Robin Socha, |
| 3530 | Vroonhof, Christoph Wedler, Alan Williams, Roland Winkler, | 3532 | Richard Stanton, Allan Strand, Jan Vroonhof, Christoph Wedler, Alan |
| 3531 | Hans-Christoph Wirth, Eli Zaretskii}. | 3533 | Williams, Roland Winkler, Hans-Christoph Wirth, Eli Zaretskii}. |
| 3532 | 3534 | ||
| 3533 | 3535 | ||
| 3534 | The @code{view-crossref} feature was inspired by @i{Peter Galbraith's} | 3536 | The @code{view-crossref} feature was inspired by @i{Peter Galbraith's} |
| @@ -5152,10 +5154,18 @@ options for a specific part of @b{Ref@TeX{}}. | |||
| 5152 | 5154 | ||
| 5153 | Here is a list of recent changes to @b{Ref@TeX{}}. | 5155 | Here is a list of recent changes to @b{Ref@TeX{}}. |
| 5154 | 5156 | ||
| 5157 | @noindent @b{Version 4.28} | ||
| 5158 | @itemize @bullet | ||
| 5159 | @item Support for the Jurabib package. | ||
| 5160 | @item Improvements when selecting several items in a selection buffer. | ||
| 5161 | @end itemize | ||
| 5162 | |||
| 5155 | @noindent @b{Version 4.26} | 5163 | @noindent @b{Version 4.26} |
| 5156 | @itemize @bullet | 5164 | @itemize @bullet |
| 5157 | @item | 5165 | @item |
| 5158 | Bug fixes only. | 5166 | Support for global incremental search. |
| 5167 | @item | ||
| 5168 | Some improvements for XEmacs compatibility. | ||
| 5159 | @end itemize | 5169 | @end itemize |
| 5160 | 5170 | ||
| 5161 | @noindent @b{Version 4.25} | 5171 | @noindent @b{Version 4.25} |
diff --git a/man/trampver.texi b/man/trampver.texi index 3e9f32a7fae..33a0aacbb9e 100644 --- a/man/trampver.texi +++ b/man/trampver.texi | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | @c In the Tramp CVS, the version number is auto-frobbed from | 4 | @c In the Tramp CVS, the version number is auto-frobbed from |
| 5 | @c configure.ac, so you should edit that file and run | 5 | @c configure.ac, so you should edit that file and run |
| 6 | @c "autoconf && ./configure" to change the version number. | 6 | @c "autoconf && ./configure" to change the version number. |
| 7 | @set trampver 2.0.48 | 7 | @set trampver 2.0.49 |
| 8 | 8 | ||
| 9 | @c Other flags from configuration | 9 | @c Other flags from configuration |
| 10 | @set prefix /usr/local | 10 | @set prefix /usr/local |
diff --git a/man/url.texi b/man/url.texi index 64e4e76a3ab..0380b833ed8 100644 --- a/man/url.texi +++ b/man/url.texi | |||
| @@ -93,7 +93,7 @@ URIs have the form @var{scheme}:@var{scheme-specific-part}, where the | |||
| 93 | @var{scheme}s supported by this library are described below. | 93 | @var{scheme}s supported by this library are described below. |
| 94 | @xref{Supported URL Types}. | 94 | @xref{Supported URL Types}. |
| 95 | 95 | ||
| 96 | FTP NFS, HTTP, HTTPS, @code{rlogin}, @code{telnet}, tn3270, | 96 | FTP, NFS, HTTP, HTTPS, @code{rlogin}, @code{telnet}, tn3270, |
| 97 | IRC and gopher URLs all have the form | 97 | IRC and gopher URLs all have the form |
| 98 | 98 | ||
| 99 | @example | 99 | @example |
| @@ -110,9 +110,8 @@ the possible exception of @code{telnet}, it is rare for ports to be | |||
| 110 | specified, and it is possible using a non-standard port may have | 110 | specified, and it is possible using a non-standard port may have |
| 111 | undesired consequences if a different service is listening on that | 111 | undesired consequences if a different service is listening on that |
| 112 | port (e.g., an HTTP URL specifying the SMTP port can cause mail to be | 112 | port (e.g., an HTTP URL specifying the SMTP port can cause mail to be |
| 113 | sent).@c , but @xref{Other Variables, url-bad-port-list}. | 113 | sent). @c , but @xref{Other Variables, url-bad-port-list}. |
| 114 | The meaning of | 114 | The meaning of the @var{path} component depends on the service. |
| 115 | the @var{path} component depends on the service. | ||
| 116 | 115 | ||
| 117 | @menu | 116 | @menu |
| 118 | * Configuration:: | 117 | * Configuration:: |
diff --git a/src/.gdbinit b/src/.gdbinit index c3c7e6fd428..f1cc2d35d4b 100644 --- a/src/.gdbinit +++ b/src/.gdbinit | |||
| @@ -112,21 +112,45 @@ define pitx | |||
| 112 | if ($it->start.pos.charpos != $it->start.pos.bytepos) | 112 | if ($it->start.pos.charpos != $it->start.pos.bytepos) |
| 113 | printf "[%d]", $it->start.pos.bytepos | 113 | printf "[%d]", $it->start.pos.bytepos |
| 114 | end | 114 | end |
| 115 | printf " stop=%d ", $it->stop_charpos | 115 | printf " end=%d", $it->end_charpos |
| 116 | output $it->what | 116 | printf " stop=%d", $it->stop_charpos |
| 117 | printf " face=%d", $it->face_id | ||
| 118 | if ($it->multibyte_p) | ||
| 119 | printf " MB" | ||
| 120 | end | ||
| 121 | if ($it->header_line_p) | ||
| 122 | printf " HL" | ||
| 123 | end | ||
| 124 | if ($it->n_overlay_strings > 0) | ||
| 125 | printf " nov=%d" | ||
| 126 | end | ||
| 127 | if ($it->sp != 0) | ||
| 128 | printf " sp=%d", $it->sp | ||
| 129 | end | ||
| 117 | if ($it->what == IT_CHARACTER) | 130 | if ($it->what == IT_CHARACTER) |
| 118 | if ($it->len == 1 && $it->c >= ' ' && it->c < 255) | 131 | if ($it->len == 1 && $it->c >= ' ' && it->c < 255) |
| 119 | printf "['%c']", $it->c | 132 | printf "ch='%c'", $it->c |
| 120 | else | 133 | else |
| 121 | printf "[%d,%d]", $it->c, $it->len | 134 | printf "ch=[%d,%d]", $it->c, $it->len |
| 135 | end | ||
| 136 | else | ||
| 137 | if ($it->what == IT_IMAGE) | ||
| 138 | printf "IMAGE=%d", $it->image_id | ||
| 139 | else | ||
| 140 | output $it->what | ||
| 122 | end | 141 | end |
| 123 | end | 142 | end |
| 124 | printf " next=" | 143 | if ($it->method != GET_FROM_BUFFER) |
| 125 | output $it->method | 144 | printf " next=" |
| 145 | output $it->method | ||
| 146 | end | ||
| 126 | printf "\n" | 147 | printf "\n" |
| 148 | if ($it->region_beg_charpos >= 0) | ||
| 149 | printf "reg=%d-%d ", $it->region_beg_charpos, $it->region_end_charpos | ||
| 150 | end | ||
| 127 | printf "vpos=%d hpos=%d", $it->vpos, $it->hpos, | 151 | printf "vpos=%d hpos=%d", $it->vpos, $it->hpos, |
| 128 | printf " y=%d lvy=%d", $it->current_y, $it->last_visible_y | 152 | printf " y=%d lvy=%d", $it->current_y, $it->last_visible_y |
| 129 | printf " x=%d lvx=%d", $it->current_x, $it->last_visible_x | 153 | printf " x=%d vx=%d-%d", $it->current_x, $it->first_visible_x, $it->last_visible_x |
| 130 | printf " a+d=%d+%d=%d", $it->ascent, $it->descent, $it->ascent+$it->descent | 154 | printf " a+d=%d+%d=%d", $it->ascent, $it->descent, $it->ascent+$it->descent |
| 131 | printf " max=%d+%d=%d", $it->max_ascent, $it->max_descent, $it->max_ascent+$it->max_descent | 155 | printf " max=%d+%d=%d", $it->max_ascent, $it->max_descent, $it->max_ascent+$it->max_descent |
| 132 | printf "\n" | 156 | printf "\n" |
diff --git a/src/ChangeLog b/src/ChangeLog index a0999f79f64..10d3bd31bda 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,90 @@ | |||
| 1 | 2005-05-19 Nick Roberts <nickrob@snap.net.nz> | ||
| 2 | |||
| 3 | * keyboard.c (syms_of_keyboard): Remove lisp variables | ||
| 4 | post-command-idle-hook and post-command-idle-delay. | ||
| 5 | (command_loop_1): Don't try to execute post-command-idle-hook. | ||
| 6 | |||
| 7 | 2005-05-16 Kim F. Storm <storm@cua.dk> | ||
| 8 | |||
| 9 | * xdisp.c (handle_display_prop): Handle empty replacement. | ||
| 10 | (handle_single_display_spec): Return -1 for empty replacement. | ||
| 11 | |||
| 12 | * keyboard.c (adjust_point_for_property): Skip empty overlay string. | ||
| 13 | |||
| 14 | * .gdbinit (pitx): Print more info about iterator. | ||
| 15 | |||
| 16 | 2005-05-16 Andreas Schwab <schwab@suse.de> | ||
| 17 | |||
| 18 | * unexmacosx.c (unexec_realloc): Move declarations before | ||
| 19 | statements. | ||
| 20 | |||
| 21 | 2005-05-14 Richard M. Stallman <rms@gnu.org> | ||
| 22 | |||
| 23 | * xdisp.c (message3): Call cancel_echoing. | ||
| 24 | |||
| 25 | * alloc.c (Fmemory_full_p): New function. | ||
| 26 | (syms_of_alloc): defsubr it. | ||
| 27 | |||
| 28 | * process.c (send_process_trap): Unblock SIGPIPE. | ||
| 29 | (send_process): Reset SIGPIPE handler before reporting error. | ||
| 30 | |||
| 31 | 2005-05-14 Nick Roberts <nickrob@snap.net.nz> | ||
| 32 | |||
| 33 | * emacs.c (syms_of_emacs): Fix doc string for system-type. | ||
| 34 | |||
| 35 | 2005-05-13 Richard M. Stallman <rms@gnu.org> | ||
| 36 | |||
| 37 | * fileio.c (Ffind_file_name_handler): Handle lambda-exp as handler. | ||
| 38 | (Finsert_file_contents): If we read 0 bytes from a special file, | ||
| 39 | unlock the visited file if we locked it. | ||
| 40 | (Fmake_symbolic_link, Frecent_auto_save_p): Doc fixes. | ||
| 41 | (Ffile_exists_p, Ffile_symlink_p): Doc fixes. | ||
| 42 | |||
| 43 | 2005-05-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 44 | |||
| 45 | * emacs.c (main) [MAC_OS8]: Call init_atimer before mac_term_init. | ||
| 46 | |||
| 47 | * keyboard.c (readable_events) [USE_TOOLKIT_SCROLL_BARS]: Regard | ||
| 48 | toolkit scroll bar thumb drag events as squeezable and prevent | ||
| 49 | redisplay from being paused by them. | ||
| 50 | |||
| 51 | * mac.c [!MAC_OSX]: Include keyboard.h and syssignal.h. | ||
| 52 | [!MAC_OSX] (target_ticks): Remove variable. | ||
| 53 | [!MAC_OSX] (check_alarm, pause, index): Remove functions. | ||
| 54 | [!MAC_OSX && __MRC__] (sys_strftime): Likewise. | ||
| 55 | [!MAC_OSX] (select): If fd 0 is not set in rfds and some input | ||
| 56 | event occurs before timeout, behave as if the function were | ||
| 57 | interrupted. | ||
| 58 | [!MAC_OSX] (sigblock, sigsetmask, alarm): Simulate SIGALRM | ||
| 59 | handling using Time Manager routines. | ||
| 60 | [!MAC_OSX] (mac_atimer_task, mac_atimer_qlink, signal_mask): New | ||
| 61 | variables. | ||
| 62 | [!MAC_OSX] (mac_atimer_handler, set_mac_atimer, remove_mac_atimer) | ||
| 63 | (setitimer): New functions. | ||
| 64 | |||
| 65 | * macfns.c, macmenu.c: Don't include signal.h. | ||
| 66 | |||
| 67 | * macterm.c [USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds): | ||
| 68 | Rename from get_control_part_bound. All callers changed. | ||
| 69 | (x_scroll_bar_clear): New function. | ||
| 70 | (x_clear_frame): Use it. | ||
| 71 | (XTset_vertical_scroll_bar): Don't call Draw1Control. | ||
| 72 | (x_scroll_bar_handle_click): Change type of second argument from | ||
| 73 | int to ControlPartCode. | ||
| 74 | (check_alarm): Remove declaration. | ||
| 75 | (XTread_Socket) [!TARGET_API_MAC_CARBON]: Don't call it. | ||
| 76 | (XTread_Socket): Use ControlPartCode instead of SInt16. | ||
| 77 | |||
| 78 | 2005-05-13 Nozomu Ando <nand@mac.com> | ||
| 79 | |||
| 80 | * unexmacosx.c: Include assert.h. | ||
| 81 | (MACOSX_MALLOC_MULT16): New define. | ||
| 82 | [MACOSX_MALLOC_MULT16] (ptr_in_unexec_regions): Determine whether | ||
| 83 | ptr is in unexec regions by checking it is multiple of 16. | ||
| 84 | (unexec_malloc_header_t): New typedef. | ||
| 85 | (unexec_malloc, unexec_realloc, unexec_free): Store and use | ||
| 86 | allocated size information in unexec_malloc_header. | ||
| 87 | |||
| 1 | 2005-05-10 Richard M. Stallman <rms@gnu.org> | 88 | 2005-05-10 Richard M. Stallman <rms@gnu.org> |
| 2 | 89 | ||
| 3 | * xterm.c (noinclude): Add #undef. | 90 | * xterm.c (noinclude): Add #undef. |
diff --git a/src/alloc.c b/src/alloc.c index 1aa07b01da2..1eeea72ea7e 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -534,6 +534,12 @@ memory_full () | |||
| 534 | Fsignal (Qnil, Vmemory_signal_data); | 534 | Fsignal (Qnil, Vmemory_signal_data); |
| 535 | } | 535 | } |
| 536 | 536 | ||
| 537 | DEFUN ("memory-full-p", Fmemory_full_p, Smemory_full_p, 0, 0, 0, | ||
| 538 | doc: /* t if memory is nearly full, nil otherwise. */) | ||
| 539 | () | ||
| 540 | { | ||
| 541 | return (spare_memory ? Qnil : Qt); | ||
| 542 | } | ||
| 537 | 543 | ||
| 538 | /* Called if we can't allocate relocatable space for a buffer. */ | 544 | /* Called if we can't allocate relocatable space for a buffer. */ |
| 539 | 545 | ||
| @@ -6035,6 +6041,7 @@ The time is in seconds as a floating point value. */); | |||
| 6035 | DEFVAR_INT ("gcs-done", &gcs_done, | 6041 | DEFVAR_INT ("gcs-done", &gcs_done, |
| 6036 | doc: /* Accumulated number of garbage collections done. */); | 6042 | doc: /* Accumulated number of garbage collections done. */); |
| 6037 | 6043 | ||
| 6044 | defsubr (&Smemory_full_p); | ||
| 6038 | defsubr (&Scons); | 6045 | defsubr (&Scons); |
| 6039 | defsubr (&Slist); | 6046 | defsubr (&Slist); |
| 6040 | defsubr (&Svector); | 6047 | defsubr (&Svector); |
diff --git a/src/emacs.c b/src/emacs.c index 597a86d2eec..65a6d549845 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -1326,6 +1326,7 @@ main (argc, argv | |||
| 1326 | syms_of_search (); | 1326 | syms_of_search (); |
| 1327 | syms_of_frame (); | 1327 | syms_of_frame (); |
| 1328 | 1328 | ||
| 1329 | init_atimer (); | ||
| 1329 | mac_term_init (build_string ("Mac"), NULL, NULL); | 1330 | mac_term_init (build_string ("Mac"), NULL, NULL); |
| 1330 | init_keyboard (); | 1331 | init_keyboard (); |
| 1331 | #endif | 1332 | #endif |
| @@ -1351,7 +1352,9 @@ main (argc, argv | |||
| 1351 | #ifdef CLASH_DETECTION | 1352 | #ifdef CLASH_DETECTION |
| 1352 | init_filelock (); | 1353 | init_filelock (); |
| 1353 | #endif | 1354 | #endif |
| 1355 | #ifndef MAC_OS8 | ||
| 1354 | init_atimer (); | 1356 | init_atimer (); |
| 1357 | #endif | ||
| 1355 | running_asynch_code = 0; | 1358 | running_asynch_code = 0; |
| 1356 | 1359 | ||
| 1357 | /* Handle --unibyte and the EMACS_UNIBYTE envvar, | 1360 | /* Handle --unibyte and the EMACS_UNIBYTE envvar, |
| @@ -2447,16 +2450,16 @@ syms_of_emacs () | |||
| 2447 | Many arguments are deleted from the list as they are processed. */); | 2450 | Many arguments are deleted from the list as they are processed. */); |
| 2448 | 2451 | ||
| 2449 | DEFVAR_LISP ("system-type", &Vsystem_type, | 2452 | DEFVAR_LISP ("system-type", &Vsystem_type, |
| 2450 | + doc: /* Value is symbol indicating type of operating system you are using. | 2453 | doc: /* Value is symbol indicating type of operating system you are using. |
| 2451 | +Special values: | 2454 | Special values: |
| 2452 | + `gnu/linux' compiled for a GNU/Linux system. | 2455 | `gnu/linux' compiled for a GNU/Linux system. |
| 2453 | + `darwin' compiled for Darwin (GNU-Darwin, Mac OS X, ...). | 2456 | `darwin' compiled for Darwin (GNU-Darwin, Mac OS X, ...). |
| 2454 | + `macos' compiled for Mac OS 9. | 2457 | `macos' compiled for Mac OS 9. |
| 2455 | + `ms-dos' compiled as an MS-DOS application. | 2458 | `ms-dos' compiled as an MS-DOS application. |
| 2456 | + `windows-nt' compiled as a native W32 application. | 2459 | `windows-nt' compiled as a native W32 application. |
| 2457 | + `cygwin' compiled using the Cygwin library. | 2460 | `cygwin' compiled using the Cygwin library. |
| 2458 | + `vax-vms' or `axp-vms': compiled for a (Open)VMS system. | 2461 | `vax-vms' or `axp-vms': compiled for a (Open)VMS system. |
| 2459 | +Anything else indicates some sort of Unix system. */); | 2462 | Anything else indicates some sort of Unix system. */); |
| 2460 | Vsystem_type = intern (SYSTEM_TYPE); | 2463 | Vsystem_type = intern (SYSTEM_TYPE); |
| 2461 | 2464 | ||
| 2462 | DEFVAR_LISP ("system-configuration", &Vsystem_configuration, | 2465 | DEFVAR_LISP ("system-configuration", &Vsystem_configuration, |
diff --git a/src/fileio.c b/src/fileio.c index 1d6100a2a81..58912a7cb8c 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -377,7 +377,10 @@ use the standard functions without calling themselves recursively. */) | |||
| 377 | Lisp_Object string = XCAR (elt); | 377 | Lisp_Object string = XCAR (elt); |
| 378 | int match_pos; | 378 | int match_pos; |
| 379 | Lisp_Object handler = XCDR (elt); | 379 | Lisp_Object handler = XCDR (elt); |
| 380 | Lisp_Object operations = Fget (handler, Qoperations); | 380 | Lisp_Object operations = Qnil; |
| 381 | |||
| 382 | if (SYMBOLP (handler)) | ||
| 383 | operations = Fget (handler, Qoperations); | ||
| 381 | 384 | ||
| 382 | if (STRINGP (string) | 385 | if (STRINGP (string) |
| 383 | && (match_pos = fast_string_match (string, filename)) > pos | 386 | && (match_pos = fast_string_match (string, filename)) > pos |
| @@ -2867,7 +2870,8 @@ This is what happens in interactive use with M-x. */) | |||
| 2867 | #ifdef S_IFLNK | 2870 | #ifdef S_IFLNK |
| 2868 | DEFUN ("make-symbolic-link", Fmake_symbolic_link, Smake_symbolic_link, 2, 3, | 2871 | DEFUN ("make-symbolic-link", Fmake_symbolic_link, Smake_symbolic_link, 2, 3, |
| 2869 | "FMake symbolic link to file: \nGMake symbolic link to file %s: \np", | 2872 | "FMake symbolic link to file: \nGMake symbolic link to file %s: \np", |
| 2870 | doc: /* Make a symbolic link to FILENAME, named LINKNAME. Both args must be strings. | 2873 | doc: /* Make a symbolic link to FILENAME, named LINKNAME. |
| 2874 | Both args must be strings. | ||
| 2871 | Signals a `file-already-exists' error if a file LINKNAME already exists | 2875 | Signals a `file-already-exists' error if a file LINKNAME already exists |
| 2872 | unless optional third argument OK-IF-ALREADY-EXISTS is non-nil. | 2876 | unless optional third argument OK-IF-ALREADY-EXISTS is non-nil. |
| 2873 | A number as third arg means request confirmation if LINKNAME already exists. | 2877 | A number as third arg means request confirmation if LINKNAME already exists. |
| @@ -3065,8 +3069,10 @@ check_writable (filename) | |||
| 3065 | } | 3069 | } |
| 3066 | 3070 | ||
| 3067 | DEFUN ("file-exists-p", Ffile_exists_p, Sfile_exists_p, 1, 1, 0, | 3071 | DEFUN ("file-exists-p", Ffile_exists_p, Sfile_exists_p, 1, 1, 0, |
| 3068 | doc: /* Return t if file FILENAME exists. (This does not mean you can read it.) | 3072 | doc: /* Return t if file FILENAME exists (whether or not you can read it.) |
| 3069 | See also `file-readable-p' and `file-attributes'. */) | 3073 | See also `file-readable-p' and `file-attributes'. |
| 3074 | This returns nil for a symlink to a nonexistent file. | ||
| 3075 | Use `file-symlink-p' to test for such links. */) | ||
| 3070 | (filename) | 3076 | (filename) |
| 3071 | Lisp_Object filename; | 3077 | Lisp_Object filename; |
| 3072 | { | 3078 | { |
| @@ -3243,7 +3249,10 @@ If there is no error, returns nil. */) | |||
| 3243 | DEFUN ("file-symlink-p", Ffile_symlink_p, Sfile_symlink_p, 1, 1, 0, | 3249 | DEFUN ("file-symlink-p", Ffile_symlink_p, Sfile_symlink_p, 1, 1, 0, |
| 3244 | doc: /* Return non-nil if file FILENAME is the name of a symbolic link. | 3250 | doc: /* Return non-nil if file FILENAME is the name of a symbolic link. |
| 3245 | The value is the link target, as a string. | 3251 | The value is the link target, as a string. |
| 3246 | Otherwise returns nil. */) | 3252 | Otherwise it returns nil. |
| 3253 | |||
| 3254 | This function returns t when given the name of a symlink that | ||
| 3255 | points to a nonexistent file. */) | ||
| 3247 | (filename) | 3256 | (filename) |
| 3248 | Lisp_Object filename; | 3257 | Lisp_Object filename; |
| 3249 | { | 3258 | { |
| @@ -3733,6 +3742,8 @@ actually used. */) | |||
| 3733 | int set_coding_system = 0; | 3742 | int set_coding_system = 0; |
| 3734 | Lisp_Object coding_system; | 3743 | Lisp_Object coding_system; |
| 3735 | int read_quit = 0; | 3744 | int read_quit = 0; |
| 3745 | int old_Vdeactivate_mark = Vdeactivate_mark; | ||
| 3746 | int we_locked_file = 0; | ||
| 3736 | 3747 | ||
| 3737 | if (current_buffer->base_buffer && ! NILP (visit)) | 3748 | if (current_buffer->base_buffer && ! NILP (visit)) |
| 3738 | error ("Cannot do file visiting in an indirect buffer"); | 3749 | error ("Cannot do file visiting in an indirect buffer"); |
| @@ -4381,8 +4392,17 @@ actually used. */) | |||
| 4381 | /* For a special file, all we can do is guess. */ | 4392 | /* For a special file, all we can do is guess. */ |
| 4382 | total = READ_BUF_SIZE; | 4393 | total = READ_BUF_SIZE; |
| 4383 | 4394 | ||
| 4384 | if (NILP (visit) && total > 0) | 4395 | if (NILP (visit) && inserted > 0) |
| 4385 | prepare_to_modify_buffer (PT, PT, NULL); | 4396 | { |
| 4397 | #ifdef CLASH_DETECTION | ||
| 4398 | if (!NILP (current_buffer->file_truename) | ||
| 4399 | /* Make binding buffer-file-name to nil effective. */ | ||
| 4400 | && !NILP (current_buffer->filename) | ||
| 4401 | && SAVE_MODIFF >= MODIFF) | ||
| 4402 | we_locked_file = 1; | ||
| 4403 | #endif /* CLASH_DETECTION */ | ||
| 4404 | prepare_to_modify_buffer (GPT, GPT, NULL); | ||
| 4405 | } | ||
| 4386 | 4406 | ||
| 4387 | move_gap (PT); | 4407 | move_gap (PT); |
| 4388 | if (GAP_SIZE < total) | 4408 | if (GAP_SIZE < total) |
| @@ -4472,6 +4492,18 @@ actually used. */) | |||
| 4472 | } | 4492 | } |
| 4473 | } | 4493 | } |
| 4474 | 4494 | ||
| 4495 | /* Now we have read all the file data into the gap. | ||
| 4496 | If it was empty, undo marking the buffer modified. */ | ||
| 4497 | |||
| 4498 | if (inserted == 0) | ||
| 4499 | { | ||
| 4500 | #ifdef CLASH_DETECTION | ||
| 4501 | if (we_locked_file) | ||
| 4502 | unlock_file (current_buffer->file_truename); | ||
| 4503 | #endif | ||
| 4504 | Vdeactivate_mark = old_Vdeactivate_mark; | ||
| 4505 | } | ||
| 4506 | |||
| 4475 | /* Make the text read part of the buffer. */ | 4507 | /* Make the text read part of the buffer. */ |
| 4476 | GAP_SIZE -= inserted; | 4508 | GAP_SIZE -= inserted; |
| 4477 | GPT += inserted; | 4509 | GPT += inserted; |
| @@ -5952,7 +5984,10 @@ DEFUN ("clear-buffer-auto-save-failure", Fclear_buffer_auto_save_failure, | |||
| 5952 | 5984 | ||
| 5953 | DEFUN ("recent-auto-save-p", Frecent_auto_save_p, Srecent_auto_save_p, | 5985 | DEFUN ("recent-auto-save-p", Frecent_auto_save_p, Srecent_auto_save_p, |
| 5954 | 0, 0, 0, | 5986 | 0, 0, 0, |
| 5955 | doc: /* Return t if current buffer has been auto-saved since last read in or saved. */) | 5987 | doc: /* Return t if current buffer has been auto-saved recently. |
| 5988 | More precisely, if it has been auto-saved since last read from or saved | ||
| 5989 | in the visited file. If the buffer has no visited file, | ||
| 5990 | then any auto-save counts as "recent". */) | ||
| 5956 | () | 5991 | () |
| 5957 | { | 5992 | { |
| 5958 | return (SAVE_MODIFF < current_buffer->auto_save_modified) ? Qt : Qnil; | 5993 | return (SAVE_MODIFF < current_buffer->auto_save_modified) ? Qt : Qnil; |
diff --git a/src/keyboard.c b/src/keyboard.c index dd4767585b7..0e7fb1c2719 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -450,11 +450,6 @@ Lisp_Object Qecho_area_clear_hook; | |||
| 450 | Lisp_Object Qpre_command_hook, Vpre_command_hook; | 450 | Lisp_Object Qpre_command_hook, Vpre_command_hook; |
| 451 | Lisp_Object Qpost_command_hook, Vpost_command_hook; | 451 | Lisp_Object Qpost_command_hook, Vpost_command_hook; |
| 452 | Lisp_Object Qcommand_hook_internal, Vcommand_hook_internal; | 452 | Lisp_Object Qcommand_hook_internal, Vcommand_hook_internal; |
| 453 | /* Hook run after a command if there's no more input soon. */ | ||
| 454 | Lisp_Object Qpost_command_idle_hook, Vpost_command_idle_hook; | ||
| 455 | |||
| 456 | /* Delay time in microseconds before running post-command-idle-hook. */ | ||
| 457 | EMACS_INT post_command_idle_delay; | ||
| 458 | 453 | ||
| 459 | /* List of deferred actions to be performed at a later time. | 454 | /* List of deferred actions to be performed at a later time. |
| 460 | The precise format isn't relevant here; we just check whether it is nil. */ | 455 | The precise format isn't relevant here; we just check whether it is nil. */ |
| @@ -1447,16 +1442,6 @@ command_loop_1 () | |||
| 1447 | 1442 | ||
| 1448 | if (!NILP (Vdeferred_action_list)) | 1443 | if (!NILP (Vdeferred_action_list)) |
| 1449 | safe_run_hooks (Qdeferred_action_function); | 1444 | safe_run_hooks (Qdeferred_action_function); |
| 1450 | |||
| 1451 | if (!NILP (Vpost_command_idle_hook) && !NILP (Vrun_hooks)) | ||
| 1452 | { | ||
| 1453 | if (NILP (Vunread_command_events) | ||
| 1454 | && NILP (Vunread_input_method_events) | ||
| 1455 | && NILP (Vunread_post_input_method_events) | ||
| 1456 | && NILP (Vexecuting_kbd_macro) | ||
| 1457 | && !NILP (sit_for (0, post_command_idle_delay, 0, 1, 1))) | ||
| 1458 | safe_run_hooks (Qpost_command_idle_hook); | ||
| 1459 | } | ||
| 1460 | } | 1445 | } |
| 1461 | 1446 | ||
| 1462 | Vmemory_full = Qnil; | 1447 | Vmemory_full = Qnil; |
| @@ -1822,16 +1807,6 @@ command_loop_1 () | |||
| 1822 | if (!NILP (Vdeferred_action_list)) | 1807 | if (!NILP (Vdeferred_action_list)) |
| 1823 | safe_run_hooks (Qdeferred_action_function); | 1808 | safe_run_hooks (Qdeferred_action_function); |
| 1824 | 1809 | ||
| 1825 | if (!NILP (Vpost_command_idle_hook) && !NILP (Vrun_hooks)) | ||
| 1826 | { | ||
| 1827 | if (NILP (Vunread_command_events) | ||
| 1828 | && NILP (Vunread_input_method_events) | ||
| 1829 | && NILP (Vunread_post_input_method_events) | ||
| 1830 | && NILP (Vexecuting_kbd_macro) | ||
| 1831 | && !NILP (sit_for (0, post_command_idle_delay, 0, 1, 1))) | ||
| 1832 | safe_run_hooks (Qpost_command_idle_hook); | ||
| 1833 | } | ||
| 1834 | |||
| 1835 | /* If there is a prefix argument, | 1810 | /* If there is a prefix argument, |
| 1836 | 1) We don't want Vlast_command to be ``universal-argument'' | 1811 | 1) We don't want Vlast_command to be ``universal-argument'' |
| 1837 | (that would be dumb), so don't set Vlast_command, | 1812 | (that would be dumb), so don't set Vlast_command, |
| @@ -1947,10 +1922,13 @@ adjust_point_for_property (last_pt, modified) | |||
| 1947 | ? get_property_and_range (PT, Qdisplay, &val, &beg, &end, Qnil) | 1922 | ? get_property_and_range (PT, Qdisplay, &val, &beg, &end, Qnil) |
| 1948 | : (beg = OVERLAY_POSITION (OVERLAY_START (overlay)), | 1923 | : (beg = OVERLAY_POSITION (OVERLAY_START (overlay)), |
| 1949 | end = OVERLAY_POSITION (OVERLAY_END (overlay)))) | 1924 | end = OVERLAY_POSITION (OVERLAY_END (overlay)))) |
| 1950 | && beg < PT) /* && end > PT <- It's always the case. */ | 1925 | && (beg < PT /* && end > PT <- It's always the case. */ |
| 1926 | || (beg <= PT && STRINGP (val) && SCHARS (val) == 0))) | ||
| 1951 | { | 1927 | { |
| 1952 | xassert (end > PT); | 1928 | xassert (end > PT); |
| 1953 | SET_PT (PT < last_pt ? beg : end); | 1929 | SET_PT (PT < last_pt |
| 1930 | ? (STRINGP (val) && SCHARS (val) == 0 ? beg - 1 : beg) | ||
| 1931 | : end); | ||
| 1954 | check_composition = check_invisible = 1; | 1932 | check_composition = check_invisible = 1; |
| 1955 | } | 1933 | } |
| 1956 | check_display = 0; | 1934 | check_display = 0; |
| @@ -3530,9 +3508,11 @@ readable_events (flags) | |||
| 3530 | READABLE_EVENTS_FILTER_EVENTS is set, report it as empty. */ | 3508 | READABLE_EVENTS_FILTER_EVENTS is set, report it as empty. */ |
| 3531 | if (kbd_fetch_ptr != kbd_store_ptr) | 3509 | if (kbd_fetch_ptr != kbd_store_ptr) |
| 3532 | { | 3510 | { |
| 3533 | int have_live_event = 1; | 3511 | if (flags & (READABLE_EVENTS_FILTER_EVENTS |
| 3534 | 3512 | #ifdef USE_TOOLKIT_SCROLL_BARS | |
| 3535 | if (flags & READABLE_EVENTS_FILTER_EVENTS) | 3513 | | READABLE_EVENTS_IGNORE_SQUEEZABLES |
| 3514 | #endif | ||
| 3515 | )) | ||
| 3536 | { | 3516 | { |
| 3537 | struct input_event *event; | 3517 | struct input_event *event; |
| 3538 | 3518 | ||
| @@ -3540,16 +3520,29 @@ readable_events (flags) | |||
| 3540 | ? kbd_fetch_ptr | 3520 | ? kbd_fetch_ptr |
| 3541 | : kbd_buffer); | 3521 | : kbd_buffer); |
| 3542 | 3522 | ||
| 3543 | while (have_live_event && event->kind == FOCUS_IN_EVENT) | 3523 | do |
| 3544 | { | 3524 | { |
| 3545 | event++; | 3525 | if (!( |
| 3526 | #ifdef USE_TOOLKIT_SCROLL_BARS | ||
| 3527 | (flags & READABLE_EVENTS_FILTER_EVENTS) && | ||
| 3528 | #endif | ||
| 3529 | event->kind == FOCUS_IN_EVENT) | ||
| 3530 | #ifdef USE_TOOLKIT_SCROLL_BARS | ||
| 3531 | && !((flags & READABLE_EVENTS_IGNORE_SQUEEZABLES) | ||
| 3532 | && event->kind == SCROLL_BAR_CLICK_EVENT | ||
| 3533 | && event->part == scroll_bar_handle | ||
| 3534 | && event->modifiers == 0) | ||
| 3535 | #endif | ||
| 3536 | ) | ||
| 3537 | return 1; | ||
| 3538 | event++; | ||
| 3546 | if (event == kbd_buffer + KBD_BUFFER_SIZE) | 3539 | if (event == kbd_buffer + KBD_BUFFER_SIZE) |
| 3547 | event = kbd_buffer; | 3540 | event = kbd_buffer; |
| 3548 | if (event == kbd_store_ptr) | 3541 | } |
| 3549 | have_live_event = 0; | 3542 | while (event != kbd_store_ptr); |
| 3550 | } | ||
| 3551 | } | 3543 | } |
| 3552 | if (have_live_event) return 1; | 3544 | else |
| 3545 | return 1; | ||
| 3553 | } | 3546 | } |
| 3554 | 3547 | ||
| 3555 | #ifdef HAVE_MOUSE | 3548 | #ifdef HAVE_MOUSE |
| @@ -6544,7 +6537,7 @@ lucid_event_type_list_p (object) | |||
| 6544 | If READABLE_EVENTS_FILTER_EVENTS is set in FLAGS, ignore internal | 6537 | If READABLE_EVENTS_FILTER_EVENTS is set in FLAGS, ignore internal |
| 6545 | events (FOCUS_IN_EVENT). | 6538 | events (FOCUS_IN_EVENT). |
| 6546 | If READABLE_EVENTS_IGNORE_SQUEEZABLES is set in FLAGS, ignore mouse | 6539 | If READABLE_EVENTS_IGNORE_SQUEEZABLES is set in FLAGS, ignore mouse |
| 6547 | movements. */ | 6540 | movements and toolkit scroll bar thumb drags. */ |
| 6548 | 6541 | ||
| 6549 | static void | 6542 | static void |
| 6550 | get_input_pending (addr, flags) | 6543 | get_input_pending (addr, flags) |
| @@ -10835,9 +10828,6 @@ syms_of_keyboard () | |||
| 10835 | Qpost_command_hook = intern ("post-command-hook"); | 10828 | Qpost_command_hook = intern ("post-command-hook"); |
| 10836 | staticpro (&Qpost_command_hook); | 10829 | staticpro (&Qpost_command_hook); |
| 10837 | 10830 | ||
| 10838 | Qpost_command_idle_hook = intern ("post-command-idle-hook"); | ||
| 10839 | staticpro (&Qpost_command_idle_hook); | ||
| 10840 | |||
| 10841 | Qdeferred_action_function = intern ("deferred-action-function"); | 10831 | Qdeferred_action_function = intern ("deferred-action-function"); |
| 10842 | staticpro (&Qdeferred_action_function); | 10832 | staticpro (&Qdeferred_action_function); |
| 10843 | 10833 | ||
| @@ -11283,16 +11273,6 @@ the hook value is set to nil, since otherwise the error | |||
| 11283 | might happen repeatedly and make Emacs nonfunctional. */); | 11273 | might happen repeatedly and make Emacs nonfunctional. */); |
| 11284 | Vpost_command_hook = Qnil; | 11274 | Vpost_command_hook = Qnil; |
| 11285 | 11275 | ||
| 11286 | DEFVAR_LISP ("post-command-idle-hook", &Vpost_command_idle_hook, | ||
| 11287 | doc: /* Normal hook run after each command is executed, if idle. | ||
| 11288 | Errors running the hook are caught and ignored. */); | ||
| 11289 | Vpost_command_idle_hook = Qnil; | ||
| 11290 | |||
| 11291 | DEFVAR_INT ("post-command-idle-delay", &post_command_idle_delay, | ||
| 11292 | doc: /* Delay time before running `post-command-idle-hook'. | ||
| 11293 | This is measured in microseconds. */); | ||
| 11294 | post_command_idle_delay = 100000; | ||
| 11295 | |||
| 11296 | #if 0 | 11276 | #if 0 |
| 11297 | DEFVAR_LISP ("echo-area-clear-hook", ..., | 11277 | DEFVAR_LISP ("echo-area-clear-hook", ..., |
| 11298 | doc: /* Normal hook run when clearing the echo area. */); | 11278 | doc: /* Normal hook run when clearing the echo area. */); |
| @@ -1672,37 +1672,7 @@ sys_fopen (const char *name, const char *mode) | |||
| 1672 | } | 1672 | } |
| 1673 | 1673 | ||
| 1674 | 1674 | ||
| 1675 | long target_ticks = 0; | 1675 | #include "keyboard.h" |
| 1676 | |||
| 1677 | #ifdef __MRC__ | ||
| 1678 | __sigfun alarm_signal_func = (__sigfun) 0; | ||
| 1679 | #elif __MWERKS__ | ||
| 1680 | __signal_func_ptr alarm_signal_func = (__signal_func_ptr) 0; | ||
| 1681 | #else /* not __MRC__ and not __MWERKS__ */ | ||
| 1682 | You lose!!! | ||
| 1683 | #endif /* not __MRC__ and not __MWERKS__ */ | ||
| 1684 | |||
| 1685 | |||
| 1686 | /* These functions simulate SIG_ALRM. The stub for function signal | ||
| 1687 | stores the signal handler function in alarm_signal_func if a | ||
| 1688 | SIG_ALRM is encountered. check_alarm is called in XTread_socket, | ||
| 1689 | which emacs calls periodically. A pending alarm is represented by | ||
| 1690 | a non-zero target_ticks value. check_alarm calls the handler | ||
| 1691 | function pointed to by alarm_signal_func if one has been set up and | ||
| 1692 | an alarm is pending. */ | ||
| 1693 | |||
| 1694 | void | ||
| 1695 | check_alarm () | ||
| 1696 | { | ||
| 1697 | if (target_ticks && TickCount () > target_ticks) | ||
| 1698 | { | ||
| 1699 | target_ticks = 0; | ||
| 1700 | if (alarm_signal_func) | ||
| 1701 | (*alarm_signal_func)(SIGALRM); | ||
| 1702 | } | ||
| 1703 | } | ||
| 1704 | |||
| 1705 | |||
| 1706 | extern Boolean mac_wait_next_event (EventRecord *, UInt32, Boolean); | 1676 | extern Boolean mac_wait_next_event (EventRecord *, UInt32, Boolean); |
| 1707 | 1677 | ||
| 1708 | int | 1678 | int |
| @@ -1713,25 +1683,17 @@ select (n, rfds, wfds, efds, timeout) | |||
| 1713 | SELECT_TYPE *efds; | 1683 | SELECT_TYPE *efds; |
| 1714 | struct timeval *timeout; | 1684 | struct timeval *timeout; |
| 1715 | { | 1685 | { |
| 1716 | #if TARGET_API_MAC_CARBON | ||
| 1717 | OSErr err; | 1686 | OSErr err; |
| 1687 | #if TARGET_API_MAC_CARBON | ||
| 1718 | EventTimeout timeout_sec = | 1688 | EventTimeout timeout_sec = |
| 1719 | (timeout | 1689 | (timeout |
| 1720 | ? (EMACS_SECS (*timeout) * kEventDurationSecond | 1690 | ? (EMACS_SECS (*timeout) * kEventDurationSecond |
| 1721 | + EMACS_USECS (*timeout) * kEventDurationMicrosecond) | 1691 | + EMACS_USECS (*timeout) * kEventDurationMicrosecond) |
| 1722 | : kEventDurationForever); | 1692 | : kEventDurationForever); |
| 1723 | 1693 | ||
| 1724 | if (FD_ISSET (0, rfds)) | 1694 | BLOCK_INPUT; |
| 1725 | { | 1695 | err = ReceiveNextEvent (0, NULL, timeout_sec, kEventLeaveInQueue, NULL); |
| 1726 | BLOCK_INPUT; | 1696 | UNBLOCK_INPUT; |
| 1727 | err = ReceiveNextEvent (0, NULL, timeout_sec, kEventLeaveInQueue, NULL); | ||
| 1728 | UNBLOCK_INPUT; | ||
| 1729 | if (err == noErr) | ||
| 1730 | return 1; | ||
| 1731 | else | ||
| 1732 | FD_ZERO (rfds); | ||
| 1733 | } | ||
| 1734 | return 0; | ||
| 1735 | #else /* not TARGET_API_MAC_CARBON */ | 1697 | #else /* not TARGET_API_MAC_CARBON */ |
| 1736 | EventRecord e; | 1698 | EventRecord e; |
| 1737 | UInt32 sleep_time = EMACS_SECS (*timeout) * 60 + | 1699 | UInt32 sleep_time = EMACS_SECS (*timeout) * 60 + |
| @@ -1746,47 +1708,62 @@ select (n, rfds, wfds, efds, timeout) | |||
| 1746 | read_avail_input which in turn calls XTread_socket to poll for | 1708 | read_avail_input which in turn calls XTread_socket to poll for |
| 1747 | these events. Otherwise these never get processed except but a | 1709 | these events. Otherwise these never get processed except but a |
| 1748 | very slow poll timer. */ | 1710 | very slow poll timer. */ |
| 1749 | if (FD_ISSET (0, rfds) && mac_wait_next_event (&e, sleep_time, false)) | 1711 | if (mac_wait_next_event (&e, sleep_time, false)) |
| 1750 | return 1; | 1712 | err = noErr; |
| 1751 | 1713 | else | |
| 1752 | return 0; | 1714 | err = -9875; /* eventLoopTimedOutErr */ |
| 1753 | #endif /* not TARGET_API_MAC_CARBON */ | 1715 | #endif /* not TARGET_API_MAC_CARBON */ |
| 1754 | } | ||
| 1755 | |||
| 1756 | |||
| 1757 | /* Called in sys_select to wait for an alarm signal to arrive. */ | ||
| 1758 | |||
| 1759 | int | ||
| 1760 | pause () | ||
| 1761 | { | ||
| 1762 | EventRecord e; | ||
| 1763 | unsigned long tick; | ||
| 1764 | |||
| 1765 | if (!target_ticks) /* no alarm pending */ | ||
| 1766 | return -1; | ||
| 1767 | 1716 | ||
| 1768 | if ((tick = TickCount ()) < target_ticks) | 1717 | if (FD_ISSET (0, rfds)) |
| 1769 | WaitNextEvent (0, &e, target_ticks - tick, NULL); /* Accept no event; | 1718 | if (err == noErr) |
| 1770 | just wait. by T.I. */ | 1719 | return 1; |
| 1720 | else | ||
| 1721 | { | ||
| 1722 | FD_ZERO (rfds); | ||
| 1723 | return 0; | ||
| 1724 | } | ||
| 1725 | else | ||
| 1726 | if (err == noErr) | ||
| 1727 | { | ||
| 1728 | if (input_polling_used ()) | ||
| 1729 | { | ||
| 1730 | /* It could be confusing if a real alarm arrives while | ||
| 1731 | processing the fake one. Turn it off and let the | ||
| 1732 | handler reset it. */ | ||
| 1733 | extern void poll_for_input_1 P_ ((void)); | ||
| 1734 | int old_poll_suppress_count = poll_suppress_count; | ||
| 1735 | poll_suppress_count = 1; | ||
| 1736 | poll_for_input_1 (); | ||
| 1737 | poll_suppress_count = old_poll_suppress_count; | ||
| 1738 | } | ||
| 1739 | errno = EINTR; | ||
| 1740 | return -1; | ||
| 1741 | } | ||
| 1742 | else | ||
| 1743 | return 0; | ||
| 1744 | } | ||
| 1771 | 1745 | ||
| 1772 | target_ticks = 0; | ||
| 1773 | if (alarm_signal_func) | ||
| 1774 | (*alarm_signal_func)(SIGALRM); | ||
| 1775 | 1746 | ||
| 1776 | return 0; | 1747 | /* Simulation of SIGALRM. The stub for function signal stores the |
| 1777 | } | 1748 | signal handler function in alarm_signal_func if a SIGALRM is |
| 1749 | encountered. */ | ||
| 1778 | 1750 | ||
| 1751 | #include <signal.h> | ||
| 1752 | #include "syssignal.h" | ||
| 1779 | 1753 | ||
| 1780 | int | 1754 | static TMTask mac_atimer_task; |
| 1781 | alarm (int seconds) | ||
| 1782 | { | ||
| 1783 | long remaining = target_ticks ? (TickCount () - target_ticks) / 60 : 0; | ||
| 1784 | 1755 | ||
| 1785 | target_ticks = seconds ? TickCount () + 60 * seconds : 0; | 1756 | static QElemPtr mac_atimer_qlink = (QElemPtr) &mac_atimer_task; |
| 1786 | 1757 | ||
| 1787 | return (remaining < 0) ? 0 : (unsigned int) remaining; | 1758 | static int signal_mask = 0; |
| 1788 | } | ||
| 1789 | 1759 | ||
| 1760 | #ifdef __MRC__ | ||
| 1761 | __sigfun alarm_signal_func = (__sigfun) 0; | ||
| 1762 | #elif __MWERKS__ | ||
| 1763 | __signal_func_ptr alarm_signal_func = (__signal_func_ptr) 0; | ||
| 1764 | #else /* not __MRC__ and not __MWERKS__ */ | ||
| 1765 | You lose!!! | ||
| 1766 | #endif /* not __MRC__ and not __MWERKS__ */ | ||
| 1790 | 1767 | ||
| 1791 | #undef signal | 1768 | #undef signal |
| 1792 | #ifdef __MRC__ | 1769 | #ifdef __MRC__ |
| @@ -1819,6 +1796,128 @@ sys_signal (int signal_num, __signal_func_ptr signal_func) | |||
| 1819 | } | 1796 | } |
| 1820 | 1797 | ||
| 1821 | 1798 | ||
| 1799 | static pascal void | ||
| 1800 | mac_atimer_handler (qlink) | ||
| 1801 | TMTaskPtr qlink; | ||
| 1802 | { | ||
| 1803 | if (alarm_signal_func) | ||
| 1804 | (alarm_signal_func) (SIGALRM); | ||
| 1805 | } | ||
| 1806 | |||
| 1807 | |||
| 1808 | static void | ||
| 1809 | set_mac_atimer (count) | ||
| 1810 | long count; | ||
| 1811 | { | ||
| 1812 | static TimerUPP mac_atimer_handlerUPP = NULL; | ||
| 1813 | |||
| 1814 | if (mac_atimer_handlerUPP == NULL) | ||
| 1815 | mac_atimer_handlerUPP = NewTimerUPP (mac_atimer_handler); | ||
| 1816 | mac_atimer_task.tmCount = 0; | ||
| 1817 | mac_atimer_task.tmAddr = mac_atimer_handlerUPP; | ||
| 1818 | mac_atimer_qlink = (QElemPtr) &mac_atimer_task; | ||
| 1819 | InsTime (mac_atimer_qlink); | ||
| 1820 | if (count) | ||
| 1821 | PrimeTime (mac_atimer_qlink, count); | ||
| 1822 | } | ||
| 1823 | |||
| 1824 | |||
| 1825 | int | ||
| 1826 | remove_mac_atimer (remaining_count) | ||
| 1827 | long *remaining_count; | ||
| 1828 | { | ||
| 1829 | if (mac_atimer_qlink) | ||
| 1830 | { | ||
| 1831 | RmvTime (mac_atimer_qlink); | ||
| 1832 | if (remaining_count) | ||
| 1833 | *remaining_count = mac_atimer_task.tmCount; | ||
| 1834 | mac_atimer_qlink = NULL; | ||
| 1835 | |||
| 1836 | return 0; | ||
| 1837 | } | ||
| 1838 | else | ||
| 1839 | return -1; | ||
| 1840 | } | ||
| 1841 | |||
| 1842 | |||
| 1843 | int | ||
| 1844 | sigblock (int mask) | ||
| 1845 | { | ||
| 1846 | int old_mask = signal_mask; | ||
| 1847 | |||
| 1848 | signal_mask |= mask; | ||
| 1849 | |||
| 1850 | if ((old_mask ^ signal_mask) & sigmask (SIGALRM)) | ||
| 1851 | remove_mac_atimer (NULL); | ||
| 1852 | |||
| 1853 | return old_mask; | ||
| 1854 | } | ||
| 1855 | |||
| 1856 | |||
| 1857 | int | ||
| 1858 | sigsetmask (int mask) | ||
| 1859 | { | ||
| 1860 | int old_mask = signal_mask; | ||
| 1861 | |||
| 1862 | signal_mask = mask; | ||
| 1863 | |||
| 1864 | if ((old_mask ^ signal_mask) & sigmask (SIGALRM)) | ||
| 1865 | if (signal_mask & sigmask (SIGALRM)) | ||
| 1866 | remove_mac_atimer (NULL); | ||
| 1867 | else | ||
| 1868 | set_mac_atimer (mac_atimer_task.tmCount); | ||
| 1869 | |||
| 1870 | return old_mask; | ||
| 1871 | } | ||
| 1872 | |||
| 1873 | |||
| 1874 | int | ||
| 1875 | alarm (int seconds) | ||
| 1876 | { | ||
| 1877 | long remaining_count; | ||
| 1878 | |||
| 1879 | if (remove_mac_atimer (&remaining_count) == 0) | ||
| 1880 | { | ||
| 1881 | set_mac_atimer (seconds * 1000); | ||
| 1882 | |||
| 1883 | return remaining_count / 1000; | ||
| 1884 | } | ||
| 1885 | else | ||
| 1886 | { | ||
| 1887 | mac_atimer_task.tmCount = seconds * 1000; | ||
| 1888 | |||
| 1889 | return 0; | ||
| 1890 | } | ||
| 1891 | } | ||
| 1892 | |||
| 1893 | |||
| 1894 | int | ||
| 1895 | setitimer (which, value, ovalue) | ||
| 1896 | int which; | ||
| 1897 | const struct itimerval *value; | ||
| 1898 | struct itimerval *ovalue; | ||
| 1899 | { | ||
| 1900 | long remaining_count; | ||
| 1901 | long count = (EMACS_SECS (value->it_value) * 1000 | ||
| 1902 | + (EMACS_USECS (value->it_value) + 999) / 1000); | ||
| 1903 | |||
| 1904 | if (remove_mac_atimer (&remaining_count) == 0) | ||
| 1905 | { | ||
| 1906 | if (ovalue) | ||
| 1907 | { | ||
| 1908 | bzero (ovalue, sizeof (*ovalue)); | ||
| 1909 | EMACS_SET_SECS_USECS (ovalue->it_value, remaining_count / 1000, | ||
| 1910 | (remaining_count % 1000) * 1000); | ||
| 1911 | } | ||
| 1912 | set_mac_atimer (count); | ||
| 1913 | } | ||
| 1914 | else | ||
| 1915 | mac_atimer_task.tmCount = count; | ||
| 1916 | |||
| 1917 | return 0; | ||
| 1918 | } | ||
| 1919 | |||
| 1920 | |||
| 1822 | /* gettimeofday should return the amount of time (in a timeval | 1921 | /* gettimeofday should return the amount of time (in a timeval |
| 1823 | structure) since midnight today. The toolbox function Microseconds | 1922 | structure) since midnight today. The toolbox function Microseconds |
| 1824 | returns the number of microseconds (in a UnsignedWide value) since | 1923 | returns the number of microseconds (in a UnsignedWide value) since |
| @@ -1946,35 +2045,6 @@ sys_time (time_t *timer) | |||
| 1946 | } | 2045 | } |
| 1947 | 2046 | ||
| 1948 | 2047 | ||
| 1949 | /* MPW strftime broken for "%p" format */ | ||
| 1950 | #ifdef __MRC__ | ||
| 1951 | #undef strftime | ||
| 1952 | #include <time.h> | ||
| 1953 | size_t | ||
| 1954 | sys_strftime (char * s, size_t maxsize, const char * format, | ||
| 1955 | const struct tm * timeptr) | ||
| 1956 | { | ||
| 1957 | if (strcmp (format, "%p") == 0) | ||
| 1958 | { | ||
| 1959 | if (maxsize < 3) | ||
| 1960 | return 0; | ||
| 1961 | if (timeptr->tm_hour < 12) | ||
| 1962 | { | ||
| 1963 | strcpy (s, "AM"); | ||
| 1964 | return 2; | ||
| 1965 | } | ||
| 1966 | else | ||
| 1967 | { | ||
| 1968 | strcpy (s, "PM"); | ||
| 1969 | return 2; | ||
| 1970 | } | ||
| 1971 | } | ||
| 1972 | else | ||
| 1973 | return strftime (s, maxsize, format, timeptr); | ||
| 1974 | } | ||
| 1975 | #endif /* __MRC__ */ | ||
| 1976 | |||
| 1977 | |||
| 1978 | /* no subprocesses, empty wait */ | 2048 | /* no subprocesses, empty wait */ |
| 1979 | 2049 | ||
| 1980 | int | 2050 | int |
| @@ -1993,13 +2063,6 @@ croak (char *badfunc) | |||
| 1993 | 2063 | ||
| 1994 | 2064 | ||
| 1995 | char * | 2065 | char * |
| 1996 | index (const char * str, int chr) | ||
| 1997 | { | ||
| 1998 | return strchr (str, chr); | ||
| 1999 | } | ||
| 2000 | |||
| 2001 | |||
| 2002 | char * | ||
| 2003 | mktemp (char *template) | 2066 | mktemp (char *template) |
| 2004 | { | 2067 | { |
| 2005 | int len, k; | 2068 | int len, k; |
| @@ -2187,20 +2250,6 @@ sys_subshell () | |||
| 2187 | } | 2250 | } |
| 2188 | 2251 | ||
| 2189 | 2252 | ||
| 2190 | int | ||
| 2191 | sigsetmask (int x) | ||
| 2192 | { | ||
| 2193 | return 0; | ||
| 2194 | } | ||
| 2195 | |||
| 2196 | |||
| 2197 | int | ||
| 2198 | sigblock (int mask) | ||
| 2199 | { | ||
| 2200 | return 0; | ||
| 2201 | } | ||
| 2202 | |||
| 2203 | |||
| 2204 | void | 2253 | void |
| 2205 | request_sigio (void) | 2254 | request_sigio (void) |
| 2206 | { | 2255 | { |
diff --git a/src/macfns.c b/src/macfns.c index 75cd7e76576..8ec05b59e19 100644 --- a/src/macfns.c +++ b/src/macfns.c | |||
| @@ -22,7 +22,6 @@ Boston, MA 02111-1307, USA. */ | |||
| 22 | 22 | ||
| 23 | #include <config.h> | 23 | #include <config.h> |
| 24 | 24 | ||
| 25 | #include <signal.h> | ||
| 26 | #include <stdio.h> | 25 | #include <stdio.h> |
| 27 | #include <math.h> | 26 | #include <math.h> |
| 28 | #include <limits.h> | 27 | #include <limits.h> |
diff --git a/src/macmenu.c b/src/macmenu.c index 35615cc3796..eb870176f12 100644 --- a/src/macmenu.c +++ b/src/macmenu.c | |||
| @@ -21,7 +21,6 @@ Boston, MA 02111-1307, USA. */ | |||
| 21 | /* Contributed by Andrew Choi (akochoi@mac.com). */ | 21 | /* Contributed by Andrew Choi (akochoi@mac.com). */ |
| 22 | 22 | ||
| 23 | #include <config.h> | 23 | #include <config.h> |
| 24 | #include <signal.h> | ||
| 25 | 24 | ||
| 26 | #include <stdio.h> | 25 | #include <stdio.h> |
| 27 | #include "lisp.h" | 26 | #include "lisp.h" |
diff --git a/src/macselect.c b/src/macselect.c index a115c9b3229..890bb62d1d4 100644 --- a/src/macselect.c +++ b/src/macselect.c | |||
| @@ -1104,9 +1104,11 @@ next communication only. After the communication, this variable is | |||
| 1104 | set to nil. */); | 1104 | set to nil. */); |
| 1105 | Vnext_selection_coding_system = Qnil; | 1105 | Vnext_selection_coding_system = Qnil; |
| 1106 | 1106 | ||
| 1107 | #ifdef MAC_OSX | ||
| 1107 | DEFVAR_LISP ("mac-services-selection", &Vmac_services_selection, | 1108 | DEFVAR_LISP ("mac-services-selection", &Vmac_services_selection, |
| 1108 | doc: /* Selection name for communication via Services menu. */); | 1109 | doc: /* Selection name for communication via Services menu. */); |
| 1109 | Vmac_services_selection = intern ("CLIPBOARD"); | 1110 | Vmac_services_selection = intern ("PRIMARY"); |
| 1111 | #endif | ||
| 1110 | 1112 | ||
| 1111 | QPRIMARY = intern ("PRIMARY"); staticpro (&QPRIMARY); | 1113 | QPRIMARY = intern ("PRIMARY"); staticpro (&QPRIMARY); |
| 1112 | QSECONDARY = intern ("SECONDARY"); staticpro (&QSECONDARY); | 1114 | QSECONDARY = intern ("SECONDARY"); staticpro (&QSECONDARY); |
diff --git a/src/macterm.c b/src/macterm.c index b988fb25c31..fe80b779cf3 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -3277,11 +3277,9 @@ x_clear_frame () | |||
| 3277 | BLOCK_INPUT; | 3277 | BLOCK_INPUT; |
| 3278 | XClearWindow (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f)); | 3278 | XClearWindow (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f)); |
| 3279 | 3279 | ||
| 3280 | #if 0 /* Clearing frame on Mac OS clears scroll bars. */ | ||
| 3281 | /* We have to clear the scroll bars, too. If we have changed | 3280 | /* We have to clear the scroll bars, too. If we have changed |
| 3282 | colors or something like that, then they should be notified. */ | 3281 | colors or something like that, then they should be notified. */ |
| 3283 | x_scroll_bar_clear (f); | 3282 | x_scroll_bar_clear (f); |
| 3284 | #endif | ||
| 3285 | 3283 | ||
| 3286 | XFlush (FRAME_MAC_DISPLAY (f)); | 3284 | XFlush (FRAME_MAC_DISPLAY (f)); |
| 3287 | UNBLOCK_INPUT; | 3285 | UNBLOCK_INPUT; |
| @@ -4141,12 +4139,12 @@ XTmouse_position (fp, insist, bar_window, part, x, y, time) | |||
| 4141 | static pascal void scroll_bar_timer_callback P_ ((EventLoopTimerRef, void *)); | 4139 | static pascal void scroll_bar_timer_callback P_ ((EventLoopTimerRef, void *)); |
| 4142 | static OSStatus install_scroll_bar_timer P_ ((void)); | 4140 | static OSStatus install_scroll_bar_timer P_ ((void)); |
| 4143 | static OSStatus set_scroll_bar_timer P_ ((EventTimerInterval)); | 4141 | static OSStatus set_scroll_bar_timer P_ ((EventTimerInterval)); |
| 4144 | static int control_part_code_to_scroll_bar_part P_((ControlPartCode)); | 4142 | static int control_part_code_to_scroll_bar_part P_ ((ControlPartCode)); |
| 4145 | static void construct_scroll_bar_click P_ ((struct scroll_bar *, int, | 4143 | static void construct_scroll_bar_click P_ ((struct scroll_bar *, int, |
| 4146 | unsigned long, | 4144 | unsigned long, |
| 4147 | struct input_event *)); | 4145 | struct input_event *)); |
| 4148 | static OSErr get_control_part_bound P_((ControlHandle, ControlPartCode, | 4146 | static OSErr get_control_part_bounds P_ ((ControlHandle, ControlPartCode, |
| 4149 | Rect *)); | 4147 | Rect *)); |
| 4150 | static void x_scroll_bar_handle_press P_ ((struct scroll_bar *, | 4148 | static void x_scroll_bar_handle_press P_ ((struct scroll_bar *, |
| 4151 | ControlPartCode, | 4149 | ControlPartCode, |
| 4152 | unsigned long, | 4150 | unsigned long, |
| @@ -4273,7 +4271,7 @@ construct_scroll_bar_click (bar, part, timestamp, bufp) | |||
| 4273 | } | 4271 | } |
| 4274 | 4272 | ||
| 4275 | static OSErr | 4273 | static OSErr |
| 4276 | get_control_part_bound (ch, part_code, rect) | 4274 | get_control_part_bounds (ch, part_code, rect) |
| 4277 | ControlHandle ch; | 4275 | ControlHandle ch; |
| 4278 | ControlPartCode part_code; | 4276 | ControlPartCode part_code; |
| 4279 | Rect *rect; | 4277 | Rect *rect; |
| @@ -4346,8 +4344,8 @@ x_scroll_bar_handle_drag (win, bar, mouse_pos, timestamp, bufp) | |||
| 4346 | int top, top_range; | 4344 | int top, top_range; |
| 4347 | Rect r; | 4345 | Rect r; |
| 4348 | 4346 | ||
| 4349 | get_control_part_bound (SCROLL_BAR_CONTROL_HANDLE (bar), | 4347 | get_control_part_bounds (SCROLL_BAR_CONTROL_HANDLE (bar), |
| 4350 | kControlIndicatorPart, &r); | 4348 | kControlIndicatorPart, &r); |
| 4351 | 4349 | ||
| 4352 | if (GC_NILP (bar->dragging)) | 4350 | if (GC_NILP (bar->dragging)) |
| 4353 | XSETINT (bar->dragging, mouse_pos.v - r.top); | 4351 | XSETINT (bar->dragging, mouse_pos.v - r.top); |
| @@ -4675,13 +4673,11 @@ XTset_vertical_scroll_bar (w, portion, whole, position) | |||
| 4675 | BLOCK_INPUT; | 4673 | BLOCK_INPUT; |
| 4676 | 4674 | ||
| 4677 | /* If already correctly positioned, do nothing. */ | 4675 | /* If already correctly positioned, do nothing. */ |
| 4678 | if (XINT (bar->left) == sb_left | 4676 | if (!(XINT (bar->left) == sb_left |
| 4679 | && XINT (bar->top) == top | 4677 | && XINT (bar->top) == top |
| 4680 | && XINT (bar->width) == sb_width | 4678 | && XINT (bar->width) == sb_width |
| 4681 | && XINT (bar->height) == height) | 4679 | && XINT (bar->height) == height)) |
| 4682 | Draw1Control (ch); | 4680 | { |
| 4683 | else | ||
| 4684 | { | ||
| 4685 | /* Clear areas not covered by the scroll bar because it's not as | 4681 | /* Clear areas not covered by the scroll bar because it's not as |
| 4686 | wide as the area reserved for it . This makes sure a | 4682 | wide as the area reserved for it . This makes sure a |
| 4687 | previous mode line display is cleared after C-x 2 C-x 1, for | 4683 | previous mode line display is cleared after C-x 2 C-x 1, for |
| @@ -4730,11 +4726,11 @@ XTset_vertical_scroll_bar (w, portion, whole, position) | |||
| 4730 | 4726 | ||
| 4731 | /* Move the scroll bar thumb to the top. */ | 4727 | /* Move the scroll bar thumb to the top. */ |
| 4732 | SetControl32BitValue (ch, 0); | 4728 | SetControl32BitValue (ch, 0); |
| 4733 | get_control_part_bound (ch, kControlIndicatorPart, &r0); | 4729 | get_control_part_bounds (ch, kControlIndicatorPart, &r0); |
| 4734 | 4730 | ||
| 4735 | /* Move the scroll bar thumb to the bottom. */ | 4731 | /* Move the scroll bar thumb to the bottom. */ |
| 4736 | SetControl32BitValue (ch, 1); | 4732 | SetControl32BitValue (ch, 1); |
| 4737 | get_control_part_bound (ch, kControlIndicatorPart, &r1); | 4733 | get_control_part_bounds (ch, kControlIndicatorPart, &r1); |
| 4738 | 4734 | ||
| 4739 | UnionRect (&r0, &r1, &r0); | 4735 | UnionRect (&r0, &r1, &r0); |
| 4740 | XSETINT (bar->track_top, r0.top); | 4736 | XSETINT (bar->track_top, r0.top); |
| @@ -4882,7 +4878,7 @@ XTjudge_scroll_bars (f) | |||
| 4882 | static void | 4878 | static void |
| 4883 | x_scroll_bar_handle_click (bar, part_code, er, bufp) | 4879 | x_scroll_bar_handle_click (bar, part_code, er, bufp) |
| 4884 | struct scroll_bar *bar; | 4880 | struct scroll_bar *bar; |
| 4885 | int part_code; | 4881 | ControlPartCode part_code; |
| 4886 | EventRecord *er; | 4882 | EventRecord *er; |
| 4887 | struct input_event *bufp; | 4883 | struct input_event *bufp; |
| 4888 | { | 4884 | { |
| @@ -5040,6 +5036,21 @@ x_scroll_bar_report_motion (fp, bar_window, part, x, y, time) | |||
| 5040 | 5036 | ||
| 5041 | *time = last_mouse_movement_time; | 5037 | *time = last_mouse_movement_time; |
| 5042 | } | 5038 | } |
| 5039 | |||
| 5040 | |||
| 5041 | /* The screen has been cleared so we may have changed foreground or | ||
| 5042 | background colors, and the scroll bars may need to be redrawn. | ||
| 5043 | Clear out the scroll bars, and ask for expose events, so we can | ||
| 5044 | redraw them. */ | ||
| 5045 | |||
| 5046 | void | ||
| 5047 | x_scroll_bar_clear (f) | ||
| 5048 | FRAME_PTR f; | ||
| 5049 | { | ||
| 5050 | XTcondemn_scroll_bars (f); | ||
| 5051 | XTjudge_scroll_bars (f); | ||
| 5052 | } | ||
| 5053 | |||
| 5043 | 5054 | ||
| 5044 | /*********************************************************************** | 5055 | /*********************************************************************** |
| 5045 | Text Cursor | 5056 | Text Cursor |
| @@ -7516,7 +7527,6 @@ OSErr install_window_handler (WindowPtr); | |||
| 7516 | 7527 | ||
| 7517 | extern void init_emacs_passwd_dir (); | 7528 | extern void init_emacs_passwd_dir (); |
| 7518 | extern int emacs_main (int, char **, char **); | 7529 | extern int emacs_main (int, char **, char **); |
| 7519 | extern void check_alarm (); | ||
| 7520 | 7530 | ||
| 7521 | extern void initialize_applescript(); | 7531 | extern void initialize_applescript(); |
| 7522 | extern void terminate_applescript(); | 7532 | extern void terminate_applescript(); |
| @@ -8668,23 +8678,18 @@ profiler_exit_proc () | |||
| 8668 | #endif | 8678 | #endif |
| 8669 | 8679 | ||
| 8670 | /* These few functions implement Emacs as a normal Mac application | 8680 | /* These few functions implement Emacs as a normal Mac application |
| 8671 | (almost): set up the heap and the Toolbox, handle necessary | 8681 | (almost): set up the heap and the Toolbox, handle necessary system |
| 8672 | system events plus a few simple menu events. They also set up | 8682 | events plus a few simple menu events. They also set up Emacs's |
| 8673 | Emacs's access to functions defined in the rest of this file. | 8683 | access to functions defined in the rest of this file. Emacs uses |
| 8674 | Emacs uses function hooks to perform all its terminal I/O. A | 8684 | function hooks to perform all its terminal I/O. A complete list of |
| 8675 | complete list of these functions appear in termhooks.h. For what | 8685 | these functions appear in termhooks.h. For what they do, read the |
| 8676 | they do, read the comments there and see also w32term.c and | 8686 | comments there and see also w32term.c and xterm.c. What's |
| 8677 | xterm.c. What's noticeably missing here is the event loop, which | 8687 | noticeably missing here is the event loop, which is normally |
| 8678 | is normally present in most Mac application. After performing the | 8688 | present in most Mac application. After performing the necessary |
| 8679 | necessary Mac initializations, main passes off control to | 8689 | Mac initializations, main passes off control to emacs_main |
| 8680 | emacs_main (corresponding to main in emacs.c). Emacs_main calls | 8690 | (corresponding to main in emacs.c). Emacs_main calls XTread_socket |
| 8681 | mac_read_socket (defined further below) to read input. This is | 8691 | (defined further below) to read input. This is where |
| 8682 | where WaitNextEvent is called to process Mac events. This is also | 8692 | WaitNextEvent/ReceiveNextEvent is called to process Mac events. */ |
| 8683 | where check_alarm in sysdep.c is called to simulate alarm signals. | ||
| 8684 | This makes the cursor jump back to its correct position after | ||
| 8685 | briefly jumping to that of the matching parenthesis, print useful | ||
| 8686 | hints and prompts in the minibuffer after the user stops typing for | ||
| 8687 | a wait, etc. */ | ||
| 8688 | 8693 | ||
| 8689 | #ifdef MAC_OS8 | 8694 | #ifdef MAC_OS8 |
| 8690 | #undef main | 8695 | #undef main |
| @@ -8947,7 +8952,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8947 | case mouseUp: | 8952 | case mouseUp: |
| 8948 | { | 8953 | { |
| 8949 | WindowPtr window_ptr; | 8954 | WindowPtr window_ptr; |
| 8950 | SInt16 part_code; | 8955 | ControlPartCode part_code; |
| 8951 | int tool_bar_p = 0; | 8956 | int tool_bar_p = 0; |
| 8952 | 8957 | ||
| 8953 | #if USE_CARBON_EVENTS | 8958 | #if USE_CARBON_EVENTS |
| @@ -8991,7 +8996,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8991 | SelectWindow (window_ptr); | 8996 | SelectWindow (window_ptr); |
| 8992 | else | 8997 | else |
| 8993 | { | 8998 | { |
| 8994 | SInt16 control_part_code; | 8999 | ControlPartCode control_part_code; |
| 8995 | ControlHandle ch; | 9000 | ControlHandle ch; |
| 8996 | Point mouse_loc = er.where; | 9001 | Point mouse_loc = er.where; |
| 8997 | #ifdef MAC_OSX | 9002 | #ifdef MAC_OSX |
| @@ -9566,10 +9571,6 @@ XTread_socket (sd, expected, hold_quit) | |||
| 9566 | pending_autoraise_frame = 0; | 9571 | pending_autoraise_frame = 0; |
| 9567 | } | 9572 | } |
| 9568 | 9573 | ||
| 9569 | #if !TARGET_API_MAC_CARBON | ||
| 9570 | check_alarm (); /* simulate the handling of a SIGALRM */ | ||
| 9571 | #endif | ||
| 9572 | |||
| 9573 | UNBLOCK_INPUT; | 9574 | UNBLOCK_INPUT; |
| 9574 | return count; | 9575 | return count; |
| 9575 | } | 9576 | } |
diff --git a/src/process.c b/src/process.c index 26d40c26cd5..84d373ff37b 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -5113,6 +5113,7 @@ send_process_trap () | |||
| 5113 | sigrelse (SIGPIPE); | 5113 | sigrelse (SIGPIPE); |
| 5114 | sigrelse (SIGALRM); | 5114 | sigrelse (SIGALRM); |
| 5115 | #endif /* BSD4_1 */ | 5115 | #endif /* BSD4_1 */ |
| 5116 | sigunblock (sigmask (SIGPIPE)); | ||
| 5116 | longjmp (send_process_frame, 1); | 5117 | longjmp (send_process_frame, 1); |
| 5117 | } | 5118 | } |
| 5118 | 5119 | ||
| @@ -5297,7 +5298,11 @@ send_process (proc, buf, len, object) | |||
| 5297 | 0, datagram_address[outfd].sa, | 5298 | 0, datagram_address[outfd].sa, |
| 5298 | datagram_address[outfd].len); | 5299 | datagram_address[outfd].len); |
| 5299 | if (rv < 0 && errno == EMSGSIZE) | 5300 | if (rv < 0 && errno == EMSGSIZE) |
| 5300 | report_file_error ("sending datagram", Fcons (proc, Qnil)); | 5301 | { |
| 5302 | signal (SIGPIPE, old_sigpipe); | ||
| 5303 | report_file_error ("sending datagram", | ||
| 5304 | Fcons (proc, Qnil)); | ||
| 5305 | } | ||
| 5301 | } | 5306 | } |
| 5302 | else | 5307 | else |
| 5303 | #endif | 5308 | #endif |
diff --git a/src/unexmacosx.c b/src/unexmacosx.c index 1f2b4c96620..e54dbea448c 100644 --- a/src/unexmacosx.c +++ b/src/unexmacosx.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Dump Emacs in Mach-O format for use on Mac OS X. | 1 | /* Dump Emacs in Mach-O format for use on Mac OS X. |
| 2 | Copyright (C) 2001, 2002 Free Software Foundation, Inc. | 2 | Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is part of GNU Emacs. | 4 | This file is part of GNU Emacs. |
| 5 | 5 | ||
| @@ -105,6 +105,8 @@ Boston, MA 02111-1307, USA. */ | |||
| 105 | #include <objc/malloc.h> | 105 | #include <objc/malloc.h> |
| 106 | #endif | 106 | #endif |
| 107 | 107 | ||
| 108 | #include <assert.h> | ||
| 109 | |||
| 108 | 110 | ||
| 109 | #define VERBOSE 1 | 111 | #define VERBOSE 1 |
| 110 | 112 | ||
| @@ -998,6 +1000,23 @@ unexec_init_emacs_zone () | |||
| 998 | malloc_set_zone_name (emacs_zone, "EmacsZone"); | 1000 | malloc_set_zone_name (emacs_zone, "EmacsZone"); |
| 999 | } | 1001 | } |
| 1000 | 1002 | ||
| 1003 | #ifndef MACOSX_MALLOC_MULT16 | ||
| 1004 | #define MACOSX_MALLOC_MULT16 1 | ||
| 1005 | #endif | ||
| 1006 | |||
| 1007 | typedef struct unexec_malloc_header { | ||
| 1008 | union { | ||
| 1009 | char c[8]; | ||
| 1010 | size_t size; | ||
| 1011 | } u; | ||
| 1012 | } unexec_malloc_header_t; | ||
| 1013 | |||
| 1014 | #if MACOSX_MALLOC_MULT16 | ||
| 1015 | |||
| 1016 | #define ptr_in_unexec_regions(p) ((((vm_address_t) (p)) & 8) != 0) | ||
| 1017 | |||
| 1018 | #else | ||
| 1019 | |||
| 1001 | int | 1020 | int |
| 1002 | ptr_in_unexec_regions (void *ptr) | 1021 | ptr_in_unexec_regions (void *ptr) |
| 1003 | { | 1022 | { |
| @@ -1011,36 +1030,75 @@ ptr_in_unexec_regions (void *ptr) | |||
| 1011 | return 0; | 1030 | return 0; |
| 1012 | } | 1031 | } |
| 1013 | 1032 | ||
| 1033 | #endif | ||
| 1034 | |||
| 1014 | void * | 1035 | void * |
| 1015 | unexec_malloc (size_t size) | 1036 | unexec_malloc (size_t size) |
| 1016 | { | 1037 | { |
| 1017 | if (in_dumped_exec) | 1038 | if (in_dumped_exec) |
| 1018 | return malloc (size); | 1039 | { |
| 1040 | void *p; | ||
| 1041 | |||
| 1042 | p = malloc (size); | ||
| 1043 | #if MACOSX_MALLOC_MULT16 | ||
| 1044 | assert (((vm_address_t) p % 16) == 0); | ||
| 1045 | #endif | ||
| 1046 | return p; | ||
| 1047 | } | ||
| 1019 | else | 1048 | else |
| 1020 | return malloc_zone_malloc (emacs_zone, size); | 1049 | { |
| 1050 | unexec_malloc_header_t *ptr; | ||
| 1051 | |||
| 1052 | ptr = (unexec_malloc_header_t *) | ||
| 1053 | malloc_zone_malloc (emacs_zone, size + sizeof (unexec_malloc_header_t)); | ||
| 1054 | ptr->u.size = size; | ||
| 1055 | ptr++; | ||
| 1056 | #if MACOSX_MALLOC_MULT16 | ||
| 1057 | assert (((vm_address_t) ptr % 16) == 8); | ||
| 1058 | #endif | ||
| 1059 | return (void *) ptr; | ||
| 1060 | } | ||
| 1021 | } | 1061 | } |
| 1022 | 1062 | ||
| 1023 | void * | 1063 | void * |
| 1024 | unexec_realloc (void *old_ptr, size_t new_size) | 1064 | unexec_realloc (void *old_ptr, size_t new_size) |
| 1025 | { | 1065 | { |
| 1026 | if (in_dumped_exec) | 1066 | if (in_dumped_exec) |
| 1027 | if (ptr_in_unexec_regions (old_ptr)) | 1067 | { |
| 1028 | { | 1068 | void *p; |
| 1029 | char *p = malloc (new_size); | 1069 | |
| 1030 | /* 2002-04-15 T. Ikegami <ikegami@adam.uprr.pr>. The original | 1070 | if (ptr_in_unexec_regions (old_ptr)) |
| 1031 | code to get size failed to reallocate read_buffer | 1071 | { |
| 1032 | (lread.c). */ | 1072 | size_t old_size = ((unexec_malloc_header_t *) old_ptr)[-1].u.size; |
| 1033 | int old_size = malloc_default_zone()->size (emacs_zone, old_ptr); | 1073 | size_t size = new_size > old_size ? old_size : new_size; |
| 1034 | int size = new_size > old_size ? old_size : new_size; | 1074 | |
| 1035 | 1075 | p = (size_t *) malloc (new_size); | |
| 1036 | if (size) | 1076 | if (size) |
| 1037 | memcpy (p, old_ptr, size); | 1077 | memcpy (p, old_ptr, size); |
| 1038 | return p; | 1078 | } |
| 1039 | } | 1079 | else |
| 1040 | else | 1080 | { |
| 1041 | return realloc (old_ptr, new_size); | 1081 | p = realloc (old_ptr, new_size); |
| 1082 | } | ||
| 1083 | #if MACOSX_MALLOC_MULT16 | ||
| 1084 | assert (((vm_address_t) p % 16) == 0); | ||
| 1085 | #endif | ||
| 1086 | return p; | ||
| 1087 | } | ||
| 1042 | else | 1088 | else |
| 1043 | return malloc_zone_realloc (emacs_zone, old_ptr, new_size); | 1089 | { |
| 1090 | unexec_malloc_header_t *ptr; | ||
| 1091 | |||
| 1092 | ptr = (unexec_malloc_header_t *) | ||
| 1093 | malloc_zone_realloc (emacs_zone, (unexec_malloc_header_t *) old_ptr - 1, | ||
| 1094 | new_size + sizeof (unexec_malloc_header_t)); | ||
| 1095 | ptr->u.size = new_size; | ||
| 1096 | ptr++; | ||
| 1097 | #if MACOSX_MALLOC_MULT16 | ||
| 1098 | assert (((vm_address_t) ptr % 16) == 8); | ||
| 1099 | #endif | ||
| 1100 | return (void *) ptr; | ||
| 1101 | } | ||
| 1044 | } | 1102 | } |
| 1045 | 1103 | ||
| 1046 | void | 1104 | void |
| @@ -1052,7 +1110,7 @@ unexec_free (void *ptr) | |||
| 1052 | free (ptr); | 1110 | free (ptr); |
| 1053 | } | 1111 | } |
| 1054 | else | 1112 | else |
| 1055 | malloc_zone_free (emacs_zone, ptr); | 1113 | malloc_zone_free (emacs_zone, (unexec_malloc_header_t *) ptr - 1); |
| 1056 | } | 1114 | } |
| 1057 | 1115 | ||
| 1058 | /* arch-tag: 1a784f7b-a184-4c4f-9544-da8619593d72 | 1116 | /* arch-tag: 1a784f7b-a184-4c4f-9544-da8619593d72 |
diff --git a/src/xdisp.c b/src/xdisp.c index 23898e78774..2284c34d3bd 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -3474,7 +3474,10 @@ handle_display_prop (it) | |||
| 3474 | } | 3474 | } |
| 3475 | else | 3475 | else |
| 3476 | { | 3476 | { |
| 3477 | if (handle_single_display_spec (it, prop, object, position, 0)) | 3477 | int ret = handle_single_display_spec (it, prop, object, position, 0); |
| 3478 | if (ret < 0) /* Replaced by "", i.e. nothing. */ | ||
| 3479 | return HANDLED_RECOMPUTE_PROPS; | ||
| 3480 | if (ret) | ||
| 3478 | display_replaced_p = 1; | 3481 | display_replaced_p = 1; |
| 3479 | } | 3482 | } |
| 3480 | 3483 | ||
| @@ -3518,7 +3521,8 @@ display_prop_end (it, object, start_pos) | |||
| 3518 | property ends. | 3521 | property ends. |
| 3519 | 3522 | ||
| 3520 | Value is non-zero if something was found which replaces the display | 3523 | Value is non-zero if something was found which replaces the display |
| 3521 | of buffer or string text. */ | 3524 | of buffer or string text. Specifically, the value is -1 if that |
| 3525 | "something" is "nothing". */ | ||
| 3522 | 3526 | ||
| 3523 | static int | 3527 | static int |
| 3524 | handle_single_display_spec (it, spec, object, position, | 3528 | handle_single_display_spec (it, spec, object, position, |
| @@ -3833,6 +3837,11 @@ handle_single_display_spec (it, spec, object, position, | |||
| 3833 | 3837 | ||
| 3834 | if (STRINGP (value)) | 3838 | if (STRINGP (value)) |
| 3835 | { | 3839 | { |
| 3840 | if (SCHARS (value) == 0) | ||
| 3841 | { | ||
| 3842 | pop_it (it); | ||
| 3843 | return -1; /* Replaced by "", i.e. nothing. */ | ||
| 3844 | } | ||
| 3836 | it->string = value; | 3845 | it->string = value; |
| 3837 | it->multibyte_p = STRING_MULTIBYTE (it->string); | 3846 | it->multibyte_p = STRING_MULTIBYTE (it->string); |
| 3838 | it->current.overlay_string_index = -1; | 3847 | it->current.overlay_string_index = -1; |
| @@ -7033,7 +7042,9 @@ message2_nolog (m, nbytes, multibyte) | |||
| 7033 | /* Display an echo area message M with a specified length of NBYTES | 7042 | /* Display an echo area message M with a specified length of NBYTES |
| 7034 | bytes. The string may include null characters. If M is not a | 7043 | bytes. The string may include null characters. If M is not a |
| 7035 | string, clear out any existing message, and let the mini-buffer | 7044 | string, clear out any existing message, and let the mini-buffer |
| 7036 | text show through. */ | 7045 | text show through. |
| 7046 | |||
| 7047 | This function cancels echoing. */ | ||
| 7037 | 7048 | ||
| 7038 | void | 7049 | void |
| 7039 | message3 (m, nbytes, multibyte) | 7050 | message3 (m, nbytes, multibyte) |
| @@ -7045,6 +7056,7 @@ message3 (m, nbytes, multibyte) | |||
| 7045 | 7056 | ||
| 7046 | GCPRO1 (m); | 7057 | GCPRO1 (m); |
| 7047 | clear_message (1,1); | 7058 | clear_message (1,1); |
| 7059 | cancel_echoing (); | ||
| 7048 | 7060 | ||
| 7049 | /* First flush out any partial line written with print. */ | 7061 | /* First flush out any partial line written with print. */ |
| 7050 | message_log_maybe_newline (); | 7062 | message_log_maybe_newline (); |
| @@ -7056,7 +7068,10 @@ message3 (m, nbytes, multibyte) | |||
| 7056 | } | 7068 | } |
| 7057 | 7069 | ||
| 7058 | 7070 | ||
| 7059 | /* The non-logging version of message3. */ | 7071 | /* The non-logging version of message3. |
| 7072 | This does not cancel echoing, because it is used for echoing. | ||
| 7073 | Perhaps we need to make a separate function for echoing | ||
| 7074 | and make this cancel echoing. */ | ||
| 7060 | 7075 | ||
| 7061 | void | 7076 | void |
| 7062 | message3_nolog (m, nbytes, multibyte) | 7077 | message3_nolog (m, nbytes, multibyte) |