diff options
| author | Kenichi Handa | 2010-07-12 11:28:50 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2010-07-12 11:28:50 +0900 |
| commit | 2300368463c9719839a0289cd6dccaa93d3274cf (patch) | |
| tree | d3e5e3b91444fb135bdedf40d0b4f597d47b40de | |
| parent | 892dd5657e548f66bbcfb07a9556cc5fc9f17b8d (diff) | |
| parent | f479ef6e6f5c77ba0f1f6b60c1146f324d604e92 (diff) | |
| download | emacs-2300368463c9719839a0289cd6dccaa93d3274cf.tar.gz emacs-2300368463c9719839a0289cd6dccaa93d3274cf.zip | |
merge trunk
205 files changed, 3205 insertions, 2730 deletions
| @@ -1,3 +1,9 @@ | |||
| 1 | 2010-07-11 Andreas Schwab <schwab@linux-m68k.org> | ||
| 2 | |||
| 3 | * configure.in: Don't check for index and rindex, check for strchr | ||
| 4 | and strrchr. Define strchr and strrchr as index and rindex, | ||
| 5 | resp., in src/config.h if not available. | ||
| 6 | |||
| 1 | 2010-07-08 Dan Nicolaescu <dann@ics.uci.edu> | 7 | 2010-07-08 Dan Nicolaescu <dann@ics.uci.edu> |
| 2 | 8 | ||
| 3 | * configure.in: Use -Wold-style-definition if available. | 9 | * configure.in: Use -Wold-style-definition if available. |
| @@ -55,6 +61,10 @@ | |||
| 55 | 61 | ||
| 56 | * config.bat: Remove white space around "+" in COPY commands. | 62 | * config.bat: Remove white space around "+" in COPY commands. |
| 57 | 63 | ||
| 64 | 2010-06-23 Glenn Morris <rgm@gnu.org> | ||
| 65 | |||
| 66 | * info/dir: Start descriptions in column 32, per Texinfo convention. | ||
| 67 | |||
| 58 | 2010-06-16 Chong Yidong <cyd@stupidchicken.com> | 68 | 2010-06-16 Chong Yidong <cyd@stupidchicken.com> |
| 59 | 69 | ||
| 60 | * INSTALL: Update font information (Bug#6389). | 70 | * INSTALL: Update font information (Bug#6389). |
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES index af818babb16..b647370a781 100644 --- a/admin/CPP-DEFINES +++ b/admin/CPP-DEFINES | |||
| @@ -143,7 +143,6 @@ HAVE_GETPT | |||
| 143 | HAVE_GETTIMEOFDAY | 143 | HAVE_GETTIMEOFDAY |
| 144 | HAVE_GETWD | 144 | HAVE_GETWD |
| 145 | HAVE_H_ERRNO | 145 | HAVE_H_ERRNO |
| 146 | HAVE_INDEX | ||
| 147 | HAVE_INET_SOCKETS | 146 | HAVE_INET_SOCKETS |
| 148 | HAVE_INVERSE_HYPERBOLIC | 147 | HAVE_INVERSE_HYPERBOLIC |
| 149 | HAVE_LIBKSTAT | 148 | HAVE_LIBKSTAT |
| @@ -162,7 +161,6 @@ HAVE_PWD_H | |||
| 162 | HAVE_RANDOM | 161 | HAVE_RANDOM |
| 163 | HAVE_RENAME | 162 | HAVE_RENAME |
| 164 | HAVE_RES_INIT | 163 | HAVE_RES_INIT |
| 165 | HAVE_RINDEX | ||
| 166 | HAVE_RINT | 164 | HAVE_RINT |
| 167 | HAVE_RMDIR | 165 | HAVE_RMDIR |
| 168 | HAVE_SELECT | 166 | HAVE_SELECT |
diff --git a/admin/ChangeLog b/admin/ChangeLog index d36e6979dc3..7a3104c9c40 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2010-07-11 Andreas Schwab <schwab@linux-m68k.org> | ||
| 2 | |||
| 3 | * CPP-DEFINES (HAVE_INDEX, HAVE_RINDEX): Remove. | ||
| 4 | |||
| 1 | 2010-07-08 Eli Zaretskii <eliz@gnu.org> | 5 | 2010-07-08 Eli Zaretskii <eliz@gnu.org> |
| 2 | 6 | ||
| 3 | * MAINTAINERS: Update my responsibilities. | 7 | * MAINTAINERS: Update my responsibilities. |
| @@ -1,11 +1,11 @@ | |||
| 1 | #! /bin/sh | 1 | #! /bin/sh |
| 2 | # Guess values for system-dependent variables and create Makefiles. | 2 | # Guess values for system-dependent variables and create Makefiles. |
| 3 | # Generated by GNU Autoconf 2.65 for emacs 24.0.50. | 3 | # Generated by GNU Autoconf 2.66 for emacs 24.0.50. |
| 4 | # | 4 | # |
| 5 | # | 5 | # |
| 6 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, | 6 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, |
| 7 | # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, | 7 | # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software |
| 8 | # Inc. | 8 | # Foundation, Inc. |
| 9 | # | 9 | # |
| 10 | # | 10 | # |
| 11 | # This configure script is free software; the Free Software Foundation | 11 | # This configure script is free software; the Free Software Foundation |
| @@ -316,7 +316,7 @@ $as_echo X"$as_dir" | | |||
| 316 | test -d "$as_dir" && break | 316 | test -d "$as_dir" && break |
| 317 | done | 317 | done |
| 318 | test -z "$as_dirs" || eval "mkdir $as_dirs" | 318 | test -z "$as_dirs" || eval "mkdir $as_dirs" |
| 319 | } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" | 319 | } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" |
| 320 | 320 | ||
| 321 | 321 | ||
| 322 | } # as_fn_mkdir_p | 322 | } # as_fn_mkdir_p |
| @@ -356,19 +356,19 @@ else | |||
| 356 | fi # as_fn_arith | 356 | fi # as_fn_arith |
| 357 | 357 | ||
| 358 | 358 | ||
| 359 | # as_fn_error ERROR [LINENO LOG_FD] | 359 | # as_fn_error STATUS ERROR [LINENO LOG_FD] |
| 360 | # --------------------------------- | 360 | # ---------------------------------------- |
| 361 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are | 361 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are |
| 362 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the | 362 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the |
| 363 | # script with status $?, using 1 if that was 0. | 363 | # script with STATUS, using 1 if that was 0. |
| 364 | as_fn_error () | 364 | as_fn_error () |
| 365 | { | 365 | { |
| 366 | as_status=$?; test $as_status -eq 0 && as_status=1 | 366 | as_status=$1; test $as_status -eq 0 && as_status=1 |
| 367 | if test "$3"; then | 367 | if test "$4"; then |
| 368 | as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 368 | as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| 369 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 | 369 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 |
| 370 | fi | 370 | fi |
| 371 | $as_echo "$as_me: error: $1" >&2 | 371 | $as_echo "$as_me: error: $2" >&2 |
| 372 | as_fn_exit $as_status | 372 | as_fn_exit $as_status |
| 373 | } # as_fn_error | 373 | } # as_fn_error |
| 374 | 374 | ||
| @@ -530,7 +530,7 @@ test -n "$DJDIR" || exec 7<&0 </dev/null | |||
| 530 | exec 6>&1 | 530 | exec 6>&1 |
| 531 | 531 | ||
| 532 | # Name of the host. | 532 | # Name of the host. |
| 533 | # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, | 533 | # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, |
| 534 | # so uname gets run too. | 534 | # so uname gets run too. |
| 535 | ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` | 535 | ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` |
| 536 | 536 | ||
| @@ -947,7 +947,7 @@ do | |||
| 947 | ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` | 947 | ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` |
| 948 | # Reject names that are not valid shell variable names. | 948 | # Reject names that are not valid shell variable names. |
| 949 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | 949 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
| 950 | as_fn_error "invalid feature name: $ac_useropt" | 950 | as_fn_error $? "invalid feature name: $ac_useropt" |
| 951 | ac_useropt_orig=$ac_useropt | 951 | ac_useropt_orig=$ac_useropt |
| 952 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | 952 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
| 953 | case $ac_user_opts in | 953 | case $ac_user_opts in |
| @@ -973,7 +973,7 @@ do | |||
| 973 | ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` | 973 | ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` |
| 974 | # Reject names that are not valid shell variable names. | 974 | # Reject names that are not valid shell variable names. |
| 975 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | 975 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
| 976 | as_fn_error "invalid feature name: $ac_useropt" | 976 | as_fn_error $? "invalid feature name: $ac_useropt" |
| 977 | ac_useropt_orig=$ac_useropt | 977 | ac_useropt_orig=$ac_useropt |
| 978 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | 978 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
| 979 | case $ac_user_opts in | 979 | case $ac_user_opts in |
| @@ -1177,7 +1177,7 @@ do | |||
| 1177 | ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` | 1177 | ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` |
| 1178 | # Reject names that are not valid shell variable names. | 1178 | # Reject names that are not valid shell variable names. |
| 1179 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | 1179 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
| 1180 | as_fn_error "invalid package name: $ac_useropt" | 1180 | as_fn_error $? "invalid package name: $ac_useropt" |
| 1181 | ac_useropt_orig=$ac_useropt | 1181 | ac_useropt_orig=$ac_useropt |
| 1182 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | 1182 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
| 1183 | case $ac_user_opts in | 1183 | case $ac_user_opts in |
| @@ -1193,7 +1193,7 @@ do | |||
| 1193 | ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` | 1193 | ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` |
| 1194 | # Reject names that are not valid shell variable names. | 1194 | # Reject names that are not valid shell variable names. |
| 1195 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | 1195 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
| 1196 | as_fn_error "invalid package name: $ac_useropt" | 1196 | as_fn_error $? "invalid package name: $ac_useropt" |
| 1197 | ac_useropt_orig=$ac_useropt | 1197 | ac_useropt_orig=$ac_useropt |
| 1198 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | 1198 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
| 1199 | case $ac_user_opts in | 1199 | case $ac_user_opts in |
| @@ -1223,8 +1223,8 @@ do | |||
| 1223 | | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) | 1223 | | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) |
| 1224 | x_libraries=$ac_optarg ;; | 1224 | x_libraries=$ac_optarg ;; |
| 1225 | 1225 | ||
| 1226 | -*) as_fn_error "unrecognized option: \`$ac_option' | 1226 | -*) as_fn_error $? "unrecognized option: \`$ac_option' |
| 1227 | Try \`$0 --help' for more information." | 1227 | Try \`$0 --help' for more information" |
| 1228 | ;; | 1228 | ;; |
| 1229 | 1229 | ||
| 1230 | *=*) | 1230 | *=*) |
| @@ -1232,7 +1232,7 @@ Try \`$0 --help' for more information." | |||
| 1232 | # Reject names that are not valid shell variable names. | 1232 | # Reject names that are not valid shell variable names. |
| 1233 | case $ac_envvar in #( | 1233 | case $ac_envvar in #( |
| 1234 | '' | [0-9]* | *[!_$as_cr_alnum]* ) | 1234 | '' | [0-9]* | *[!_$as_cr_alnum]* ) |
| 1235 | as_fn_error "invalid variable name: \`$ac_envvar'" ;; | 1235 | as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; |
| 1236 | esac | 1236 | esac |
| 1237 | eval $ac_envvar=\$ac_optarg | 1237 | eval $ac_envvar=\$ac_optarg |
| 1238 | export $ac_envvar ;; | 1238 | export $ac_envvar ;; |
| @@ -1250,13 +1250,13 @@ done | |||
| 1250 | 1250 | ||
| 1251 | if test -n "$ac_prev"; then | 1251 | if test -n "$ac_prev"; then |
| 1252 | ac_option=--`echo $ac_prev | sed 's/_/-/g'` | 1252 | ac_option=--`echo $ac_prev | sed 's/_/-/g'` |
| 1253 | as_fn_error "missing argument to $ac_option" | 1253 | as_fn_error $? "missing argument to $ac_option" |
| 1254 | fi | 1254 | fi |
| 1255 | 1255 | ||
| 1256 | if test -n "$ac_unrecognized_opts"; then | 1256 | if test -n "$ac_unrecognized_opts"; then |
| 1257 | case $enable_option_checking in | 1257 | case $enable_option_checking in |
| 1258 | no) ;; | 1258 | no) ;; |
| 1259 | fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; | 1259 | fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; |
| 1260 | *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; | 1260 | *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; |
| 1261 | esac | 1261 | esac |
| 1262 | fi | 1262 | fi |
| @@ -1279,7 +1279,7 @@ do | |||
| 1279 | [\\/$]* | ?:[\\/]* ) continue;; | 1279 | [\\/$]* | ?:[\\/]* ) continue;; |
| 1280 | NONE | '' ) case $ac_var in *prefix ) continue;; esac;; | 1280 | NONE | '' ) case $ac_var in *prefix ) continue;; esac;; |
| 1281 | esac | 1281 | esac |
| 1282 | as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" | 1282 | as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" |
| 1283 | done | 1283 | done |
| 1284 | 1284 | ||
| 1285 | # There might be people who depend on the old broken behavior: `$host' | 1285 | # There might be people who depend on the old broken behavior: `$host' |
| @@ -1293,8 +1293,8 @@ target=$target_alias | |||
| 1293 | if test "x$host_alias" != x; then | 1293 | if test "x$host_alias" != x; then |
| 1294 | if test "x$build_alias" = x; then | 1294 | if test "x$build_alias" = x; then |
| 1295 | cross_compiling=maybe | 1295 | cross_compiling=maybe |
| 1296 | $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. | 1296 | $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. |
| 1297 | If a cross compiler is detected then cross compile mode will be used." >&2 | 1297 | If a cross compiler is detected then cross compile mode will be used" >&2 |
| 1298 | elif test "x$build_alias" != "x$host_alias"; then | 1298 | elif test "x$build_alias" != "x$host_alias"; then |
| 1299 | cross_compiling=yes | 1299 | cross_compiling=yes |
| 1300 | fi | 1300 | fi |
| @@ -1309,9 +1309,9 @@ test "$silent" = yes && exec 6>/dev/null | |||
| 1309 | ac_pwd=`pwd` && test -n "$ac_pwd" && | 1309 | ac_pwd=`pwd` && test -n "$ac_pwd" && |
| 1310 | ac_ls_di=`ls -di .` && | 1310 | ac_ls_di=`ls -di .` && |
| 1311 | ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || | 1311 | ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || |
| 1312 | as_fn_error "working directory cannot be determined" | 1312 | as_fn_error $? "working directory cannot be determined" |
| 1313 | test "X$ac_ls_di" = "X$ac_pwd_ls_di" || | 1313 | test "X$ac_ls_di" = "X$ac_pwd_ls_di" || |
| 1314 | as_fn_error "pwd does not report name of working directory" | 1314 | as_fn_error $? "pwd does not report name of working directory" |
| 1315 | 1315 | ||
| 1316 | 1316 | ||
| 1317 | # Find the source files, if location was not specified. | 1317 | # Find the source files, if location was not specified. |
| @@ -1350,11 +1350,11 @@ else | |||
| 1350 | fi | 1350 | fi |
| 1351 | if test ! -r "$srcdir/$ac_unique_file"; then | 1351 | if test ! -r "$srcdir/$ac_unique_file"; then |
| 1352 | test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." | 1352 | test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." |
| 1353 | as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" | 1353 | as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" |
| 1354 | fi | 1354 | fi |
| 1355 | ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" | 1355 | ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" |
| 1356 | ac_abs_confdir=`( | 1356 | ac_abs_confdir=`( |
| 1357 | cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" | 1357 | cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" |
| 1358 | pwd)` | 1358 | pwd)` |
| 1359 | # When building in place, set srcdir=. | 1359 | # When building in place, set srcdir=. |
| 1360 | if test "$ac_abs_confdir" = "$ac_pwd"; then | 1360 | if test "$ac_abs_confdir" = "$ac_pwd"; then |
| @@ -1394,7 +1394,7 @@ Configuration: | |||
| 1394 | --help=short display options specific to this package | 1394 | --help=short display options specific to this package |
| 1395 | --help=recursive display the short help of all the included packages | 1395 | --help=recursive display the short help of all the included packages |
| 1396 | -V, --version display version information and exit | 1396 | -V, --version display version information and exit |
| 1397 | -q, --quiet, --silent do not print \`checking...' messages | 1397 | -q, --quiet, --silent do not print \`checking ...' messages |
| 1398 | --cache-file=FILE cache test results in FILE [disabled] | 1398 | --cache-file=FILE cache test results in FILE [disabled] |
| 1399 | -C, --config-cache alias for \`--cache-file=config.cache' | 1399 | -C, --config-cache alias for \`--cache-file=config.cache' |
| 1400 | -n, --no-create do not create output files | 1400 | -n, --no-create do not create output files |
| @@ -1610,9 +1610,9 @@ test -n "$ac_init_help" && exit $ac_status | |||
| 1610 | if $ac_init_version; then | 1610 | if $ac_init_version; then |
| 1611 | cat <<\_ACEOF | 1611 | cat <<\_ACEOF |
| 1612 | emacs configure 24.0.50 | 1612 | emacs configure 24.0.50 |
| 1613 | generated by GNU Autoconf 2.65 | 1613 | generated by GNU Autoconf 2.66 |
| 1614 | 1614 | ||
| 1615 | Copyright (C) 2009 Free Software Foundation, Inc. | 1615 | Copyright (C) 2010 Free Software Foundation, Inc. |
| 1616 | This configure script is free software; the Free Software Foundation | 1616 | This configure script is free software; the Free Software Foundation |
| 1617 | gives unlimited permission to copy, distribute and modify it. | 1617 | gives unlimited permission to copy, distribute and modify it. |
| 1618 | _ACEOF | 1618 | _ACEOF |
| @@ -1752,10 +1752,10 @@ fi | |||
| 1752 | ac_fn_c_check_header_mongrel () | 1752 | ac_fn_c_check_header_mongrel () |
| 1753 | { | 1753 | { |
| 1754 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 1754 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| 1755 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1755 | if eval "test \"\${$3+set}\"" = set; then : |
| 1756 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 1756 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
| 1757 | $as_echo_n "checking for $2... " >&6; } | 1757 | $as_echo_n "checking for $2... " >&6; } |
| 1758 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1758 | if eval "test \"\${$3+set}\"" = set; then : |
| 1759 | $as_echo_n "(cached) " >&6 | 1759 | $as_echo_n "(cached) " >&6 |
| 1760 | fi | 1760 | fi |
| 1761 | eval ac_res=\$$3 | 1761 | eval ac_res=\$$3 |
| @@ -1818,7 +1818,7 @@ $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} | |||
| 1818 | esac | 1818 | esac |
| 1819 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 1819 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
| 1820 | $as_echo_n "checking for $2... " >&6; } | 1820 | $as_echo_n "checking for $2... " >&6; } |
| 1821 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1821 | if eval "test \"\${$3+set}\"" = set; then : |
| 1822 | $as_echo_n "(cached) " >&6 | 1822 | $as_echo_n "(cached) " >&6 |
| 1823 | else | 1823 | else |
| 1824 | eval "$3=\$ac_header_compiler" | 1824 | eval "$3=\$ac_header_compiler" |
| @@ -1882,7 +1882,7 @@ ac_fn_c_check_header_compile () | |||
| 1882 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 1882 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| 1883 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 1883 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
| 1884 | $as_echo_n "checking for $2... " >&6; } | 1884 | $as_echo_n "checking for $2... " >&6; } |
| 1885 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1885 | if eval "test \"\${$3+set}\"" = set; then : |
| 1886 | $as_echo_n "(cached) " >&6 | 1886 | $as_echo_n "(cached) " >&6 |
| 1887 | else | 1887 | else |
| 1888 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 1888 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -1904,15 +1904,18 @@ $as_echo "$ac_res" >&6; } | |||
| 1904 | 1904 | ||
| 1905 | } # ac_fn_c_check_header_compile | 1905 | } # ac_fn_c_check_header_compile |
| 1906 | 1906 | ||
| 1907 | # ac_fn_c_check_decl LINENO SYMBOL VAR | 1907 | # ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES |
| 1908 | # ------------------------------------ | 1908 | # --------------------------------------------- |
| 1909 | # Tests whether SYMBOL is declared, setting cache variable VAR accordingly. | 1909 | # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR |
| 1910 | # accordingly. | ||
| 1910 | ac_fn_c_check_decl () | 1911 | ac_fn_c_check_decl () |
| 1911 | { | 1912 | { |
| 1912 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 1913 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| 1913 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5 | 1914 | as_decl_name=`echo $2|sed 's/ *(.*//'` |
| 1914 | $as_echo_n "checking whether $2 is declared... " >&6; } | 1915 | as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` |
| 1915 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1916 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 |
| 1917 | $as_echo_n "checking whether $as_decl_name is declared... " >&6; } | ||
| 1918 | if eval "test \"\${$3+set}\"" = set; then : | ||
| 1916 | $as_echo_n "(cached) " >&6 | 1919 | $as_echo_n "(cached) " >&6 |
| 1917 | else | 1920 | else |
| 1918 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 1921 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -1921,8 +1924,12 @@ $4 | |||
| 1921 | int | 1924 | int |
| 1922 | main () | 1925 | main () |
| 1923 | { | 1926 | { |
| 1924 | #ifndef $2 | 1927 | #ifndef $as_decl_name |
| 1925 | (void) $2; | 1928 | #ifdef __cplusplus |
| 1929 | (void) $as_decl_use; | ||
| 1930 | #else | ||
| 1931 | (void) $as_decl_name; | ||
| 1932 | #endif | ||
| 1926 | #endif | 1933 | #endif |
| 1927 | 1934 | ||
| 1928 | ; | 1935 | ; |
| @@ -1951,7 +1958,7 @@ ac_fn_c_check_header_preproc () | |||
| 1951 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 1958 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| 1952 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 1959 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
| 1953 | $as_echo_n "checking for $2... " >&6; } | 1960 | $as_echo_n "checking for $2... " >&6; } |
| 1954 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1961 | if eval "test \"\${$3+set}\"" = set; then : |
| 1955 | $as_echo_n "(cached) " >&6 | 1962 | $as_echo_n "(cached) " >&6 |
| 1956 | else | 1963 | else |
| 1957 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 1964 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -1981,7 +1988,7 @@ ac_fn_c_check_member () | |||
| 1981 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 1988 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| 1982 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 | 1989 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 |
| 1983 | $as_echo_n "checking for $2.$3... " >&6; } | 1990 | $as_echo_n "checking for $2.$3... " >&6; } |
| 1984 | if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then : | 1991 | if eval "test \"\${$4+set}\"" = set; then : |
| 1985 | $as_echo_n "(cached) " >&6 | 1992 | $as_echo_n "(cached) " >&6 |
| 1986 | else | 1993 | else |
| 1987 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 1994 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -2037,7 +2044,7 @@ ac_fn_c_check_func () | |||
| 2037 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 2044 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| 2038 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 2045 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
| 2039 | $as_echo_n "checking for $2... " >&6; } | 2046 | $as_echo_n "checking for $2... " >&6; } |
| 2040 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2047 | if eval "test \"\${$3+set}\"" = set; then : |
| 2041 | $as_echo_n "(cached) " >&6 | 2048 | $as_echo_n "(cached) " >&6 |
| 2042 | else | 2049 | else |
| 2043 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 2050 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -2105,7 +2112,7 @@ ac_fn_c_check_type () | |||
| 2105 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 2112 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| 2106 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 2113 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
| 2107 | $as_echo_n "checking for $2... " >&6; } | 2114 | $as_echo_n "checking for $2... " >&6; } |
| 2108 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2115 | if eval "test \"\${$3+set}\"" = set; then : |
| 2109 | $as_echo_n "(cached) " >&6 | 2116 | $as_echo_n "(cached) " >&6 |
| 2110 | else | 2117 | else |
| 2111 | eval "$3=no" | 2118 | eval "$3=no" |
| @@ -2154,7 +2161,7 @@ This file contains any messages produced by compilers while | |||
| 2154 | running configure, to aid debugging if configure makes a mistake. | 2161 | running configure, to aid debugging if configure makes a mistake. |
| 2155 | 2162 | ||
| 2156 | It was created by emacs $as_me 24.0.50, which was | 2163 | It was created by emacs $as_me 24.0.50, which was |
| 2157 | generated by GNU Autoconf 2.65. Invocation command line was | 2164 | generated by GNU Autoconf 2.66. Invocation command line was |
| 2158 | 2165 | ||
| 2159 | $ $0 $@ | 2166 | $ $0 $@ |
| 2160 | 2167 | ||
| @@ -2264,11 +2271,9 @@ trap 'exit_status=$? | |||
| 2264 | { | 2271 | { |
| 2265 | echo | 2272 | echo |
| 2266 | 2273 | ||
| 2267 | cat <<\_ASBOX | 2274 | $as_echo "## ---------------- ## |
| 2268 | ## ---------------- ## | ||
| 2269 | ## Cache variables. ## | 2275 | ## Cache variables. ## |
| 2270 | ## ---------------- ## | 2276 | ## ---------------- ##" |
| 2271 | _ASBOX | ||
| 2272 | echo | 2277 | echo |
| 2273 | # The following way of writing the cache mishandles newlines in values, | 2278 | # The following way of writing the cache mishandles newlines in values, |
| 2274 | ( | 2279 | ( |
| @@ -2302,11 +2307,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; | |||
| 2302 | ) | 2307 | ) |
| 2303 | echo | 2308 | echo |
| 2304 | 2309 | ||
| 2305 | cat <<\_ASBOX | 2310 | $as_echo "## ----------------- ## |
| 2306 | ## ----------------- ## | ||
| 2307 | ## Output variables. ## | 2311 | ## Output variables. ## |
| 2308 | ## ----------------- ## | 2312 | ## ----------------- ##" |
| 2309 | _ASBOX | ||
| 2310 | echo | 2313 | echo |
| 2311 | for ac_var in $ac_subst_vars | 2314 | for ac_var in $ac_subst_vars |
| 2312 | do | 2315 | do |
| @@ -2319,11 +2322,9 @@ _ASBOX | |||
| 2319 | echo | 2322 | echo |
| 2320 | 2323 | ||
| 2321 | if test -n "$ac_subst_files"; then | 2324 | if test -n "$ac_subst_files"; then |
| 2322 | cat <<\_ASBOX | 2325 | $as_echo "## ------------------- ## |
| 2323 | ## ------------------- ## | ||
| 2324 | ## File substitutions. ## | 2326 | ## File substitutions. ## |
| 2325 | ## ------------------- ## | 2327 | ## ------------------- ##" |
| 2326 | _ASBOX | ||
| 2327 | echo | 2328 | echo |
| 2328 | for ac_var in $ac_subst_files | 2329 | for ac_var in $ac_subst_files |
| 2329 | do | 2330 | do |
| @@ -2337,11 +2338,9 @@ _ASBOX | |||
| 2337 | fi | 2338 | fi |
| 2338 | 2339 | ||
| 2339 | if test -s confdefs.h; then | 2340 | if test -s confdefs.h; then |
| 2340 | cat <<\_ASBOX | 2341 | $as_echo "## ----------- ## |
| 2341 | ## ----------- ## | ||
| 2342 | ## confdefs.h. ## | 2342 | ## confdefs.h. ## |
| 2343 | ## ----------- ## | 2343 | ## ----------- ##" |
| 2344 | _ASBOX | ||
| 2345 | echo | 2344 | echo |
| 2346 | cat confdefs.h | 2345 | cat confdefs.h |
| 2347 | echo | 2346 | echo |
| @@ -2396,7 +2395,12 @@ _ACEOF | |||
| 2396 | ac_site_file1=NONE | 2395 | ac_site_file1=NONE |
| 2397 | ac_site_file2=NONE | 2396 | ac_site_file2=NONE |
| 2398 | if test -n "$CONFIG_SITE"; then | 2397 | if test -n "$CONFIG_SITE"; then |
| 2399 | ac_site_file1=$CONFIG_SITE | 2398 | # We do not want a PATH search for config.site. |
| 2399 | case $CONFIG_SITE in #(( | ||
| 2400 | -*) ac_site_file1=./$CONFIG_SITE;; | ||
| 2401 | */*) ac_site_file1=$CONFIG_SITE;; | ||
| 2402 | *) ac_site_file1=./$CONFIG_SITE;; | ||
| 2403 | esac | ||
| 2400 | elif test "x$prefix" != xNONE; then | 2404 | elif test "x$prefix" != xNONE; then |
| 2401 | ac_site_file1=$prefix/share/config.site | 2405 | ac_site_file1=$prefix/share/config.site |
| 2402 | ac_site_file2=$prefix/etc/config.site | 2406 | ac_site_file2=$prefix/etc/config.site |
| @@ -2411,7 +2415,11 @@ do | |||
| 2411 | { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 | 2415 | { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 |
| 2412 | $as_echo "$as_me: loading site script $ac_site_file" >&6;} | 2416 | $as_echo "$as_me: loading site script $ac_site_file" >&6;} |
| 2413 | sed 's/^/| /' "$ac_site_file" >&5 | 2417 | sed 's/^/| /' "$ac_site_file" >&5 |
| 2414 | . "$ac_site_file" | 2418 | . "$ac_site_file" \ |
| 2419 | || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
| 2420 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
| 2421 | as_fn_error $? "failed to load site script $ac_site_file | ||
| 2422 | See \`config.log' for more details" "$LINENO" 5; } | ||
| 2415 | fi | 2423 | fi |
| 2416 | done | 2424 | done |
| 2417 | 2425 | ||
| @@ -2492,7 +2500,7 @@ if $ac_cache_corrupted; then | |||
| 2492 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 2500 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| 2493 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 | 2501 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 |
| 2494 | $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} | 2502 | $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} |
| 2495 | as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 | 2503 | as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 |
| 2496 | fi | 2504 | fi |
| 2497 | ## -------------------- ## | 2505 | ## -------------------- ## |
| 2498 | ## Main body of script. ## | 2506 | ## Main body of script. ## |
| @@ -2666,7 +2674,7 @@ if test "${with_x_toolkit+set}" = set; then : | |||
| 2666 | g | gt | gtk ) val=gtk ;; | 2674 | g | gt | gtk ) val=gtk ;; |
| 2667 | gtk3 ) val=gtk3 ;; | 2675 | gtk3 ) val=gtk3 ;; |
| 2668 | * ) | 2676 | * ) |
| 2669 | as_fn_error "\`--with-x-toolkit=$withval' is invalid; | 2677 | as_fn_error $? "\`--with-x-toolkit=$withval' is invalid; |
| 2670 | this option's value should be \`yes', \`no', \`lucid', \`athena', \`motif', \`gtk' or | 2678 | this option's value should be \`yes', \`no', \`lucid', \`athena', \`motif', \`gtk' or |
| 2671 | \`gtk3'. \`yes' and \`gtk' are synonyms. \`athena' and \`lucid' are synonyms." "$LINENO" 5 | 2679 | \`gtk3'. \`yes' and \`gtk' are synonyms. \`athena' and \`lucid' are synonyms." "$LINENO" 5 |
| 2672 | ;; | 2680 | ;; |
| @@ -2945,7 +2953,7 @@ do | |||
| 2945 | stringfreelist) ac_gc_check_string_free_list=1 ;; | 2953 | stringfreelist) ac_gc_check_string_free_list=1 ;; |
| 2946 | xmallocoverrun) ac_xmalloc_overrun=1 ;; | 2954 | xmallocoverrun) ac_xmalloc_overrun=1 ;; |
| 2947 | conslist) ac_gc_check_cons_list=1 ;; | 2955 | conslist) ac_gc_check_cons_list=1 ;; |
| 2948 | *) as_fn_error "unknown check category $check" "$LINENO" 5 ;; | 2956 | *) as_fn_error $? "unknown check category $check" "$LINENO" 5 ;; |
| 2949 | esac | 2957 | esac |
| 2950 | done | 2958 | done |
| 2951 | IFS="$ac_save_IFS" | 2959 | IFS="$ac_save_IFS" |
| @@ -3061,16 +3069,22 @@ fi | |||
| 3061 | 3069 | ||
| 3062 | ac_aux_dir= | 3070 | ac_aux_dir= |
| 3063 | for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do | 3071 | for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do |
| 3064 | for ac_t in install-sh install.sh shtool; do | 3072 | if test -f "$ac_dir/install-sh"; then |
| 3065 | if test -f "$ac_dir/$ac_t"; then | 3073 | ac_aux_dir=$ac_dir |
| 3066 | ac_aux_dir=$ac_dir | 3074 | ac_install_sh="$ac_aux_dir/install-sh -c" |
| 3067 | ac_install_sh="$ac_aux_dir/$ac_t -c" | 3075 | break |
| 3068 | break 2 | 3076 | elif test -f "$ac_dir/install.sh"; then |
| 3069 | fi | 3077 | ac_aux_dir=$ac_dir |
| 3070 | done | 3078 | ac_install_sh="$ac_aux_dir/install.sh -c" |
| 3079 | break | ||
| 3080 | elif test -f "$ac_dir/shtool"; then | ||
| 3081 | ac_aux_dir=$ac_dir | ||
| 3082 | ac_install_sh="$ac_aux_dir/shtool install -c" | ||
| 3083 | break | ||
| 3084 | fi | ||
| 3071 | done | 3085 | done |
| 3072 | if test -z "$ac_aux_dir"; then | 3086 | if test -z "$ac_aux_dir"; then |
| 3073 | as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 | 3087 | as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 |
| 3074 | fi | 3088 | fi |
| 3075 | 3089 | ||
| 3076 | # These three variables are undocumented and unsupported, | 3090 | # These three variables are undocumented and unsupported, |
| @@ -3084,7 +3098,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. | |||
| 3084 | 3098 | ||
| 3085 | # Make sure we can run config.sub. | 3099 | # Make sure we can run config.sub. |
| 3086 | $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || | 3100 | $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || |
| 3087 | as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 | 3101 | as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 |
| 3088 | 3102 | ||
| 3089 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 | 3103 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 |
| 3090 | $as_echo_n "checking build system type... " >&6; } | 3104 | $as_echo_n "checking build system type... " >&6; } |
| @@ -3095,16 +3109,16 @@ else | |||
| 3095 | test "x$ac_build_alias" = x && | 3109 | test "x$ac_build_alias" = x && |
| 3096 | ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` | 3110 | ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` |
| 3097 | test "x$ac_build_alias" = x && | 3111 | test "x$ac_build_alias" = x && |
| 3098 | as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 | 3112 | as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 |
| 3099 | ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || | 3113 | ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || |
| 3100 | as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 | 3114 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 |
| 3101 | 3115 | ||
| 3102 | fi | 3116 | fi |
| 3103 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 | 3117 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 |
| 3104 | $as_echo "$ac_cv_build" >&6; } | 3118 | $as_echo "$ac_cv_build" >&6; } |
| 3105 | case $ac_cv_build in | 3119 | case $ac_cv_build in |
| 3106 | *-*-*) ;; | 3120 | *-*-*) ;; |
| 3107 | *) as_fn_error "invalid value of canonical build" "$LINENO" 5;; | 3121 | *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; |
| 3108 | esac | 3122 | esac |
| 3109 | build=$ac_cv_build | 3123 | build=$ac_cv_build |
| 3110 | ac_save_IFS=$IFS; IFS='-' | 3124 | ac_save_IFS=$IFS; IFS='-' |
| @@ -3129,7 +3143,7 @@ else | |||
| 3129 | ac_cv_host=$ac_cv_build | 3143 | ac_cv_host=$ac_cv_build |
| 3130 | else | 3144 | else |
| 3131 | ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || | 3145 | ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || |
| 3132 | as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 | 3146 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 |
| 3133 | fi | 3147 | fi |
| 3134 | 3148 | ||
| 3135 | fi | 3149 | fi |
| @@ -3137,7 +3151,7 @@ fi | |||
| 3137 | $as_echo "$ac_cv_host" >&6; } | 3151 | $as_echo "$ac_cv_host" >&6; } |
| 3138 | case $ac_cv_host in | 3152 | case $ac_cv_host in |
| 3139 | *-*-*) ;; | 3153 | *-*-*) ;; |
| 3140 | *) as_fn_error "invalid value of canonical host" "$LINENO" 5;; | 3154 | *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; |
| 3141 | esac | 3155 | esac |
| 3142 | host=$ac_cv_host | 3156 | host=$ac_cv_host |
| 3143 | ac_save_IFS=$IFS; IFS='-' | 3157 | ac_save_IFS=$IFS; IFS='-' |
| @@ -3431,7 +3445,7 @@ fi | |||
| 3431 | 3445 | ||
| 3432 | 3446 | ||
| 3433 | if test $unported = yes; then | 3447 | if test $unported = yes; then |
| 3434 | as_fn_error "Emacs hasn't been ported to \`${canonical}' systems. | 3448 | as_fn_error $? "Emacs hasn't been ported to \`${canonical}' systems. |
| 3435 | Check \`etc/MACHINES' for recognized configuration names." "$LINENO" 5 | 3449 | Check \`etc/MACHINES' for recognized configuration names." "$LINENO" 5 |
| 3436 | fi | 3450 | fi |
| 3437 | 3451 | ||
| @@ -3745,8 +3759,8 @@ fi | |||
| 3745 | 3759 | ||
| 3746 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 3760 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| 3747 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 3761 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| 3748 | as_fn_error "no acceptable C compiler found in \$PATH | 3762 | as_fn_error $? "no acceptable C compiler found in \$PATH |
| 3749 | See \`config.log' for more details." "$LINENO" 5; } | 3763 | See \`config.log' for more details" "$LINENO" 5; } |
| 3750 | 3764 | ||
| 3751 | # Provide some information about the compiler. | 3765 | # Provide some information about the compiler. |
| 3752 | $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 | 3766 | $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 |
| @@ -3860,9 +3874,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 | |||
| 3860 | 3874 | ||
| 3861 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 3875 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| 3862 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 3876 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| 3863 | { as_fn_set_status 77 | 3877 | as_fn_error 77 "C compiler cannot create executables |
| 3864 | as_fn_error "C compiler cannot create executables | 3878 | See \`config.log' for more details" "$LINENO" 5; } |
| 3865 | See \`config.log' for more details." "$LINENO" 5; }; } | ||
| 3866 | else | 3879 | else |
| 3867 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | 3880 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
| 3868 | $as_echo "yes" >&6; } | 3881 | $as_echo "yes" >&6; } |
| @@ -3904,8 +3917,8 @@ done | |||
| 3904 | else | 3917 | else |
| 3905 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 3918 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| 3906 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 3919 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| 3907 | as_fn_error "cannot compute suffix of executables: cannot compile and link | 3920 | as_fn_error $? "cannot compute suffix of executables: cannot compile and link |
| 3908 | See \`config.log' for more details." "$LINENO" 5; } | 3921 | See \`config.log' for more details" "$LINENO" 5; } |
| 3909 | fi | 3922 | fi |
| 3910 | rm -f conftest conftest$ac_cv_exeext | 3923 | rm -f conftest conftest$ac_cv_exeext |
| 3911 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 | 3924 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 |
| @@ -3962,9 +3975,9 @@ $as_echo "$ac_try_echo"; } >&5 | |||
| 3962 | else | 3975 | else |
| 3963 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 3976 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| 3964 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 3977 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| 3965 | as_fn_error "cannot run C compiled programs. | 3978 | as_fn_error $? "cannot run C compiled programs. |
| 3966 | If you meant to cross compile, use \`--host'. | 3979 | If you meant to cross compile, use \`--host'. |
| 3967 | See \`config.log' for more details." "$LINENO" 5; } | 3980 | See \`config.log' for more details" "$LINENO" 5; } |
| 3968 | fi | 3981 | fi |
| 3969 | fi | 3982 | fi |
| 3970 | fi | 3983 | fi |
| @@ -4015,8 +4028,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 | |||
| 4015 | 4028 | ||
| 4016 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 4029 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| 4017 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 4030 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| 4018 | as_fn_error "cannot compute suffix of object files: cannot compile | 4031 | as_fn_error $? "cannot compute suffix of object files: cannot compile |
| 4019 | See \`config.log' for more details." "$LINENO" 5; } | 4032 | See \`config.log' for more details" "$LINENO" 5; } |
| 4020 | fi | 4033 | fi |
| 4021 | rm -f conftest.$ac_cv_objext conftest.$ac_ext | 4034 | rm -f conftest.$ac_cv_objext conftest.$ac_ext |
| 4022 | fi | 4035 | fi |
| @@ -4435,8 +4448,8 @@ if $ac_preproc_ok; then : | |||
| 4435 | else | 4448 | else |
| 4436 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 4449 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| 4437 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 4450 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| 4438 | as_fn_error "C preprocessor \"$CPP\" fails sanity check | 4451 | as_fn_error $? "C preprocessor \"$CPP\" fails sanity check |
| 4439 | See \`config.log' for more details." "$LINENO" 5; } | 4452 | See \`config.log' for more details" "$LINENO" 5; } |
| 4440 | fi | 4453 | fi |
| 4441 | 4454 | ||
| 4442 | ac_ext=c | 4455 | ac_ext=c |
| @@ -4497,7 +4510,7 @@ esac | |||
| 4497 | done | 4510 | done |
| 4498 | IFS=$as_save_IFS | 4511 | IFS=$as_save_IFS |
| 4499 | if test -z "$ac_cv_path_GREP"; then | 4512 | if test -z "$ac_cv_path_GREP"; then |
| 4500 | as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | 4513 | as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 |
| 4501 | fi | 4514 | fi |
| 4502 | else | 4515 | else |
| 4503 | ac_cv_path_GREP=$GREP | 4516 | ac_cv_path_GREP=$GREP |
| @@ -4563,7 +4576,7 @@ esac | |||
| 4563 | done | 4576 | done |
| 4564 | IFS=$as_save_IFS | 4577 | IFS=$as_save_IFS |
| 4565 | if test -z "$ac_cv_path_EGREP"; then | 4578 | if test -z "$ac_cv_path_EGREP"; then |
| 4566 | as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | 4579 | as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 |
| 4567 | fi | 4580 | fi |
| 4568 | else | 4581 | else |
| 4569 | ac_cv_path_EGREP=$EGREP | 4582 | ac_cv_path_EGREP=$EGREP |
| @@ -4695,8 +4708,7 @@ do : | |||
| 4695 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | 4708 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
| 4696 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default | 4709 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default |
| 4697 | " | 4710 | " |
| 4698 | eval as_val=\$$as_ac_Header | 4711 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| 4699 | if test "x$as_val" = x""yes; then : | ||
| 4700 | cat >>confdefs.h <<_ACEOF | 4712 | cat >>confdefs.h <<_ACEOF |
| 4701 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 4713 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
| 4702 | _ACEOF | 4714 | _ACEOF |
| @@ -4992,8 +5004,8 @@ if $ac_preproc_ok; then : | |||
| 4992 | else | 5004 | else |
| 4993 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 5005 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
| 4994 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 5006 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
| 4995 | as_fn_error "C preprocessor \"$CPP\" fails sanity check | 5007 | as_fn_error $? "C preprocessor \"$CPP\" fails sanity check |
| 4996 | See \`config.log' for more details." "$LINENO" 5; } | 5008 | See \`config.log' for more details" "$LINENO" 5; } |
| 4997 | fi | 5009 | fi |
| 4998 | 5010 | ||
| 4999 | ac_ext=c | 5011 | ac_ext=c |
| @@ -5430,7 +5442,7 @@ if test "$MAKEINFO" = "no"; then | |||
| 5430 | if test "x${with_makeinfo}" = "xno"; then | 5442 | if test "x${with_makeinfo}" = "xno"; then |
| 5431 | MAKEINFO=off | 5443 | MAKEINFO=off |
| 5432 | elif test ! -e $srcdir/info/emacs; then | 5444 | elif test ! -e $srcdir/info/emacs; then |
| 5433 | as_fn_error "You do not seem to have makeinfo >= 4.6, and your | 5445 | as_fn_error $? "You do not seem to have makeinfo >= 4.6, and your |
| 5434 | source tree does not seem to have pre-built manuals in the \`info' directory. | 5446 | source tree does not seem to have pre-built manuals in the \`info' directory. |
| 5435 | Either install a suitable version of makeinfo, or re-run configure | 5447 | Either install a suitable version of makeinfo, or re-run configure |
| 5436 | with the \`--without-makeinfo' option to build without the manuals. " "$LINENO" 5 | 5448 | with the \`--without-makeinfo' option to build without the manuals. " "$LINENO" 5 |
| @@ -5606,7 +5618,7 @@ fi | |||
| 5606 | if test "x$GCC" = "xyes"; then | 5618 | if test "x$GCC" = "xyes"; then |
| 5607 | C_SWITCH_MACHINE="-fno-common" | 5619 | C_SWITCH_MACHINE="-fno-common" |
| 5608 | else | 5620 | else |
| 5609 | as_fn_error "What gives? Fix me if DEC Unix supports ELF now." "$LINENO" 5 | 5621 | as_fn_error $? "What gives? Fix me if DEC Unix supports ELF now." "$LINENO" 5 |
| 5610 | fi | 5622 | fi |
| 5611 | else | 5623 | else |
| 5612 | UNEXEC_OBJ=unexalpha.o | 5624 | UNEXEC_OBJ=unexalpha.o |
| @@ -5884,7 +5896,7 @@ else | |||
| 5884 | ## Some platforms don't use any of these files, so it is not | 5896 | ## Some platforms don't use any of these files, so it is not |
| 5885 | ## appropriate to put this test outside the if block. | 5897 | ## appropriate to put this test outside the if block. |
| 5886 | test -e $CRT_DIR/crtn.o || test -e $CRT_DIR/crt0.o || \ | 5898 | test -e $CRT_DIR/crtn.o || test -e $CRT_DIR/crt0.o || \ |
| 5887 | as_fn_error "crt*.o not found in specified location." "$LINENO" 5 | 5899 | as_fn_error $? "crt*.o not found in specified location." "$LINENO" 5 |
| 5888 | 5900 | ||
| 5889 | fi | 5901 | fi |
| 5890 | 5902 | ||
| @@ -5939,8 +5951,7 @@ if test "${with_sound}" != "no"; then | |||
| 5939 | do : | 5951 | do : |
| 5940 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | 5952 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
| 5941 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" | 5953 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
| 5942 | eval as_val=\$$as_ac_Header | 5954 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| 5943 | if test "x$as_val" = x""yes; then : | ||
| 5944 | cat >>confdefs.h <<_ACEOF | 5955 | cat >>confdefs.h <<_ACEOF |
| 5945 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 5956 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
| 5946 | _ACEOF | 5957 | _ACEOF |
| @@ -6131,7 +6142,7 @@ else | |||
| 6131 | fi | 6142 | fi |
| 6132 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 6143 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| 6133 | if test "$emacs_alsa_subdir" != yes; then | 6144 | if test "$emacs_alsa_subdir" != yes; then |
| 6134 | as_fn_error "pkg-config found alsa, but it does not compile. See config.log for error messages." "$LINENO" 5 | 6145 | as_fn_error $? "pkg-config found alsa, but it does not compile. See config.log for error messages." "$LINENO" 5 |
| 6135 | fi | 6146 | fi |
| 6136 | ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE" | 6147 | ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE" |
| 6137 | fi | 6148 | fi |
| @@ -6166,8 +6177,7 @@ for ac_header in sys/select.h sys/timeb.h sys/time.h unistd.h utime.h \ | |||
| 6166 | do : | 6177 | do : |
| 6167 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | 6178 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
| 6168 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" | 6179 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
| 6169 | eval as_val=\$$as_ac_Header | 6180 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| 6170 | if test "x$as_val" = x""yes; then : | ||
| 6171 | cat >>confdefs.h <<_ACEOF | 6181 | cat >>confdefs.h <<_ACEOF |
| 6172 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 6182 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
| 6173 | _ACEOF | 6183 | _ACEOF |
| @@ -7009,7 +7019,7 @@ fi | |||
| 7009 | $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } | 7019 | $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } |
| 7010 | set x ${MAKE-make} | 7020 | set x ${MAKE-make} |
| 7011 | ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` | 7021 | ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` |
| 7012 | if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : | 7022 | if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : |
| 7013 | $as_echo_n "(cached) " >&6 | 7023 | $as_echo_n "(cached) " >&6 |
| 7014 | else | 7024 | else |
| 7015 | cat >conftest.make <<\_ACEOF | 7025 | cat >conftest.make <<\_ACEOF |
| @@ -7017,7 +7027,7 @@ SHELL = /bin/sh | |||
| 7017 | all: | 7027 | all: |
| 7018 | @echo '@@@%%%=$(MAKE)=@@@%%%' | 7028 | @echo '@@@%%%=$(MAKE)=@@@%%%' |
| 7019 | _ACEOF | 7029 | _ACEOF |
| 7020 | # GNU make sometimes prints "make[1]: Entering...", which would confuse us. | 7030 | # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. |
| 7021 | case `${MAKE-make} -f conftest.make 2>/dev/null` in | 7031 | case `${MAKE-make} -f conftest.make 2>/dev/null` in |
| 7022 | *@@@%%%=?*=@@@%%%*) | 7032 | *@@@%%%=?*=@@@%%%*) |
| 7023 | eval ac_cv_prog_make_${ac_make}_set=yes;; | 7033 | eval ac_cv_prog_make_${ac_make}_set=yes;; |
| @@ -7153,7 +7163,7 @@ if test "x$with_x" = xno; then | |||
| 7153 | have_x=disabled | 7163 | have_x=disabled |
| 7154 | else | 7164 | else |
| 7155 | case $x_includes,$x_libraries in #( | 7165 | case $x_includes,$x_libraries in #( |
| 7156 | *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #( | 7166 | *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #( |
| 7157 | *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : | 7167 | *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : |
| 7158 | $as_echo_n "(cached) " >&6 | 7168 | $as_echo_n "(cached) " >&6 |
| 7159 | else | 7169 | else |
| @@ -7171,7 +7181,7 @@ libdir: | |||
| 7171 | @echo libdir='${LIBDIR}' | 7181 | @echo libdir='${LIBDIR}' |
| 7172 | _ACEOF | 7182 | _ACEOF |
| 7173 | if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then | 7183 | if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then |
| 7174 | # GNU make sometimes prints "make[1]: Entering...", which would confuse us. | 7184 | # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. |
| 7175 | for ac_var in incroot usrlibdir libdir; do | 7185 | for ac_var in incroot usrlibdir libdir; do |
| 7176 | eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" | 7186 | eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" |
| 7177 | done | 7187 | done |
| @@ -7441,7 +7451,7 @@ if test "${with_ns}" != no; then | |||
| 7441 | if test "x$ac_cv_header_AppKit_AppKit_h" = x""yes; then : | 7451 | if test "x$ac_cv_header_AppKit_AppKit_h" = x""yes; then : |
| 7442 | HAVE_NS=yes | 7452 | HAVE_NS=yes |
| 7443 | else | 7453 | else |
| 7444 | as_fn_error "\`--with-ns' was specified, but the include | 7454 | as_fn_error $? "\`--with-ns' was specified, but the include |
| 7445 | files are missing or cannot be compiled." "$LINENO" 5 | 7455 | files are missing or cannot be compiled." "$LINENO" 5 |
| 7446 | fi | 7456 | fi |
| 7447 | 7457 | ||
| @@ -7557,7 +7567,7 @@ fi | |||
| 7557 | if test "$HAVE_XSERVER" = true || | 7567 | if test "$HAVE_XSERVER" = true || |
| 7558 | test -n "$DISPLAY" || | 7568 | test -n "$DISPLAY" || |
| 7559 | test "`echo /usr/lib/libX11.*`" != "/usr/lib/libX11.*"; then | 7569 | test "`echo /usr/lib/libX11.*`" != "/usr/lib/libX11.*"; then |
| 7560 | as_fn_error "You seem to be running X, but no X development libraries | 7570 | as_fn_error $? "You seem to be running X, but no X development libraries |
| 7561 | were found. You should install the relevant development files for X | 7571 | were found. You should install the relevant development files for X |
| 7562 | and for the toolkit you want, such as Gtk+, Lesstif or Motif. Also make | 7572 | and for the toolkit you want, such as Gtk+, Lesstif or Motif. Also make |
| 7563 | sure you have development files for image handling, i.e. | 7573 | sure you have development files for image handling, i.e. |
| @@ -7680,8 +7690,7 @@ do : | |||
| 7680 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | 7690 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
| 7681 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default | 7691 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default |
| 7682 | " | 7692 | " |
| 7683 | eval as_val=\$$as_ac_Header | 7693 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| 7684 | if test "x$as_val" = x""yes; then : | ||
| 7685 | cat >>confdefs.h <<_ACEOF | 7694 | cat >>confdefs.h <<_ACEOF |
| 7686 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 7695 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
| 7687 | _ACEOF | 7696 | _ACEOF |
| @@ -7787,6 +7796,7 @@ int | |||
| 7787 | main () | 7796 | main () |
| 7788 | { | 7797 | { |
| 7789 | char *data, *data2, *data3; | 7798 | char *data, *data2, *data3; |
| 7799 | const char *cdata2; | ||
| 7790 | int i, pagesize; | 7800 | int i, pagesize; |
| 7791 | int fd, fd2; | 7801 | int fd, fd2; |
| 7792 | 7802 | ||
| @@ -7811,10 +7821,10 @@ main () | |||
| 7811 | fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); | 7821 | fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); |
| 7812 | if (fd2 < 0) | 7822 | if (fd2 < 0) |
| 7813 | return 4; | 7823 | return 4; |
| 7814 | data2 = ""; | 7824 | cdata2 = ""; |
| 7815 | if (write (fd2, data2, 1) != 1) | 7825 | if (write (fd2, cdata2, 1) != 1) |
| 7816 | return 5; | 7826 | return 5; |
| 7817 | data2 = mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); | 7827 | data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); |
| 7818 | if (data2 == MAP_FAILED) | 7828 | if (data2 == MAP_FAILED) |
| 7819 | return 6; | 7829 | return 6; |
| 7820 | for (i = 0; i < pagesize; ++i) | 7830 | for (i = 0; i < pagesize; ++i) |
| @@ -8186,8 +8196,7 @@ XScreenNumberOfScreen XSetWMProtocols | |||
| 8186 | do : | 8196 | do : |
| 8187 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | 8197 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
| 8188 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | 8198 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| 8189 | eval as_val=\$$as_ac_var | 8199 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| 8190 | if test "x$as_val" = x""yes; then : | ||
| 8191 | cat >>confdefs.h <<_ACEOF | 8200 | cat >>confdefs.h <<_ACEOF |
| 8192 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 8201 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
| 8193 | _ACEOF | 8202 | _ACEOF |
| @@ -8468,7 +8477,7 @@ $as_echo "no" >&6; } | |||
| 8468 | fi | 8477 | fi |
| 8469 | 8478 | ||
| 8470 | if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then | 8479 | if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then |
| 8471 | as_fn_error "$GTK_PKG_ERRORS" "$LINENO" 5 | 8480 | as_fn_error $? "$GTK_PKG_ERRORS" "$LINENO" 5 |
| 8472 | fi | 8481 | fi |
| 8473 | fi | 8482 | fi |
| 8474 | 8483 | ||
| @@ -8574,7 +8583,7 @@ $as_echo "no" >&6; } | |||
| 8574 | fi | 8583 | fi |
| 8575 | 8584 | ||
| 8576 | if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then | 8585 | if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then |
| 8577 | as_fn_error "$GTK_PKG_ERRORS" "$LINENO" 5 | 8586 | as_fn_error $? "$GTK_PKG_ERRORS" "$LINENO" 5 |
| 8578 | fi | 8587 | fi |
| 8579 | fi | 8588 | fi |
| 8580 | fi | 8589 | fi |
| @@ -8601,7 +8610,7 @@ done | |||
| 8601 | 8610 | ||
| 8602 | if test "${GTK_COMPILES}" != "yes"; then | 8611 | if test "${GTK_COMPILES}" != "yes"; then |
| 8603 | if test "$USE_X_TOOLKIT" != "maybe"; then | 8612 | if test "$USE_X_TOOLKIT" != "maybe"; then |
| 8604 | as_fn_error "Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?" "$LINENO" 5; | 8613 | as_fn_error $? "Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?" "$LINENO" 5; |
| 8605 | fi | 8614 | fi |
| 8606 | else | 8615 | else |
| 8607 | HAVE_GTK=yes | 8616 | HAVE_GTK=yes |
| @@ -8731,8 +8740,7 @@ $as_echo "#define HAVE_GTK_AND_PTHREAD 1" >>confdefs.h | |||
| 8731 | do : | 8740 | do : |
| 8732 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | 8741 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
| 8733 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | 8742 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| 8734 | eval as_val=\$$as_ac_var | 8743 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| 8735 | if test "x$as_val" = x""yes; then : | ||
| 8736 | cat >>confdefs.h <<_ACEOF | 8744 | cat >>confdefs.h <<_ACEOF |
| 8737 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 8745 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
| 8738 | _ACEOF | 8746 | _ACEOF |
| @@ -9097,7 +9105,7 @@ $as_echo "yes; using Lucid toolkit" >&6; } | |||
| 9097 | USE_X_TOOLKIT=LUCID | 9105 | USE_X_TOOLKIT=LUCID |
| 9098 | LUCID_LIBW=-lXaw | 9106 | LUCID_LIBW=-lXaw |
| 9099 | elif test x"${USE_X_TOOLKIT}" = xLUCID; then | 9107 | elif test x"${USE_X_TOOLKIT}" = xLUCID; then |
| 9100 | as_fn_error "Lucid toolkit requires X11/Xaw include files" "$LINENO" 5 | 9108 | as_fn_error $? "Lucid toolkit requires X11/Xaw include files" "$LINENO" 5 |
| 9101 | else | 9109 | else |
| 9102 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no; do not use toolkit by default" >&5 | 9110 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no; do not use toolkit by default" >&5 |
| 9103 | $as_echo "no; do not use toolkit by default" >&6; } | 9111 | $as_echo "no; do not use toolkit by default" >&6; } |
| @@ -10274,8 +10282,7 @@ if test "${HAVE_X11}" = "yes"; then | |||
| 10274 | do : | 10282 | do : |
| 10275 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | 10283 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
| 10276 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" | 10284 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
| 10277 | eval as_val=\$$as_ac_Header | 10285 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| 10278 | if test "x$as_val" = x""yes; then : | ||
| 10279 | cat >>confdefs.h <<_ACEOF | 10286 | cat >>confdefs.h <<_ACEOF |
| 10280 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 10287 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
| 10281 | _ACEOF | 10288 | _ACEOF |
| @@ -10527,7 +10534,7 @@ if test "${HAVE_X11}" = "yes"; then | |||
| 10527 | MISSING="$MISSING libtiff" && WITH_NO="$WITH_NO --with-tiff=no" | 10534 | MISSING="$MISSING libtiff" && WITH_NO="$WITH_NO --with-tiff=no" |
| 10528 | 10535 | ||
| 10529 | if test "X${MISSING}" != X; then | 10536 | if test "X${MISSING}" != X; then |
| 10530 | as_fn_error "The following required libraries were not found: | 10537 | as_fn_error $? "The following required libraries were not found: |
| 10531 | $MISSING | 10538 | $MISSING |
| 10532 | Maybe some development libraries/packages are missing? | 10539 | Maybe some development libraries/packages are missing? |
| 10533 | If you don't want to link with them give | 10540 | If you don't want to link with them give |
| @@ -10862,8 +10869,7 @@ if test $ac_cv_os_cray = yes; then | |||
| 10862 | for ac_func in _getb67 GETB67 getb67; do | 10869 | for ac_func in _getb67 GETB67 getb67; do |
| 10863 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | 10870 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
| 10864 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | 10871 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| 10865 | eval as_val=\$$as_ac_var | 10872 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| 10866 | if test "x$as_val" = x""yes; then : | ||
| 10867 | 10873 | ||
| 10868 | cat >>confdefs.h <<_ACEOF | 10874 | cat >>confdefs.h <<_ACEOF |
| 10869 | #define CRAY_STACKSEG_END $ac_func | 10875 | #define CRAY_STACKSEG_END $ac_func |
| @@ -10927,7 +10933,7 @@ fi | |||
| 10927 | 10933 | ||
| 10928 | 10934 | ||
| 10929 | if test x"$ac_cv_func_alloca_works" != xyes; then | 10935 | if test x"$ac_cv_func_alloca_works" != xyes; then |
| 10930 | as_fn_error "a system implementation of alloca is required " "$LINENO" 5 | 10936 | as_fn_error $? "a system implementation of alloca is required " "$LINENO" 5 |
| 10931 | fi | 10937 | fi |
| 10932 | 10938 | ||
| 10933 | # fmod, logb, and frexp are found in -lm on most systems. | 10939 | # fmod, logb, and frexp are found in -lm on most systems. |
| @@ -11123,7 +11129,7 @@ fi | |||
| 11123 | 11129 | ||
| 11124 | 11130 | ||
| 11125 | if test $ac_cv_prog_liblockfile = yes; then | 11131 | if test $ac_cv_prog_liblockfile = yes; then |
| 11126 | as_fn_error "Shared liblockfile found but can't link against it. | 11132 | as_fn_error $? "Shared liblockfile found but can't link against it. |
| 11127 | This probably means that movemail could lose mail. | 11133 | This probably means that movemail could lose mail. |
| 11128 | There may be a \`development' package to install containing liblockfile." "$LINENO" 5 | 11134 | There may be a \`development' package to install containing liblockfile." "$LINENO" 5 |
| 11129 | fi | 11135 | fi |
| @@ -11204,7 +11210,7 @@ rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \ | |||
| 11204 | random lrand48 logb frexp fmod rint cbrt ftime setsid \ | 11210 | random lrand48 logb frexp fmod rint cbrt ftime setsid \ |
| 11205 | strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \ | 11211 | strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \ |
| 11206 | utimes getrlimit setrlimit setpgid getcwd getwd shutdown getaddrinfo \ | 11212 | utimes getrlimit setrlimit setpgid getcwd getwd shutdown getaddrinfo \ |
| 11207 | __fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \ | 11213 | __fpending mblen mbrlen mbsinit strsignal setitimer ualarm strchr strrchr \ |
| 11208 | sendto recvfrom getsockopt setsockopt getsockname getpeername \ | 11214 | sendto recvfrom getsockopt setsockopt getsockname getpeername \ |
| 11209 | gai_strerror mkstemp getline getdelim mremap memmove fsync sync \ | 11215 | gai_strerror mkstemp getline getdelim mremap memmove fsync sync \ |
| 11210 | memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign \ | 11216 | memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign \ |
| @@ -11212,8 +11218,7 @@ cfmakeraw cfsetspeed isnan copysign | |||
| 11212 | do : | 11218 | do : |
| 11213 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | 11219 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
| 11214 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | 11220 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| 11215 | eval as_val=\$$as_ac_var | 11221 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| 11216 | if test "x$as_val" = x""yes; then : | ||
| 11217 | cat >>confdefs.h <<_ACEOF | 11222 | cat >>confdefs.h <<_ACEOF |
| 11218 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 11223 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
| 11219 | _ACEOF | 11224 | _ACEOF |
| @@ -11244,8 +11249,7 @@ done | |||
| 11244 | do : | 11249 | do : |
| 11245 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | 11250 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
| 11246 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | 11251 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| 11247 | eval as_val=\$$as_ac_var | 11252 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| 11248 | if test "x$as_val" = x""yes; then : | ||
| 11249 | cat >>confdefs.h <<_ACEOF | 11253 | cat >>confdefs.h <<_ACEOF |
| 11250 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 11254 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
| 11251 | _ACEOF | 11255 | _ACEOF |
| @@ -11297,8 +11301,8 @@ static time_t time_t_max; | |||
| 11297 | static time_t time_t_min; | 11301 | static time_t time_t_min; |
| 11298 | 11302 | ||
| 11299 | /* Values we'll use to set the TZ environment variable. */ | 11303 | /* Values we'll use to set the TZ environment variable. */ |
| 11300 | static char *tz_strings[] = { | 11304 | static const char *tz_strings[] = { |
| 11301 | (char *) 0, "TZ=GMT0", "TZ=JST-9", | 11305 | (const char *) 0, "TZ=GMT0", "TZ=JST-9", |
| 11302 | "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" | 11306 | "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" |
| 11303 | }; | 11307 | }; |
| 11304 | #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) | 11308 | #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) |
| @@ -11315,7 +11319,7 @@ spring_forward_gap () | |||
| 11315 | instead of "TZ=America/Vancouver" in order to detect the bug even | 11319 | instead of "TZ=America/Vancouver" in order to detect the bug even |
| 11316 | on systems that don't support the Olson extension, or don't have the | 11320 | on systems that don't support the Olson extension, or don't have the |
| 11317 | full zoneinfo tables installed. */ | 11321 | full zoneinfo tables installed. */ |
| 11318 | putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); | 11322 | putenv ((char*) "TZ=PST8PDT,M4.1.0,M10.5.0"); |
| 11319 | 11323 | ||
| 11320 | tm.tm_year = 98; | 11324 | tm.tm_year = 98; |
| 11321 | tm.tm_mon = 3; | 11325 | tm.tm_mon = 3; |
| @@ -11328,16 +11332,14 @@ spring_forward_gap () | |||
| 11328 | } | 11332 | } |
| 11329 | 11333 | ||
| 11330 | static int | 11334 | static int |
| 11331 | mktime_test1 (now) | 11335 | mktime_test1 (time_t now) |
| 11332 | time_t now; | ||
| 11333 | { | 11336 | { |
| 11334 | struct tm *lt; | 11337 | struct tm *lt; |
| 11335 | return ! (lt = localtime (&now)) || mktime (lt) == now; | 11338 | return ! (lt = localtime (&now)) || mktime (lt) == now; |
| 11336 | } | 11339 | } |
| 11337 | 11340 | ||
| 11338 | static int | 11341 | static int |
| 11339 | mktime_test (now) | 11342 | mktime_test (time_t now) |
| 11340 | time_t now; | ||
| 11341 | { | 11343 | { |
| 11342 | return (mktime_test1 (now) | 11344 | return (mktime_test1 (now) |
| 11343 | && mktime_test1 ((time_t) (time_t_max - now)) | 11345 | && mktime_test1 ((time_t) (time_t_max - now)) |
| @@ -11361,8 +11363,7 @@ irix_6_4_bug () | |||
| 11361 | } | 11363 | } |
| 11362 | 11364 | ||
| 11363 | static int | 11365 | static int |
| 11364 | bigtime_test (j) | 11366 | bigtime_test (int j) |
| 11365 | int j; | ||
| 11366 | { | 11367 | { |
| 11367 | struct tm tm; | 11368 | struct tm tm; |
| 11368 | time_t now; | 11369 | time_t now; |
| @@ -11406,7 +11407,7 @@ year_2050_test () | |||
| 11406 | instead of "TZ=America/Vancouver" in order to detect the bug even | 11407 | instead of "TZ=America/Vancouver" in order to detect the bug even |
| 11407 | on systems that don't support the Olson extension, or don't have the | 11408 | on systems that don't support the Olson extension, or don't have the |
| 11408 | full zoneinfo tables installed. */ | 11409 | full zoneinfo tables installed. */ |
| 11409 | putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); | 11410 | putenv ((char*) "TZ=PST8PDT,M4.1.0,M10.5.0"); |
| 11410 | 11411 | ||
| 11411 | t = mktime (&tm); | 11412 | t = mktime (&tm); |
| 11412 | 11413 | ||
| @@ -11441,7 +11442,7 @@ main () | |||
| 11441 | for (i = 0; i < N_STRINGS; i++) | 11442 | for (i = 0; i < N_STRINGS; i++) |
| 11442 | { | 11443 | { |
| 11443 | if (tz_strings[i]) | 11444 | if (tz_strings[i]) |
| 11444 | putenv (tz_strings[i]); | 11445 | putenv ((char*) tz_strings[i]); |
| 11445 | 11446 | ||
| 11446 | for (t = 0; t <= time_t_max - delta; t += delta) | 11447 | for (t = 0; t <= time_t_max - delta; t += delta) |
| 11447 | if (! mktime_test (t)) | 11448 | if (! mktime_test (t)) |
| @@ -11493,7 +11494,7 @@ ac_have_func=no # yes means we've found a way to get the load average. | |||
| 11493 | 11494 | ||
| 11494 | # Make sure getloadavg.c is where it belongs, at configure-time. | 11495 | # Make sure getloadavg.c is where it belongs, at configure-time. |
| 11495 | test -f "$srcdir/$ac_config_libobj_dir/getloadavg.c" || | 11496 | test -f "$srcdir/$ac_config_libobj_dir/getloadavg.c" || |
| 11496 | as_fn_error "$srcdir/$ac_config_libobj_dir/getloadavg.c is missing" "$LINENO" 5 | 11497 | as_fn_error $? "$srcdir/$ac_config_libobj_dir/getloadavg.c is missing" "$LINENO" 5 |
| 11497 | 11498 | ||
| 11498 | ac_save_LIBS=$LIBS | 11499 | ac_save_LIBS=$LIBS |
| 11499 | 11500 | ||
| @@ -12362,7 +12363,7 @@ else | |||
| 12362 | fi | 12363 | fi |
| 12363 | 12364 | ||
| 12364 | if test "$have_tputs_et_al" != true; then | 12365 | if test "$have_tputs_et_al" != true; then |
| 12365 | as_fn_error "I couldn't find termcap functions (tputs and friends). | 12366 | as_fn_error $? "I couldn't find termcap functions (tputs and friends). |
| 12366 | Maybe some development libraries/packages are missing? Try installing | 12367 | Maybe some development libraries/packages are missing? Try installing |
| 12367 | libncurses-dev(el), libterminfo-dev(el) or similar." "$LINENO" 5 | 12368 | libncurses-dev(el), libterminfo-dev(el) or similar." "$LINENO" 5 |
| 12368 | fi | 12369 | fi |
| @@ -13509,8 +13510,7 @@ for ac_func in fork vfork | |||
| 13509 | do : | 13510 | do : |
| 13510 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | 13511 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
| 13511 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | 13512 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| 13512 | eval as_val=\$$as_ac_var | 13513 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| 13513 | if test "x$as_val" = x""yes; then : | ||
| 13514 | cat >>confdefs.h <<_ACEOF | 13514 | cat >>confdefs.h <<_ACEOF |
| 13515 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 13515 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
| 13516 | _ACEOF | 13516 | _ACEOF |
| @@ -13884,14 +13884,14 @@ if test "x$GCC" = xyes \ | |||
| 13884 | && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \ | 13884 | && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \ |
| 13885 | && test x"`echo $CFLAGS | grep '\-O[23]'`" != x \ | 13885 | && test x"`echo $CFLAGS | grep '\-O[23]'`" != x \ |
| 13886 | && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then | 13886 | && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then |
| 13887 | as_fn_error "GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." "$LINENO" 5 | 13887 | as_fn_error $? "GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." "$LINENO" 5 |
| 13888 | fi | 13888 | fi |
| 13889 | 13889 | ||
| 13890 | #### Find out which version of Emacs this is. | 13890 | #### Find out which version of Emacs this is. |
| 13891 | version=`grep 'const char emacs_version' ${srcdir}/src/emacs.c \ | 13891 | version=`grep 'const char emacs_version' ${srcdir}/src/emacs.c \ |
| 13892 | | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'` | 13892 | | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'` |
| 13893 | if test x"${version}" = x; then | 13893 | if test x"${version}" = x; then |
| 13894 | as_fn_error "can't find current emacs version in \`${srcdir}/src/emacs.c'." "$LINENO" 5 | 13894 | as_fn_error $? "can't find current emacs version in \`${srcdir}/src/emacs.c'." "$LINENO" 5 |
| 13895 | fi | 13895 | fi |
| 13896 | if test x"${version}" != x"$PACKAGE_VERSION"; then | 13896 | if test x"${version}" != x"$PACKAGE_VERSION"; then |
| 13897 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: version mismatch between \`${srcdir}/configure.in' and \`${srcdir}/src/emacs.c'." >&5 | 13897 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: version mismatch between \`${srcdir}/configure.in' and \`${srcdir}/src/emacs.c'." >&5 |
| @@ -14452,6 +14452,7 @@ DEFS=-DHAVE_CONFIG_H | |||
| 14452 | 14452 | ||
| 14453 | ac_libobjs= | 14453 | ac_libobjs= |
| 14454 | ac_ltlibobjs= | 14454 | ac_ltlibobjs= |
| 14455 | U= | ||
| 14455 | for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue | 14456 | for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue |
| 14456 | # 1. Remove the extension, and $U if already installed. | 14457 | # 1. Remove the extension, and $U if already installed. |
| 14457 | ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' | 14458 | ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' |
| @@ -14613,19 +14614,19 @@ export LANGUAGE | |||
| 14613 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH | 14614 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH |
| 14614 | 14615 | ||
| 14615 | 14616 | ||
| 14616 | # as_fn_error ERROR [LINENO LOG_FD] | 14617 | # as_fn_error STATUS ERROR [LINENO LOG_FD] |
| 14617 | # --------------------------------- | 14618 | # ---------------------------------------- |
| 14618 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are | 14619 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are |
| 14619 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the | 14620 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the |
| 14620 | # script with status $?, using 1 if that was 0. | 14621 | # script with STATUS, using 1 if that was 0. |
| 14621 | as_fn_error () | 14622 | as_fn_error () |
| 14622 | { | 14623 | { |
| 14623 | as_status=$?; test $as_status -eq 0 && as_status=1 | 14624 | as_status=$1; test $as_status -eq 0 && as_status=1 |
| 14624 | if test "$3"; then | 14625 | if test "$4"; then |
| 14625 | as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 14626 | as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| 14626 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 | 14627 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 |
| 14627 | fi | 14628 | fi |
| 14628 | $as_echo "$as_me: error: $1" >&2 | 14629 | $as_echo "$as_me: error: $2" >&2 |
| 14629 | as_fn_exit $as_status | 14630 | as_fn_exit $as_status |
| 14630 | } # as_fn_error | 14631 | } # as_fn_error |
| 14631 | 14632 | ||
| @@ -14821,7 +14822,7 @@ $as_echo X"$as_dir" | | |||
| 14821 | test -d "$as_dir" && break | 14822 | test -d "$as_dir" && break |
| 14822 | done | 14823 | done |
| 14823 | test -z "$as_dirs" || eval "mkdir $as_dirs" | 14824 | test -z "$as_dirs" || eval "mkdir $as_dirs" |
| 14824 | } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" | 14825 | } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" |
| 14825 | 14826 | ||
| 14826 | 14827 | ||
| 14827 | } # as_fn_mkdir_p | 14828 | } # as_fn_mkdir_p |
| @@ -14875,7 +14876,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | |||
| 14875 | # values after options handling. | 14876 | # values after options handling. |
| 14876 | ac_log=" | 14877 | ac_log=" |
| 14877 | This file was extended by emacs $as_me 24.0.50, which was | 14878 | This file was extended by emacs $as_me 24.0.50, which was |
| 14878 | generated by GNU Autoconf 2.65. Invocation command line was | 14879 | generated by GNU Autoconf 2.66. Invocation command line was |
| 14879 | 14880 | ||
| 14880 | CONFIG_FILES = $CONFIG_FILES | 14881 | CONFIG_FILES = $CONFIG_FILES |
| 14881 | CONFIG_HEADERS = $CONFIG_HEADERS | 14882 | CONFIG_HEADERS = $CONFIG_HEADERS |
| @@ -14941,10 +14942,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | |||
| 14941 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" | 14942 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" |
| 14942 | ac_cs_version="\\ | 14943 | ac_cs_version="\\ |
| 14943 | emacs config.status 24.0.50 | 14944 | emacs config.status 24.0.50 |
| 14944 | configured by $0, generated by GNU Autoconf 2.65, | 14945 | configured by $0, generated by GNU Autoconf 2.66, |
| 14945 | with options \\"\$ac_cs_config\\" | 14946 | with options \\"\$ac_cs_config\\" |
| 14946 | 14947 | ||
| 14947 | Copyright (C) 2009 Free Software Foundation, Inc. | 14948 | Copyright (C) 2010 Free Software Foundation, Inc. |
| 14948 | This config.status script is free software; the Free Software Foundation | 14949 | This config.status script is free software; the Free Software Foundation |
| 14949 | gives unlimited permission to copy, distribute and modify it." | 14950 | gives unlimited permission to copy, distribute and modify it." |
| 14950 | 14951 | ||
| @@ -14998,7 +14999,7 @@ do | |||
| 14998 | ac_need_defaults=false;; | 14999 | ac_need_defaults=false;; |
| 14999 | --he | --h) | 15000 | --he | --h) |
| 15000 | # Conflict between --help and --header | 15001 | # Conflict between --help and --header |
| 15001 | as_fn_error "ambiguous option: \`$1' | 15002 | as_fn_error $? "ambiguous option: \`$1' |
| 15002 | Try \`$0 --help' for more information.";; | 15003 | Try \`$0 --help' for more information.";; |
| 15003 | --help | --hel | -h ) | 15004 | --help | --hel | -h ) |
| 15004 | $as_echo "$ac_cs_usage"; exit ;; | 15005 | $as_echo "$ac_cs_usage"; exit ;; |
| @@ -15007,7 +15008,7 @@ Try \`$0 --help' for more information.";; | |||
| 15007 | ac_cs_silent=: ;; | 15008 | ac_cs_silent=: ;; |
| 15008 | 15009 | ||
| 15009 | # This is an error. | 15010 | # This is an error. |
| 15010 | -*) as_fn_error "unrecognized option: \`$1' | 15011 | -*) as_fn_error $? "unrecognized option: \`$1' |
| 15011 | Try \`$0 --help' for more information." ;; | 15012 | Try \`$0 --help' for more information." ;; |
| 15012 | 15013 | ||
| 15013 | *) as_fn_append ac_config_targets " $1" | 15014 | *) as_fn_append ac_config_targets " $1" |
| @@ -15075,7 +15076,7 @@ do | |||
| 15075 | "leim/Makefile") CONFIG_FILES="$CONFIG_FILES leim/Makefile" ;; | 15076 | "leim/Makefile") CONFIG_FILES="$CONFIG_FILES leim/Makefile" ;; |
| 15076 | "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; | 15077 | "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; |
| 15077 | 15078 | ||
| 15078 | *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; | 15079 | *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; |
| 15079 | esac | 15080 | esac |
| 15080 | done | 15081 | done |
| 15081 | 15082 | ||
| @@ -15113,7 +15114,7 @@ $debug || | |||
| 15113 | { | 15114 | { |
| 15114 | tmp=./conf$$-$RANDOM | 15115 | tmp=./conf$$-$RANDOM |
| 15115 | (umask 077 && mkdir "$tmp") | 15116 | (umask 077 && mkdir "$tmp") |
| 15116 | } || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 | 15117 | } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 |
| 15117 | 15118 | ||
| 15118 | # Set up the scripts for CONFIG_FILES section. | 15119 | # Set up the scripts for CONFIG_FILES section. |
| 15119 | # No need to generate them if there are no CONFIG_FILES. | 15120 | # No need to generate them if there are no CONFIG_FILES. |
| @@ -15147,7 +15148,7 @@ if test "x$ac_cr" = x; then | |||
| 15147 | fi | 15148 | fi |
| 15148 | ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` | 15149 | ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` |
| 15149 | if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then | 15150 | if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then |
| 15150 | ac_cs_awk_cr='\r' | 15151 | ac_cs_awk_cr='\\r' |
| 15151 | else | 15152 | else |
| 15152 | ac_cs_awk_cr=$ac_cr | 15153 | ac_cs_awk_cr=$ac_cr |
| 15153 | fi | 15154 | fi |
| @@ -15164,7 +15165,7 @@ _ACEOF | |||
| 15164 | echo "_ACEOF" | 15165 | echo "_ACEOF" |
| 15165 | } >conf$$files.sh && | 15166 | } >conf$$files.sh && |
| 15166 | . ./conf$$files.sh || | 15167 | . ./conf$$files.sh || |
| 15167 | as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 | 15168 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
| 15168 | rm -f conf$$files.sh | 15169 | rm -f conf$$files.sh |
| 15169 | 15170 | ||
| 15170 | { | 15171 | { |
| @@ -15172,18 +15173,18 @@ rm -f conf$$files.sh | |||
| 15172 | echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && | 15173 | echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && |
| 15173 | echo "_ACEOF" | 15174 | echo "_ACEOF" |
| 15174 | } >conf$$subs.sh || | 15175 | } >conf$$subs.sh || |
| 15175 | as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 | 15176 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
| 15176 | ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` | 15177 | ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` |
| 15177 | ac_delim='%!_!# ' | 15178 | ac_delim='%!_!# ' |
| 15178 | for ac_last_try in false false false false false :; do | 15179 | for ac_last_try in false false false false false :; do |
| 15179 | . ./conf$$subs.sh || | 15180 | . ./conf$$subs.sh || |
| 15180 | as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 | 15181 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
| 15181 | 15182 | ||
| 15182 | ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` | 15183 | ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` |
| 15183 | if test $ac_delim_n = $ac_delim_num; then | 15184 | if test $ac_delim_n = $ac_delim_num; then |
| 15184 | break | 15185 | break |
| 15185 | elif $ac_last_try; then | 15186 | elif $ac_last_try; then |
| 15186 | as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 | 15187 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
| 15187 | else | 15188 | else |
| 15188 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " | 15189 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
| 15189 | fi | 15190 | fi |
| @@ -15278,20 +15279,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then | |||
| 15278 | else | 15279 | else |
| 15279 | cat | 15280 | cat |
| 15280 | fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ | 15281 | fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ |
| 15281 | || as_fn_error "could not setup config files machinery" "$LINENO" 5 | 15282 | || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 |
| 15282 | _ACEOF | 15283 | _ACEOF |
| 15283 | 15284 | ||
| 15284 | # VPATH may cause trouble with some makes, so we remove $(srcdir), | 15285 | # VPATH may cause trouble with some makes, so we remove sole $(srcdir), |
| 15285 | # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and | 15286 | # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and |
| 15286 | # trailing colons and then remove the whole line if VPATH becomes empty | 15287 | # trailing colons and then remove the whole line if VPATH becomes empty |
| 15287 | # (actually we leave an empty line to preserve line numbers). | 15288 | # (actually we leave an empty line to preserve line numbers). |
| 15288 | if test "x$srcdir" = x.; then | 15289 | if test "x$srcdir" = x.; then |
| 15289 | ac_vpsub='/^[ ]*VPATH[ ]*=/{ | 15290 | ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ |
| 15290 | s/:*\$(srcdir):*/:/ | 15291 | h |
| 15291 | s/:*\${srcdir}:*/:/ | 15292 | s/// |
| 15292 | s/:*@srcdir@:*/:/ | 15293 | s/^/:/ |
| 15293 | s/^\([^=]*=[ ]*\):*/\1/ | 15294 | s/[ ]*$/:/ |
| 15295 | s/:\$(srcdir):/:/g | ||
| 15296 | s/:\${srcdir}:/:/g | ||
| 15297 | s/:@srcdir@:/:/g | ||
| 15298 | s/^:*// | ||
| 15294 | s/:*$// | 15299 | s/:*$// |
| 15300 | x | ||
| 15301 | s/\(=[ ]*\).*/\1/ | ||
| 15302 | G | ||
| 15303 | s/\n// | ||
| 15295 | s/^[^=]*=[ ]*$// | 15304 | s/^[^=]*=[ ]*$// |
| 15296 | }' | 15305 | }' |
| 15297 | fi | 15306 | fi |
| @@ -15319,7 +15328,7 @@ for ac_last_try in false false :; do | |||
| 15319 | if test -z "$ac_t"; then | 15328 | if test -z "$ac_t"; then |
| 15320 | break | 15329 | break |
| 15321 | elif $ac_last_try; then | 15330 | elif $ac_last_try; then |
| 15322 | as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 | 15331 | as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 |
| 15323 | else | 15332 | else |
| 15324 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " | 15333 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
| 15325 | fi | 15334 | fi |
| @@ -15404,7 +15413,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | |||
| 15404 | _ACAWK | 15413 | _ACAWK |
| 15405 | _ACEOF | 15414 | _ACEOF |
| 15406 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | 15415 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
| 15407 | as_fn_error "could not setup config headers machinery" "$LINENO" 5 | 15416 | as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 |
| 15408 | fi # test -n "$CONFIG_HEADERS" | 15417 | fi # test -n "$CONFIG_HEADERS" |
| 15409 | 15418 | ||
| 15410 | 15419 | ||
| @@ -15417,7 +15426,7 @@ do | |||
| 15417 | esac | 15426 | esac |
| 15418 | case $ac_mode$ac_tag in | 15427 | case $ac_mode$ac_tag in |
| 15419 | :[FHL]*:*);; | 15428 | :[FHL]*:*);; |
| 15420 | :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; | 15429 | :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; |
| 15421 | :[FH]-) ac_tag=-:-;; | 15430 | :[FH]-) ac_tag=-:-;; |
| 15422 | :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; | 15431 | :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; |
| 15423 | esac | 15432 | esac |
| @@ -15445,7 +15454,7 @@ do | |||
| 15445 | [\\/$]*) false;; | 15454 | [\\/$]*) false;; |
| 15446 | *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; | 15455 | *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; |
| 15447 | esac || | 15456 | esac || |
| 15448 | as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; | 15457 | as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; |
| 15449 | esac | 15458 | esac |
| 15450 | case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac | 15459 | case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac |
| 15451 | as_fn_append ac_file_inputs " '$ac_f'" | 15460 | as_fn_append ac_file_inputs " '$ac_f'" |
| @@ -15472,7 +15481,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} | |||
| 15472 | 15481 | ||
| 15473 | case $ac_tag in | 15482 | case $ac_tag in |
| 15474 | *:-:* | *:-) cat >"$tmp/stdin" \ | 15483 | *:-:* | *:-) cat >"$tmp/stdin" \ |
| 15475 | || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; | 15484 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; |
| 15476 | esac | 15485 | esac |
| 15477 | ;; | 15486 | ;; |
| 15478 | esac | 15487 | esac |
| @@ -15608,22 +15617,22 @@ if $ac_cs_awk_getline; then | |||
| 15608 | else | 15617 | else |
| 15609 | $AWK -f "$tmp/subs.awk" | $SHELL | 15618 | $AWK -f "$tmp/subs.awk" | $SHELL |
| 15610 | fi >$tmp/out \ | 15619 | fi >$tmp/out \ |
| 15611 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 15620 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
| 15612 | 15621 | ||
| 15613 | test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && | 15622 | test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && |
| 15614 | { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && | 15623 | { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && |
| 15615 | { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && | 15624 | { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && |
| 15616 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' | 15625 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' |
| 15617 | which seems to be undefined. Please make sure it is defined." >&5 | 15626 | which seems to be undefined. Please make sure it is defined" >&5 |
| 15618 | $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' | 15627 | $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' |
| 15619 | which seems to be undefined. Please make sure it is defined." >&2;} | 15628 | which seems to be undefined. Please make sure it is defined" >&2;} |
| 15620 | 15629 | ||
| 15621 | rm -f "$tmp/stdin" | 15630 | rm -f "$tmp/stdin" |
| 15622 | case $ac_file in | 15631 | case $ac_file in |
| 15623 | -) cat "$tmp/out" && rm -f "$tmp/out";; | 15632 | -) cat "$tmp/out" && rm -f "$tmp/out";; |
| 15624 | *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; | 15633 | *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; |
| 15625 | esac \ | 15634 | esac \ |
| 15626 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 15635 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
| 15627 | ;; | 15636 | ;; |
| 15628 | :H) | 15637 | :H) |
| 15629 | # | 15638 | # |
| @@ -15634,19 +15643,19 @@ which seems to be undefined. Please make sure it is defined." >&2;} | |||
| 15634 | $as_echo "/* $configure_input */" \ | 15643 | $as_echo "/* $configure_input */" \ |
| 15635 | && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" | 15644 | && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" |
| 15636 | } >"$tmp/config.h" \ | 15645 | } >"$tmp/config.h" \ |
| 15637 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 15646 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
| 15638 | if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then | 15647 | if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then |
| 15639 | { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 | 15648 | { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 |
| 15640 | $as_echo "$as_me: $ac_file is unchanged" >&6;} | 15649 | $as_echo "$as_me: $ac_file is unchanged" >&6;} |
| 15641 | else | 15650 | else |
| 15642 | rm -f "$ac_file" | 15651 | rm -f "$ac_file" |
| 15643 | mv "$tmp/config.h" "$ac_file" \ | 15652 | mv "$tmp/config.h" "$ac_file" \ |
| 15644 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 15653 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
| 15645 | fi | 15654 | fi |
| 15646 | else | 15655 | else |
| 15647 | $as_echo "/* $configure_input */" \ | 15656 | $as_echo "/* $configure_input */" \ |
| 15648 | && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ | 15657 | && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ |
| 15649 | || as_fn_error "could not create -" "$LINENO" 5 | 15658 | || as_fn_error $? "could not create -" "$LINENO" 5 |
| 15650 | fi | 15659 | fi |
| 15651 | ;; | 15660 | ;; |
| 15652 | 15661 | ||
| @@ -15683,7 +15692,7 @@ _ACEOF | |||
| 15683 | ac_clean_files=$ac_clean_files_save | 15692 | ac_clean_files=$ac_clean_files_save |
| 15684 | 15693 | ||
| 15685 | test $ac_write_fail = 0 || | 15694 | test $ac_write_fail = 0 || |
| 15686 | as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 | 15695 | as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 |
| 15687 | 15696 | ||
| 15688 | 15697 | ||
| 15689 | # configure is writing to config.log, and then calls config.status. | 15698 | # configure is writing to config.log, and then calls config.status. |
| @@ -15704,7 +15713,7 @@ if test "$no_create" != yes; then | |||
| 15704 | exec 5>>config.log | 15713 | exec 5>>config.log |
| 15705 | # Use ||, not &&, to avoid exiting from the if with $? = 1, which | 15714 | # Use ||, not &&, to avoid exiting from the if with $? = 1, which |
| 15706 | # would make configure fail if this is the last instruction. | 15715 | # would make configure fail if this is the last instruction. |
| 15707 | $ac_cs_success || as_fn_exit $? | 15716 | $ac_cs_success || as_fn_exit 1 |
| 15708 | fi | 15717 | fi |
| 15709 | if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then | 15718 | if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then |
| 15710 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 | 15719 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 |
diff --git a/configure.in b/configure.in index aee62c0e11d..0f0cb8f6a3f 100644 --- a/configure.in +++ b/configure.in | |||
| @@ -2635,7 +2635,7 @@ rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \ | |||
| 2635 | random lrand48 logb frexp fmod rint cbrt ftime setsid \ | 2635 | random lrand48 logb frexp fmod rint cbrt ftime setsid \ |
| 2636 | strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \ | 2636 | strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \ |
| 2637 | utimes getrlimit setrlimit setpgid getcwd getwd shutdown getaddrinfo \ | 2637 | utimes getrlimit setrlimit setpgid getcwd getwd shutdown getaddrinfo \ |
| 2638 | __fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \ | 2638 | __fpending mblen mbrlen mbsinit strsignal setitimer ualarm strchr strrchr \ |
| 2639 | sendto recvfrom getsockopt setsockopt getsockname getpeername \ | 2639 | sendto recvfrom getsockopt setsockopt getsockname getpeername \ |
| 2640 | gai_strerror mkstemp getline getdelim mremap memmove fsync sync \ | 2640 | gai_strerror mkstemp getline getdelim mremap memmove fsync sync \ |
| 2641 | memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign \ | 2641 | memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign \ |
| @@ -3601,6 +3601,14 @@ void *alloca (size_t); | |||
| 3601 | typedef unsigned size_t; | 3601 | typedef unsigned size_t; |
| 3602 | #endif | 3602 | #endif |
| 3603 | 3603 | ||
| 3604 | #ifndef HAVE_STRCHR | ||
| 3605 | #define strchr(a, b) index (a, b) | ||
| 3606 | #endif | ||
| 3607 | |||
| 3608 | #ifndef HAVE_STRRCHR | ||
| 3609 | #define strrchr(a, b) rindex (a, b) | ||
| 3610 | #endif | ||
| 3611 | |||
| 3604 | #if defined __GNUC__ && (__GNUC__ > 2 \ | 3612 | #if defined __GNUC__ && (__GNUC__ > 2 \ |
| 3605 | || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5)) | 3613 | || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5)) |
| 3606 | #define NO_RETURN __attribute__ ((__noreturn__)) | 3614 | #define NO_RETURN __attribute__ ((__noreturn__)) |
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index e954fe496c4..487663109bd 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2010-06-23 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * abbrevs.texi, basic.texi, buffers.texi, building.texi, calendar.texi: | ||
| 4 | * custom.texi, dired.texi, display.texi, emacs.texi, emerge-xtra.texi: | ||
| 5 | * files.texi, fortran-xtra.texi, frames.texi, help.texi, killing.texi: | ||
| 6 | * maintaining.texi, mark.texi, mini.texi, misc.texi, msdog.texi: | ||
| 7 | * mule.texi, programs.texi, rmail.texi, screen.texi, search.texi: | ||
| 8 | * sending.texi, text.texi, trouble.texi, vc1-xtra.texi, xresources.texi: | ||
| 9 | Untabify Texinfo files. | ||
| 10 | |||
| 1 | 2010-06-10 Glenn Morris <rgm@gnu.org> | 11 | 2010-06-10 Glenn Morris <rgm@gnu.org> |
| 2 | 12 | ||
| 3 | * basic.texi (Inserting Text): Minor clarification. (Bug#6374) | 13 | * basic.texi (Inserting Text): Minor clarification. (Bug#6374) |
diff --git a/doc/emacs/abbrevs.texi b/doc/emacs/abbrevs.texi index 7a291742386..9039ca662a0 100644 --- a/doc/emacs/abbrevs.texi +++ b/doc/emacs/abbrevs.texi | |||
| @@ -235,9 +235,9 @@ Edit a list of abbrevs; you can add, alter or remove definitions. | |||
| 235 | @example | 235 | @example |
| 236 | @var{various other tables@dots{}} | 236 | @var{various other tables@dots{}} |
| 237 | (lisp-mode-abbrev-table) | 237 | (lisp-mode-abbrev-table) |
| 238 | "dk" 0 "define-key" | 238 | "dk" 0 "define-key" |
| 239 | (global-abbrev-table) | 239 | (global-abbrev-table) |
| 240 | "dfn" 0 "definition" | 240 | "dfn" 0 "definition" |
| 241 | @end example | 241 | @end example |
| 242 | 242 | ||
| 243 | @noindent | 243 | @noindent |
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi index b5a194f1ccf..a4751e7f99d 100644 --- a/doc/emacs/basic.texi +++ b/doc/emacs/basic.texi | |||
| @@ -17,15 +17,15 @@ suggest you first run the Emacs learn-by-doing tutorial, by typing | |||
| 17 | 17 | ||
| 18 | * Inserting Text:: Inserting text by simply typing it. | 18 | * Inserting Text:: Inserting text by simply typing it. |
| 19 | * Moving Point:: Moving the cursor to the place where you want to | 19 | * Moving Point:: Moving the cursor to the place where you want to |
| 20 | change something. | 20 | change something. |
| 21 | * Erasing:: Deleting and killing text. | 21 | * Erasing:: Deleting and killing text. |
| 22 | * Basic Undo:: Undoing recent changes in the text. | 22 | * Basic Undo:: Undoing recent changes in the text. |
| 23 | * Files: Basic Files. Visiting, creating, and saving files. | 23 | * Files: Basic Files. Visiting, creating, and saving files. |
| 24 | * Help: Basic Help. Asking what a character does. | 24 | * Help: Basic Help. Asking what a character does. |
| 25 | * Blank Lines:: Making and deleting blank lines. | 25 | * Blank Lines:: Making and deleting blank lines. |
| 26 | * Continuation Lines:: How Emacs displays lines too wide for the screen. | 26 | * Continuation Lines:: How Emacs displays lines too wide for the screen. |
| 27 | * Position Info:: What page, line, row, or column is point on? | 27 | * Position Info:: What page, line, row, or column is point on? |
| 28 | * Arguments:: Numeric arguments for repeating a command N times. | 28 | * Arguments:: Numeric arguments for repeating a command N times. |
| 29 | * Repeating:: Repeating the previous command quickly. | 29 | * Repeating:: Repeating the previous command quickly. |
| 30 | @end menu | 30 | @end menu |
| 31 | 31 | ||
diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index 499556401fc..ca9279a9df4 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Buffers, Windows, Files, Top | 6 | @node Buffers, Windows, Files, Top |
| 6 | @chapter Using Multiple Buffers | 7 | @chapter Using Multiple Buffers |
| @@ -49,10 +50,10 @@ using that data type. For 32-bit machines, the largest buffer size is | |||
| 49 | @menu | 50 | @menu |
| 50 | * Select Buffer:: Creating a new buffer or reselecting an old one. | 51 | * Select Buffer:: Creating a new buffer or reselecting an old one. |
| 51 | * List Buffers:: Getting a list of buffers that exist. | 52 | * List Buffers:: Getting a list of buffers that exist. |
| 52 | * Misc Buffer:: Renaming; changing read-onlyness; copying text. | 53 | * Misc Buffer:: Renaming; changing read-onlyness; copying text. |
| 53 | * Kill Buffer:: Killing buffers you no longer need. | 54 | * Kill Buffer:: Killing buffers you no longer need. |
| 54 | * Several Buffers:: How to go through the list of all buffers | 55 | * Several Buffers:: How to go through the list of all buffers |
| 55 | and operate variously on several of them. | 56 | and operate variously on several of them. |
| 56 | * Indirect Buffers:: An indirect buffer shares the text of another buffer. | 57 | * Indirect Buffers:: An indirect buffer shares the text of another buffer. |
| 57 | * Buffer Convenience:: Convenience and customization features for | 58 | * Buffer Convenience:: Convenience and customization features for |
| 58 | buffer handling. | 59 | buffer handling. |
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi index 9a1ec894815..dca76407e23 100644 --- a/doc/emacs/building.texi +++ b/doc/emacs/building.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Building, Maintaining, Programs, Top | 6 | @node Building, Maintaining, Programs, Top |
| 6 | @chapter Compiling and Testing Programs | 7 | @chapter Compiling and Testing Programs |
| @@ -20,14 +21,14 @@ in the larger process of compiling and testing programs. | |||
| 20 | for use in the compilation buffer. | 21 | for use in the compilation buffer. |
| 21 | * Grep Searching:: Searching with grep. | 22 | * Grep Searching:: Searching with grep. |
| 22 | * Flymake:: Finding syntax errors on the fly. | 23 | * Flymake:: Finding syntax errors on the fly. |
| 23 | * Debuggers:: Running symbolic debuggers for non-Lisp programs. | 24 | * Debuggers:: Running symbolic debuggers for non-Lisp programs. |
| 24 | * Executing Lisp:: Various modes for editing Lisp programs, | 25 | * Executing Lisp:: Various modes for editing Lisp programs, |
| 25 | with different facilities for running | 26 | with different facilities for running |
| 26 | the Lisp programs. | 27 | the Lisp programs. |
| 27 | * Libraries: Lisp Libraries. Creating Lisp programs to run in Emacs. | 28 | * Libraries: Lisp Libraries. Creating Lisp programs to run in Emacs. |
| 28 | * Eval: Lisp Eval. Executing a single Lisp expression in Emacs. | 29 | * Eval: Lisp Eval. Executing a single Lisp expression in Emacs. |
| 29 | * Interaction: Lisp Interaction. Executing Lisp in an Emacs buffer. | 30 | * Interaction: Lisp Interaction. Executing Lisp in an Emacs buffer. |
| 30 | * External Lisp:: Communicating through Emacs with a separate Lisp. | 31 | * External Lisp:: Communicating through Emacs with a separate Lisp. |
| 31 | @end menu | 32 | @end menu |
| 32 | 33 | ||
| 33 | @node Compilation | 34 | @node Compilation |
| @@ -471,10 +472,10 @@ Lisp programs. @xref{Debugging,, The Lisp Debugger, elisp, the Emacs | |||
| 471 | Lisp Reference Manual}, for information on the Emacs Lisp debugger. | 472 | Lisp Reference Manual}, for information on the Emacs Lisp debugger. |
| 472 | 473 | ||
| 473 | @menu | 474 | @menu |
| 474 | * Starting GUD:: How to start a debugger subprocess. | 475 | * Starting GUD:: How to start a debugger subprocess. |
| 475 | * Debugger Operation:: Connection between the debugger and source buffers. | 476 | * Debugger Operation:: Connection between the debugger and source buffers. |
| 476 | * Commands of GUD:: Key bindings for common commands. | 477 | * Commands of GUD:: Key bindings for common commands. |
| 477 | * GUD Customization:: Defining your own commands for GUD. | 478 | * GUD Customization:: Defining your own commands for GUD. |
| 478 | * GDB Graphical Interface:: An enhanced mode that uses GDB features to | 479 | * GDB Graphical Interface:: An enhanced mode that uses GDB features to |
| 479 | implement a graphical debugging environment through | 480 | implement a graphical debugging environment through |
| 480 | Emacs. | 481 | Emacs. |
diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index ae4333cefbb..5698fd5ff58 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi | |||
| @@ -42,7 +42,7 @@ about more specialized features. | |||
| 42 | * Lunar Phases:: Displaying phases of the moon. | 42 | * Lunar Phases:: Displaying phases of the moon. |
| 43 | * Other Calendars:: Converting dates to other calendar systems. | 43 | * Other Calendars:: Converting dates to other calendar systems. |
| 44 | * Diary:: Displaying events from your diary. | 44 | * Diary:: Displaying events from your diary. |
| 45 | * Appointments:: Reminders when it's time to do something. | 45 | * Appointments:: Reminders when it's time to do something. |
| 46 | * Importing Diary:: Converting diary events to/from other formats. | 46 | * Importing Diary:: Converting diary events to/from other formats. |
| 47 | * Daylight Saving:: How to specify when daylight saving time is active. | 47 | * Daylight Saving:: How to specify when daylight saving time is active. |
| 48 | * Time Intervals:: Keeping track of time intervals. | 48 | * Time Intervals:: Keeping track of time intervals. |
| @@ -674,11 +674,11 @@ Gregorian calendar did not exist. | |||
| 674 | and from several other calendars. | 674 | and from several other calendars. |
| 675 | 675 | ||
| 676 | @menu | 676 | @menu |
| 677 | * Calendar Systems:: The calendars Emacs understands | 677 | * Calendar Systems:: The calendars Emacs understands |
| 678 | (aside from Gregorian). | 678 | (aside from Gregorian). |
| 679 | * To Other Calendar:: Converting the selected date to various calendars. | 679 | * To Other Calendar:: Converting the selected date to various calendars. |
| 680 | * From Other Calendar:: Moving to a date specified in another calendar. | 680 | * From Other Calendar:: Moving to a date specified in another calendar. |
| 681 | * Mayan Calendar:: Moving to a date specified in a Mayan calendar. | 681 | * Mayan Calendar:: Moving to a date specified in a Mayan calendar. |
| 682 | @end menu | 682 | @end menu |
| 683 | 683 | ||
| 684 | @node Calendar Systems | 684 | @node Calendar Systems |
| @@ -1040,8 +1040,8 @@ entries. | |||
| 1040 | @menu | 1040 | @menu |
| 1041 | * Displaying the Diary:: Viewing diary entries and associated calendar dates. | 1041 | * Displaying the Diary:: Viewing diary entries and associated calendar dates. |
| 1042 | * Format of Diary File:: Entering events in your diary. | 1042 | * Format of Diary File:: Entering events in your diary. |
| 1043 | * Date Formats:: Various ways you can specify dates. | 1043 | * Date Formats:: Various ways you can specify dates. |
| 1044 | * Adding to Diary:: Commands to create diary entries. | 1044 | * Adding to Diary:: Commands to create diary entries. |
| 1045 | * Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc. | 1045 | * Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc. |
| 1046 | @end menu | 1046 | @end menu |
| 1047 | 1047 | ||
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index a8bba419c25..18fdb581210 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi | |||
| @@ -24,18 +24,18 @@ Reference Manual}. | |||
| 24 | @end ifnottex | 24 | @end ifnottex |
| 25 | 25 | ||
| 26 | @menu | 26 | @menu |
| 27 | * Minor Modes:: Each minor mode is a feature you can turn on | 27 | * Minor Modes:: Each minor mode is a feature you can turn on |
| 28 | independently of any others. | 28 | independently of any others. |
| 29 | * Easy Customization:: Convenient way to browse and change settings. | 29 | * Easy Customization:: Convenient way to browse and change settings. |
| 30 | * Variables:: Many Emacs commands examine Emacs variables | 30 | * Variables:: Many Emacs commands examine Emacs variables |
| 31 | to decide what to do; by setting variables, | 31 | to decide what to do; by setting variables, |
| 32 | you can control their functioning. | 32 | you can control their functioning. |
| 33 | * Key Bindings:: The keymaps say what command each key runs. | 33 | * Key Bindings:: The keymaps say what command each key runs. |
| 34 | By changing them, you can "redefine keys". | 34 | By changing them, you can "redefine keys". |
| 35 | * Syntax:: The syntax table controls how words and | 35 | * Syntax:: The syntax table controls how words and |
| 36 | expressions are parsed. | 36 | expressions are parsed. |
| 37 | * Init File:: How to write common customizations in the | 37 | * Init File:: How to write common customizations in the |
| 38 | @file{.emacs} file. | 38 | @file{.emacs} file. |
| 39 | @end menu | 39 | @end menu |
| 40 | 40 | ||
| 41 | @node Minor Modes | 41 | @node Minor Modes |
| @@ -794,10 +794,10 @@ check the variable's documentation string to see kind of value it | |||
| 794 | expects (@pxref{Examining}). | 794 | expects (@pxref{Examining}). |
| 795 | 795 | ||
| 796 | @menu | 796 | @menu |
| 797 | * Examining:: Examining or setting one variable's value. | 797 | * Examining:: Examining or setting one variable's value. |
| 798 | * Hooks:: Hook variables let you specify programs for parts | 798 | * Hooks:: Hook variables let you specify programs for parts |
| 799 | of Emacs to run on particular occasions. | 799 | of Emacs to run on particular occasions. |
| 800 | * Locals:: Per-buffer values of variables. | 800 | * Locals:: Per-buffer values of variables. |
| 801 | * File Variables:: How files can specify variable values. | 801 | * File Variables:: How files can specify variable values. |
| 802 | * Directory Variables:: How variable values can be specified by directory. | 802 | * Directory Variables:: How variable values can be specified by directory. |
| 803 | @end menu | 803 | @end menu |
| @@ -943,12 +943,12 @@ lambda expression. | |||
| 943 | @end group | 943 | @end group |
| 944 | @group | 944 | @group |
| 945 | (c-cleanup-list . (scope-operator | 945 | (c-cleanup-list . (scope-operator |
| 946 | empty-defun-braces | 946 | empty-defun-braces |
| 947 | defun-close-semi)) | 947 | defun-close-semi)) |
| 948 | @end group | 948 | @end group |
| 949 | @group | 949 | @group |
| 950 | (c-offsets-alist . ((arglist-close . c-lineup-arglist) | 950 | (c-offsets-alist . ((arglist-close . c-lineup-arglist) |
| 951 | (substatement-open . 0))))) | 951 | (substatement-open . 0))))) |
| 952 | @end group | 952 | @end group |
| 953 | 953 | ||
| 954 | @group | 954 | @group |
| @@ -2175,10 +2175,10 @@ Manual}. | |||
| 2175 | @end ifnottex | 2175 | @end ifnottex |
| 2176 | 2176 | ||
| 2177 | @menu | 2177 | @menu |
| 2178 | * Init Syntax:: Syntax of constants in Emacs Lisp. | 2178 | * Init Syntax:: Syntax of constants in Emacs Lisp. |
| 2179 | * Init Examples:: How to do some things with an init file. | 2179 | * Init Examples:: How to do some things with an init file. |
| 2180 | * Terminal Init:: Each terminal type can have an init file. | 2180 | * Terminal Init:: Each terminal type can have an init file. |
| 2181 | * Find Init:: How Emacs finds the init file. | 2181 | * Find Init:: How Emacs finds the init file. |
| 2182 | * Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file. | 2182 | * Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file. |
| 2183 | @end menu | 2183 | @end menu |
| 2184 | 2184 | ||
diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi index 4a1299c66a6..c8b4264d486 100644 --- a/doc/emacs/dired.texi +++ b/doc/emacs/dired.texi | |||
| @@ -36,20 +36,20 @@ you to operate on the listed files. @xref{Directories}. | |||
| 36 | * Deletion: Dired Deletion. Deleting files with Dired. | 36 | * Deletion: Dired Deletion. Deleting files with Dired. |
| 37 | * Flagging Many Files:: Flagging files based on their names. | 37 | * Flagging Many Files:: Flagging files based on their names. |
| 38 | * Visit: Dired Visiting. Other file operations through Dired. | 38 | * Visit: Dired Visiting. Other file operations through Dired. |
| 39 | * Marks vs Flags:: Flagging for deletion vs marking. | 39 | * Marks vs Flags:: Flagging for deletion vs marking. |
| 40 | * Operating on Files:: How to copy, rename, print, compress, etc. | 40 | * Operating on Files:: How to copy, rename, print, compress, etc. |
| 41 | either one file or several files. | 41 | either one file or several files. |
| 42 | * Shell Commands in Dired:: Running a shell command on the marked files. | 42 | * Shell Commands in Dired:: Running a shell command on the marked files. |
| 43 | * Transforming File Names:: Using patterns to rename multiple files. | 43 | * Transforming File Names:: Using patterns to rename multiple files. |
| 44 | * Comparison in Dired:: Running `diff' by way of Dired. | 44 | * Comparison in Dired:: Running `diff' by way of Dired. |
| 45 | * Subdirectories in Dired:: Adding subdirectories to the Dired buffer. | 45 | * Subdirectories in Dired:: Adding subdirectories to the Dired buffer. |
| 46 | @ifnottex | 46 | @ifnottex |
| 47 | * Subdir Switches:: Subdirectory switches in Dired. | 47 | * Subdir Switches:: Subdirectory switches in Dired. |
| 48 | @end ifnottex | 48 | @end ifnottex |
| 49 | * Subdirectory Motion:: Moving across subdirectories, and up and down. | 49 | * Subdirectory Motion:: Moving across subdirectories, and up and down. |
| 50 | * Hiding Subdirectories:: Making subdirectories visible or invisible. | 50 | * Hiding Subdirectories:: Making subdirectories visible or invisible. |
| 51 | * Updating: Dired Updating. Discarding lines for files of no interest. | 51 | * Updating: Dired Updating. Discarding lines for files of no interest. |
| 52 | * Find: Dired and Find. Using `find' to choose the files for Dired. | 52 | * Find: Dired and Find. Using `find' to choose the files for Dired. |
| 53 | * Wdired:: Operating on files by editing the Dired buffer. | 53 | * Wdired:: Operating on files by editing the Dired buffer. |
| 54 | * Image-Dired:: Viewing image thumbnails in Dired. | 54 | * Image-Dired:: Viewing image thumbnails in Dired. |
| 55 | * Misc: Misc Dired Features. Various other features. | 55 | * Misc: Misc Dired Features. Various other features. |
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 3d3a1e03e46..3b5e7b0b955 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi | |||
| @@ -13,11 +13,11 @@ commands and variables allow you to specify which part of the text you | |||
| 13 | want to see, and how to display it. | 13 | want to see, and how to display it. |
| 14 | 14 | ||
| 15 | @menu | 15 | @menu |
| 16 | * Scrolling:: Commands to move text up and down in a window. | 16 | * Scrolling:: Commands to move text up and down in a window. |
| 17 | * Auto Scrolling:: Redisplay scrolls text automatically when needed. | 17 | * Auto Scrolling:: Redisplay scrolls text automatically when needed. |
| 18 | * Horizontal Scrolling:: Moving text left and right in a window. | 18 | * Horizontal Scrolling:: Moving text left and right in a window. |
| 19 | * Follow Mode:: Follow mode lets two windows scroll as one. | 19 | * Follow Mode:: Follow mode lets two windows scroll as one. |
| 20 | * Faces:: How to change the display style using faces. | 20 | * Faces:: How to change the display style using faces. |
| 21 | * Standard Faces:: Emacs' predefined faces. | 21 | * Standard Faces:: Emacs' predefined faces. |
| 22 | * Temporary Face Changes:: Commands to temporarily modify the default text face | 22 | * Temporary Face Changes:: Commands to temporarily modify the default text face |
| 23 | * Font Lock:: Minor mode for syntactic highlighting using faces. | 23 | * Font Lock:: Minor mode for syntactic highlighting using faces. |
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 6eaee237510..4de9ee4a57a 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi | |||
| @@ -33,7 +33,7 @@ developing GNU and promoting software freedom.'' | |||
| 33 | 33 | ||
| 34 | @dircategory Emacs | 34 | @dircategory Emacs |
| 35 | @direntry | 35 | @direntry |
| 36 | * Emacs: (emacs). The extensible self-documenting text editor. | 36 | * Emacs: (emacs). The extensible self-documenting text editor. |
| 37 | @end direntry | 37 | @end direntry |
| 38 | 38 | ||
| 39 | @c in general, keep the following line commented out, unless doing a | 39 | @c in general, keep the following line commented out, unless doing a |
| @@ -134,13 +134,13 @@ and Sending Mail and Registers and Minibuffer. | |||
| 134 | @end ignore | 134 | @end ignore |
| 135 | 135 | ||
| 136 | @menu | 136 | @menu |
| 137 | * Distrib:: How to get the latest Emacs distribution. | 137 | * Distrib:: How to get the latest Emacs distribution. |
| 138 | * Intro:: An introduction to Emacs concepts. | 138 | * Intro:: An introduction to Emacs concepts. |
| 139 | @c Note that in the printed manual, the glossary and indices come last. | 139 | @c Note that in the printed manual, the glossary and indices come last. |
| 140 | * Glossary:: Terms used in this manual. | 140 | * Glossary:: Terms used in this manual. |
| 141 | 141 | ||
| 142 | Indexes (each index contains a large menu) | 142 | Indexes (each index contains a large menu) |
| 143 | * Key Index:: An item for each standard Emacs key sequence. | 143 | * Key Index:: An item for each standard Emacs key sequence. |
| 144 | * Option Index:: An item for every command-line option. | 144 | * Option Index:: An item for every command-line option. |
| 145 | * Command Index:: An item for each command name. | 145 | * Command Index:: An item for each command name. |
| 146 | * Variable Index:: An item for each documented variable. | 146 | * Variable Index:: An item for each documented variable. |
| @@ -149,100 +149,100 @@ Indexes (each index contains a large menu) | |||
| 149 | * Acknowledgments:: Major contributors to GNU Emacs. | 149 | * Acknowledgments:: Major contributors to GNU Emacs. |
| 150 | 150 | ||
| 151 | Important General Concepts | 151 | Important General Concepts |
| 152 | * Screen:: How to interpret what you see on the screen. | 152 | * Screen:: How to interpret what you see on the screen. |
| 153 | * User Input:: Kinds of input events (characters, buttons, | 153 | * User Input:: Kinds of input events (characters, buttons, |
| 154 | function keys). | 154 | function keys). |
| 155 | * Keys:: Key sequences: what you type to request one | 155 | * Keys:: Key sequences: what you type to request one |
| 156 | editing action. | 156 | editing action. |
| 157 | * Commands:: Named functions run by key sequences to do editing. | 157 | * Commands:: Named functions run by key sequences to do editing. |
| 158 | * Entering Emacs:: Starting Emacs from the shell. | 158 | * Entering Emacs:: Starting Emacs from the shell. |
| 159 | * Exiting:: Stopping or killing Emacs. | 159 | * Exiting:: Stopping or killing Emacs. |
| 160 | 160 | ||
| 161 | Fundamental Editing Commands | 161 | Fundamental Editing Commands |
| 162 | * Basic:: The most basic editing commands. | 162 | * Basic:: The most basic editing commands. |
| 163 | * Minibuffer:: Entering arguments that are prompted for. | 163 | * Minibuffer:: Entering arguments that are prompted for. |
| 164 | * M-x:: Invoking commands by their names. | 164 | * M-x:: Invoking commands by their names. |
| 165 | * Help:: Commands for asking Emacs about its commands. | 165 | * Help:: Commands for asking Emacs about its commands. |
| 166 | 166 | ||
| 167 | Important Text-Changing Commands | 167 | Important Text-Changing Commands |
| 168 | * Mark:: The mark: how to delimit a ``region'' of text. | 168 | * Mark:: The mark: how to delimit a ``region'' of text. |
| 169 | * Killing:: Killing (cutting) text. | 169 | * Killing:: Killing (cutting) text. |
| 170 | * Yanking:: Recovering killed text. Moving text. (Pasting.) | 170 | * Yanking:: Recovering killed text. Moving text. (Pasting.) |
| 171 | * Accumulating Text:: Other ways of copying text. | 171 | * Accumulating Text:: Other ways of copying text. |
| 172 | * Rectangles:: Operating on the text inside a rectangle on the screen. | 172 | * Rectangles:: Operating on the text inside a rectangle on the screen. |
| 173 | * CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy | 173 | * CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy |
| 174 | and paste, with enhanced rectangle support. | 174 | and paste, with enhanced rectangle support. |
| 175 | * Registers:: Saving a text string or a location in the buffer. | 175 | * Registers:: Saving a text string or a location in the buffer. |
| 176 | * Display:: Controlling what text is displayed. | 176 | * Display:: Controlling what text is displayed. |
| 177 | * Search:: Finding or replacing occurrences of a string. | 177 | * Search:: Finding or replacing occurrences of a string. |
| 178 | * Fixit:: Commands especially useful for fixing typos. | 178 | * Fixit:: Commands especially useful for fixing typos. |
| 179 | * Keyboard Macros:: A keyboard macro records a sequence of | 179 | * Keyboard Macros:: A keyboard macro records a sequence of |
| 180 | keystrokes to be replayed with a single command. | 180 | keystrokes to be replayed with a single command. |
| 181 | 181 | ||
| 182 | Major Structures of Emacs | 182 | Major Structures of Emacs |
| 183 | * Files:: All about handling files. | 183 | * Files:: All about handling files. |
| 184 | * Buffers:: Multiple buffers; editing several files at once. | 184 | * Buffers:: Multiple buffers; editing several files at once. |
| 185 | * Windows:: Viewing two pieces of text at once. | 185 | * Windows:: Viewing two pieces of text at once. |
| 186 | * Frames:: Running the same Emacs session in multiple X windows. | 186 | * Frames:: Running the same Emacs session in multiple X windows. |
| 187 | * International:: Using non-@acronym{ASCII} character sets. | 187 | * International:: Using non-@acronym{ASCII} character sets. |
| 188 | 188 | ||
| 189 | Advanced Features | 189 | Advanced Features |
| 190 | * Major Modes:: Text mode vs. Lisp mode vs. C mode... | 190 | * Major Modes:: Text mode vs. Lisp mode vs. C mode... |
| 191 | * Indentation:: Editing the white space at the beginnings of lines. | 191 | * Indentation:: Editing the white space at the beginnings of lines. |
| 192 | * Text:: Commands and modes for editing English. | 192 | * Text:: Commands and modes for editing English. |
| 193 | * Programs:: Commands and modes for editing programs. | 193 | * Programs:: Commands and modes for editing programs. |
| 194 | * Building:: Compiling, running and debugging programs. | 194 | * Building:: Compiling, running and debugging programs. |
| 195 | * Maintaining:: Features for maintaining large programs. | 195 | * Maintaining:: Features for maintaining large programs. |
| 196 | * Abbrevs:: How to define text abbreviations to reduce | 196 | * Abbrevs:: How to define text abbreviations to reduce |
| 197 | the number of characters you must type. | 197 | the number of characters you must type. |
| 198 | @c AFAICS, the tex stuff generates its own index and does not use this one. | 198 | @c AFAICS, the tex stuff generates its own index and does not use this one. |
| 199 | @ifnottex | 199 | @ifnottex |
| 200 | * Picture Mode:: Editing pictures made up of characters using | 200 | * Picture Mode:: Editing pictures made up of characters using |
| 201 | the quarter-plane screen model. | 201 | the quarter-plane screen model. |
| 202 | @end ifnottex | 202 | @end ifnottex |
| 203 | * Sending Mail:: Sending mail in Emacs. | 203 | * Sending Mail:: Sending mail in Emacs. |
| 204 | * Rmail:: Reading mail in Emacs. | 204 | * Rmail:: Reading mail in Emacs. |
| 205 | * Dired:: You can ``edit'' a directory to manage files in it. | 205 | * Dired:: You can ``edit'' a directory to manage files in it. |
| 206 | * Calendar/Diary:: The calendar and diary facilities. | 206 | * Calendar/Diary:: The calendar and diary facilities. |
| 207 | * Document View:: Viewing PDF, PS and DVI files. | 207 | * Document View:: Viewing PDF, PS and DVI files. |
| 208 | * Gnus:: How to read netnews with Emacs. | 208 | * Gnus:: How to read netnews with Emacs. |
| 209 | * Shell:: Executing shell commands from Emacs. | 209 | * Shell:: Executing shell commands from Emacs. |
| 210 | * Emacs Server:: Using Emacs as an editing server for @code{mail}, etc. | 210 | * Emacs Server:: Using Emacs as an editing server for @code{mail}, etc. |
| 211 | * Printing:: Printing hardcopies of buffers or regions. | 211 | * Printing:: Printing hardcopies of buffers or regions. |
| 212 | * Sorting:: Sorting lines, paragraphs or pages within Emacs. | 212 | * Sorting:: Sorting lines, paragraphs or pages within Emacs. |
| 213 | * Narrowing:: Restricting display and editing to a portion | 213 | * Narrowing:: Restricting display and editing to a portion |
| 214 | of the buffer. | 214 | of the buffer. |
| 215 | * Two-Column:: Splitting apart columns to edit them | 215 | * Two-Column:: Splitting apart columns to edit them |
| 216 | in side-by-side windows. | 216 | in side-by-side windows. |
| 217 | * Editing Binary Files::Using Hexl mode to edit binary files. | 217 | * Editing Binary Files::Using Hexl mode to edit binary files. |
| 218 | * Saving Emacs Sessions:: Saving Emacs state from one session to the next. | 218 | * Saving Emacs Sessions:: Saving Emacs state from one session to the next. |
| 219 | * Recursive Edit:: A command can allow you to do editing | 219 | * Recursive Edit:: A command can allow you to do editing |
| 220 | "within the command". This is called a | 220 | "within the command". This is called a |
| 221 | "recursive editing level". | 221 | "recursive editing level". |
| 222 | * Emulation:: Emulating some other editors with Emacs. | 222 | * Emulation:: Emulating some other editors with Emacs. |
| 223 | * Hyperlinking:: Following links in buffers. | 223 | * Hyperlinking:: Following links in buffers. |
| 224 | * Dissociated Press:: Dissociating text for fun. | 224 | * Dissociated Press:: Dissociating text for fun. |
| 225 | * Amusements:: Various games and hacks. | 225 | * Amusements:: Various games and hacks. |
| 226 | * Customization:: Modifying the behavior of Emacs. | 226 | * Customization:: Modifying the behavior of Emacs. |
| 227 | 227 | ||
| 228 | Recovery from Problems | 228 | Recovery from Problems |
| 229 | * Quitting:: Quitting and aborting. | 229 | * Quitting:: Quitting and aborting. |
| 230 | * Lossage:: What to do if Emacs is hung or malfunctioning. | 230 | * Lossage:: What to do if Emacs is hung or malfunctioning. |
| 231 | * Bugs:: How and when to report a bug. | 231 | * Bugs:: How and when to report a bug. |
| 232 | * Contributing:: How to contribute improvements to Emacs. | 232 | * Contributing:: How to contribute improvements to Emacs. |
| 233 | * Service:: How to get help for your own Emacs needs. | 233 | * Service:: How to get help for your own Emacs needs. |
| 234 | 234 | ||
| 235 | Appendices | 235 | Appendices |
| 236 | * Copying:: The GNU General Public License gives you permission | 236 | * Copying:: The GNU General Public License gives you permission |
| 237 | to redistribute GNU Emacs on certain terms; | 237 | to redistribute GNU Emacs on certain terms; |
| 238 | it also explains that there is no warranty. | 238 | it also explains that there is no warranty. |
| 239 | * GNU Free Documentation License:: The license for this documentation. | 239 | * GNU Free Documentation License:: The license for this documentation. |
| 240 | * Emacs Invocation:: Hairy startup options. | 240 | * Emacs Invocation:: Hairy startup options. |
| 241 | * X Resources:: X resources for customizing Emacs. | 241 | * X Resources:: X resources for customizing Emacs. |
| 242 | * Antinews:: Information about Emacs version 22. | 242 | * Antinews:: Information about Emacs version 22. |
| 243 | * Mac OS / GNUstep:: Using Emacs under Mac OS and GNUstep. | 243 | * Mac OS / GNUstep:: Using Emacs under Mac OS and GNUstep. |
| 244 | * Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS. | 244 | * Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS. |
| 245 | * Manifesto:: What's GNU? Gnu's Not Unix! | 245 | * Manifesto:: What's GNU? Gnu's Not Unix! |
| 246 | 246 | ||
| 247 | @c Do NOT modify the following 3 lines! They must have this form to | 247 | @c Do NOT modify the following 3 lines! They must have this form to |
| 248 | @c be correctly identified by `texinfo-multiple-files-update'. In | 248 | @c be correctly identified by `texinfo-multiple-files-update'. In |
| @@ -258,9 +258,9 @@ already listed, mentioned here so you can get to them in one step: | |||
| 258 | 258 | ||
| 259 | The Organization of the Screen | 259 | The Organization of the Screen |
| 260 | 260 | ||
| 261 | * Point:: The place in the text where editing commands operate. | 261 | * Point:: The place in the text where editing commands operate. |
| 262 | * Echo Area:: Short messages appear at the bottom of the screen. | 262 | * Echo Area:: Short messages appear at the bottom of the screen. |
| 263 | * Mode Line:: Interpreting the mode line. | 263 | * Mode Line:: Interpreting the mode line. |
| 264 | * Menu Bar:: How to use the menu bar. | 264 | * Menu Bar:: How to use the menu bar. |
| 265 | 265 | ||
| 266 | Basic Editing Commands | 266 | Basic Editing Commands |
| @@ -268,23 +268,23 @@ Basic Editing Commands | |||
| 268 | * Inserting Text:: Inserting text by simply typing it. | 268 | * Inserting Text:: Inserting text by simply typing it. |
| 269 | * Moving Point:: Moving the cursor to the place where you want to | 269 | * Moving Point:: Moving the cursor to the place where you want to |
| 270 | change something. | 270 | change something. |
| 271 | * Erasing:: Deleting and killing text. | 271 | * Erasing:: Deleting and killing text. |
| 272 | * Basic Undo:: Undoing recent changes in the text. | 272 | * Basic Undo:: Undoing recent changes in the text. |
| 273 | * Basic Files:: Visiting, creating, and saving files. | 273 | * Basic Files:: Visiting, creating, and saving files. |
| 274 | * Basic Help:: Asking what a character does. | 274 | * Basic Help:: Asking what a character does. |
| 275 | * Blank Lines:: Making and deleting blank lines. | 275 | * Blank Lines:: Making and deleting blank lines. |
| 276 | * Continuation Lines:: How Emacs displays lines too wide for the screen. | 276 | * Continuation Lines:: How Emacs displays lines too wide for the screen. |
| 277 | * Position Info:: What page, line, row, or column is point on? | 277 | * Position Info:: What page, line, row, or column is point on? |
| 278 | * Arguments:: Numeric arguments for repeating a command N times. | 278 | * Arguments:: Numeric arguments for repeating a command N times. |
| 279 | * Repeating:: Repeating the previous command quickly. | 279 | * Repeating:: Repeating the previous command quickly. |
| 280 | 280 | ||
| 281 | The Minibuffer | 281 | The Minibuffer |
| 282 | 282 | ||
| 283 | * Minibuffer File:: Entering file names with the minibuffer. | 283 | * Minibuffer File:: Entering file names with the minibuffer. |
| 284 | * Minibuffer Edit:: How to edit in the minibuffer. | 284 | * Minibuffer Edit:: How to edit in the minibuffer. |
| 285 | * Completion:: An abbreviation facility for minibuffer input. | 285 | * Completion:: An abbreviation facility for minibuffer input. |
| 286 | * Minibuffer History:: Reusing recent minibuffer arguments. | 286 | * Minibuffer History:: Reusing recent minibuffer arguments. |
| 287 | * Repetition:: Re-executing commands that used the minibuffer. | 287 | * Repetition:: Re-executing commands that used the minibuffer. |
| 288 | * Passwords:: Entering passwords in the echo area. | 288 | * Passwords:: Entering passwords in the echo area. |
| 289 | 289 | ||
| 290 | Completion | 290 | Completion |
| @@ -296,59 +296,59 @@ Completion | |||
| 296 | 296 | ||
| 297 | Help | 297 | Help |
| 298 | 298 | ||
| 299 | * Help Summary:: Brief list of all Help commands. | 299 | * Help Summary:: Brief list of all Help commands. |
| 300 | * Key Help:: Asking what a key does in Emacs. | 300 | * Key Help:: Asking what a key does in Emacs. |
| 301 | * Name Help:: Asking about a command, variable or function name. | 301 | * Name Help:: Asking about a command, variable or function name. |
| 302 | * Apropos:: Asking what pertains to a given topic. | 302 | * Apropos:: Asking what pertains to a given topic. |
| 303 | * Help Mode:: Special features of Help mode and Help buffers. | 303 | * Help Mode:: Special features of Help mode and Help buffers. |
| 304 | * Library Keywords:: Finding Lisp libraries by keywords (topics). | 304 | * Library Keywords:: Finding Lisp libraries by keywords (topics). |
| 305 | * Language Help:: Help relating to international language support. | 305 | * Language Help:: Help relating to international language support. |
| 306 | * Misc Help:: Other help commands. | 306 | * Misc Help:: Other help commands. |
| 307 | * Help Files:: Commands to display pre-written help files. | 307 | * Help Files:: Commands to display pre-written help files. |
| 308 | * Help Echo:: Help on active text and tooltips (`balloon help'). | 308 | * Help Echo:: Help on active text and tooltips (`balloon help'). |
| 309 | 309 | ||
| 310 | The Mark and the Region | 310 | The Mark and the Region |
| 311 | 311 | ||
| 312 | * Setting Mark:: Commands to set the mark. | 312 | * Setting Mark:: Commands to set the mark. |
| 313 | * Marking Objects:: Commands to put region around textual units. | 313 | * Marking Objects:: Commands to put region around textual units. |
| 314 | * Using Region:: Summary of ways to operate on contents of the region. | 314 | * Using Region:: Summary of ways to operate on contents of the region. |
| 315 | * Mark Ring:: Previous mark positions saved so you can go back there. | 315 | * Mark Ring:: Previous mark positions saved so you can go back there. |
| 316 | * Global Mark Ring:: Previous mark positions in various buffers. | 316 | * Global Mark Ring:: Previous mark positions in various buffers. |
| 317 | * Shift Selection:: Using shifted cursor motion keys. | 317 | * Shift Selection:: Using shifted cursor motion keys. |
| 318 | * Persistent Mark:: Keeping the mark active all the time. | 318 | * Persistent Mark:: Keeping the mark active all the time. |
| 319 | 319 | ||
| 320 | Killing and Moving Text | 320 | Killing and Moving Text |
| 321 | 321 | ||
| 322 | * Deletion:: Commands for deleting small amounts of text and | 322 | * Deletion:: Commands for deleting small amounts of text and |
| 323 | blank areas. | 323 | blank areas. |
| 324 | * Killing by Lines:: How to kill entire lines of text at one time. | 324 | * Killing by Lines:: How to kill entire lines of text at one time. |
| 325 | * Other Kill Commands:: Commands to kill large regions of text and | 325 | * Other Kill Commands:: Commands to kill large regions of text and |
| 326 | syntactic units such as words and sentences. | 326 | syntactic units such as words and sentences. |
| 327 | * Kill Options:: Options that affect killing. | 327 | * Kill Options:: Options that affect killing. |
| 328 | 328 | ||
| 329 | Yanking | 329 | Yanking |
| 330 | 330 | ||
| 331 | * Kill Ring:: Where killed text is stored. Basic yanking. | 331 | * Kill Ring:: Where killed text is stored. Basic yanking. |
| 332 | * Appending Kills:: Several kills in a row all yank together. | 332 | * Appending Kills:: Several kills in a row all yank together. |
| 333 | * Earlier Kills:: Yanking something killed some time ago. | 333 | * Earlier Kills:: Yanking something killed some time ago. |
| 334 | 334 | ||
| 335 | Registers | 335 | Registers |
| 336 | 336 | ||
| 337 | * RegPos:: Saving positions in registers. | 337 | * RegPos:: Saving positions in registers. |
| 338 | * RegText:: Saving text in registers. | 338 | * RegText:: Saving text in registers. |
| 339 | * RegRect:: Saving rectangles in registers. | 339 | * RegRect:: Saving rectangles in registers. |
| 340 | * RegConfig:: Saving window configurations in registers. | 340 | * RegConfig:: Saving window configurations in registers. |
| 341 | * RegNumbers:: Numbers in registers. | 341 | * RegNumbers:: Numbers in registers. |
| 342 | * RegFiles:: File names in registers. | 342 | * RegFiles:: File names in registers. |
| 343 | * Bookmarks:: Bookmarks are like registers, but persistent. | 343 | * Bookmarks:: Bookmarks are like registers, but persistent. |
| 344 | 344 | ||
| 345 | Controlling the Display | 345 | Controlling the Display |
| 346 | 346 | ||
| 347 | * Scrolling:: Commands to move text up and down in a window. | 347 | * Scrolling:: Commands to move text up and down in a window. |
| 348 | * Auto Scrolling:: Redisplay scrolls text automatically when needed. | 348 | * Auto Scrolling:: Redisplay scrolls text automatically when needed. |
| 349 | * Horizontal Scrolling:: Moving text left and right in a window. | 349 | * Horizontal Scrolling:: Moving text left and right in a window. |
| 350 | * Follow Mode:: Follow mode lets two windows scroll as one. | 350 | * Follow Mode:: Follow mode lets two windows scroll as one. |
| 351 | * Faces:: How to change the display style using faces. | 351 | * Faces:: How to change the display style using faces. |
| 352 | * Standard Faces:: Emacs' predefined faces. | 352 | * Standard Faces:: Emacs' predefined faces. |
| 353 | * Temporary Face Changes:: Commands to temporarily modify the default text face | 353 | * Temporary Face Changes:: Commands to temporarily modify the default text face |
| 354 | * Font Lock:: Minor mode for syntactic highlighting using faces. | 354 | * Font Lock:: Minor mode for syntactic highlighting using faces. |
| @@ -367,15 +367,15 @@ Controlling the Display | |||
| 367 | 367 | ||
| 368 | Searching and Replacement | 368 | Searching and Replacement |
| 369 | 369 | ||
| 370 | * Incremental Search:: Search happens as you type the string. | 370 | * Incremental Search:: Search happens as you type the string. |
| 371 | * Nonincremental Search:: Specify entire string and then search. | 371 | * Nonincremental Search:: Specify entire string and then search. |
| 372 | * Word Search:: Search for sequence of words. | 372 | * Word Search:: Search for sequence of words. |
| 373 | * Regexp Search:: Search for match for a regexp. | 373 | * Regexp Search:: Search for match for a regexp. |
| 374 | * Regexps:: Syntax of regular expressions. | 374 | * Regexps:: Syntax of regular expressions. |
| 375 | * Regexp Backslash:: Regular expression constructs starting with `\'. | 375 | * Regexp Backslash:: Regular expression constructs starting with `\'. |
| 376 | * Regexp Example:: A complex regular expression explained. | 376 | * Regexp Example:: A complex regular expression explained. |
| 377 | * Search Case:: To ignore case while searching, or not. | 377 | * Search Case:: To ignore case while searching, or not. |
| 378 | * Replace:: Search, and replace some or all matches. | 378 | * Replace:: Search, and replace some or all matches. |
| 379 | * Other Repeating Search:: Operating on all matches for some regexp. | 379 | * Other Repeating Search:: Operating on all matches for some regexp. |
| 380 | 380 | ||
| 381 | Incremental Search | 381 | Incremental Search |
| @@ -393,16 +393,16 @@ Incremental Search | |||
| 393 | Replacement Commands | 393 | Replacement Commands |
| 394 | 394 | ||
| 395 | * Unconditional Replace:: Replacing all matches for a string. | 395 | * Unconditional Replace:: Replacing all matches for a string. |
| 396 | * Regexp Replace:: Replacing all matches for a regexp. | 396 | * Regexp Replace:: Replacing all matches for a regexp. |
| 397 | * Replacement and Case:: How replacements preserve case of letters. | 397 | * Replacement and Case:: How replacements preserve case of letters. |
| 398 | * Query Replace:: How to use querying. | 398 | * Query Replace:: How to use querying. |
| 399 | 399 | ||
| 400 | Commands for Fixing Typos | 400 | Commands for Fixing Typos |
| 401 | 401 | ||
| 402 | * Undo:: The Undo commands. | 402 | * Undo:: The Undo commands. |
| 403 | * Transpose:: Exchanging two characters, words, lines, lists... | 403 | * Transpose:: Exchanging two characters, words, lines, lists... |
| 404 | * Fixing Case:: Correcting case of last word entered. | 404 | * Fixing Case:: Correcting case of last word entered. |
| 405 | * Spelling:: Apply spelling checker to a word, or a whole file. | 405 | * Spelling:: Apply spelling checker to a word, or a whole file. |
| 406 | 406 | ||
| 407 | Keyboard Macros | 407 | Keyboard Macros |
| 408 | 408 | ||
| @@ -448,9 +448,9 @@ Saving Files | |||
| 448 | 448 | ||
| 449 | Backup Files | 449 | Backup Files |
| 450 | 450 | ||
| 451 | * Backup Names:: How backup files are named. | 451 | * Backup Names:: How backup files are named. |
| 452 | * Backup Deletion:: Emacs deletes excess numbered backups. | 452 | * Backup Deletion:: Emacs deletes excess numbered backups. |
| 453 | * Backup Copying:: Backups can be made by copying or renaming. | 453 | * Backup Copying:: Backups can be made by copying or renaming. |
| 454 | 454 | ||
| 455 | Auto Reverting Non-File Buffers | 455 | Auto Reverting Non-File Buffers |
| 456 | 456 | ||
| @@ -463,16 +463,16 @@ Auto-Saving: Protection Against Disasters | |||
| 463 | * Auto Save Files:: The file where auto-saved changes are | 463 | * Auto Save Files:: The file where auto-saved changes are |
| 464 | actually made until you save the file. | 464 | actually made until you save the file. |
| 465 | * Auto Save Control:: Controlling when and how often to auto-save. | 465 | * Auto Save Control:: Controlling when and how often to auto-save. |
| 466 | * Recover:: Recovering text from auto-save files. | 466 | * Recover:: Recovering text from auto-save files. |
| 467 | 467 | ||
| 468 | Using Multiple Buffers | 468 | Using Multiple Buffers |
| 469 | 469 | ||
| 470 | * Select Buffer:: Creating a new buffer or reselecting an old one. | 470 | * Select Buffer:: Creating a new buffer or reselecting an old one. |
| 471 | * List Buffers:: Getting a list of buffers that exist. | 471 | * List Buffers:: Getting a list of buffers that exist. |
| 472 | * Misc Buffer:: Renaming; changing read-onlyness; copying text. | 472 | * Misc Buffer:: Renaming; changing read-onlyness; copying text. |
| 473 | * Kill Buffer:: Killing buffers you no longer need. | 473 | * Kill Buffer:: Killing buffers you no longer need. |
| 474 | * Several Buffers:: How to go through the list of all buffers | 474 | * Several Buffers:: How to go through the list of all buffers |
| 475 | and operate variously on several of them. | 475 | and operate variously on several of them. |
| 476 | * Indirect Buffers:: An indirect buffer shares the text of another buffer. | 476 | * Indirect Buffers:: An indirect buffer shares the text of another buffer. |
| 477 | * Buffer Convenience:: Convenience and customization features for | 477 | * Buffer Convenience:: Convenience and customization features for |
| 478 | buffer handling. | 478 | buffer handling. |
| @@ -507,10 +507,10 @@ Frames and Graphical Displays | |||
| 507 | * Multiple Displays:: How one Emacs job can talk to several displays. | 507 | * Multiple Displays:: How one Emacs job can talk to several displays. |
| 508 | * Special Buffer Frames:: You can make certain buffers have their own frames. | 508 | * Special Buffer Frames:: You can make certain buffers have their own frames. |
| 509 | * Frame Parameters:: Changing the colors and other modes of frames. | 509 | * Frame Parameters:: Changing the colors and other modes of frames. |
| 510 | * Scroll Bars:: How to enable and disable scroll bars; how to use them. | 510 | * Scroll Bars:: How to enable and disable scroll bars; how to use them. |
| 511 | * Wheeled Mice:: Using mouse wheels for scrolling. | 511 | * Wheeled Mice:: Using mouse wheels for scrolling. |
| 512 | * Drag and Drop:: Using drag and drop to open files and insert text. | 512 | * Drag and Drop:: Using drag and drop to open files and insert text. |
| 513 | * Menu Bars:: Enabling and disabling the menu bar. | 513 | * Menu Bars:: Enabling and disabling the menu bar. |
| 514 | * Tool Bars:: Enabling and disabling the tool bar. | 514 | * Tool Bars:: Enabling and disabling the tool bar. |
| 515 | * Dialog Boxes:: Controlling use of dialog boxes. | 515 | * Dialog Boxes:: Controlling use of dialog boxes. |
| 516 | * Tooltips:: Displaying information at the current mouse position. | 516 | * Tooltips:: Displaying information at the current mouse position. |
| @@ -559,31 +559,31 @@ Major Modes | |||
| 559 | Indentation | 559 | Indentation |
| 560 | 560 | ||
| 561 | * Indentation Commands:: Various commands and techniques for indentation. | 561 | * Indentation Commands:: Various commands and techniques for indentation. |
| 562 | * Tab Stops:: You can set arbitrary "tab stops" and then | 562 | * Tab Stops:: You can set arbitrary "tab stops" and then |
| 563 | indent to the next tab stop when you want to. | 563 | indent to the next tab stop when you want to. |
| 564 | * Just Spaces:: You can request indentation using just spaces. | 564 | * Just Spaces:: You can request indentation using just spaces. |
| 565 | 565 | ||
| 566 | Commands for Human Languages | 566 | Commands for Human Languages |
| 567 | 567 | ||
| 568 | * Words:: Moving over and killing words. | 568 | * Words:: Moving over and killing words. |
| 569 | * Sentences:: Moving over and killing sentences. | 569 | * Sentences:: Moving over and killing sentences. |
| 570 | * Paragraphs:: Moving over paragraphs. | 570 | * Paragraphs:: Moving over paragraphs. |
| 571 | * Pages:: Moving over pages. | 571 | * Pages:: Moving over pages. |
| 572 | * Filling:: Filling or justifying text. | 572 | * Filling:: Filling or justifying text. |
| 573 | * Case:: Changing the case of text. | 573 | * Case:: Changing the case of text. |
| 574 | * Text Mode:: The major modes for editing text files. | 574 | * Text Mode:: The major modes for editing text files. |
| 575 | * Outline Mode:: Editing outlines. | 575 | * Outline Mode:: Editing outlines. |
| 576 | * TeX Mode:: Editing input to the formatter TeX. | 576 | * TeX Mode:: Editing input to the formatter TeX. |
| 577 | * HTML Mode:: Editing HTML and SGML files. | 577 | * HTML Mode:: Editing HTML and SGML files. |
| 578 | * Nroff Mode:: Editing input to the formatter nroff. | 578 | * Nroff Mode:: Editing input to the formatter nroff. |
| 579 | * Formatted Text:: Editing formatted text directly in WYSIWYG fashion. | 579 | * Formatted Text:: Editing formatted text directly in WYSIWYG fashion. |
| 580 | * Text Based Tables:: Editing text-based tables in WYSIWYG fashion. | 580 | * Text Based Tables:: Editing text-based tables in WYSIWYG fashion. |
| 581 | 581 | ||
| 582 | Filling Text | 582 | Filling Text |
| 583 | 583 | ||
| 584 | * Auto Fill:: Auto Fill mode breaks long lines automatically. | 584 | * Auto Fill:: Auto Fill mode breaks long lines automatically. |
| 585 | * Fill Commands:: Commands to refill paragraphs and center lines. | 585 | * Fill Commands:: Commands to refill paragraphs and center lines. |
| 586 | * Fill Prefix:: Filling paragraphs that are indented | 586 | * Fill Prefix:: Filling paragraphs that are indented |
| 587 | or in a comment, etc. | 587 | or in a comment, etc. |
| 588 | * Adaptive Fill:: How Emacs can determine the fill prefix automatically. | 588 | * Adaptive Fill:: How Emacs can determine the fill prefix automatically. |
| 589 | * Refill:: Keeping paragraphs filled. | 589 | * Refill:: Keeping paragraphs filled. |
| @@ -592,7 +592,7 @@ Filling Text | |||
| 592 | Outline Mode | 592 | Outline Mode |
| 593 | 593 | ||
| 594 | * Outline Format:: What the text of an outline looks like. | 594 | * Outline Format:: What the text of an outline looks like. |
| 595 | * Outline Motion:: Special commands for moving through | 595 | * Outline Motion:: Special commands for moving through |
| 596 | outlines. | 596 | outlines. |
| 597 | * Outline Visibility:: Commands to control what is visible. | 597 | * Outline Visibility:: Commands to control what is visible. |
| 598 | * Outline Views:: Outlines and multiple views. | 598 | * Outline Views:: Outlines and multiple views. |
| @@ -644,7 +644,7 @@ Editing Programs | |||
| 644 | of a program. | 644 | of a program. |
| 645 | * Program Indent:: Adjusting indentation to show the nesting. | 645 | * Program Indent:: Adjusting indentation to show the nesting. |
| 646 | * Parentheses:: Commands that operate on parentheses. | 646 | * Parentheses:: Commands that operate on parentheses. |
| 647 | * Comments:: Inserting, killing, and aligning comments. | 647 | * Comments:: Inserting, killing, and aligning comments. |
| 648 | * Documentation:: Getting documentation of functions you plan to call. | 648 | * Documentation:: Getting documentation of functions you plan to call. |
| 649 | * Hideshow:: Displaying blocks selectively. | 649 | * Hideshow:: Displaying blocks selectively. |
| 650 | * Symbol Completion:: Completion on symbol names of your program or language. | 650 | * Symbol Completion:: Completion on symbol names of your program or language. |
| @@ -666,18 +666,18 @@ Top-Level Definitions, or Defuns | |||
| 666 | 666 | ||
| 667 | Indentation for Programs | 667 | Indentation for Programs |
| 668 | 668 | ||
| 669 | * Basic Indent:: Indenting a single line. | 669 | * Basic Indent:: Indenting a single line. |
| 670 | * Multi-line Indent:: Commands to reindent many lines at once. | 670 | * Multi-line Indent:: Commands to reindent many lines at once. |
| 671 | * Lisp Indent:: Specifying how each Lisp function should be indented. | 671 | * Lisp Indent:: Specifying how each Lisp function should be indented. |
| 672 | * C Indent:: Extra features for indenting C and related modes. | 672 | * C Indent:: Extra features for indenting C and related modes. |
| 673 | * Custom C Indent:: Controlling indentation style for C and related modes. | 673 | * Custom C Indent:: Controlling indentation style for C and related modes. |
| 674 | 674 | ||
| 675 | Commands for Editing with Parentheses | 675 | Commands for Editing with Parentheses |
| 676 | 676 | ||
| 677 | * Expressions:: Expressions with balanced parentheses. | 677 | * Expressions:: Expressions with balanced parentheses. |
| 678 | * Moving by Parens:: Commands for moving up, down and across | 678 | * Moving by Parens:: Commands for moving up, down and across |
| 679 | in the structure of parentheses. | 679 | in the structure of parentheses. |
| 680 | * Matching:: Insertion of a close-delimiter flashes matching open. | 680 | * Matching:: Insertion of a close-delimiter flashes matching open. |
| 681 | 681 | ||
| 682 | Manipulating Comments | 682 | Manipulating Comments |
| 683 | 683 | ||
| @@ -702,12 +702,12 @@ C and Related Modes | |||
| 702 | 702 | ||
| 703 | Fortran Mode | 703 | Fortran Mode |
| 704 | 704 | ||
| 705 | * Fortran Motion:: Moving point by statements or subprograms. | 705 | * Fortran Motion:: Moving point by statements or subprograms. |
| 706 | * Fortran Indent:: Indentation commands for Fortran. | 706 | * Fortran Indent:: Indentation commands for Fortran. |
| 707 | * Fortran Comments:: Inserting and aligning comments. | 707 | * Fortran Comments:: Inserting and aligning comments. |
| 708 | * Fortran Autofill:: Auto fill support for Fortran. | 708 | * Fortran Autofill:: Auto fill support for Fortran. |
| 709 | * Fortran Columns:: Measuring columns for valid Fortran. | 709 | * Fortran Columns:: Measuring columns for valid Fortran. |
| 710 | * Fortran Abbrev:: Built-in abbrevs for Fortran keywords. | 710 | * Fortran Abbrev:: Built-in abbrevs for Fortran keywords. |
| 711 | 711 | ||
| 712 | Fortran Indentation | 712 | Fortran Indentation |
| 713 | 713 | ||
| @@ -719,28 +719,28 @@ Fortran Indentation | |||
| 719 | 719 | ||
| 720 | Compiling and Testing Programs | 720 | Compiling and Testing Programs |
| 721 | 721 | ||
| 722 | * Compilation:: Compiling programs in languages other | 722 | * Compilation:: Compiling programs in languages other |
| 723 | than Lisp (C, Pascal, etc.). | 723 | than Lisp (C, Pascal, etc.). |
| 724 | * Compilation Mode:: The mode for visiting compiler errors. | 724 | * Compilation Mode:: The mode for visiting compiler errors. |
| 725 | * Compilation Shell:: Customizing your shell properly | 725 | * Compilation Shell:: Customizing your shell properly |
| 726 | for use in the compilation buffer. | 726 | for use in the compilation buffer. |
| 727 | * Grep Searching:: Searching with grep. | 727 | * Grep Searching:: Searching with grep. |
| 728 | * Flymake:: Finding syntax errors on the fly. | 728 | * Flymake:: Finding syntax errors on the fly. |
| 729 | * Debuggers:: Running symbolic debuggers for non-Lisp programs. | 729 | * Debuggers:: Running symbolic debuggers for non-Lisp programs. |
| 730 | * Executing Lisp:: Various modes for editing Lisp programs, | 730 | * Executing Lisp:: Various modes for editing Lisp programs, |
| 731 | with different facilities for running | 731 | with different facilities for running |
| 732 | the Lisp programs. | 732 | the Lisp programs. |
| 733 | * Lisp Libraries:: Creating Lisp programs to run in Emacs. | 733 | * Lisp Libraries:: Creating Lisp programs to run in Emacs. |
| 734 | * Lisp Eval:: Executing a single Lisp expression in Emacs. | 734 | * Lisp Eval:: Executing a single Lisp expression in Emacs. |
| 735 | * Lisp Interaction:: Executing Lisp in an Emacs buffer. | 735 | * Lisp Interaction:: Executing Lisp in an Emacs buffer. |
| 736 | * External Lisp:: Communicating through Emacs with a separate Lisp. | 736 | * External Lisp:: Communicating through Emacs with a separate Lisp. |
| 737 | 737 | ||
| 738 | Running Debuggers Under Emacs | 738 | Running Debuggers Under Emacs |
| 739 | 739 | ||
| 740 | * Starting GUD:: How to start a debugger subprocess. | 740 | * Starting GUD:: How to start a debugger subprocess. |
| 741 | * Debugger Operation:: Connection between the debugger and source buffers. | 741 | * Debugger Operation:: Connection between the debugger and source buffers. |
| 742 | * Commands of GUD:: Key bindings for common commands. | 742 | * Commands of GUD:: Key bindings for common commands. |
| 743 | * GUD Customization:: Defining your own commands for GUD. | 743 | * GUD Customization:: Defining your own commands for GUD. |
| 744 | * GDB Graphical Interface:: An enhanced mode that uses GDB features to | 744 | * GDB Graphical Interface:: An enhanced mode that uses GDB features to |
| 745 | implement a graphical debugging environment through | 745 | implement a graphical debugging environment through |
| 746 | Emacs. | 746 | Emacs. |
| @@ -761,9 +761,9 @@ GDB Graphical Interface | |||
| 761 | Maintaining Large Programs | 761 | Maintaining Large Programs |
| 762 | 762 | ||
| 763 | * Version Control:: Using version control systems. | 763 | * Version Control:: Using version control systems. |
| 764 | * Change Log:: Maintaining a change history for your program. | 764 | * Change Log:: Maintaining a change history for your program. |
| 765 | * Tags:: Go directly to any function in your program in one | 765 | * Tags:: Go directly to any function in your program in one |
| 766 | command. Tags remembers which file it is in. | 766 | command. Tags remembers which file it is in. |
| 767 | * EDE:: An integrated development environment for Emacs. | 767 | * EDE:: An integrated development environment for Emacs. |
| 768 | * Emerge:: A convenient way of merging two versions of a program. | 768 | * Emerge:: A convenient way of merging two versions of a program. |
| 769 | 769 | ||
| @@ -844,25 +844,25 @@ Change Logs | |||
| 844 | 844 | ||
| 845 | Tags Tables | 845 | Tags Tables |
| 846 | 846 | ||
| 847 | * Tag Syntax:: Tag syntax for various types of code and text files. | 847 | * Tag Syntax:: Tag syntax for various types of code and text files. |
| 848 | * Create Tags Table:: Creating a tags table with @code{etags}. | 848 | * Create Tags Table:: Creating a tags table with @code{etags}. |
| 849 | * Etags Regexps:: Create arbitrary tags using regular expressions. | 849 | * Etags Regexps:: Create arbitrary tags using regular expressions. |
| 850 | * Select Tags Table:: How to visit a tags table. | 850 | * Select Tags Table:: How to visit a tags table. |
| 851 | * Find Tag:: Commands to find the definition of a specific tag. | 851 | * Find Tag:: Commands to find the definition of a specific tag. |
| 852 | * Tags Search:: Using a tags table for searching and replacing. | 852 | * Tags Search:: Using a tags table for searching and replacing. |
| 853 | * List Tags:: Listing and finding tags defined in a file. | 853 | * List Tags:: Listing and finding tags defined in a file. |
| 854 | 854 | ||
| 855 | Merging Files with Emerge | 855 | Merging Files with Emerge |
| 856 | 856 | ||
| 857 | * Overview of Emerge:: How to start Emerge. Basic concepts. | 857 | * Overview of Emerge:: How to start Emerge. Basic concepts. |
| 858 | * Submodes of Emerge:: Fast mode vs. Edit mode. | 858 | * Submodes of Emerge:: Fast mode vs. Edit mode. |
| 859 | Skip Prefers mode and Auto Advance mode. | 859 | Skip Prefers mode and Auto Advance mode. |
| 860 | * State of Difference:: You do the merge by specifying state A or B | 860 | * State of Difference:: You do the merge by specifying state A or B |
| 861 | for each difference. | 861 | for each difference. |
| 862 | * Merge Commands:: Commands for selecting a difference, | 862 | * Merge Commands:: Commands for selecting a difference, |
| 863 | changing states of differences, etc. | 863 | changing states of differences, etc. |
| 864 | * Exiting Emerge:: What to do when you've finished the merge. | 864 | * Exiting Emerge:: What to do when you've finished the merge. |
| 865 | * Combining in Emerge:: How to keep both alternatives for a difference. | 865 | * Combining in Emerge:: How to keep both alternatives for a difference. |
| 866 | * Fine Points of Emerge:: Miscellaneous issues. | 866 | * Fine Points of Emerge:: Miscellaneous issues. |
| 867 | 867 | ||
| 868 | Abbrevs | 868 | Abbrevs |
| @@ -887,10 +887,10 @@ Editing Pictures | |||
| 887 | 887 | ||
| 888 | Sending Mail | 888 | Sending Mail |
| 889 | 889 | ||
| 890 | * Mail Format:: Format of the mail being composed. | 890 | * Mail Format:: Format of the mail being composed. |
| 891 | * Mail Headers:: Details of some standard mail header fields. | 891 | * Mail Headers:: Details of some standard mail header fields. |
| 892 | * Mail Aliases:: Abbreviating and grouping mail addresses. | 892 | * Mail Aliases:: Abbreviating and grouping mail addresses. |
| 893 | * Mail Commands:: Special commands for editing mail being composed. | 893 | * Mail Commands:: Special commands for editing mail being composed. |
| 894 | * Mail Signature:: Adding a signature to every message. | 894 | * Mail Signature:: Adding a signature to every message. |
| 895 | * Mail Amusements:: Distracting the NSA; adding fortune messages. | 895 | * Mail Amusements:: Distracting the NSA; adding fortune messages. |
| 896 | * Mail Methods:: Using alternative mail-composition methods. | 896 | * Mail Methods:: Using alternative mail-composition methods. |
| @@ -928,28 +928,28 @@ Reading Mail with Rmail | |||
| 928 | 928 | ||
| 929 | Summaries | 929 | Summaries |
| 930 | 930 | ||
| 931 | * Rmail Make Summary:: Making various sorts of summaries. | 931 | * Rmail Make Summary:: Making various sorts of summaries. |
| 932 | * Rmail Summary Edit:: Manipulating messages from the summary. | 932 | * Rmail Summary Edit:: Manipulating messages from the summary. |
| 933 | 933 | ||
| 934 | Dired, the Directory Editor | 934 | Dired, the Directory Editor |
| 935 | 935 | ||
| 936 | * Dired Enter:: How to invoke Dired. | 936 | * Dired Enter:: How to invoke Dired. |
| 937 | * Dired Navigation:: Special motion commands in the Dired buffer. | 937 | * Dired Navigation:: Special motion commands in the Dired buffer. |
| 938 | * Dired Deletion:: Deleting files with Dired. | 938 | * Dired Deletion:: Deleting files with Dired. |
| 939 | * Flagging Many Files:: Flagging files based on their names. | 939 | * Flagging Many Files:: Flagging files based on their names. |
| 940 | * Dired Visiting:: Other file operations through Dired. | 940 | * Dired Visiting:: Other file operations through Dired. |
| 941 | * Marks vs Flags:: Flagging for deletion vs marking. | 941 | * Marks vs Flags:: Flagging for deletion vs marking. |
| 942 | * Operating on Files:: How to copy, rename, print, compress, etc. | 942 | * Operating on Files:: How to copy, rename, print, compress, etc. |
| 943 | either one file or several files. | 943 | either one file or several files. |
| 944 | * Shell Commands in Dired:: Running a shell command on the marked files. | 944 | * Shell Commands in Dired:: Running a shell command on the marked files. |
| 945 | * Transforming File Names:: Using patterns to rename multiple files. | 945 | * Transforming File Names:: Using patterns to rename multiple files. |
| 946 | * Comparison in Dired:: Running `diff' by way of Dired. | 946 | * Comparison in Dired:: Running `diff' by way of Dired. |
| 947 | * Subdirectories in Dired:: Adding subdirectories to the Dired buffer. | 947 | * Subdirectories in Dired:: Adding subdirectories to the Dired buffer. |
| 948 | * Subdir Switches:: Subdirectory switches in Dired. | 948 | * Subdir Switches:: Subdirectory switches in Dired. |
| 949 | * Subdirectory Motion:: Moving across subdirectories, and up and down. | 949 | * Subdirectory Motion:: Moving across subdirectories, and up and down. |
| 950 | * Hiding Subdirectories:: Making subdirectories visible or invisible. | 950 | * Hiding Subdirectories:: Making subdirectories visible or invisible. |
| 951 | * Dired Updating:: Discarding lines for files of no interest. | 951 | * Dired Updating:: Discarding lines for files of no interest. |
| 952 | * Dired and Find:: Using `find' to choose the files for Dired. | 952 | * Dired and Find:: Using `find' to choose the files for Dired. |
| 953 | * Wdired:: Operating on files by editing the Dired buffer. | 953 | * Wdired:: Operating on files by editing the Dired buffer. |
| 954 | * Image-Dired:: Viewing image thumbnails in Dired. | 954 | * Image-Dired:: Viewing image thumbnails in Dired. |
| 955 | * Misc Dired Features:: Various other features. | 955 | * Misc Dired Features:: Various other features. |
| @@ -966,7 +966,7 @@ The Calendar and the Diary | |||
| 966 | * Lunar Phases:: Displaying phases of the moon. | 966 | * Lunar Phases:: Displaying phases of the moon. |
| 967 | * Other Calendars:: Converting dates to other calendar systems. | 967 | * Other Calendars:: Converting dates to other calendar systems. |
| 968 | * Diary:: Displaying events from your diary. | 968 | * Diary:: Displaying events from your diary. |
| 969 | * Appointments:: Reminders when it's time to do something. | 969 | * Appointments:: Reminders when it's time to do something. |
| 970 | * Importing Diary:: Converting diary events to/from other formats. | 970 | * Importing Diary:: Converting diary events to/from other formats. |
| 971 | * Daylight Saving:: How to specify when daylight saving time is active. | 971 | * Daylight Saving:: How to specify when daylight saving time is active. |
| 972 | * Time Intervals:: Keeping track of time intervals. | 972 | * Time Intervals:: Keeping track of time intervals. |
| @@ -976,23 +976,23 @@ Movement in the Calendar | |||
| 976 | 976 | ||
| 977 | * Calendar Unit Motion:: Moving by days, weeks, months, and years. | 977 | * Calendar Unit Motion:: Moving by days, weeks, months, and years. |
| 978 | * Move to Beginning or End:: Moving to start/end of weeks, months, and years. | 978 | * Move to Beginning or End:: Moving to start/end of weeks, months, and years. |
| 979 | * Specified Dates:: Moving to the current date or another | 979 | * Specified Dates:: Moving to the current date or another |
| 980 | specific date. | 980 | specific date. |
| 981 | 981 | ||
| 982 | Conversion To and From Other Calendars | 982 | Conversion To and From Other Calendars |
| 983 | 983 | ||
| 984 | * Calendar Systems:: The calendars Emacs understands | 984 | * Calendar Systems:: The calendars Emacs understands |
| 985 | (aside from Gregorian). | 985 | (aside from Gregorian). |
| 986 | * To Other Calendar:: Converting the selected date to various calendars. | 986 | * To Other Calendar:: Converting the selected date to various calendars. |
| 987 | * From Other Calendar:: Moving to a date specified in another calendar. | 987 | * From Other Calendar:: Moving to a date specified in another calendar. |
| 988 | * Mayan Calendar:: Moving to a date specified in a Mayan calendar. | 988 | * Mayan Calendar:: Moving to a date specified in a Mayan calendar. |
| 989 | 989 | ||
| 990 | The Diary | 990 | The Diary |
| 991 | 991 | ||
| 992 | * Displaying the Diary:: Viewing diary entries and associated calendar dates. | 992 | * Displaying the Diary:: Viewing diary entries and associated calendar dates. |
| 993 | * Format of Diary File:: Entering events in your diary. | 993 | * Format of Diary File:: Entering events in your diary. |
| 994 | * Date Formats:: Various ways you can specify dates. | 994 | * Date Formats:: Various ways you can specify dates. |
| 995 | * Adding to Diary:: Commands to create diary entries. | 995 | * Adding to Diary:: Commands to create diary entries. |
| 996 | * Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc. | 996 | * Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc. |
| 997 | 997 | ||
| 998 | Customizing the Calendar and Diary | 998 | Customizing the Calendar and Diary |
| @@ -1009,22 +1009,22 @@ Customizing the Calendar and Diary | |||
| 1009 | 1009 | ||
| 1010 | Document Viewing | 1010 | Document Viewing |
| 1011 | 1011 | ||
| 1012 | * Navigation:: Navigation inside DocView buffers. | 1012 | * Navigation:: Navigation inside DocView buffers. |
| 1013 | * Searching:: Searching inside documents. | 1013 | * Searching:: Searching inside documents. |
| 1014 | * Slicing:: Specifying which part of pages should be displayed. | 1014 | * Slicing:: Specifying which part of pages should be displayed. |
| 1015 | * Conversion:: Influencing and triggering conversion. | 1015 | * Conversion:: Influencing and triggering conversion. |
| 1016 | 1016 | ||
| 1017 | Gnus | 1017 | Gnus |
| 1018 | 1018 | ||
| 1019 | * Buffers of Gnus:: The group, summary, and article buffers. | 1019 | * Buffers of Gnus:: The group, summary, and article buffers. |
| 1020 | * Gnus Startup:: What you should know about starting Gnus. | 1020 | * Gnus Startup:: What you should know about starting Gnus. |
| 1021 | * Summary of Gnus:: A short description of the basic Gnus commands. | 1021 | * Summary of Gnus:: A short description of the basic Gnus commands. |
| 1022 | 1022 | ||
| 1023 | Running Shell Commands from Emacs | 1023 | Running Shell Commands from Emacs |
| 1024 | 1024 | ||
| 1025 | * Single Shell:: How to run one shell command and return. | 1025 | * Single Shell:: How to run one shell command and return. |
| 1026 | * Interactive Shell:: Permanent shell taking input via Emacs. | 1026 | * Interactive Shell:: Permanent shell taking input via Emacs. |
| 1027 | * Shell Mode:: Special Emacs commands used with permanent shell. | 1027 | * Shell Mode:: Special Emacs commands used with permanent shell. |
| 1028 | * Shell Prompts:: Two ways to recognize shell prompts. | 1028 | * Shell Prompts:: Two ways to recognize shell prompts. |
| 1029 | * Shell History:: Repeating previous commands in a shell buffer. | 1029 | * Shell History:: Repeating previous commands in a shell buffer. |
| 1030 | * Directory Tracking:: Keeping track when the subshell changes directory. | 1030 | * Directory Tracking:: Keeping track when the subshell changes directory. |
| @@ -1032,7 +1032,7 @@ Running Shell Commands from Emacs | |||
| 1032 | * Terminal emulator:: An Emacs window as a terminal emulator. | 1032 | * Terminal emulator:: An Emacs window as a terminal emulator. |
| 1033 | * Term Mode:: Special Emacs commands used in Term mode. | 1033 | * Term Mode:: Special Emacs commands used in Term mode. |
| 1034 | * Paging in Term:: Paging in the terminal emulator. | 1034 | * Paging in Term:: Paging in the terminal emulator. |
| 1035 | * Remote Host:: Connecting to another computer. | 1035 | * Remote Host:: Connecting to another computer. |
| 1036 | * Serial Terminal:: Connecting to a serial port. | 1036 | * Serial Terminal:: Connecting to a serial port. |
| 1037 | 1037 | ||
| 1038 | Shell Command History | 1038 | Shell Command History |
| @@ -1048,7 +1048,7 @@ Using Emacs as a Server | |||
| 1048 | 1048 | ||
| 1049 | Printing Hard Copies | 1049 | Printing Hard Copies |
| 1050 | 1050 | ||
| 1051 | * PostScript:: Printing buffers or regions as PostScript. | 1051 | * PostScript:: Printing buffers or regions as PostScript. |
| 1052 | * PostScript Variables:: Customizing the PostScript printing commands. | 1052 | * PostScript Variables:: Customizing the PostScript printing commands. |
| 1053 | * Printing Package:: An optional advanced printing interface. | 1053 | * Printing Package:: An optional advanced printing interface. |
| 1054 | 1054 | ||
| @@ -1060,18 +1060,18 @@ Hyperlinking and Navigation Features | |||
| 1060 | 1060 | ||
| 1061 | Customization | 1061 | Customization |
| 1062 | 1062 | ||
| 1063 | * Minor Modes:: Each minor mode is a feature you can turn on | 1063 | * Minor Modes:: Each minor mode is a feature you can turn on |
| 1064 | independently of any others. | 1064 | independently of any others. |
| 1065 | * Easy Customization:: Convenient way to browse and change settings. | 1065 | * Easy Customization:: Convenient way to browse and change settings. |
| 1066 | * Variables:: Many Emacs commands examine Emacs variables | 1066 | * Variables:: Many Emacs commands examine Emacs variables |
| 1067 | to decide what to do; by setting variables, | 1067 | to decide what to do; by setting variables, |
| 1068 | you can control their functioning. | 1068 | you can control their functioning. |
| 1069 | * Key Bindings:: The keymaps say what command each key runs. | 1069 | * Key Bindings:: The keymaps say what command each key runs. |
| 1070 | By changing them, you can "redefine keys". | 1070 | By changing them, you can "redefine keys". |
| 1071 | * Syntax:: The syntax table controls how words and | 1071 | * Syntax:: The syntax table controls how words and |
| 1072 | expressions are parsed. | 1072 | expressions are parsed. |
| 1073 | * Init File:: How to write common customizations in the | 1073 | * Init File:: How to write common customizations in the |
| 1074 | @file{.emacs} file. | 1074 | @file{.emacs} file. |
| 1075 | 1075 | ||
| 1076 | Easy Customization Interface | 1076 | Easy Customization Interface |
| 1077 | 1077 | ||
| @@ -1087,10 +1087,10 @@ Easy Customization Interface | |||
| 1087 | 1087 | ||
| 1088 | Variables | 1088 | Variables |
| 1089 | 1089 | ||
| 1090 | * Examining:: Examining or setting one variable's value. | 1090 | * Examining:: Examining or setting one variable's value. |
| 1091 | * Hooks:: Hook variables let you specify programs for parts | 1091 | * Hooks:: Hook variables let you specify programs for parts |
| 1092 | of Emacs to run on particular occasions. | 1092 | of Emacs to run on particular occasions. |
| 1093 | * Locals:: Per-buffer values of variables. | 1093 | * Locals:: Per-buffer values of variables. |
| 1094 | * File Variables:: How files can specify variable values. | 1094 | * File Variables:: How files can specify variable values. |
| 1095 | * Directory Variables:: How variable values can be specified by directory. | 1095 | * Directory Variables:: How variable values can be specified by directory. |
| 1096 | 1096 | ||
| @@ -1117,10 +1117,10 @@ Customizing Key Bindings | |||
| 1117 | 1117 | ||
| 1118 | The Init File, @file{~/.emacs} | 1118 | The Init File, @file{~/.emacs} |
| 1119 | 1119 | ||
| 1120 | * Init Syntax:: Syntax of constants in Emacs Lisp. | 1120 | * Init Syntax:: Syntax of constants in Emacs Lisp. |
| 1121 | * Init Examples:: How to do some things with an init file. | 1121 | * Init Examples:: How to do some things with an init file. |
| 1122 | * Terminal Init:: Each terminal type can have an init file. | 1122 | * Terminal Init:: Each terminal type can have an init file. |
| 1123 | * Find Init:: How Emacs finds the init file. | 1123 | * Find Init:: How Emacs finds the init file. |
| 1124 | * Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file. | 1124 | * Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file. |
| 1125 | 1125 | ||
| 1126 | Dealing with Emacs Trouble | 1126 | Dealing with Emacs Trouble |
| @@ -1138,31 +1138,31 @@ Dealing with Emacs Trouble | |||
| 1138 | Reporting Bugs | 1138 | Reporting Bugs |
| 1139 | 1139 | ||
| 1140 | * Bug Criteria:: Have you really found a bug? | 1140 | * Bug Criteria:: Have you really found a bug? |
| 1141 | * Understanding Bug Reporting:: How to report a bug effectively. | 1141 | * Understanding Bug Reporting:: How to report a bug effectively. |
| 1142 | * Checklist:: Steps to follow for a good bug report. | 1142 | * Checklist:: Steps to follow for a good bug report. |
| 1143 | * Sending Patches:: How to send a patch for GNU Emacs. | 1143 | * Sending Patches:: How to send a patch for GNU Emacs. |
| 1144 | 1144 | ||
| 1145 | Command Line Arguments for Emacs Invocation | 1145 | Command Line Arguments for Emacs Invocation |
| 1146 | 1146 | ||
| 1147 | * Action Arguments:: Arguments to visit files, load libraries, | 1147 | * Action Arguments:: Arguments to visit files, load libraries, |
| 1148 | and call functions. | 1148 | and call functions. |
| 1149 | * Initial Options:: Arguments that take effect while starting Emacs. | 1149 | * Initial Options:: Arguments that take effect while starting Emacs. |
| 1150 | * Command Example:: Examples of using command line arguments. | 1150 | * Command Example:: Examples of using command line arguments. |
| 1151 | * Resume Arguments:: Specifying arguments when you resume a running Emacs. | 1151 | * Resume Arguments:: Specifying arguments when you resume a running Emacs. |
| 1152 | * Environment:: Environment variables that Emacs uses. | 1152 | * Environment:: Environment variables that Emacs uses. |
| 1153 | * Display X:: Changing the default display and using remote login. | 1153 | * Display X:: Changing the default display and using remote login. |
| 1154 | * Font X:: Choosing a font for text, under X. | 1154 | * Font X:: Choosing a font for text, under X. |
| 1155 | * Colors:: Choosing display colors. | 1155 | * Colors:: Choosing display colors. |
| 1156 | * Window Size X:: Start-up window size, under X. | 1156 | * Window Size X:: Start-up window size, under X. |
| 1157 | * Borders X:: Internal and external borders, under X. | 1157 | * Borders X:: Internal and external borders, under X. |
| 1158 | * Title X:: Specifying the initial frame's title. | 1158 | * Title X:: Specifying the initial frame's title. |
| 1159 | * Icons X:: Choosing what sort of icon to use, under X. | 1159 | * Icons X:: Choosing what sort of icon to use, under X. |
| 1160 | * Misc X:: Other display options. | 1160 | * Misc X:: Other display options. |
| 1161 | 1161 | ||
| 1162 | Environment Variables | 1162 | Environment Variables |
| 1163 | 1163 | ||
| 1164 | * General Variables:: Environment variables that all versions of Emacs use. | 1164 | * General Variables:: Environment variables that all versions of Emacs use. |
| 1165 | * Misc Variables:: Certain system-specific variables. | 1165 | * Misc Variables:: Certain system-specific variables. |
| 1166 | * MS-Windows Registry:: An alternative to the environment on MS-Windows. | 1166 | * MS-Windows Registry:: An alternative to the environment on MS-Windows. |
| 1167 | 1167 | ||
| 1168 | X Options and Resources | 1168 | X Options and Resources |
diff --git a/doc/emacs/emerge-xtra.texi b/doc/emacs/emerge-xtra.texi index 762e2fc8727..f502d3f4728 100644 --- a/doc/emacs/emerge-xtra.texi +++ b/doc/emacs/emerge-xtra.texi | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 3 | @c Free Software Foundation, Inc. | ||
| 3 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 4 | @c | 5 | @c |
| 5 | @c This file is included either in emacs-xtra.texi (when producing the | 6 | @c This file is included either in emacs-xtra.texi (when producing the |
| @@ -22,16 +23,16 @@ easier. For other ways to compare files, see | |||
| 22 | and @ref{Top, Ediff,, ediff, The Ediff Manual}. | 23 | and @ref{Top, Ediff,, ediff, The Ediff Manual}. |
| 23 | 24 | ||
| 24 | @menu | 25 | @menu |
| 25 | * Overview of Emerge:: How to start Emerge. Basic concepts. | 26 | * Overview of Emerge:: How to start Emerge. Basic concepts. |
| 26 | * Submodes of Emerge:: Fast mode vs. Edit mode. | 27 | * Submodes of Emerge:: Fast mode vs. Edit mode. |
| 27 | Skip Prefers mode and Auto Advance mode. | 28 | Skip Prefers mode and Auto Advance mode. |
| 28 | * State of Difference:: You do the merge by specifying state A or B | 29 | * State of Difference:: You do the merge by specifying state A or B |
| 29 | for each difference. | 30 | for each difference. |
| 30 | * Merge Commands:: Commands for selecting a difference, | 31 | * Merge Commands:: Commands for selecting a difference, |
| 31 | changing states of differences, etc. | 32 | changing states of differences, etc. |
| 32 | * Exiting Emerge:: What to do when you've finished the merge. | 33 | * Exiting Emerge:: What to do when you've finished the merge. |
| 33 | * Combining in Emerge:: How to keep both alternatives for a difference. | 34 | * Combining in Emerge:: How to keep both alternatives for a difference. |
| 34 | * Fine Points of Emerge:: Miscellaneous issues. | 35 | * Fine Points of Emerge:: Miscellaneous issues. |
| 35 | @end menu | 36 | @end menu |
| 36 | 37 | ||
| 37 | @node Overview of Emerge | 38 | @node Overview of Emerge |
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index d6a7692d3ab..4701c1a7a89 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, 1999, 2000, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, |
| 3 | @c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Files, Buffers, Keyboard Macros, Top | 6 | @node Files, Buffers, Keyboard Macros, Top |
| 6 | @chapter File Handling | 7 | @chapter File Handling |
| @@ -553,9 +554,9 @@ makes a backup from the previous contents, and arranges to make | |||
| 553 | another from the newly saved contents if you save again. | 554 | another from the newly saved contents if you save again. |
| 554 | 555 | ||
| 555 | @menu | 556 | @menu |
| 556 | * Names: Backup Names. How backup files are named. | 557 | * Names: Backup Names. How backup files are named. |
| 557 | * Deletion: Backup Deletion. Emacs deletes excess numbered backups. | 558 | * Deletion: Backup Deletion. Emacs deletes excess numbered backups. |
| 558 | * Copying: Backup Copying. Backups can be made by copying or renaming. | 559 | * Copying: Backup Copying. Backups can be made by copying or renaming. |
| 559 | @end menu | 560 | @end menu |
| 560 | 561 | ||
| 561 | @node Backup Names | 562 | @node Backup Names |
| @@ -994,7 +995,7 @@ execution of commands you have been typing. | |||
| 994 | * Files: Auto Save Files. The file where auto-saved changes are | 995 | * Files: Auto Save Files. The file where auto-saved changes are |
| 995 | actually made until you save the file. | 996 | actually made until you save the file. |
| 996 | * Control: Auto Save Control. Controlling when and how often to auto-save. | 997 | * Control: Auto Save Control. Controlling when and how often to auto-save. |
| 997 | * Recover:: Recovering text from auto-save files. | 998 | * Recover:: Recovering text from auto-save files. |
| 998 | @end menu | 999 | @end menu |
| 999 | 1000 | ||
| 1000 | @node Auto Save Files | 1001 | @node Auto Save Files |
diff --git a/doc/emacs/fortran-xtra.texi b/doc/emacs/fortran-xtra.texi index f91297d4dd8..d875ed46812 100644 --- a/doc/emacs/fortran-xtra.texi +++ b/doc/emacs/fortran-xtra.texi | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 3 | @c Free Software Foundation, Inc. | ||
| 3 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 4 | @c | 5 | @c |
| 5 | @c This file is included either in emacs-xtra.texi (when producing the | 6 | @c This file is included either in emacs-xtra.texi (when producing the |
| @@ -57,12 +58,12 @@ command runs the hook @code{fortran-mode-hook}. | |||
| 57 | @end ifnottex | 58 | @end ifnottex |
| 58 | 59 | ||
| 59 | @menu | 60 | @menu |
| 60 | * Motion: Fortran Motion. Moving point by statements or subprograms. | 61 | * Motion: Fortran Motion. Moving point by statements or subprograms. |
| 61 | * Indent: Fortran Indent. Indentation commands for Fortran. | 62 | * Indent: Fortran Indent. Indentation commands for Fortran. |
| 62 | * Comments: Fortran Comments. Inserting and aligning comments. | 63 | * Comments: Fortran Comments. Inserting and aligning comments. |
| 63 | * Autofill: Fortran Autofill. Auto fill support for Fortran. | 64 | * Autofill: Fortran Autofill. Auto fill support for Fortran. |
| 64 | * Columns: Fortran Columns. Measuring columns for valid Fortran. | 65 | * Columns: Fortran Columns. Measuring columns for valid Fortran. |
| 65 | * Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords. | 66 | * Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords. |
| 66 | @end menu | 67 | @end menu |
| 67 | 68 | ||
| 68 | @node Fortran Motion | 69 | @node Fortran Motion |
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index cde901acf75..fbc21f17884 100644 --- a/doc/emacs/frames.texi +++ b/doc/emacs/frames.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, 1999, 2000, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, |
| 3 | @c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Frames, International, Windows, Top | 6 | @node Frames, International, Windows, Top |
| 6 | @chapter Frames and Graphical Displays | 7 | @chapter Frames and Graphical Displays |
| @@ -44,10 +45,10 @@ so that you can use many of the features described in this chapter. | |||
| 44 | * Multiple Displays:: How one Emacs job can talk to several displays. | 45 | * Multiple Displays:: How one Emacs job can talk to several displays. |
| 45 | * Special Buffer Frames:: You can make certain buffers have their own frames. | 46 | * Special Buffer Frames:: You can make certain buffers have their own frames. |
| 46 | * Frame Parameters:: Changing the colors and other modes of frames. | 47 | * Frame Parameters:: Changing the colors and other modes of frames. |
| 47 | * Scroll Bars:: How to enable and disable scroll bars; how to use them. | 48 | * Scroll Bars:: How to enable and disable scroll bars; how to use them. |
| 48 | * Wheeled Mice:: Using mouse wheels for scrolling. | 49 | * Wheeled Mice:: Using mouse wheels for scrolling. |
| 49 | * Drag and Drop:: Using drag and drop to open files and insert text. | 50 | * Drag and Drop:: Using drag and drop to open files and insert text. |
| 50 | * Menu Bars:: Enabling and disabling the menu bar. | 51 | * Menu Bars:: Enabling and disabling the menu bar. |
| 51 | * Tool Bars:: Enabling and disabling the tool bar. | 52 | * Tool Bars:: Enabling and disabling the tool bar. |
| 52 | * Dialog Boxes:: Controlling use of dialog boxes. | 53 | * Dialog Boxes:: Controlling use of dialog boxes. |
| 53 | * Tooltips:: Displaying information at the current mouse position. | 54 | * Tooltips:: Displaying information at the current mouse position. |
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi index ac3539881d8..3e298bb0f96 100644 --- a/doc/emacs/help.texi +++ b/doc/emacs/help.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Help, Mark, M-x, Top | 6 | @node Help, Mark, M-x, Top |
| 6 | @chapter Help | 7 | @chapter Help |
| @@ -69,14 +70,14 @@ This displays the available Emacs packages based on keywords. | |||
| 69 | @end table | 70 | @end table |
| 70 | 71 | ||
| 71 | @menu | 72 | @menu |
| 72 | * Help Summary:: Brief list of all Help commands. | 73 | * Help Summary:: Brief list of all Help commands. |
| 73 | * Key Help:: Asking what a key does in Emacs. | 74 | * Key Help:: Asking what a key does in Emacs. |
| 74 | * Name Help:: Asking about a command, variable or function name. | 75 | * Name Help:: Asking about a command, variable or function name. |
| 75 | * Apropos:: Asking what pertains to a given topic. | 76 | * Apropos:: Asking what pertains to a given topic. |
| 76 | * Help Mode:: Special features of Help mode and Help buffers. | 77 | * Help Mode:: Special features of Help mode and Help buffers. |
| 77 | * Library Keywords:: Finding Lisp libraries by keywords (topics). | 78 | * Library Keywords:: Finding Lisp libraries by keywords (topics). |
| 78 | * Language Help:: Help relating to international language support. | 79 | * Language Help:: Help relating to international language support. |
| 79 | * Misc Help:: Other help commands. | 80 | * Misc Help:: Other help commands. |
| 80 | * Help Files:: Commands to display pre-written help files. | 81 | * Help Files:: Commands to display pre-written help files. |
| 81 | * Help Echo:: Help on active text and tooltips (`balloon help'). | 82 | * Help Echo:: Help on active text and tooltips (`balloon help'). |
| 82 | @end menu | 83 | @end menu |
diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi index 07533a15a84..150f05b5994 100644 --- a/doc/emacs/killing.texi +++ b/doc/emacs/killing.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | 6 | ||
| 6 | @node Killing, Yanking, Mark, Top | 7 | @node Killing, Yanking, Mark, Top |
| @@ -260,9 +261,9 @@ than you killed any text in Emacs, @kbd{C-y} copies the selection | |||
| 260 | instead of text killed within Emacs. | 261 | instead of text killed within Emacs. |
| 261 | 262 | ||
| 262 | @menu | 263 | @menu |
| 263 | * Kill Ring:: Where killed text is stored. Basic yanking. | 264 | * Kill Ring:: Where killed text is stored. Basic yanking. |
| 264 | * Appending Kills:: Several kills in a row all yank together. | 265 | * Appending Kills:: Several kills in a row all yank together. |
| 265 | * Earlier Kills:: Yanking something killed some time ago. | 266 | * Earlier Kills:: Yanking something killed some time ago. |
| 266 | @end menu | 267 | @end menu |
| 267 | 268 | ||
| 268 | @node Kill Ring | 269 | @node Kill Ring |
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index 8c417bc12ac..f5a93ec60e7 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi | |||
| @@ -11,9 +11,9 @@ programs. | |||
| 11 | 11 | ||
| 12 | @menu | 12 | @menu |
| 13 | * Version Control:: Using version control systems. | 13 | * Version Control:: Using version control systems. |
| 14 | * Change Log:: Maintaining a change history for your program. | 14 | * Change Log:: Maintaining a change history for your program. |
| 15 | * Tags:: Go directly to any function in your program in one | 15 | * Tags:: Go directly to any function in your program in one |
| 16 | command. Tags remembers which file it is in. | 16 | command. Tags remembers which file it is in. |
| 17 | * EDE:: An integrated development environment for Emacs. | 17 | * EDE:: An integrated development environment for Emacs. |
| 18 | @ifnottex | 18 | @ifnottex |
| 19 | * Emerge:: A convenient way of merging two versions of a program. | 19 | * Emerge:: A convenient way of merging two versions of a program. |
| @@ -1570,13 +1570,13 @@ within that file where the function is defined. | |||
| 1570 | @xref{Top,, Ebrowse, ebrowse, Ebrowse User's Manual}. | 1570 | @xref{Top,, Ebrowse, ebrowse, Ebrowse User's Manual}. |
| 1571 | 1571 | ||
| 1572 | @menu | 1572 | @menu |
| 1573 | * Tag Syntax:: Tag syntax for various types of code and text files. | 1573 | * Tag Syntax:: Tag syntax for various types of code and text files. |
| 1574 | * Create Tags Table:: Creating a tags table with @code{etags}. | 1574 | * Create Tags Table:: Creating a tags table with @code{etags}. |
| 1575 | * Etags Regexps:: Create arbitrary tags using regular expressions. | 1575 | * Etags Regexps:: Create arbitrary tags using regular expressions. |
| 1576 | * Select Tags Table:: How to visit a tags table. | 1576 | * Select Tags Table:: How to visit a tags table. |
| 1577 | * Find Tag:: Commands to find the definition of a specific tag. | 1577 | * Find Tag:: Commands to find the definition of a specific tag. |
| 1578 | * Tags Search:: Using a tags table for searching and replacing. | 1578 | * Tags Search:: Using a tags table for searching and replacing. |
| 1579 | * List Tags:: Listing and finding tags defined in a file. | 1579 | * List Tags:: Listing and finding tags defined in a file. |
| 1580 | @end menu | 1580 | @end menu |
| 1581 | 1581 | ||
| 1582 | @node Tag Syntax | 1582 | @node Tag Syntax |
diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi index 4d6b38ad713..2ebab1daaeb 100644 --- a/doc/emacs/mark.texi +++ b/doc/emacs/mark.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, 2001, 2002, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Mark, Killing, Help, Top | 6 | @node Mark, Killing, Help, Top |
| 6 | @chapter The Mark and the Region | 7 | @chapter The Mark and the Region |
| @@ -41,13 +42,13 @@ if the variable @code{highlight-nonselected-windows} is | |||
| 41 | non-@code{nil}, each window highlights its own region. | 42 | non-@code{nil}, each window highlights its own region. |
| 42 | 43 | ||
| 43 | @menu | 44 | @menu |
| 44 | * Setting Mark:: Commands to set the mark. | 45 | * Setting Mark:: Commands to set the mark. |
| 45 | * Marking Objects:: Commands to put region around textual units. | 46 | * Marking Objects:: Commands to put region around textual units. |
| 46 | * Using Region:: Summary of ways to operate on contents of the region. | 47 | * Using Region:: Summary of ways to operate on contents of the region. |
| 47 | * Mark Ring:: Previous mark positions saved so you can go back there. | 48 | * Mark Ring:: Previous mark positions saved so you can go back there. |
| 48 | * Global Mark Ring:: Previous mark positions in various buffers. | 49 | * Global Mark Ring:: Previous mark positions in various buffers. |
| 49 | * Shift Selection:: Using shifted cursor motion keys. | 50 | * Shift Selection:: Using shifted cursor motion keys. |
| 50 | * Persistent Mark:: Keeping the mark active all the time. | 51 | * Persistent Mark:: Keeping the mark active all the time. |
| 51 | @end menu | 52 | @end menu |
| 52 | 53 | ||
| 53 | @node Setting Mark | 54 | @node Setting Mark |
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi index 1726a6780d5..3750e1d49e2 100644 --- a/doc/emacs/mini.texi +++ b/doc/emacs/mini.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Minibuffer, M-x, Basic, Top | 6 | @node Minibuffer, M-x, Basic, Top |
| 6 | @chapter The Minibuffer | 7 | @chapter The Minibuffer |
| @@ -43,9 +44,9 @@ is in use, keystrokes do not echo. | |||
| 43 | @menu | 44 | @menu |
| 44 | * Minibuffer File:: Entering file names with the minibuffer. | 45 | * Minibuffer File:: Entering file names with the minibuffer. |
| 45 | * Minibuffer Edit:: How to edit in the minibuffer. | 46 | * Minibuffer Edit:: How to edit in the minibuffer. |
| 46 | * Completion:: An abbreviation facility for minibuffer input. | 47 | * Completion:: An abbreviation facility for minibuffer input. |
| 47 | * Minibuffer History:: Reusing recent minibuffer arguments. | 48 | * Minibuffer History:: Reusing recent minibuffer arguments. |
| 48 | * Repetition:: Re-executing commands that used the minibuffer. | 49 | * Repetition:: Re-executing commands that used the minibuffer. |
| 49 | * Passwords:: Entering passwords in the echo area. | 50 | * Passwords:: Entering passwords in the echo area. |
| 50 | @end menu | 51 | @end menu |
| 51 | 52 | ||
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 8c89c7b7a27..387e1be715a 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi | |||
| @@ -71,10 +71,10 @@ set or customize the variable @code{doc-view-resolution}. | |||
| 71 | (@code{quit-window}). | 71 | (@code{quit-window}). |
| 72 | 72 | ||
| 73 | @menu | 73 | @menu |
| 74 | * Navigation:: Navigation inside DocView buffers. | 74 | * Navigation:: Navigation inside DocView buffers. |
| 75 | * Searching:: Searching inside documents. | 75 | * Searching:: Searching inside documents. |
| 76 | * Slicing:: Specifying which part of pages should be displayed. | 76 | * Slicing:: Specifying which part of pages should be displayed. |
| 77 | * Conversion:: Influencing and triggering conversion. | 77 | * Conversion:: Influencing and triggering conversion. |
| 78 | @end menu | 78 | @end menu |
| 79 | 79 | ||
| 80 | @node Navigation | 80 | @node Navigation |
| @@ -211,9 +211,9 @@ manual. | |||
| 211 | To start Gnus, type @kbd{M-x gnus @key{RET}}. | 211 | To start Gnus, type @kbd{M-x gnus @key{RET}}. |
| 212 | 212 | ||
| 213 | @menu | 213 | @menu |
| 214 | * Buffers of Gnus:: The group, summary, and article buffers. | 214 | * Buffers of Gnus:: The group, summary, and article buffers. |
| 215 | * Gnus Startup:: What you should know about starting Gnus. | 215 | * Gnus Startup:: What you should know about starting Gnus. |
| 216 | * Summary of Gnus:: A short description of the basic Gnus commands. | 216 | * Summary of Gnus:: A short description of the basic Gnus commands. |
| 217 | @end menu | 217 | @end menu |
| 218 | 218 | ||
| 219 | @node Buffers of Gnus | 219 | @node Buffers of Gnus |
| @@ -1757,7 +1757,7 @@ whether to supply @samp{-T} and @samp{-J} options (suitable for | |||
| 1757 | not compatible with @code{lpr}. | 1757 | not compatible with @code{lpr}. |
| 1758 | 1758 | ||
| 1759 | @menu | 1759 | @menu |
| 1760 | * PostScript:: Printing buffers or regions as PostScript. | 1760 | * PostScript:: Printing buffers or regions as PostScript. |
| 1761 | * PostScript Variables:: Customizing the PostScript printing commands. | 1761 | * PostScript Variables:: Customizing the PostScript printing commands. |
| 1762 | * Printing Package:: An optional advanced printing interface. | 1762 | * Printing Package:: An optional advanced printing interface. |
| 1763 | @end menu | 1763 | @end menu |
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi index 5229d1effa2..a44438bf81f 100644 --- a/doc/emacs/msdog.texi +++ b/doc/emacs/msdog.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top | 6 | @node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top |
| 6 | @appendix Emacs and Microsoft Windows/MS-DOS | 7 | @appendix Emacs and Microsoft Windows/MS-DOS |
| @@ -761,8 +762,8 @@ printer, put this in your @file{.emacs} file: | |||
| 761 | (setq ps-printer-name t) | 762 | (setq ps-printer-name t) |
| 762 | (setq ps-lpr-command "D:/gs6.01/bin/gswin32c.exe") | 763 | (setq ps-lpr-command "D:/gs6.01/bin/gswin32c.exe") |
| 763 | (setq ps-lpr-switches '("-q" "-dNOPAUSE" "-dBATCH" | 764 | (setq ps-lpr-switches '("-q" "-dNOPAUSE" "-dBATCH" |
| 764 | "-sDEVICE=mswinpr2" | 765 | "-sDEVICE=mswinpr2" |
| 765 | "-sPAPERSIZE=a4")) | 766 | "-sPAPERSIZE=a4")) |
| 766 | @end example | 767 | @end example |
| 767 | 768 | ||
| 768 | @noindent | 769 | @noindent |
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi index be639f45b0a..9fdef175826 100644 --- a/doc/emacs/mule.texi +++ b/doc/emacs/mule.texi | |||
| @@ -228,7 +228,7 @@ in a buffer whose coding system is @code{utf-8-unix}: | |||
| 228 | character: @`A (192, #o300, #xc0) | 228 | character: @`A (192, #o300, #xc0) |
| 229 | preferred charset: unicode (Unicode (ISO10646)) | 229 | preferred charset: unicode (Unicode (ISO10646)) |
| 230 | code point: 0xC0 | 230 | code point: 0xC0 |
| 231 | syntax: w which means: word | 231 | syntax: w which means: word |
| 232 | category: j:Japanese l:Latin v:Vietnamese | 232 | category: j:Japanese l:Latin v:Vietnamese |
| 233 | buffer code: #xC3 #x80 | 233 | buffer code: #xC3 #x80 |
| 234 | file code: not encodable by coding system undecided-unix | 234 | file code: not encodable by coding system undecided-unix |
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index 72541eccc6f..b729df105e7 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi | |||
| @@ -34,7 +34,7 @@ Highlight program syntax (@pxref{Font Lock}). | |||
| 34 | of a program. | 34 | of a program. |
| 35 | * Program Indent:: Adjusting indentation to show the nesting. | 35 | * Program Indent:: Adjusting indentation to show the nesting. |
| 36 | * Parentheses:: Commands that operate on parentheses. | 36 | * Parentheses:: Commands that operate on parentheses. |
| 37 | * Comments:: Inserting, killing, and aligning comments. | 37 | * Comments:: Inserting, killing, and aligning comments. |
| 38 | * Documentation:: Getting documentation of functions you plan to call. | 38 | * Documentation:: Getting documentation of functions you plan to call. |
| 39 | * Hideshow:: Displaying blocks selectively. | 39 | * Hideshow:: Displaying blocks selectively. |
| 40 | * Symbol Completion:: Completion on symbol names of your program or language. | 40 | * Symbol Completion:: Completion on symbol names of your program or language. |
| @@ -354,11 +354,11 @@ single line, a specified number of lines, or all of the lines inside a | |||
| 354 | single parenthetical grouping. | 354 | single parenthetical grouping. |
| 355 | 355 | ||
| 356 | @menu | 356 | @menu |
| 357 | * Basic Indent:: Indenting a single line. | 357 | * Basic Indent:: Indenting a single line. |
| 358 | * Multi-line Indent:: Commands to reindent many lines at once. | 358 | * Multi-line Indent:: Commands to reindent many lines at once. |
| 359 | * Lisp Indent:: Specifying how each Lisp function should be indented. | 359 | * Lisp Indent:: Specifying how each Lisp function should be indented. |
| 360 | * C Indent:: Extra features for indenting C and related modes. | 360 | * C Indent:: Extra features for indenting C and related modes. |
| 361 | * Custom C Indent:: Controlling indentation style for C and related modes. | 361 | * Custom C Indent:: Controlling indentation style for C and related modes. |
| 362 | @end menu | 362 | @end menu |
| 363 | 363 | ||
| 364 | @cindex pretty-printer | 364 | @cindex pretty-printer |
| @@ -652,7 +652,7 @@ parentheses and unbalanced string quotes in the buffer. | |||
| 652 | * Expressions:: Expressions with balanced parentheses. | 652 | * Expressions:: Expressions with balanced parentheses. |
| 653 | * Moving by Parens:: Commands for moving up, down and across | 653 | * Moving by Parens:: Commands for moving up, down and across |
| 654 | in the structure of parentheses. | 654 | in the structure of parentheses. |
| 655 | * Matching:: Insertion of a close-delimiter flashes matching open. | 655 | * Matching:: Insertion of a close-delimiter flashes matching open. |
| 656 | @end menu | 656 | @end menu |
| 657 | 657 | ||
| 658 | @node Expressions | 658 | @node Expressions |
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi index 8a4ce492ee1..d477ca73c46 100644 --- a/doc/emacs/rmail.texi +++ b/doc/emacs/rmail.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, 2001, 2002, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Rmail, Dired, Sending Mail, Top | 6 | @node Rmail, Dired, Sending Mail, Top |
| 6 | @chapter Reading Mail with Rmail | 7 | @chapter Reading Mail with Rmail |
| @@ -21,7 +22,7 @@ Rmail mode, which redefines most letters to run commands for managing mail. | |||
| 21 | * Deletion: Rmail Deletion. Deleting and expunging messages. | 22 | * Deletion: Rmail Deletion. Deleting and expunging messages. |
| 22 | * Inbox: Rmail Inbox. How mail gets into the Rmail file. | 23 | * Inbox: Rmail Inbox. How mail gets into the Rmail file. |
| 23 | * Files: Rmail Files. Using multiple Rmail files. | 24 | * Files: Rmail Files. Using multiple Rmail files. |
| 24 | * Output: Rmail Output. Copying messages out to files. | 25 | * Output: Rmail Output. Copying messages out to files. |
| 25 | * Labels: Rmail Labels. Classifying messages by labeling them. | 26 | * Labels: Rmail Labels. Classifying messages by labeling them. |
| 26 | * Attrs: Rmail Attributes. Certain standard labels, called attributes. | 27 | * Attrs: Rmail Attributes. Certain standard labels, called attributes. |
| 27 | * Reply: Rmail Reply. Sending replies to messages you are viewing. | 28 | * Reply: Rmail Reply. Sending replies to messages you are viewing. |
| @@ -31,7 +32,7 @@ Rmail mode, which redefines most letters to run commands for managing mail. | |||
| 31 | * Coding: Rmail Coding. How Rmail handles decoding character sets. | 32 | * Coding: Rmail Coding. How Rmail handles decoding character sets. |
| 32 | * Editing: Rmail Editing. Editing message text and headers in Rmail. | 33 | * Editing: Rmail Editing. Editing message text and headers in Rmail. |
| 33 | * Digest: Rmail Digest. Extracting the messages from a digest message. | 34 | * Digest: Rmail Digest. Extracting the messages from a digest message. |
| 34 | * Rot13: Rmail Rot13. Reading messages encoded in the rot13 code. | 35 | * Rot13: Rmail Rot13. Reading messages encoded in the rot13 code. |
| 35 | * Movemail:: More details of fetching new mail. | 36 | * Movemail:: More details of fetching new mail. |
| 36 | * Remote Mailboxes:: Retrieving mail from remote mailboxes. | 37 | * Remote Mailboxes:: Retrieving mail from remote mailboxes. |
| 37 | * Other Mailbox Formats:: Retrieving mail from local mailboxes in | 38 | * Other Mailbox Formats:: Retrieving mail from local mailboxes in |
| @@ -834,8 +835,8 @@ Rmail buffer's name. Normally only one summary buffer is displayed at a | |||
| 834 | time. | 835 | time. |
| 835 | 836 | ||
| 836 | @menu | 837 | @menu |
| 837 | * Rmail Make Summary:: Making various sorts of summaries. | 838 | * Rmail Make Summary:: Making various sorts of summaries. |
| 838 | * Rmail Summary Edit:: Manipulating messages from the summary. | 839 | * Rmail Summary Edit:: Manipulating messages from the summary. |
| 839 | @end menu | 840 | @end menu |
| 840 | 841 | ||
| 841 | @node Rmail Make Summary | 842 | @node Rmail Make Summary |
diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi index 43a32d8680e..88d248a93bf 100644 --- a/doc/emacs/screen.texi +++ b/doc/emacs/screen.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, 2001, 2002, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Screen, User Input, Acknowledgments, Top | 6 | @node Screen, User Input, Acknowledgments, Top |
| 6 | @chapter The Organization of the Screen | 7 | @chapter The Organization of the Screen |
| @@ -53,10 +54,10 @@ reference. If you use multiple frames on a graphical display, | |||
| 53 | selecting a particular frame selects a window in that frame. | 54 | selecting a particular frame selects a window in that frame. |
| 54 | 55 | ||
| 55 | @menu | 56 | @menu |
| 56 | * Point:: The place in the text where editing commands operate. | 57 | * Point:: The place in the text where editing commands operate. |
| 57 | * Echo Area:: Short messages appear at the bottom of the screen. | 58 | * Echo Area:: Short messages appear at the bottom of the screen. |
| 58 | * Mode Line:: Interpreting the mode line. | 59 | * Mode Line:: Interpreting the mode line. |
| 59 | * Menu Bar:: How to use the menu bar. | 60 | * Menu Bar:: How to use the menu bar. |
| 60 | @end menu | 61 | @end menu |
| 61 | 62 | ||
| 62 | @node Point | 63 | @node Point |
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 890dd48df9f..69532e6083d 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, 2002, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002, |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Search, Fixit, Display, Top | 6 | @node Search, Fixit, Display, Top |
| 6 | @chapter Searching and Replacement | 7 | @chapter Searching and Replacement |
| @@ -19,16 +20,16 @@ thing, but search for patterns instead of fixed strings. | |||
| 19 | 20 | ||
| 20 | 21 | ||
| 21 | @menu | 22 | @menu |
| 22 | * Incremental Search:: Search happens as you type the string. | 23 | * Incremental Search:: Search happens as you type the string. |
| 23 | * Nonincremental Search:: Specify entire string and then search. | 24 | * Nonincremental Search:: Specify entire string and then search. |
| 24 | * Word Search:: Search for sequence of words. | 25 | * Word Search:: Search for sequence of words. |
| 25 | * Regexp Search:: Search for match for a regexp. | 26 | * Regexp Search:: Search for match for a regexp. |
| 26 | * Regexps:: Syntax of regular expressions. | 27 | * Regexps:: Syntax of regular expressions. |
| 27 | * Regexp Backslash:: Regular expression constructs starting with `\'. | 28 | * Regexp Backslash:: Regular expression constructs starting with `\'. |
| 28 | * Regexp Example:: A complex regular expression explained. | 29 | * Regexp Example:: A complex regular expression explained. |
| 29 | * Search Case:: To ignore case while searching, or not. | 30 | * Search Case:: To ignore case while searching, or not. |
| 30 | * Replace:: Search, and replace some or all matches. | 31 | * Replace:: Search, and replace some or all matches. |
| 31 | * Other Repeating Search:: Operating on all matches for some regexp. | 32 | * Other Repeating Search:: Operating on all matches for some regexp. |
| 32 | @end menu | 33 | @end menu |
| 33 | 34 | ||
| 34 | @node Incremental Search | 35 | @node Incremental Search |
| @@ -983,10 +984,10 @@ is possible to perform several replacements in parallel, using the | |||
| 983 | command @code{expand-region-abbrevs} (@pxref{Expanding Abbrevs}). | 984 | command @code{expand-region-abbrevs} (@pxref{Expanding Abbrevs}). |
| 984 | 985 | ||
| 985 | @menu | 986 | @menu |
| 986 | * Unconditional Replace:: Replacing all matches for a string. | 987 | * Unconditional Replace:: Replacing all matches for a string. |
| 987 | * Regexp Replace:: Replacing all matches for a regexp. | 988 | * Regexp Replace:: Replacing all matches for a regexp. |
| 988 | * Replacement and Case:: How replacements preserve case of letters. | 989 | * Replacement and Case:: How replacements preserve case of letters. |
| 989 | * Query Replace:: How to use querying. | 990 | * Query Replace:: How to use querying. |
| 990 | @end menu | 991 | @end menu |
| 991 | 992 | ||
| 992 | @node Unconditional Replace, Regexp Replace, Replace, Replace | 993 | @node Unconditional Replace, Regexp Replace, Replace, Replace |
diff --git a/doc/emacs/sending.texi b/doc/emacs/sending.texi index 59f140e5f8a..95bf5873eb0 100644 --- a/doc/emacs/sending.texi +++ b/doc/emacs/sending.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, 2002, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002, |
| 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Sending Mail | 6 | @node Sending Mail |
| 6 | @chapter Sending Mail | 7 | @chapter Sending Mail |
| @@ -63,7 +64,7 @@ you may need to customize @code{user-mail-address} if the system | |||
| 63 | cannot receive mail via SMTP (@pxref{Mail Headers}). | 64 | cannot receive mail via SMTP (@pxref{Mail Headers}). |
| 64 | 65 | ||
| 65 | @menu | 66 | @menu |
| 66 | * Format: Mail Format. Format of a mail message. | 67 | * Format: Mail Format. Format of a mail message. |
| 67 | * Headers: Mail Headers. Details of some standard mail header fields. | 68 | * Headers: Mail Headers. Details of some standard mail header fields. |
| 68 | * Aliases: Mail Aliases. Abbreviating and grouping mail addresses. | 69 | * Aliases: Mail Aliases. Abbreviating and grouping mail addresses. |
| 69 | * Commands: Mail Commands. Special commands for editing mail being composed. | 70 | * Commands: Mail Commands. Special commands for editing mail being composed. |
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index c00410e047a..a9faa420967 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 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, | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, |
| 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @node Text, Programs, Indentation, Top | 6 | @node Text, Programs, Indentation, Top |
| 6 | @chapter Commands for Human Languages | 7 | @chapter Commands for Human Languages |
| @@ -57,17 +58,17 @@ for editing such pictures. | |||
| 57 | @inforef{Top,, autotype}. | 58 | @inforef{Top,, autotype}. |
| 58 | 59 | ||
| 59 | @menu | 60 | @menu |
| 60 | * Words:: Moving over and killing words. | 61 | * Words:: Moving over and killing words. |
| 61 | * Sentences:: Moving over and killing sentences. | 62 | * Sentences:: Moving over and killing sentences. |
| 62 | * Paragraphs:: Moving over paragraphs. | 63 | * Paragraphs:: Moving over paragraphs. |
| 63 | * Pages:: Moving over pages. | 64 | * Pages:: Moving over pages. |
| 64 | * Filling:: Filling or justifying text. | 65 | * Filling:: Filling or justifying text. |
| 65 | * Case:: Changing the case of text. | 66 | * Case:: Changing the case of text. |
| 66 | * Text Mode:: The major modes for editing text files. | 67 | * Text Mode:: The major modes for editing text files. |
| 67 | * Outline Mode:: Editing outlines. | 68 | * Outline Mode:: Editing outlines. |
| 68 | * TeX Mode:: Editing input to the formatter TeX. | 69 | * TeX Mode:: Editing input to the formatter TeX. |
| 69 | * HTML Mode:: Editing HTML and SGML files. | 70 | * HTML Mode:: Editing HTML and SGML files. |
| 70 | * Nroff Mode:: Editing input to the formatter nroff. | 71 | * Nroff Mode:: Editing input to the formatter nroff. |
| 71 | * Formatted Text:: Editing formatted text directly in WYSIWYG fashion. | 72 | * Formatted Text:: Editing formatted text directly in WYSIWYG fashion. |
| 72 | * Text Based Tables:: Editing text-based tables in WYSIWYG fashion. | 73 | * Text Based Tables:: Editing text-based tables in WYSIWYG fashion. |
| 73 | @end menu | 74 | @end menu |
| @@ -402,13 +403,12 @@ a style of filling for each portion of the text (@pxref{Formatted | |||
| 402 | Text}). | 403 | Text}). |
| 403 | 404 | ||
| 404 | @menu | 405 | @menu |
| 405 | * Auto Fill:: Auto Fill mode breaks long lines automatically. | 406 | * Auto Fill:: Auto Fill mode breaks long lines automatically. |
| 406 | * Fill Commands:: Commands to refill paragraphs and center lines. | 407 | * Fill Commands:: Commands to refill paragraphs and center lines. |
| 407 | * Fill Prefix:: Filling paragraphs that are indented | 408 | * Fill Prefix:: Filling paragraphs that are indented or in a comment, etc. |
| 408 | or in a comment, etc. | 409 | * Adaptive Fill:: How Emacs can determine the fill prefix automatically. |
| 409 | * Adaptive Fill:: How Emacs can determine the fill prefix automatically. | 410 | * Refill:: Keeping paragraphs filled. |
| 410 | * Refill:: Keeping paragraphs filled. | 411 | * Longlines:: Editing text with very long lines. |
| 411 | * Longlines:: Editing text with very long lines. | ||
| 412 | @end menu | 412 | @end menu |
| 413 | 413 | ||
| 414 | @node Auto Fill | 414 | @node Auto Fill |
| @@ -978,8 +978,8 @@ major mode's special commands. (The variable | |||
| 978 | the hook @code{outline-mode-hook} (@pxref{Hooks}). | 978 | the hook @code{outline-mode-hook} (@pxref{Hooks}). |
| 979 | 979 | ||
| 980 | @menu | 980 | @menu |
| 981 | * Format: Outline Format. What the text of an outline looks like. | 981 | * Format: Outline Format. What the text of an outline looks like. |
| 982 | * Motion: Outline Motion. Special commands for moving through | 982 | * Motion: Outline Motion. Special commands for moving through |
| 983 | outlines. | 983 | outlines. |
| 984 | * Visibility: Outline Visibility. Commands to control what is visible. | 984 | * Visibility: Outline Visibility. Commands to control what is visible. |
| 985 | * Views: Outline Views. Outlines and multiple views. | 985 | * Views: Outline Views. Outlines and multiple views. |
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 69b5b82a056..0390b7da910 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi | |||
| @@ -426,10 +426,10 @@ problem in these two documents might provide you with a solution or a | |||
| 426 | work-around, or give you additional information about related issues. | 426 | work-around, or give you additional information about related issues. |
| 427 | 427 | ||
| 428 | @menu | 428 | @menu |
| 429 | * Criteria: Bug Criteria. Have you really found a bug? | 429 | * Criteria: Bug Criteria. Have you really found a bug? |
| 430 | * Understanding Bug Reporting:: How to report a bug effectively. | 430 | * Understanding Bug Reporting:: How to report a bug effectively. |
| 431 | * Checklist:: Steps to follow for a good bug report. | 431 | * Checklist:: Steps to follow for a good bug report. |
| 432 | * Sending Patches:: How to send a patch for GNU Emacs. | 432 | * Sending Patches:: How to send a patch for GNU Emacs. |
| 433 | @end menu | 433 | @end menu |
| 434 | 434 | ||
| 435 | @node Bug Criteria | 435 | @node Bug Criteria |
diff --git a/doc/emacs/vc1-xtra.texi b/doc/emacs/vc1-xtra.texi index d93286befda..5095c3f4764 100644 --- a/doc/emacs/vc1-xtra.texi +++ b/doc/emacs/vc1-xtra.texi | |||
| @@ -220,8 +220,8 @@ a symbolic name for a revision. | |||
| 220 | stable version of the system that is ready for distribution to users. | 220 | stable version of the system that is ready for distribution to users. |
| 221 | 221 | ||
| 222 | @menu | 222 | @menu |
| 223 | * Making Revision Tags:: The tag facilities. | 223 | * Making Revision Tags:: The tag facilities. |
| 224 | * Revision Tag Caveats:: Things to be careful of when using tags. | 224 | * Revision Tag Caveats:: Things to be careful of when using tags. |
| 225 | @end menu | 225 | @end menu |
| 226 | 226 | ||
| 227 | @node Making Revision Tags | 227 | @node Making Revision Tags |
diff --git a/doc/emacs/xresources.texi b/doc/emacs/xresources.texi index bc60ff946af..2a543eeee08 100644 --- a/doc/emacs/xresources.texi +++ b/doc/emacs/xresources.texi | |||
| @@ -435,13 +435,14 @@ Emacs.pane.menubar.faceName: Courier-12 | |||
| 435 | To specify a font, use fontconfig font names as values to the @code{faceName} | 435 | To specify a font, use fontconfig font names as values to the @code{faceName} |
| 436 | resource. | 436 | resource. |
| 437 | 437 | ||
| 438 | If Emacs is not built with the Xft library, Lucid menus and dialogs can only | 438 | If Emacs is not built with the Xft library, Lucid menus and dialogs |
| 439 | display old style fonts. If Emacs is built with Xft and you prefer the old | 439 | can only display old style fonts. If Emacs is built with Xft and you |
| 440 | fonts, you have to specify @samp{none} to @code{faceName}: | 440 | prefer the old fonts, you have to specify @samp{none} to |
| 441 | @code{faceName}: | ||
| 441 | 442 | ||
| 442 | @example | 443 | @example |
| 443 | Emacs.pane.menubar.faceName: none | 444 | Emacs.pane.menubar.faceName: none |
| 444 | Emacs.pane.dialog.faceName: none | 445 | Emacs.pane.dialog.faceName: none |
| 445 | @end example | 446 | @end example |
| 446 | 447 | ||
| 447 | @noindent | 448 | @noindent |
| @@ -472,7 +473,7 @@ Resources for @emph{non-menubar} toolkit pop-up menus have | |||
| 472 | the font @samp{8x16} for the pop-up menu items, write this: | 473 | the font @samp{8x16} for the pop-up menu items, write this: |
| 473 | 474 | ||
| 474 | @example | 475 | @example |
| 475 | Emacs.menu*.font: 8x16 | 476 | Emacs.menu*.font: 8x16 |
| 476 | @end example | 477 | @end example |
| 477 | 478 | ||
| 478 | @noindent | 479 | @noindent |
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index f52240fbdfd..093a7018ca3 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2010-06-23 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * emacs-lisp-intro.texi: Untabify. | ||
| 4 | |||
| 1 | 2010-05-07 Chong Yidong <cyd@stupidchicken.com> | 5 | 2010-05-07 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 6 | ||
| 3 | * Version 23.2 released. | 7 | * Version 23.2 released. |
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 0f3a3bc1993..dfba68cc911 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi | |||
| @@ -17789,7 +17789,7 @@ Incidentally, @code{load-library} is an interactive interface to the | |||
| 17789 | This is an interface to the function `load'." | 17789 | This is an interface to the function `load'." |
| 17790 | (interactive | 17790 | (interactive |
| 17791 | (list (completing-read "Load library: " | 17791 | (list (completing-read "Load library: " |
| 17792 | (apply-partially 'locate-file-completion-table | 17792 | (apply-partially 'locate-file-completion-table |
| 17793 | load-path | 17793 | load-path |
| 17794 | (get-load-suffixes))))) | 17794 | (get-load-suffixes))))) |
| 17795 | (load library)) | 17795 | (load library)) |
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index cecb6f0c661..ee6ba8ed50b 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,33 @@ | |||
| 1 | 2010-07-09 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * internals.texi (Writing Emacs Primitives): Adapt to ANSI C | ||
| 4 | calling sequences, which are now the standard. | ||
| 5 | |||
| 6 | 2010-06-24 Chong Yidong <cyd@stupidchicken.com> | ||
| 7 | |||
| 8 | * text.texi (Undo): Clarify command loop behavior (Bug#2433). | ||
| 9 | |||
| 10 | * commands.texi (Command Overview): Mention undo-boundary call. | ||
| 11 | |||
| 12 | 2010-06-23 Glenn Morris <rgm@gnu.org> | ||
| 13 | |||
| 14 | * abbrevs.texi, commands.texi, compile.texi, debugging.texi: | ||
| 15 | * display.texi, edebug.texi, elisp.texi, eval.texi, files.texi: | ||
| 16 | * frames.texi, functions.texi, internals.texi, keymaps.texi: | ||
| 17 | * loading.texi, minibuf.texi, numbers.texi, os.texi, processes.texi: | ||
| 18 | * searching.texi, sequences.texi, strings.texi, syntax.texi: | ||
| 19 | * text.texi, tips.texi, vol1.texi, vol2.texi, windows.texi: | ||
| 20 | Untabify Texinfo files. | ||
| 21 | |||
| 22 | 2010-06-20 Chong Yidong <cyd@stupidchicken.com> | ||
| 23 | |||
| 24 | * modes.texi (Minor Mode Conventions): Fix typo (Bug#6477). | ||
| 25 | |||
| 26 | 2010-06-19 Chong Yidong <cyd@stupidchicken.com> | ||
| 27 | |||
| 28 | * errors.texi (Standard Errors): Remove unnecessary markup | ||
| 29 | (Bug#6461). | ||
| 30 | |||
| 1 | 2010-06-02 Chong Yidong <cyd@stupidchicken.com> | 31 | 2010-06-02 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 32 | ||
| 3 | * searching.texi (Regexp Special): Remove obsolete information | 33 | * searching.texi (Regexp Special): Remove obsolete information |
diff --git a/doc/lispref/abbrevs.texi b/doc/lispref/abbrevs.texi index 1bb33475240..90da5aaa488 100644 --- a/doc/lispref/abbrevs.texi +++ b/doc/lispref/abbrevs.texi | |||
| @@ -376,10 +376,10 @@ definitions of @code{local-abbrev-table} and @code{text-mode-abbrev-table}. | |||
| 376 | (funcall expand)))) | 376 | (funcall expand)))) |
| 377 | 377 | ||
| 378 | (add-hook 'foo-mode-hook | 378 | (add-hook 'foo-mode-hook |
| 379 | #'(lambda () | 379 | #'(lambda () |
| 380 | (add-hook 'abbrev-expand-functions | 380 | (add-hook 'abbrev-expand-functions |
| 381 | 'foo-mode-abbrev-expand-function | 381 | 'foo-mode-abbrev-expand-function |
| 382 | nil t))) | 382 | nil t))) |
| 383 | @end smallexample | 383 | @end smallexample |
| 384 | 384 | ||
| 385 | @node Standard Abbrev Tables, Abbrev Properties, Abbrev Expansion, Abbrevs | 385 | @node Standard Abbrev Tables, Abbrev Properties, Abbrev Expansion, Abbrevs |
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index 463443f8e10..d22cfd955cb 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, |
| 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/commands | 7 | @setfilename ../../info/commands |
| 7 | @node Command Loop, Keymaps, Minibuffers, Top | 8 | @node Command Loop, Keymaps, Minibuffers, Top |
| @@ -21,7 +22,7 @@ are done, and the subroutines that allow Lisp programs to do them. | |||
| 21 | * Distinguish Interactive:: Making a command distinguish interactive calls. | 22 | * Distinguish Interactive:: Making a command distinguish interactive calls. |
| 22 | * Command Loop Info:: Variables set by the command loop for you to examine. | 23 | * Command Loop Info:: Variables set by the command loop for you to examine. |
| 23 | * Adjusting Point:: Adjustment of point after a command. | 24 | * Adjusting Point:: Adjustment of point after a command. |
| 24 | * Input Events:: What input looks like when you read it. | 25 | * Input Events:: What input looks like when you read it. |
| 25 | * Reading Input:: How to read input events from the keyboard or mouse. | 26 | * Reading Input:: How to read input events from the keyboard or mouse. |
| 26 | * Special Events:: Events processed immediately and individually. | 27 | * Special Events:: Events processed immediately and individually. |
| 27 | * Waiting:: Waiting for user input or elapsed time. | 28 | * Waiting:: Waiting for user input or elapsed time. |
| @@ -52,16 +53,19 @@ function. If the key is @kbd{M-x}, then it reads the name of another | |||
| 52 | command, which it then calls. This is done by the command | 53 | command, which it then calls. This is done by the command |
| 53 | @code{execute-extended-command} (@pxref{Interactive Call}). | 54 | @code{execute-extended-command} (@pxref{Interactive Call}). |
| 54 | 55 | ||
| 55 | To execute a command requires first reading the arguments for it. | 56 | Prior to executing the command, Emacs runs @code{undo-boundary} to |
| 56 | This is done by calling @code{command-execute} (@pxref{Interactive | 57 | create an undo boundary. @xref{Maintaining Undo}. |
| 57 | Call}). For commands written in Lisp, the @code{interactive} | 58 | |
| 58 | specification says how to read the arguments. This may use the prefix | 59 | To execute a command, Emacs first reads its arguments by calling |
| 59 | argument (@pxref{Prefix Command Arguments}) or may read with prompting | 60 | @code{command-execute} (@pxref{Interactive Call}). For commands |
| 60 | in the minibuffer (@pxref{Minibuffers}). For example, the command | 61 | written in Lisp, the @code{interactive} specification says how to read |
| 61 | @code{find-file} has an @code{interactive} specification which says to | 62 | the arguments. This may use the prefix argument (@pxref{Prefix |
| 62 | read a file name using the minibuffer. The command's function body does | 63 | Command Arguments}) or may read with prompting in the minibuffer |
| 63 | not use the minibuffer; if you call this command from Lisp code as a | 64 | (@pxref{Minibuffers}). For example, the command @code{find-file} has |
| 64 | function, you must supply the file name string as an ordinary Lisp | 65 | an @code{interactive} specification which says to read a file name |
| 66 | using the minibuffer. The function body of @code{find-file} does not | ||
| 67 | use the minibuffer, so if you call @code{find-file} as a function from | ||
| 68 | Lisp code, you must supply the file name string as an ordinary Lisp | ||
| 65 | function argument. | 69 | function argument. |
| 66 | 70 | ||
| 67 | If the command is a string or vector (i.e., a keyboard macro) then | 71 | If the command is a string or vector (i.e., a keyboard macro) then |
| @@ -968,23 +972,23 @@ the current Emacs session. If a symbol has not yet been so used, | |||
| 968 | @end defun | 972 | @end defun |
| 969 | 973 | ||
| 970 | @menu | 974 | @menu |
| 971 | * Keyboard Events:: Ordinary characters--keys with symbols on them. | 975 | * Keyboard Events:: Ordinary characters--keys with symbols on them. |
| 972 | * Function Keys:: Function keys--keys with names, not symbols. | 976 | * Function Keys:: Function keys--keys with names, not symbols. |
| 973 | * Mouse Events:: Overview of mouse events. | 977 | * Mouse Events:: Overview of mouse events. |
| 974 | * Click Events:: Pushing and releasing a mouse button. | 978 | * Click Events:: Pushing and releasing a mouse button. |
| 975 | * Drag Events:: Moving the mouse before releasing the button. | 979 | * Drag Events:: Moving the mouse before releasing the button. |
| 976 | * Button-Down Events:: A button was pushed and not yet released. | 980 | * Button-Down Events:: A button was pushed and not yet released. |
| 977 | * Repeat Events:: Double and triple click (or drag, or down). | 981 | * Repeat Events:: Double and triple click (or drag, or down). |
| 978 | * Motion Events:: Just moving the mouse, not pushing a button. | 982 | * Motion Events:: Just moving the mouse, not pushing a button. |
| 979 | * Focus Events:: Moving the mouse between frames. | 983 | * Focus Events:: Moving the mouse between frames. |
| 980 | * Misc Events:: Other events the system can generate. | 984 | * Misc Events:: Other events the system can generate. |
| 981 | * Event Examples:: Examples of the lists for mouse events. | 985 | * Event Examples:: Examples of the lists for mouse events. |
| 982 | * Classifying Events:: Finding the modifier keys in an event symbol. | 986 | * Classifying Events:: Finding the modifier keys in an event symbol. |
| 983 | Event types. | 987 | Event types. |
| 984 | * Accessing Mouse:: Functions to extract info from mouse events. | 988 | * Accessing Mouse:: Functions to extract info from mouse events. |
| 985 | * Accessing Scroll:: Functions to get info from scroll bar events. | 989 | * Accessing Scroll:: Functions to get info from scroll bar events. |
| 986 | * Strings of Events:: Special considerations for putting | 990 | * Strings of Events:: Special considerations for putting |
| 987 | keyboard character events in a string. | 991 | keyboard character events in a string. |
| 988 | @end menu | 992 | @end menu |
| 989 | 993 | ||
| 990 | @node Keyboard Events | 994 | @node Keyboard Events |
| @@ -2158,12 +2162,12 @@ debugging terminal input. | |||
| 2158 | For higher-level input facilities, see @ref{Minibuffers}. | 2162 | For higher-level input facilities, see @ref{Minibuffers}. |
| 2159 | 2163 | ||
| 2160 | @menu | 2164 | @menu |
| 2161 | * Key Sequence Input:: How to read one key sequence. | 2165 | * Key Sequence Input:: How to read one key sequence. |
| 2162 | * Reading One Event:: How to read just one event. | 2166 | * Reading One Event:: How to read just one event. |
| 2163 | * Event Mod:: How Emacs modifies events as they are read. | 2167 | * Event Mod:: How Emacs modifies events as they are read. |
| 2164 | * Invoking the Input Method:: How reading an event uses the input method. | 2168 | * Invoking the Input Method:: How reading an event uses the input method. |
| 2165 | * Quoted Character Input:: Asking the user to specify a character. | 2169 | * Quoted Character Input:: Asking the user to specify a character. |
| 2166 | * Event Input Misc:: How to reread or throw away input events. | 2170 | * Event Input Misc:: How to reread or throw away input events. |
| 2167 | @end menu | 2171 | @end menu |
| 2168 | 2172 | ||
| 2169 | @node Key Sequence Input | 2173 | @node Key Sequence Input |
| @@ -2889,9 +2893,9 @@ normal quitting is permitted after the first character of input. | |||
| 2889 | (while (not done) | 2893 | (while (not done) |
| 2890 | (let ((inhibit-quit first) | 2894 | (let ((inhibit-quit first) |
| 2891 | @dots{}) | 2895 | @dots{}) |
| 2892 | (and prompt (message "%s-" prompt)) | 2896 | (and prompt (message "%s-" prompt)) |
| 2893 | (setq char (read-event)) | 2897 | (setq char (read-event)) |
| 2894 | (if inhibit-quit (setq quit-flag nil))) | 2898 | (if inhibit-quit (setq quit-flag nil))) |
| 2895 | @r{@dots{}set the variable @code{code}@dots{}}) | 2899 | @r{@dots{}set the variable @code{code}@dots{}}) |
| 2896 | code)) | 2900 | code)) |
| 2897 | @end example | 2901 | @end example |
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi index b2ab9d67e59..1c28664e7c3 100644 --- a/doc/lispref/compile.texi +++ b/doc/lispref/compile.texi | |||
| @@ -47,9 +47,9 @@ byte compilation. | |||
| 47 | * Compilation Functions:: Byte compilation functions. | 47 | * Compilation Functions:: Byte compilation functions. |
| 48 | * Docs and Compilation:: Dynamic loading of documentation strings. | 48 | * Docs and Compilation:: Dynamic loading of documentation strings. |
| 49 | * Dynamic Loading:: Dynamic loading of individual functions. | 49 | * Dynamic Loading:: Dynamic loading of individual functions. |
| 50 | * Eval During Compile:: Code to be evaluated when you compile. | 50 | * Eval During Compile:: Code to be evaluated when you compile. |
| 51 | * Compiler Errors:: Handling compiler error messages. | 51 | * Compiler Errors:: Handling compiler error messages. |
| 52 | * Byte-Code Objects:: The data type used for byte-compiled functions. | 52 | * Byte-Code Objects:: The data type used for byte-compiled functions. |
| 53 | * Disassembly:: Disassembling byte-code; how to read byte-code. | 53 | * Disassembly:: Disassembling byte-code; how to read byte-code. |
| 54 | @end menu | 54 | @end menu |
| 55 | 55 | ||
diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi index 669c07d5a0e..3d77a5fe0d5 100644 --- a/doc/lispref/debugging.texi +++ b/doc/lispref/debugging.texi | |||
| @@ -28,7 +28,7 @@ compiler, you need to know how to examine the compiler's input buffer. | |||
| 28 | 28 | ||
| 29 | @menu | 29 | @menu |
| 30 | * Debugger:: How the Emacs Lisp debugger is implemented. | 30 | * Debugger:: How the Emacs Lisp debugger is implemented. |
| 31 | * Edebug:: A source-level Emacs Lisp debugger. | 31 | * Edebug:: A source-level Emacs Lisp debugger. |
| 32 | * Syntax Errors:: How to find syntax errors. | 32 | * Syntax Errors:: How to find syntax errors. |
| 33 | * Test Coverage:: Ensuring you have tested all branches in your code. | 33 | * Test Coverage:: Ensuring you have tested all branches in your code. |
| 34 | * Compilation Errors:: How to find errors that show up in byte compilation. | 34 | * Compilation Errors:: How to find errors that show up in byte compilation. |
| @@ -58,7 +58,7 @@ debugger recursively. @xref{Recursive Editing}. | |||
| 58 | 58 | ||
| 59 | @menu | 59 | @menu |
| 60 | * Error Debugging:: Entering the debugger when an error happens. | 60 | * Error Debugging:: Entering the debugger when an error happens. |
| 61 | * Infinite Loops:: Stopping and debugging a program that doesn't exit. | 61 | * Infinite Loops:: Stopping and debugging a program that doesn't exit. |
| 62 | * Function Debugging:: Entering it when a certain function is called. | 62 | * Function Debugging:: Entering it when a certain function is called. |
| 63 | * Explicit Debug:: Entering it at a certain point in the program. | 63 | * Explicit Debug:: Entering it at a certain point in the program. |
| 64 | * Using Debugger:: What the debugger does; what you see while in it. | 64 | * Using Debugger:: What the debugger does; what you see while in it. |
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 622de2cd3cf..9f07fb42ef4 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -1181,7 +1181,7 @@ inside the overlay or outside, and likewise for the end of the overlay. | |||
| 1181 | @menu | 1181 | @menu |
| 1182 | * Managing Overlays:: Creating and moving overlays. | 1182 | * Managing Overlays:: Creating and moving overlays. |
| 1183 | * Overlay Properties:: How to read and set properties. | 1183 | * Overlay Properties:: How to read and set properties. |
| 1184 | What properties do to the screen display. | 1184 | What properties do to the screen display. |
| 1185 | * Finding Overlays:: Searching for overlays. | 1185 | * Finding Overlays:: Searching for overlays. |
| 1186 | @end menu | 1186 | @end menu |
| 1187 | 1187 | ||
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi index fba83980cd1..3733a8fb105 100644 --- a/doc/lispref/edebug.texi +++ b/doc/lispref/edebug.texi | |||
| @@ -59,24 +59,24 @@ The first three sections below should tell you enough about Edebug to | |||
| 59 | start using it. | 59 | start using it. |
| 60 | 60 | ||
| 61 | @menu | 61 | @menu |
| 62 | * Using Edebug:: Introduction to use of Edebug. | 62 | * Using Edebug:: Introduction to use of Edebug. |
| 63 | * Instrumenting:: You must instrument your code | 63 | * Instrumenting:: You must instrument your code |
| 64 | in order to debug it with Edebug. | 64 | in order to debug it with Edebug. |
| 65 | * Modes: Edebug Execution Modes. Execution modes, stopping more or less often. | 65 | * Modes: Edebug Execution Modes. Execution modes, stopping more or less often. |
| 66 | * Jumping:: Commands to jump to a specified place. | 66 | * Jumping:: Commands to jump to a specified place. |
| 67 | * Misc: Edebug Misc. Miscellaneous commands. | 67 | * Misc: Edebug Misc. Miscellaneous commands. |
| 68 | * Breaks:: Setting breakpoints to make the program stop. | 68 | * Breaks:: Setting breakpoints to make the program stop. |
| 69 | * Trapping Errors:: Trapping errors with Edebug. | 69 | * Trapping Errors:: Trapping errors with Edebug. |
| 70 | * Views: Edebug Views. Views inside and outside of Edebug. | 70 | * Views: Edebug Views. Views inside and outside of Edebug. |
| 71 | * Eval: Edebug Eval. Evaluating expressions within Edebug. | 71 | * Eval: Edebug Eval. Evaluating expressions within Edebug. |
| 72 | * Eval List:: Expressions whose values are displayed | 72 | * Eval List:: Expressions whose values are displayed |
| 73 | each time you enter Edebug. | 73 | each time you enter Edebug. |
| 74 | * Printing in Edebug:: Customization of printing. | 74 | * Printing in Edebug:: Customization of printing. |
| 75 | * Trace Buffer:: How to produce trace output in a buffer. | 75 | * Trace Buffer:: How to produce trace output in a buffer. |
| 76 | * Coverage Testing:: How to test evaluation coverage. | 76 | * Coverage Testing:: How to test evaluation coverage. |
| 77 | * The Outside Context:: Data that Edebug saves and restores. | 77 | * The Outside Context:: Data that Edebug saves and restores. |
| 78 | * Edebug and Macros:: Specifying how to handle macro calls. | 78 | * Edebug and Macros:: Specifying how to handle macro calls. |
| 79 | * Options: Edebug Options. Option variables for customizing Edebug. | 79 | * Options: Edebug Options. Option variables for customizing Edebug. |
| 80 | @end menu | 80 | @end menu |
| 81 | 81 | ||
| 82 | @node Using Edebug | 82 | @node Using Edebug |
| @@ -429,8 +429,8 @@ breakpoints, the global break condition, and source breakpoints. | |||
| 429 | 429 | ||
| 430 | @menu | 430 | @menu |
| 431 | * Breakpoints:: Breakpoints at stop points. | 431 | * Breakpoints:: Breakpoints at stop points. |
| 432 | * Global Break Condition:: Breaking on an event. | 432 | * Global Break Condition:: Breaking on an event. |
| 433 | * Source Breakpoints:: Embedding breakpoints in source code. | 433 | * Source Breakpoints:: Embedding breakpoints in source code. |
| 434 | @end menu | 434 | @end menu |
| 435 | 435 | ||
| 436 | @node Breakpoints | 436 | @node Breakpoints |
| @@ -940,9 +940,9 @@ explains precisely what context Edebug restores, and how Edebug fails to | |||
| 940 | be completely transparent. | 940 | be completely transparent. |
| 941 | 941 | ||
| 942 | @menu | 942 | @menu |
| 943 | * Checking Whether to Stop:: When Edebug decides what to do. | 943 | * Checking Whether to Stop:: When Edebug decides what to do. |
| 944 | * Edebug Display Update:: When Edebug updates the display. | 944 | * Edebug Display Update:: When Edebug updates the display. |
| 945 | * Edebug Recursive Edit:: When Edebug stops execution. | 945 | * Edebug Recursive Edit:: When Edebug stops execution. |
| 946 | @end menu | 946 | @end menu |
| 947 | 947 | ||
| 948 | @node Checking Whether to Stop | 948 | @node Checking Whether to Stop |
| @@ -1074,9 +1074,9 @@ extra care is needed. This subsection explains the details. | |||
| 1074 | 1074 | ||
| 1075 | @menu | 1075 | @menu |
| 1076 | * Instrumenting Macro Calls:: The basic problem. | 1076 | * Instrumenting Macro Calls:: The basic problem. |
| 1077 | * Specification List:: How to specify complex patterns of evaluation. | 1077 | * Specification List:: How to specify complex patterns of evaluation. |
| 1078 | * Backtracking:: What Edebug does when matching fails. | 1078 | * Backtracking:: What Edebug does when matching fails. |
| 1079 | * Specification Examples:: To help understand specifications. | 1079 | * Specification Examples:: To help understand specifications. |
| 1080 | @end menu | 1080 | @end menu |
| 1081 | 1081 | ||
| 1082 | @node Instrumenting Macro Calls | 1082 | @node Instrumenting Macro Calls |
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 0f746187212..4c5471cf169 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi | |||
| @@ -143,7 +143,7 @@ Cover art by Etienne Suvasa. | |||
| 143 | files are made. | 143 | files are made. |
| 144 | * Buffers:: Creating and using buffer objects. | 144 | * Buffers:: Creating and using buffer objects. |
| 145 | * Windows:: Manipulating windows and displaying buffers. | 145 | * Windows:: Manipulating windows and displaying buffers. |
| 146 | * Frames:: Making multiple system-level windows. | 146 | * Frames:: Making multiple system-level windows. |
| 147 | * Positions:: Buffer positions and motion functions. | 147 | * Positions:: Buffer positions and motion functions. |
| 148 | * Markers:: Markers represent positions and update | 148 | * Markers:: Markers represent positions and update |
| 149 | automatically when the text is changed. | 149 | automatically when the text is changed. |
| @@ -155,7 +155,7 @@ Cover art by Etienne Suvasa. | |||
| 155 | * Abbrevs:: How Abbrev mode works, and its data structures. | 155 | * Abbrevs:: How Abbrev mode works, and its data structures. |
| 156 | 156 | ||
| 157 | * Processes:: Running and communicating with subprocesses. | 157 | * Processes:: Running and communicating with subprocesses. |
| 158 | * Display:: Features for controlling the screen display. | 158 | * Display:: Features for controlling the screen display. |
| 159 | * System Interface:: Getting the user id, system type, environment | 159 | * System Interface:: Getting the user id, system type, environment |
| 160 | variables, and other such things. | 160 | variables, and other such things. |
| 161 | 161 | ||
| @@ -291,10 +291,10 @@ Editing Types | |||
| 291 | Numbers | 291 | Numbers |
| 292 | 292 | ||
| 293 | * Integer Basics:: Representation and range of integers. | 293 | * Integer Basics:: Representation and range of integers. |
| 294 | * Float Basics:: Representation and range of floating point. | 294 | * Float Basics:: Representation and range of floating point. |
| 295 | * Predicates on Numbers:: Testing for numbers. | 295 | * Predicates on Numbers:: Testing for numbers. |
| 296 | * Comparison of Numbers:: Equality and inequality predicates. | 296 | * Comparison of Numbers:: Equality and inequality predicates. |
| 297 | * Numeric Conversions:: Converting float to integer and vice versa. | 297 | * Numeric Conversions:: Converting float to integer and vice versa. |
| 298 | * Arithmetic Operations:: How to add, subtract, multiply and divide. | 298 | * Arithmetic Operations:: How to add, subtract, multiply and divide. |
| 299 | * Rounding Operations:: Explicitly rounding floating point numbers. | 299 | * Rounding Operations:: Explicitly rounding floating point numbers. |
| 300 | * Bitwise Operations:: Logical and, or, not, shifting. | 300 | * Bitwise Operations:: Logical and, or, not, shifting. |
| @@ -311,7 +311,7 @@ Strings and Characters | |||
| 311 | * String Conversion:: Converting to and from characters and strings. | 311 | * String Conversion:: Converting to and from characters and strings. |
| 312 | * Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. | 312 | * Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. |
| 313 | * Case Conversion:: Case conversion functions. | 313 | * Case Conversion:: Case conversion functions. |
| 314 | * Case Tables:: Customizing case conversion. | 314 | * Case Tables:: Customizing case conversion. |
| 315 | 315 | ||
| 316 | Lists | 316 | Lists |
| 317 | 317 | ||
| @@ -379,7 +379,7 @@ Kinds of Forms | |||
| 379 | * Symbol Forms:: Symbols evaluate as variables. | 379 | * Symbol Forms:: Symbols evaluate as variables. |
| 380 | * Classifying Lists:: How to distinguish various sorts of list forms. | 380 | * Classifying Lists:: How to distinguish various sorts of list forms. |
| 381 | * Function Indirection:: When a symbol appears as the car of a list, | 381 | * Function Indirection:: When a symbol appears as the car of a list, |
| 382 | we find the real function via the symbol. | 382 | we find the real function via the symbol. |
| 383 | * Function Forms:: Forms that call functions. | 383 | * Function Forms:: Forms that call functions. |
| 384 | * Macro Forms:: Forms that call macros. | 384 | * Macro Forms:: Forms that call macros. |
| 385 | * Special Forms:: "Special forms" are idiosyncratic primitives, | 385 | * Special Forms:: "Special forms" are idiosyncratic primitives, |
| @@ -460,9 +460,9 @@ Functions | |||
| 460 | * Function Cells:: Accessing or setting the function definition | 460 | * Function Cells:: Accessing or setting the function definition |
| 461 | of a symbol. | 461 | of a symbol. |
| 462 | * Obsolete Functions:: Declaring functions obsolete. | 462 | * Obsolete Functions:: Declaring functions obsolete. |
| 463 | * Inline Functions:: Defining functions that the compiler | 463 | * Inline Functions:: Defining functions that the compiler |
| 464 | will open code. | 464 | will open code. |
| 465 | * Declaring Functions:: Telling the compiler that a function is defined. | 465 | * Declaring Functions:: Telling the compiler that a function is defined. |
| 466 | * Function Safety:: Determining whether a function is safe to call. | 466 | * Function Safety:: Determining whether a function is safe to call. |
| 467 | * Related Topics:: Cross-references to specific Lisp primitives | 467 | * Related Topics:: Cross-references to specific Lisp primitives |
| 468 | that have a special bearing on how | 468 | that have a special bearing on how |
| @@ -522,9 +522,9 @@ Loading | |||
| 522 | * Repeated Loading:: Precautions about loading a file twice. | 522 | * Repeated Loading:: Precautions about loading a file twice. |
| 523 | * Named Features:: Loading a library if it isn't already loaded. | 523 | * Named Features:: Loading a library if it isn't already loaded. |
| 524 | * Where Defined:: Finding which file defined a certain symbol. | 524 | * Where Defined:: Finding which file defined a certain symbol. |
| 525 | * Unloading:: How to "unload" a library that was loaded. | 525 | * Unloading:: How to "unload" a library that was loaded. |
| 526 | * Hooks for Loading:: Providing code to be run when | 526 | * Hooks for Loading:: Providing code to be run when |
| 527 | particular libraries are loaded. | 527 | particular libraries are loaded. |
| 528 | 528 | ||
| 529 | Byte Compilation | 529 | Byte Compilation |
| 530 | 530 | ||
| @@ -534,7 +534,7 @@ Byte Compilation | |||
| 534 | * Dynamic Loading:: Dynamic loading of individual functions. | 534 | * Dynamic Loading:: Dynamic loading of individual functions. |
| 535 | * Eval During Compile:: Code to be evaluated when you compile. | 535 | * Eval During Compile:: Code to be evaluated when you compile. |
| 536 | * Compiler Errors:: Handling compiler error messages. | 536 | * Compiler Errors:: Handling compiler error messages. |
| 537 | * Byte-Code Objects:: The data type used for byte-compiled functions. | 537 | * Byte-Code Objects:: The data type used for byte-compiled functions. |
| 538 | * Disassembly:: Disassembling byte-code; how to read byte-code. | 538 | * Disassembly:: Disassembling byte-code; how to read byte-code. |
| 539 | 539 | ||
| 540 | Advising Emacs Lisp Functions | 540 | Advising Emacs Lisp Functions |
| @@ -563,7 +563,7 @@ Debugging Lisp Programs | |||
| 563 | The Lisp Debugger | 563 | The Lisp Debugger |
| 564 | 564 | ||
| 565 | * Error Debugging:: Entering the debugger when an error happens. | 565 | * Error Debugging:: Entering the debugger when an error happens. |
| 566 | * Infinite Loops:: Stopping and debugging a program that doesn't exit. | 566 | * Infinite Loops:: Stopping and debugging a program that doesn't exit. |
| 567 | * Function Debugging:: Entering it when a certain function is called. | 567 | * Function Debugging:: Entering it when a certain function is called. |
| 568 | * Explicit Debug:: Entering it at a certain point in the program. | 568 | * Explicit Debug:: Entering it at a certain point in the program. |
| 569 | * Using Debugger:: What the debugger does; what you see while in it. | 569 | * Using Debugger:: What the debugger does; what you see while in it. |
| @@ -573,24 +573,24 @@ The Lisp Debugger | |||
| 573 | 573 | ||
| 574 | Edebug | 574 | Edebug |
| 575 | 575 | ||
| 576 | * Using Edebug:: Introduction to use of Edebug. | 576 | * Using Edebug:: Introduction to use of Edebug. |
| 577 | * Instrumenting:: You must instrument your code | 577 | * Instrumenting:: You must instrument your code |
| 578 | in order to debug it with Edebug. | 578 | in order to debug it with Edebug. |
| 579 | * Edebug Execution Modes:: Execution modes, stopping more or less often. | 579 | * Edebug Execution Modes:: Execution modes, stopping more or less often. |
| 580 | * Jumping:: Commands to jump to a specified place. | 580 | * Jumping:: Commands to jump to a specified place. |
| 581 | * Edebug Misc:: Miscellaneous commands. | 581 | * Edebug Misc:: Miscellaneous commands. |
| 582 | * Breaks:: Setting breakpoints to make the program stop. | 582 | * Breaks:: Setting breakpoints to make the program stop. |
| 583 | * Trapping Errors:: Trapping errors with Edebug. | 583 | * Trapping Errors:: Trapping errors with Edebug. |
| 584 | * Edebug Views:: Views inside and outside of Edebug. | 584 | * Edebug Views:: Views inside and outside of Edebug. |
| 585 | * Edebug Eval:: Evaluating expressions within Edebug. | 585 | * Edebug Eval:: Evaluating expressions within Edebug. |
| 586 | * Eval List:: Expressions whose values are displayed | 586 | * Eval List:: Expressions whose values are displayed |
| 587 | each time you enter Edebug. | 587 | each time you enter Edebug. |
| 588 | * Printing in Edebug:: Customization of printing. | 588 | * Printing in Edebug:: Customization of printing. |
| 589 | * Trace Buffer:: How to produce trace output in a buffer. | 589 | * Trace Buffer:: How to produce trace output in a buffer. |
| 590 | * Coverage Testing:: How to test evaluation coverage. | 590 | * Coverage Testing:: How to test evaluation coverage. |
| 591 | * The Outside Context:: Data that Edebug saves and restores. | 591 | * The Outside Context:: Data that Edebug saves and restores. |
| 592 | * Edebug and Macros:: Specifying how to handle macro calls. | 592 | * Edebug and Macros:: Specifying how to handle macro calls. |
| 593 | * Edebug Options:: Option variables for customizing Edebug. | 593 | * Edebug Options:: Option variables for customizing Edebug. |
| 594 | 594 | ||
| 595 | Breaks | 595 | Breaks |
| 596 | 596 | ||
| @@ -607,8 +607,8 @@ The Outside Context | |||
| 607 | Edebug and Macros | 607 | Edebug and Macros |
| 608 | 608 | ||
| 609 | * Instrumenting Macro Calls::The basic problem. | 609 | * Instrumenting Macro Calls::The basic problem. |
| 610 | * Specification List:: How to specify complex patterns of evaluation. | 610 | * Specification List:: How to specify complex patterns of evaluation. |
| 611 | * Backtracking:: What Edebug does when matching fails. | 611 | * Backtracking:: What Edebug does when matching fails. |
| 612 | * Specification Examples:: To help understand specifications. | 612 | * Specification Examples:: To help understand specifications. |
| 613 | 613 | ||
| 614 | Debugging Invalid Lisp Syntax | 614 | Debugging Invalid Lisp Syntax |
| @@ -633,13 +633,13 @@ Minibuffers | |||
| 633 | * Intro to Minibuffers:: Basic information about minibuffers. | 633 | * Intro to Minibuffers:: Basic information about minibuffers. |
| 634 | * Text from Minibuffer:: How to read a straight text string. | 634 | * Text from Minibuffer:: How to read a straight text string. |
| 635 | * Object from Minibuffer:: How to read a Lisp object or expression. | 635 | * Object from Minibuffer:: How to read a Lisp object or expression. |
| 636 | * Minibuffer History:: Recording previous minibuffer inputs | 636 | * Minibuffer History:: Recording previous minibuffer inputs |
| 637 | so the user can reuse them. | 637 | so the user can reuse them. |
| 638 | * Initial Input:: Specifying initial contents for the minibuffer. | 638 | * Initial Input:: Specifying initial contents for the minibuffer. |
| 639 | * Completion:: How to invoke and customize completion. | 639 | * Completion:: How to invoke and customize completion. |
| 640 | * Yes-or-No Queries:: Asking a question with a simple answer. | 640 | * Yes-or-No Queries:: Asking a question with a simple answer. |
| 641 | * Multiple Queries:: Asking a series of similar questions. | 641 | * Multiple Queries:: Asking a series of similar questions. |
| 642 | * Reading a Password:: Reading a password from the terminal. | 642 | * Reading a Password:: Reading a password from the terminal. |
| 643 | * Minibuffer Commands:: Commands used as key bindings in minibuffers. | 643 | * Minibuffer Commands:: Commands used as key bindings in minibuffers. |
| 644 | * Minibuffer Contents:: How such commands access the minibuffer text. | 644 | * Minibuffer Contents:: How such commands access the minibuffer text. |
| 645 | * Minibuffer Windows:: Operating on the special minibuffer windows. | 645 | * Minibuffer Windows:: Operating on the special minibuffer windows. |
| @@ -666,7 +666,7 @@ Command Loop | |||
| 666 | * Distinguish Interactive:: Making a command distinguish interactive calls. | 666 | * Distinguish Interactive:: Making a command distinguish interactive calls. |
| 667 | * Command Loop Info:: Variables set by the command loop for you to examine. | 667 | * Command Loop Info:: Variables set by the command loop for you to examine. |
| 668 | * Adjusting Point:: Adjustment of point after a command. | 668 | * Adjusting Point:: Adjustment of point after a command. |
| 669 | * Input Events:: What input looks like when you read it. | 669 | * Input Events:: What input looks like when you read it. |
| 670 | * Reading Input:: How to read input events from the keyboard or mouse. | 670 | * Reading Input:: How to read input events from the keyboard or mouse. |
| 671 | * Special Events:: Events processed immediately and individually. | 671 | * Special Events:: Events processed immediately and individually. |
| 672 | * Waiting:: Waiting for user input or elapsed time. | 672 | * Waiting:: Waiting for user input or elapsed time. |
| @@ -700,7 +700,7 @@ Input Events | |||
| 700 | * Event Examples:: Examples of the lists for mouse events. | 700 | * Event Examples:: Examples of the lists for mouse events. |
| 701 | * Classifying Events:: Finding the modifier keys in an event symbol. | 701 | * Classifying Events:: Finding the modifier keys in an event symbol. |
| 702 | Event types. | 702 | Event types. |
| 703 | * Accessing Mouse:: Functions to extract info from mouse events. | 703 | * Accessing Mouse:: Functions to extract info from mouse events. |
| 704 | * Accessing Scroll:: Functions to get info from scroll bar events. | 704 | * Accessing Scroll:: Functions to get info from scroll bar events. |
| 705 | * Strings of Events:: Special considerations for putting | 705 | * Strings of Events:: Special considerations for putting |
| 706 | keyboard character events in a string. | 706 | keyboard character events in a string. |
| @@ -850,9 +850,9 @@ Files | |||
| 850 | * Changing Files:: Renaming files, changing protection, etc. | 850 | * Changing Files:: Renaming files, changing protection, etc. |
| 851 | * File Names:: Decomposing and expanding file names. | 851 | * File Names:: Decomposing and expanding file names. |
| 852 | * Contents of Directories:: Getting a list of the files in a directory. | 852 | * Contents of Directories:: Getting a list of the files in a directory. |
| 853 | * Create/Delete Dirs:: Creating and Deleting Directories. | 853 | * Create/Delete Dirs:: Creating and Deleting Directories. |
| 854 | * Magic File Names:: Defining "magic" special handling | 854 | * Magic File Names:: Defining "magic" special handling |
| 855 | for certain file names. | 855 | for certain file names. |
| 856 | * Format Conversion:: Conversion to and from various file formats. | 856 | * Format Conversion:: Conversion to and from various file formats. |
| 857 | 857 | ||
| 858 | Visiting Files | 858 | Visiting Files |
| @@ -864,7 +864,7 @@ Information about Files | |||
| 864 | 864 | ||
| 865 | * Testing Accessibility:: Is a given file readable? Writable? | 865 | * Testing Accessibility:: Is a given file readable? Writable? |
| 866 | * Kinds of Files:: Is it a directory? A symbolic link? | 866 | * Kinds of Files:: Is it a directory? A symbolic link? |
| 867 | * Truenames:: Eliminating symbolic links from a file name. | 867 | * Truenames:: Eliminating symbolic links from a file name. |
| 868 | * File Attributes:: How large is it? Any other names? Etc. | 868 | * File Attributes:: How large is it? Any other names? Etc. |
| 869 | * Locating Files:: How to find a file in standard places. | 869 | * Locating Files:: How to find a file in standard places. |
| 870 | 870 | ||
| @@ -934,8 +934,8 @@ Windows | |||
| 934 | * Buffers and Windows:: Each window displays the contents of a buffer. | 934 | * Buffers and Windows:: Each window displays the contents of a buffer. |
| 935 | * Displaying Buffers:: Higher-level functions for displaying a buffer | 935 | * Displaying Buffers:: Higher-level functions for displaying a buffer |
| 936 | and choosing a window for it. | 936 | and choosing a window for it. |
| 937 | * Choosing Window:: How to choose a window for displaying a buffer. | 937 | * Choosing Window:: How to choose a window for displaying a buffer. |
| 938 | * Dedicated Windows:: How to avoid displaying another buffer in | 938 | * Dedicated Windows:: How to avoid displaying another buffer in |
| 939 | a specific window. | 939 | a specific window. |
| 940 | * Window Point:: Each window has its own location of point. | 940 | * Window Point:: Each window has its own location of point. |
| 941 | * Window Start and End:: Buffer positions indicating which text is | 941 | * Window Start and End:: Buffer positions indicating which text is |
| @@ -955,37 +955,37 @@ Windows | |||
| 955 | 955 | ||
| 956 | Frames | 956 | Frames |
| 957 | 957 | ||
| 958 | * Creating Frames:: Creating additional frames. | 958 | * Creating Frames:: Creating additional frames. |
| 959 | * Multiple Terminals:: Displaying on several different devices. | 959 | * Multiple Terminals:: Displaying on several different devices. |
| 960 | * Frame Parameters:: Controlling frame size, position, font, etc. | 960 | * Frame Parameters:: Controlling frame size, position, font, etc. |
| 961 | * Terminal Parameters:: Parameters common for all frames on terminal. | 961 | * Terminal Parameters:: Parameters common for all frames on terminal. |
| 962 | * Frame Titles:: Automatic updating of frame titles. | 962 | * Frame Titles:: Automatic updating of frame titles. |
| 963 | * Deleting Frames:: Frames last until explicitly deleted. | 963 | * Deleting Frames:: Frames last until explicitly deleted. |
| 964 | * Finding All Frames:: How to examine all existing frames. | 964 | * Finding All Frames:: How to examine all existing frames. |
| 965 | * Frames and Windows:: A frame contains windows; | 965 | * Frames and Windows:: A frame contains windows; |
| 966 | display of text always works through windows. | 966 | display of text always works through windows. |
| 967 | * Minibuffers and Frames:: How a frame finds the minibuffer to use. | 967 | * Minibuffers and Frames:: How a frame finds the minibuffer to use. |
| 968 | * Input Focus:: Specifying the selected frame. | 968 | * Input Focus:: Specifying the selected frame. |
| 969 | * Visibility of Frames:: Frames may be visible or invisible, or icons. | 969 | * Visibility of Frames:: Frames may be visible or invisible, or icons. |
| 970 | * Raising and Lowering:: Raising a frame makes it hide other windows; | 970 | * Raising and Lowering:: Raising a frame makes it hide other windows; |
| 971 | lowering it makes the others hide it. | 971 | lowering it makes the others hide it. |
| 972 | * Frame Configurations:: Saving the state of all frames. | 972 | * Frame Configurations:: Saving the state of all frames. |
| 973 | * Mouse Tracking:: Getting events that say when the mouse moves. | 973 | * Mouse Tracking:: Getting events that say when the mouse moves. |
| 974 | * Mouse Position:: Asking where the mouse is, or moving it. | 974 | * Mouse Position:: Asking where the mouse is, or moving it. |
| 975 | * Pop-Up Menus:: Displaying a menu for the user to select from. | 975 | * Pop-Up Menus:: Displaying a menu for the user to select from. |
| 976 | * Dialog Boxes:: Displaying a box to ask yes or no. | 976 | * Dialog Boxes:: Displaying a box to ask yes or no. |
| 977 | * Pointer Shape:: Specifying the shape of the mouse pointer. | 977 | * Pointer Shape:: Specifying the shape of the mouse pointer. |
| 978 | * Window System Selections::Transferring text to and from other X clients. | 978 | * Window System Selections::Transferring text to and from other X clients. |
| 979 | * Drag and Drop:: Internals of Drag-and-Drop implementation. | 979 | * Drag and Drop:: Internals of Drag-and-Drop implementation. |
| 980 | * Color Names:: Getting the definitions of color names. | 980 | * Color Names:: Getting the definitions of color names. |
| 981 | * Text Terminal Colors:: Defining colors for text-only terminals. | 981 | * Text Terminal Colors:: Defining colors for text-only terminals. |
| 982 | * Resources:: Getting resource values from the server. | 982 | * Resources:: Getting resource values from the server. |
| 983 | * Display Feature Testing:: Determining the features of a terminal. | 983 | * Display Feature Testing:: Determining the features of a terminal. |
| 984 | 984 | ||
| 985 | Frame Parameters | 985 | Frame Parameters |
| 986 | 986 | ||
| 987 | * Parameter Access:: How to change a frame's parameters. | 987 | * Parameter Access:: How to change a frame's parameters. |
| 988 | * Initial Parameters:: Specifying frame parameters when you make a frame. | 988 | * Initial Parameters:: Specifying frame parameters when you make a frame. |
| 989 | * Window Frame Parameters:: List of frame parameters for window systems. | 989 | * Window Frame Parameters:: List of frame parameters for window systems. |
| 990 | * Size and Position:: Changing the size and position of a frame. | 990 | * Size and Position:: Changing the size and position of a frame. |
| 991 | * Geometry:: Parsing geometry specifications. | 991 | * Geometry:: Parsing geometry specifications. |
| @@ -1044,7 +1044,7 @@ Text | |||
| 1044 | later use. | 1044 | later use. |
| 1045 | * Undo:: Undoing changes to the text of a buffer. | 1045 | * Undo:: Undoing changes to the text of a buffer. |
| 1046 | * Maintaining Undo:: How to enable and disable undo information. | 1046 | * Maintaining Undo:: How to enable and disable undo information. |
| 1047 | How to control how much information is kept. | 1047 | How to control how much information is kept. |
| 1048 | * Filling:: Functions for explicit filling. | 1048 | * Filling:: Functions for explicit filling. |
| 1049 | * Margins:: How to specify margins for filling commands. | 1049 | * Margins:: How to specify margins for filling commands. |
| 1050 | * Adaptive Fill:: Adaptive Fill mode chooses a fill prefix | 1050 | * Adaptive Fill:: Adaptive Fill mode chooses a fill prefix |
| @@ -1070,7 +1070,7 @@ The Kill Ring | |||
| 1070 | * Kill Functions:: Functions that kill text. | 1070 | * Kill Functions:: Functions that kill text. |
| 1071 | * Yanking:: How yanking is done. | 1071 | * Yanking:: How yanking is done. |
| 1072 | * Yank Commands:: Commands that access the kill ring. | 1072 | * Yank Commands:: Commands that access the kill ring. |
| 1073 | * Low-Level Kill Ring:: Functions and variables for kill ring access. | 1073 | * Low-Level Kill Ring:: Functions and variables for kill ring access. |
| 1074 | * Internals of Kill Ring:: Variables that hold kill ring data. | 1074 | * Internals of Kill Ring:: Variables that hold kill ring data. |
| 1075 | 1075 | ||
| 1076 | Indentation | 1076 | Indentation |
| @@ -1085,9 +1085,9 @@ Indentation | |||
| 1085 | Text Properties | 1085 | Text Properties |
| 1086 | 1086 | ||
| 1087 | * Examining Properties:: Looking at the properties of one character. | 1087 | * Examining Properties:: Looking at the properties of one character. |
| 1088 | * Changing Properties:: Setting the properties of a range of text. | 1088 | * Changing Properties:: Setting the properties of a range of text. |
| 1089 | * Property Search:: Searching for where a property changes value. | 1089 | * Property Search:: Searching for where a property changes value. |
| 1090 | * Special Properties:: Particular properties with special meanings. | 1090 | * Special Properties:: Particular properties with special meanings. |
| 1091 | * Format Properties:: Properties for representing formatting of text. | 1091 | * Format Properties:: Properties for representing formatting of text. |
| 1092 | * Sticky Properties:: How inserted text gets properties from | 1092 | * Sticky Properties:: How inserted text gets properties from |
| 1093 | neighboring text. | 1093 | neighboring text. |
| @@ -1097,8 +1097,8 @@ Text Properties | |||
| 1097 | do something when you click on them. | 1097 | do something when you click on them. |
| 1098 | * Fields:: The @code{field} property defines | 1098 | * Fields:: The @code{field} property defines |
| 1099 | fields within the buffer. | 1099 | fields within the buffer. |
| 1100 | * Not Intervals:: Why text properties do not use | 1100 | * Not Intervals:: Why text properties do not use |
| 1101 | Lisp-visible text intervals. | 1101 | Lisp-visible text intervals. |
| 1102 | 1102 | ||
| 1103 | Non-@acronym{ASCII} Characters | 1103 | Non-@acronym{ASCII} Characters |
| 1104 | 1104 | ||
| @@ -1141,7 +1141,7 @@ Searching and Matching | |||
| 1141 | * POSIX Regexps:: Searching POSIX-style for the longest match. | 1141 | * POSIX Regexps:: Searching POSIX-style for the longest match. |
| 1142 | * Match Data:: Finding out which part of the text matched, | 1142 | * Match Data:: Finding out which part of the text matched, |
| 1143 | after a string or regexp search. | 1143 | after a string or regexp search. |
| 1144 | * Search and Replace:: Commands that loop, searching and replacing. | 1144 | * Search and Replace:: Commands that loop, searching and replacing. |
| 1145 | * Standard Regexps:: Useful regexps for finding sentences, pages,... | 1145 | * Standard Regexps:: Useful regexps for finding sentences, pages,... |
| 1146 | 1146 | ||
| 1147 | Regular Expressions | 1147 | Regular Expressions |
| @@ -1158,9 +1158,9 @@ Syntax of Regular Expressions | |||
| 1158 | 1158 | ||
| 1159 | The Match Data | 1159 | The Match Data |
| 1160 | 1160 | ||
| 1161 | * Replacing Match:: Replacing a substring that was matched. | 1161 | * Replacing Match:: Replacing a substring that was matched. |
| 1162 | * Simple Match Data:: Accessing single items of match data, | 1162 | * Simple Match Data:: Accessing single items of match data, |
| 1163 | such as where a particular subexpression started. | 1163 | such as where a particular subexpression started. |
| 1164 | * Entire Match Data:: Accessing the entire match data at once, as a list. | 1164 | * Entire Match Data:: Accessing the entire match data at once, as a list. |
| 1165 | * Saving Match Data:: Saving and restoring the match data. | 1165 | * Saving Match Data:: Saving and restoring the match data. |
| 1166 | 1166 | ||
| @@ -1170,7 +1170,7 @@ Syntax Tables | |||
| 1170 | * Syntax Descriptors:: How characters are classified. | 1170 | * Syntax Descriptors:: How characters are classified. |
| 1171 | * Syntax Table Functions:: How to create, examine and alter syntax tables. | 1171 | * Syntax Table Functions:: How to create, examine and alter syntax tables. |
| 1172 | * Syntax Properties:: Overriding syntax with text properties. | 1172 | * Syntax Properties:: Overriding syntax with text properties. |
| 1173 | * Motion and Syntax:: Moving over characters with certain syntaxes. | 1173 | * Motion and Syntax:: Moving over characters with certain syntaxes. |
| 1174 | * Parsing Expressions:: Parsing balanced expressions | 1174 | * Parsing Expressions:: Parsing balanced expressions |
| 1175 | using the syntax table. | 1175 | using the syntax table. |
| 1176 | * Standard Syntax Tables:: Syntax tables used by various major modes. | 1176 | * Standard Syntax Tables:: Syntax tables used by various major modes. |
| @@ -1259,10 +1259,10 @@ Emacs Display | |||
| 1259 | * Invisible Text:: Hiding part of the buffer text. | 1259 | * Invisible Text:: Hiding part of the buffer text. |
| 1260 | * Selective Display:: Hiding part of the buffer text (the old way). | 1260 | * Selective Display:: Hiding part of the buffer text (the old way). |
| 1261 | * Temporary Displays:: Displays that go away automatically. | 1261 | * Temporary Displays:: Displays that go away automatically. |
| 1262 | * Overlays:: Use overlays to highlight parts of the buffer. | 1262 | * Overlays:: Use overlays to highlight parts of the buffer. |
| 1263 | * Width:: How wide a character or string is on the screen. | 1263 | * Width:: How wide a character or string is on the screen. |
| 1264 | * Line Height:: Controlling the height of lines. | 1264 | * Line Height:: Controlling the height of lines. |
| 1265 | * Faces:: A face defines a graphics style | 1265 | * Faces:: A face defines a graphics style |
| 1266 | for text characters: font, colors, etc. | 1266 | for text characters: font, colors, etc. |
| 1267 | * Fringes:: Controlling window fringes. | 1267 | * Fringes:: Controlling window fringes. |
| 1268 | * Scroll Bars:: Controlling vertical scroll bars. | 1268 | * Scroll Bars:: Controlling vertical scroll bars. |
| @@ -1271,9 +1271,9 @@ Emacs Display | |||
| 1271 | * Buttons:: Adding clickable buttons to Emacs buffers. | 1271 | * Buttons:: Adding clickable buttons to Emacs buffers. |
| 1272 | * Abstract Display:: Emacs' Widget for Object Collections. | 1272 | * Abstract Display:: Emacs' Widget for Object Collections. |
| 1273 | * Blinking:: How Emacs shows the matching open parenthesis. | 1273 | * Blinking:: How Emacs shows the matching open parenthesis. |
| 1274 | * Usual Display:: The usual conventions for displaying | 1274 | * Usual Display:: The usual conventions for displaying |
| 1275 | nonprinting chars. | 1275 | nonprinting chars. |
| 1276 | * Display Tables:: How to specify other conventions. | 1276 | * Display Tables:: How to specify other conventions. |
| 1277 | * Beeping:: Audible signal to the user. | 1277 | * Beeping:: Audible signal to the user. |
| 1278 | * Window Systems:: Which window system is being used. | 1278 | * Window Systems:: Which window system is being used. |
| 1279 | 1279 | ||
| @@ -1295,7 +1295,7 @@ Overlays | |||
| 1295 | 1295 | ||
| 1296 | * Managing Overlays:: Creating and moving overlays. | 1296 | * Managing Overlays:: Creating and moving overlays. |
| 1297 | * Overlay Properties:: How to read and set properties. | 1297 | * Overlay Properties:: How to read and set properties. |
| 1298 | What properties do to the screen display. | 1298 | What properties do to the screen display. |
| 1299 | * Finding Overlays:: Searching for overlays. | 1299 | * Finding Overlays:: Searching for overlays. |
| 1300 | 1300 | ||
| 1301 | Faces | 1301 | Faces |
| @@ -1375,14 +1375,14 @@ Operating System Interface | |||
| 1375 | * Getting Out:: How exiting works (permanent or temporary). | 1375 | * Getting Out:: How exiting works (permanent or temporary). |
| 1376 | * System Environment:: Distinguish the name and kind of system. | 1376 | * System Environment:: Distinguish the name and kind of system. |
| 1377 | * User Identification:: Finding the name and user id of the user. | 1377 | * User Identification:: Finding the name and user id of the user. |
| 1378 | * Time of Day:: Getting the current time. | 1378 | * Time of Day:: Getting the current time. |
| 1379 | * Time Conversion:: Converting a time from numeric form to | 1379 | * Time Conversion:: Converting a time from numeric form to |
| 1380 | calendrical data and vice versa. | 1380 | calendrical data and vice versa. |
| 1381 | * Time Parsing:: Converting a time from numeric form to text | 1381 | * Time Parsing:: Converting a time from numeric form to text |
| 1382 | and vice versa. | 1382 | and vice versa. |
| 1383 | * Processor Run Time:: Getting the run time used by Emacs. | 1383 | * Processor Run Time:: Getting the run time used by Emacs. |
| 1384 | * Time Calculations:: Adding, subtracting, comparing times, etc. | 1384 | * Time Calculations:: Adding, subtracting, comparing times, etc. |
| 1385 | * Timers:: Setting a timer to call a function at a | 1385 | * Timers:: Setting a timer to call a function at a |
| 1386 | certain time. | 1386 | certain time. |
| 1387 | * Idle Timers:: Setting a timer to call a function when Emacs has | 1387 | * Idle Timers:: Setting a timer to call a function when Emacs has |
| 1388 | been idle for a certain length of time. | 1388 | been idle for a certain length of time. |
| @@ -1409,8 +1409,8 @@ Getting Out of Emacs | |||
| 1409 | 1409 | ||
| 1410 | Terminal Input | 1410 | Terminal Input |
| 1411 | 1411 | ||
| 1412 | * Input Modes:: Options for how input is processed. | 1412 | * Input Modes:: Options for how input is processed. |
| 1413 | * Recording Input:: Saving histories of recent or all input events. | 1413 | * Recording Input:: Saving histories of recent or all input events. |
| 1414 | 1414 | ||
| 1415 | Tips and Conventions | 1415 | Tips and Conventions |
| 1416 | 1416 | ||
| @@ -1420,7 +1420,7 @@ Tips and Conventions | |||
| 1420 | * Compilation Tips:: Making compiled code run fast. | 1420 | * Compilation Tips:: Making compiled code run fast. |
| 1421 | * Warning Tips:: Turning off compiler warnings. | 1421 | * Warning Tips:: Turning off compiler warnings. |
| 1422 | * Documentation Tips:: Writing readable documentation strings. | 1422 | * Documentation Tips:: Writing readable documentation strings. |
| 1423 | * Comment Tips:: Conventions for writing comments. | 1423 | * Comment Tips:: Conventions for writing comments. |
| 1424 | * Library Headers:: Standard headers for library packages. | 1424 | * Library Headers:: Standard headers for library packages. |
| 1425 | 1425 | ||
| 1426 | GNU Emacs Internals | 1426 | GNU Emacs Internals |
diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi index e9ef1999589..b1b1747d86c 100644 --- a/doc/lispref/errors.texi +++ b/doc/lispref/errors.texi | |||
| @@ -63,11 +63,11 @@ sequence or buffer.@* | |||
| 63 | @xref{Lisp and Coding Systems}. | 63 | @xref{Lisp and Coding Systems}. |
| 64 | 64 | ||
| 65 | @item cyclic-function-indirection | 65 | @item cyclic-function-indirection |
| 66 | @code{"Symbol's chain of function indirections\@* contains a loop"}@* | 66 | @code{"Symbol's chain of function indirections contains a loop"}@* |
| 67 | @xref{Function Indirection}. | 67 | @xref{Function Indirection}. |
| 68 | 68 | ||
| 69 | @item cyclic-variable-indirection | 69 | @item cyclic-variable-indirection |
| 70 | @code{"Symbol's chain of variable indirections\@* contains a loop"}@* | 70 | @code{"Symbol's chain of variable indirections contains a loop"}@* |
| 71 | @xref{Variable Aliases}. | 71 | @xref{Variable Aliases}. |
| 72 | 72 | ||
| 73 | @item end-of-buffer | 73 | @item end-of-buffer |
diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi index f0d710f9775..6ed38f45dc8 100644 --- a/doc/lispref/eval.texi +++ b/doc/lispref/eval.texi | |||
| @@ -110,7 +110,7 @@ forms. | |||
| 110 | * Symbol Forms:: Symbols evaluate as variables. | 110 | * Symbol Forms:: Symbols evaluate as variables. |
| 111 | * Classifying Lists:: How to distinguish various sorts of list forms. | 111 | * Classifying Lists:: How to distinguish various sorts of list forms. |
| 112 | * Function Indirection:: When a symbol appears as the car of a list, | 112 | * Function Indirection:: When a symbol appears as the car of a list, |
| 113 | we find the real function via the symbol. | 113 | we find the real function via the symbol. |
| 114 | * Function Forms:: Forms that call functions. | 114 | * Function Forms:: Forms that call functions. |
| 115 | * Macro Forms:: Forms that call macros. | 115 | * Macro Forms:: Forms that call macros. |
| 116 | * Special Forms:: "Special forms" are idiosyncratic primitives, | 116 | * Special Forms:: "Special forms" are idiosyncratic primitives, |
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 699a33ff22b..abdd2814b56 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/files | 7 | @setfilename ../../info/files |
| 7 | @node Files, Backups and Auto-Saving, Documentation, Top | 8 | @node Files, Backups and Auto-Saving, Documentation, Top |
| @@ -38,9 +39,9 @@ to locale @code{system-message-locale}, and decoded using coding system | |||
| 38 | * Changing Files:: Renaming files, changing protection, etc. | 39 | * Changing Files:: Renaming files, changing protection, etc. |
| 39 | * File Names:: Decomposing and expanding file names. | 40 | * File Names:: Decomposing and expanding file names. |
| 40 | * Contents of Directories:: Getting a list of the files in a directory. | 41 | * Contents of Directories:: Getting a list of the files in a directory. |
| 41 | * Create/Delete Dirs:: Creating and Deleting Directories. | 42 | * Create/Delete Dirs:: Creating and Deleting Directories. |
| 42 | * Magic File Names:: Defining "magic" special handling | 43 | * Magic File Names:: Defining "magic" special handling |
| 43 | for certain file names. | 44 | for certain file names. |
| 44 | * Format Conversion:: Conversion to and from various file formats. | 45 | * Format Conversion:: Conversion to and from various file formats. |
| 45 | @end menu | 46 | @end menu |
| 46 | 47 | ||
| @@ -755,7 +756,7 @@ otherwise noted. | |||
| 755 | @menu | 756 | @menu |
| 756 | * Testing Accessibility:: Is a given file readable? Writable? | 757 | * Testing Accessibility:: Is a given file readable? Writable? |
| 757 | * Kinds of Files:: Is it a directory? A symbolic link? | 758 | * Kinds of Files:: Is it a directory? A symbolic link? |
| 758 | * Truenames:: Eliminating symbolic links from a file name. | 759 | * Truenames:: Eliminating symbolic links from a file name. |
| 759 | * File Attributes:: How large is it? Any other names? Etc. | 760 | * File Attributes:: How large is it? Any other names? Etc. |
| 760 | * Locating Files:: How to find a file in standard places. | 761 | * Locating Files:: How to find a file in standard places. |
| 761 | @end menu | 762 | @end menu |
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 9994210bd17..7dfe3242c5d 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi | |||
| @@ -85,26 +85,26 @@ is the same as for @code{framep} above. | |||
| 85 | * Frame Parameters:: Controlling frame size, position, font, etc. | 85 | * Frame Parameters:: Controlling frame size, position, font, etc. |
| 86 | * Terminal Parameters:: Parameters common for all frames on terminal. | 86 | * Terminal Parameters:: Parameters common for all frames on terminal. |
| 87 | * Frame Titles:: Automatic updating of frame titles. | 87 | * Frame Titles:: Automatic updating of frame titles. |
| 88 | * Deleting Frames:: Frames last until explicitly deleted. | 88 | * Deleting Frames:: Frames last until explicitly deleted. |
| 89 | * Finding All Frames:: How to examine all existing frames. | 89 | * Finding All Frames:: How to examine all existing frames. |
| 90 | * Frames and Windows:: A frame contains windows; | 90 | * Frames and Windows:: A frame contains windows; |
| 91 | display of text always works through windows. | 91 | display of text always works through windows. |
| 92 | * Minibuffers and Frames:: How a frame finds the minibuffer to use. | 92 | * Minibuffers and Frames:: How a frame finds the minibuffer to use. |
| 93 | * Input Focus:: Specifying the selected frame. | 93 | * Input Focus:: Specifying the selected frame. |
| 94 | * Visibility of Frames:: Frames may be visible or invisible, or icons. | 94 | * Visibility of Frames:: Frames may be visible or invisible, or icons. |
| 95 | * Raising and Lowering:: Raising a frame makes it hide other windows; | 95 | * Raising and Lowering:: Raising a frame makes it hide other windows; |
| 96 | lowering it makes the others hide it. | 96 | lowering it makes the others hide it. |
| 97 | * Frame Configurations:: Saving the state of all frames. | 97 | * Frame Configurations:: Saving the state of all frames. |
| 98 | * Mouse Tracking:: Getting events that say when the mouse moves. | 98 | * Mouse Tracking:: Getting events that say when the mouse moves. |
| 99 | * Mouse Position:: Asking where the mouse is, or moving it. | 99 | * Mouse Position:: Asking where the mouse is, or moving it. |
| 100 | * Pop-Up Menus:: Displaying a menu for the user to select from. | 100 | * Pop-Up Menus:: Displaying a menu for the user to select from. |
| 101 | * Dialog Boxes:: Displaying a box to ask yes or no. | 101 | * Dialog Boxes:: Displaying a box to ask yes or no. |
| 102 | * Pointer Shape:: Specifying the shape of the mouse pointer. | 102 | * Pointer Shape:: Specifying the shape of the mouse pointer. |
| 103 | * Window System Selections:: Transferring text to and from other X clients. | 103 | * Window System Selections:: Transferring text to and from other X clients. |
| 104 | * Drag and Drop:: Internals of Drag-and-Drop implementation. | 104 | * Drag and Drop:: Internals of Drag-and-Drop implementation. |
| 105 | * Color Names:: Getting the definitions of color names. | 105 | * Color Names:: Getting the definitions of color names. |
| 106 | * Text Terminal Colors:: Defining colors for text-only terminals. | 106 | * Text Terminal Colors:: Defining colors for text-only terminals. |
| 107 | * Resources:: Getting resource values from the server. | 107 | * Resources:: Getting resource values from the server. |
| 108 | * Display Feature Testing:: Determining the features of a terminal. | 108 | * Display Feature Testing:: Determining the features of a terminal. |
| 109 | @end menu | 109 | @end menu |
| 110 | 110 | ||
| @@ -343,7 +343,7 @@ variables. @xref{Frame-Local Variables}. | |||
| 343 | 343 | ||
| 344 | @menu | 344 | @menu |
| 345 | * Parameter Access:: How to change a frame's parameters. | 345 | * Parameter Access:: How to change a frame's parameters. |
| 346 | * Initial Parameters:: Specifying frame parameters when you make a frame. | 346 | * Initial Parameters:: Specifying frame parameters when you make a frame. |
| 347 | * Window Frame Parameters:: List of frame parameters for window systems. | 347 | * Window Frame Parameters:: List of frame parameters for window systems. |
| 348 | * Size and Position:: Changing the size and position of a frame. | 348 | * Size and Position:: Changing the size and position of a frame. |
| 349 | * Geometry:: Parsing geometry specifications. | 349 | * Geometry:: Parsing geometry specifications. |
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index 37e8726592a..6f3fd63013c 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/functions | 7 | @setfilename ../../info/functions |
| 7 | @node Functions, Macros, Variables, Top | 8 | @node Functions, Macros, Variables, Top |
| @@ -22,7 +23,7 @@ define them. | |||
| 22 | * Function Cells:: Accessing or setting the function definition | 23 | * Function Cells:: Accessing or setting the function definition |
| 23 | of a symbol. | 24 | of a symbol. |
| 24 | * Obsolete Functions:: Declaring functions obsolete. | 25 | * Obsolete Functions:: Declaring functions obsolete. |
| 25 | * Inline Functions:: Defining functions that the compiler will open code. | 26 | * Inline Functions:: Defining functions that the compiler will open code. |
| 26 | * Declaring Functions:: Telling the compiler that a function is defined. | 27 | * Declaring Functions:: Telling the compiler that a function is defined. |
| 27 | * Function Safety:: Determining whether a function is safe to call. | 28 | * Function Safety:: Determining whether a function is safe to call. |
| 28 | * Related Topics:: Cross-references to specific Lisp primitives | 29 | * Related Topics:: Cross-references to specific Lisp primitives |
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi index 6b076d8ee3a..2420e777fe8 100644 --- a/doc/lispref/internals.texi +++ b/doc/lispref/internals.texi | |||
| @@ -518,8 +518,7 @@ If all args return nil, return nil. | |||
| 518 | @end group | 518 | @end group |
| 519 | @group | 519 | @group |
| 520 | usage: (or CONDITIONS ...) */) | 520 | usage: (or CONDITIONS ...) */) |
| 521 | (args) | 521 | (Lisp_Object args) |
| 522 | Lisp_Object args; | ||
| 523 | @{ | 522 | @{ |
| 524 | register Lisp_Object val = Qnil; | 523 | register Lisp_Object val = Qnil; |
| 525 | struct gcpro gcpro1; | 524 | struct gcpro gcpro1; |
| @@ -618,15 +617,15 @@ All the usual rules for documentation strings in Lisp code | |||
| 618 | too. | 617 | too. |
| 619 | @end table | 618 | @end table |
| 620 | 619 | ||
| 621 | After the call to the @code{DEFUN} macro, you must write the argument | 620 | After the call to the @code{DEFUN} macro, you must write the |
| 622 | name list that every C function must have, followed by ordinary C | 621 | argument list that every C function must have, including the types for |
| 623 | declarations for the arguments. For a function with a fixed maximum | 622 | the arguments. For a function with a fixed maximum number of |
| 624 | number of arguments, declare a C argument for each Lisp argument, and | 623 | arguments, declare a C argument for each Lisp argument, and give them |
| 625 | give them all type @code{Lisp_Object}. When a Lisp function has no | 624 | all type @code{Lisp_Object}. When a Lisp function has no upper limit |
| 626 | upper limit on the number of arguments, its implementation in C actually | 625 | on the number of arguments, its implementation in C actually receives |
| 627 | receives exactly two arguments: the first is the number of Lisp | 626 | exactly two arguments: the first is the number of Lisp arguments, and |
| 628 | arguments, and the second is the address of a block containing their | 627 | the second is the address of a block containing their values. They |
| 629 | values. They have types @code{int} and @w{@code{Lisp_Object *}}. | 628 | have types @code{int} and @w{@code{Lisp_Object *}}. |
| 630 | 629 | ||
| 631 | @cindex @code{GCPRO} and @code{UNGCPRO} | 630 | @cindex @code{GCPRO} and @code{UNGCPRO} |
| 632 | @cindex protect C variables from garbage collection | 631 | @cindex protect C variables from garbage collection |
| @@ -761,22 +760,22 @@ If they are on the border between WINDOW and its right sibling,\n\ | |||
| 761 | @group | 760 | @group |
| 762 | switch (coordinates_in_window (XWINDOW (window), &x, &y)) | 761 | switch (coordinates_in_window (XWINDOW (window), &x, &y)) |
| 763 | @{ | 762 | @{ |
| 764 | case 0: /* NOT in window at all. */ | 763 | case 0: /* NOT in window at all. */ |
| 765 | return Qnil; | 764 | return Qnil; |
| 766 | @end group | 765 | @end group |
| 767 | 766 | ||
| 768 | @group | 767 | @group |
| 769 | case 1: /* In text part of window. */ | 768 | case 1: /* In text part of window. */ |
| 770 | return Fcons (make_number (x), make_number (y)); | 769 | return Fcons (make_number (x), make_number (y)); |
| 771 | @end group | 770 | @end group |
| 772 | 771 | ||
| 773 | @group | 772 | @group |
| 774 | case 2: /* In mode line of window. */ | 773 | case 2: /* In mode line of window. */ |
| 775 | return Qmode_line; | 774 | return Qmode_line; |
| 776 | @end group | 775 | @end group |
| 777 | 776 | ||
| 778 | @group | 777 | @group |
| 779 | case 3: /* On right border of window. */ | 778 | case 3: /* On right border of window. */ |
| 780 | return Qvertical_line; | 779 | return Qvertical_line; |
| 781 | @end group | 780 | @end group |
| 782 | 781 | ||
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index d886b990dd8..e1052a9912e 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2001, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2001, |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/keymaps | 7 | @setfilename ../../info/keymaps |
| 7 | @node Keymaps, Modes, Command Loop, Top | 8 | @node Keymaps, Modes, Command Loop, Top |
| @@ -16,19 +17,19 @@ used to look up the next input event; this continues until a command | |||
| 16 | is found. The whole process is called @dfn{key lookup}. | 17 | is found. The whole process is called @dfn{key lookup}. |
| 17 | 18 | ||
| 18 | @menu | 19 | @menu |
| 19 | * Key Sequences:: Key sequences as Lisp objects. | 20 | * Key Sequences:: Key sequences as Lisp objects. |
| 20 | * Keymap Basics:: Basic concepts of keymaps. | 21 | * Keymap Basics:: Basic concepts of keymaps. |
| 21 | * Format of Keymaps:: What a keymap looks like as a Lisp object. | 22 | * Format of Keymaps:: What a keymap looks like as a Lisp object. |
| 22 | * Creating Keymaps:: Functions to create and copy keymaps. | 23 | * Creating Keymaps:: Functions to create and copy keymaps. |
| 23 | * Inheritance and Keymaps:: How one keymap can inherit the bindings | 24 | * Inheritance and Keymaps:: How one keymap can inherit the bindings |
| 24 | of another keymap. | 25 | of another keymap. |
| 25 | * Prefix Keys:: Defining a key with a keymap as its definition. | 26 | * Prefix Keys:: Defining a key with a keymap as its definition. |
| 26 | * Active Keymaps:: How Emacs searches the active keymaps | 27 | * Active Keymaps:: How Emacs searches the active keymaps |
| 27 | for a key binding. | 28 | for a key binding. |
| 28 | * Searching Keymaps:: A pseudo-Lisp summary of searching active maps. | 29 | * Searching Keymaps:: A pseudo-Lisp summary of searching active maps. |
| 29 | * Controlling Active Maps:: Each buffer has a local keymap | 30 | * Controlling Active Maps:: Each buffer has a local keymap |
| 30 | to override the standard (global) bindings. | 31 | to override the standard (global) bindings. |
| 31 | A minor mode can also override them. | 32 | A minor mode can also override them. |
| 32 | * Key Lookup:: Finding a key's binding in one keymap. | 33 | * Key Lookup:: Finding a key's binding in one keymap. |
| 33 | * Functions for Key Lookup:: How to request key lookup. | 34 | * Functions for Key Lookup:: How to request key lookup. |
| 34 | * Changing Key Bindings:: Redefining a key in a keymap. | 35 | * Changing Key Bindings:: Redefining a key in a keymap. |
| @@ -36,7 +37,7 @@ is found. The whole process is called @dfn{key lookup}. | |||
| 36 | * Translation Keymaps:: Keymaps for translating sequences of events. | 37 | * Translation Keymaps:: Keymaps for translating sequences of events. |
| 37 | * Key Binding Commands:: Interactive interfaces for redefining keys. | 38 | * Key Binding Commands:: Interactive interfaces for redefining keys. |
| 38 | * Scanning Keymaps:: Looking through all keymaps, for printing help. | 39 | * Scanning Keymaps:: Looking through all keymaps, for printing help. |
| 39 | * Menu Keymaps:: Defining a menu as a keymap. | 40 | * Menu Keymaps:: Defining a menu as a keymap. |
| 40 | @end menu | 41 | @end menu |
| 41 | 42 | ||
| 42 | @node Key Sequences | 43 | @node Key Sequences |
| @@ -1959,11 +1960,11 @@ is active for the next input event, that activates the keyboard menu | |||
| 1959 | feature. | 1960 | feature. |
| 1960 | 1961 | ||
| 1961 | @menu | 1962 | @menu |
| 1962 | * Defining Menus:: How to make a keymap that defines a menu. | 1963 | * Defining Menus:: How to make a keymap that defines a menu. |
| 1963 | * Mouse Menus:: How users actuate the menu with the mouse. | 1964 | * Mouse Menus:: How users actuate the menu with the mouse. |
| 1964 | * Keyboard Menus:: How users actuate the menu with the keyboard. | 1965 | * Keyboard Menus:: How users actuate the menu with the keyboard. |
| 1965 | * Menu Example:: Making a simple menu. | 1966 | * Menu Example:: Making a simple menu. |
| 1966 | * Menu Bar:: How to customize the menu bar. | 1967 | * Menu Bar:: How to customize the menu bar. |
| 1967 | * Tool Bar:: A tool bar is a row of images. | 1968 | * Tool Bar:: A tool bar is a row of images. |
| 1968 | * Modifying Menus:: How to add new items to a menu. | 1969 | * Modifying Menus:: How to add new items to a menu. |
| 1969 | @end menu | 1970 | @end menu |
| @@ -2413,10 +2414,10 @@ Next we define the menu items: | |||
| 2413 | @smallexample | 2414 | @smallexample |
| 2414 | (define-key menu-bar-replace-menu [tags-repl-continue] | 2415 | (define-key menu-bar-replace-menu [tags-repl-continue] |
| 2415 | '(menu-item "Continue Replace" tags-loop-continue | 2416 | '(menu-item "Continue Replace" tags-loop-continue |
| 2416 | :help "Continue last tags replace operation")) | 2417 | :help "Continue last tags replace operation")) |
| 2417 | (define-key menu-bar-replace-menu [tags-repl] | 2418 | (define-key menu-bar-replace-menu [tags-repl] |
| 2418 | '(menu-item "Replace in tagged files" tags-query-replace | 2419 | '(menu-item "Replace in tagged files" tags-query-replace |
| 2419 | :help "Interactively replace a regexp in all tagged files")) | 2420 | :help "Interactively replace a regexp in all tagged files")) |
| 2420 | (define-key menu-bar-replace-menu [separator-replace-tags] | 2421 | (define-key menu-bar-replace-menu [separator-replace-tags] |
| 2421 | '(menu-item "--")) | 2422 | '(menu-item "--")) |
| 2422 | ;; @r{@dots{}} | 2423 | ;; @r{@dots{}} |
| @@ -2656,8 +2657,8 @@ using an indirection through @code{tool-bar-map}. | |||
| 2656 | By default, the global map binds @code{[tool-bar]} as follows: | 2657 | By default, the global map binds @code{[tool-bar]} as follows: |
| 2657 | @example | 2658 | @example |
| 2658 | (global-set-key [tool-bar] | 2659 | (global-set-key [tool-bar] |
| 2659 | '(menu-item "tool bar" ignore | 2660 | '(menu-item "tool bar" ignore |
| 2660 | :filter (lambda (ignore) tool-bar-map))) | 2661 | :filter (lambda (ignore) tool-bar-map))) |
| 2661 | @end example | 2662 | @end example |
| 2662 | @noindent | 2663 | @noindent |
| 2663 | Thus the tool bar map is derived dynamically from the value of variable | 2664 | Thus the tool bar map is derived dynamically from the value of variable |
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index 7e3240d72de..bbdd67fc3a5 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/loading | 7 | @setfilename ../../info/loading |
| 7 | @node Loading, Byte Compilation, Customization, Top | 8 | @node Loading, Byte Compilation, Customization, Top |
| @@ -43,9 +44,9 @@ containing Lisp code. | |||
| 43 | * Repeated Loading:: Precautions about loading a file twice. | 44 | * Repeated Loading:: Precautions about loading a file twice. |
| 44 | * Named Features:: Loading a library if it isn't already loaded. | 45 | * Named Features:: Loading a library if it isn't already loaded. |
| 45 | * Where Defined:: Finding which file defined a certain symbol. | 46 | * Where Defined:: Finding which file defined a certain symbol. |
| 46 | * Unloading:: How to "unload" a library that was loaded. | 47 | * Unloading:: How to "unload" a library that was loaded. |
| 47 | * Hooks for Loading:: Providing code to be run when | 48 | * Hooks for Loading:: Providing code to be run when |
| 48 | particular libraries are loaded. | 49 | particular libraries are loaded. |
| 49 | @end menu | 50 | @end menu |
| 50 | 51 | ||
| 51 | @node How Programs Do Loading | 52 | @node How Programs Do Loading |
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi index bfe73ce27f4..3588704b054 100644 --- a/doc/lispref/minibuf.texi +++ b/doc/lispref/minibuf.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, |
| 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/minibuf | 7 | @setfilename ../../info/minibuf |
| 7 | @node Minibuffers, Command Loop, Read and Print, Top | 8 | @node Minibuffers, Command Loop, Read and Print, Top |
| @@ -22,13 +23,13 @@ argument. | |||
| 22 | * Intro to Minibuffers:: Basic information about minibuffers. | 23 | * Intro to Minibuffers:: Basic information about minibuffers. |
| 23 | * Text from Minibuffer:: How to read a straight text string. | 24 | * Text from Minibuffer:: How to read a straight text string. |
| 24 | * Object from Minibuffer:: How to read a Lisp object or expression. | 25 | * Object from Minibuffer:: How to read a Lisp object or expression. |
| 25 | * Minibuffer History:: Recording previous minibuffer inputs | 26 | * Minibuffer History:: Recording previous minibuffer inputs |
| 26 | so the user can reuse them. | 27 | so the user can reuse them. |
| 27 | * Initial Input:: Specifying initial contents for the minibuffer. | 28 | * Initial Input:: Specifying initial contents for the minibuffer. |
| 28 | * Completion:: How to invoke and customize completion. | 29 | * Completion:: How to invoke and customize completion. |
| 29 | * Yes-or-No Queries:: Asking a question with a simple answer. | 30 | * Yes-or-No Queries:: Asking a question with a simple answer. |
| 30 | * Multiple Queries:: Asking a series of similar questions. | 31 | * Multiple Queries:: Asking a series of similar questions. |
| 31 | * Reading a Password:: Reading a password from the terminal. | 32 | * Reading a Password:: Reading a password from the terminal. |
| 32 | * Minibuffer Commands:: Commands used as key bindings in minibuffers. | 33 | * Minibuffer Commands:: Commands used as key bindings in minibuffers. |
| 33 | * Minibuffer Contents:: How such commands access the minibuffer text. | 34 | * Minibuffer Contents:: How such commands access the minibuffer text. |
| 34 | * Minibuffer Windows:: Operating on the special minibuffer windows. | 35 | * Minibuffer Windows:: Operating on the special minibuffer windows. |
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index e5eb90863af..858226ecdfc 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi | |||
| @@ -1342,7 +1342,7 @@ or like this, using @code{add-to-list} (@pxref{List Variables}): | |||
| 1342 | Global minor modes distributed with Emacs should if possible support | 1342 | Global minor modes distributed with Emacs should if possible support |
| 1343 | enabling and disabling via Custom (@pxref{Customization}). To do this, | 1343 | enabling and disabling via Custom (@pxref{Customization}). To do this, |
| 1344 | the first step is to define the mode variable with @code{defcustom}, and | 1344 | the first step is to define the mode variable with @code{defcustom}, and |
| 1345 | specify @code{:type boolean}. | 1345 | specify @code{:type 'boolean}. |
| 1346 | 1346 | ||
| 1347 | If just setting the variable is not sufficient to enable the mode, you | 1347 | If just setting the variable is not sufficient to enable the mode, you |
| 1348 | should also specify a @code{:set} method which enables the mode by | 1348 | should also specify a @code{:set} method which enables the mode by |
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi index fdec0448e02..62b4796350e 100644 --- a/doc/lispref/numbers.texi +++ b/doc/lispref/numbers.texi | |||
| @@ -21,10 +21,10 @@ exact; they have a fixed, limited amount of precision. | |||
| 21 | 21 | ||
| 22 | @menu | 22 | @menu |
| 23 | * Integer Basics:: Representation and range of integers. | 23 | * Integer Basics:: Representation and range of integers. |
| 24 | * Float Basics:: Representation and range of floating point. | 24 | * Float Basics:: Representation and range of floating point. |
| 25 | * Predicates on Numbers:: Testing for numbers. | 25 | * Predicates on Numbers:: Testing for numbers. |
| 26 | * Comparison of Numbers:: Equality and inequality predicates. | 26 | * Comparison of Numbers:: Equality and inequality predicates. |
| 27 | * Numeric Conversions:: Converting float to integer and vice versa. | 27 | * Numeric Conversions:: Converting float to integer and vice versa. |
| 28 | * Arithmetic Operations:: How to add, subtract, multiply and divide. | 28 | * Arithmetic Operations:: How to add, subtract, multiply and divide. |
| 29 | * Rounding Operations:: Explicitly rounding floating point numbers. | 29 | * Rounding Operations:: Explicitly rounding floating point numbers. |
| 30 | * Bitwise Operations:: Logical and, or, not, shifting. | 30 | * Bitwise Operations:: Logical and, or, not, shifting. |
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 9fbc51ae12f..4f37eb10b7a 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/os | 7 | @setfilename ../../info/os |
| 7 | @node System Interface, Antinews, Display, Top | 8 | @node System Interface, Antinews, Display, Top |
| @@ -20,14 +21,14 @@ terminal and the screen. | |||
| 20 | * Getting Out:: How exiting works (permanent or temporary). | 21 | * Getting Out:: How exiting works (permanent or temporary). |
| 21 | * System Environment:: Distinguish the name and kind of system. | 22 | * System Environment:: Distinguish the name and kind of system. |
| 22 | * User Identification:: Finding the name and user id of the user. | 23 | * User Identification:: Finding the name and user id of the user. |
| 23 | * Time of Day:: Getting the current time. | 24 | * Time of Day:: Getting the current time. |
| 24 | * Time Conversion:: Converting a time from numeric form to | 25 | * Time Conversion:: Converting a time from numeric form to |
| 25 | calendrical data and vice versa. | 26 | calendrical data and vice versa. |
| 26 | * Time Parsing:: Converting a time from numeric form to text | 27 | * Time Parsing:: Converting a time from numeric form to text |
| 27 | and vice versa. | 28 | and vice versa. |
| 28 | * Processor Run Time:: Getting the run time used by Emacs. | 29 | * Processor Run Time:: Getting the run time used by Emacs. |
| 29 | * Time Calculations:: Adding, subtracting, comparing times, etc. | 30 | * Time Calculations:: Adding, subtracting, comparing times, etc. |
| 30 | * Timers:: Setting a timer to call a function at a certain time. | 31 | * Timers:: Setting a timer to call a function at a certain time. |
| 31 | * Idle Timers:: Setting a timer to call a function when Emacs has | 32 | * Idle Timers:: Setting a timer to call a function when Emacs has |
| 32 | been idle for a certain length of time. | 33 | been idle for a certain length of time. |
| 33 | * Terminal Input:: Accessing and recording terminal input. | 34 | * Terminal Input:: Accessing and recording terminal input. |
| @@ -1815,8 +1816,8 @@ manipulating terminal input. See @ref{Display}, for related | |||
| 1815 | functions. | 1816 | functions. |
| 1816 | 1817 | ||
| 1817 | @menu | 1818 | @menu |
| 1818 | * Input Modes:: Options for how input is processed. | 1819 | * Input Modes:: Options for how input is processed. |
| 1819 | * Recording Input:: Saving histories of recent or all input events. | 1820 | * Recording Input:: Saving histories of recent or all input events. |
| 1820 | @end menu | 1821 | @end menu |
| 1821 | 1822 | ||
| 1822 | @node Input Modes | 1823 | @node Input Modes |
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index 85628bdfac6..1a4a766c81c 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/processes | 7 | @setfilename ../../info/processes |
| 7 | @node Processes, Display, Abbrevs, Top | 8 | @node Processes, Display, Abbrevs, Top |
| @@ -51,13 +52,13 @@ Processes}. | |||
| 51 | * Sentinels:: Sentinels run when process run-status changes. | 52 | * Sentinels:: Sentinels run when process run-status changes. |
| 52 | * Query Before Exit:: Whether to query if exiting will kill a process. | 53 | * Query Before Exit:: Whether to query if exiting will kill a process. |
| 53 | * System Processes:: Accessing other processes running on your system. | 54 | * System Processes:: Accessing other processes running on your system. |
| 54 | * Transaction Queues:: Transaction-based communication with subprocesses. | 55 | * Transaction Queues:: Transaction-based communication with subprocesses. |
| 55 | * Network:: Opening network connections. | 56 | * Network:: Opening network connections. |
| 56 | * Network Servers:: Network servers let Emacs accept net connections. | 57 | * Network Servers:: Network servers let Emacs accept net connections. |
| 57 | * Datagrams:: UDP network connections. | 58 | * Datagrams:: UDP network connections. |
| 58 | * Low-Level Network:: Lower-level but more general function | 59 | * Low-Level Network:: Lower-level but more general function |
| 59 | to create connections and servers. | 60 | to create connections and servers. |
| 60 | * Misc Network:: Additional relevant functions for network connections. | 61 | * Misc Network:: Additional relevant functions for net connections. |
| 61 | * Serial Ports:: Communicating with serial ports. | 62 | * Serial Ports:: Communicating with serial ports. |
| 62 | * Byte Packing:: Using bindat to pack and unpack binary data. | 63 | * Byte Packing:: Using bindat to pack and unpack binary data. |
| 63 | @end menu | 64 | @end menu |
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index 722f76cdd7f..b4b4c23b1ed 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/searching | 7 | @setfilename ../../info/searching |
| 7 | @node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top | 8 | @node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top |
| @@ -22,7 +23,7 @@ portions of it. | |||
| 22 | * POSIX Regexps:: Searching POSIX-style for the longest match. | 23 | * POSIX Regexps:: Searching POSIX-style for the longest match. |
| 23 | * Match Data:: Finding out which part of the text matched, | 24 | * Match Data:: Finding out which part of the text matched, |
| 24 | after a string or regexp search. | 25 | after a string or regexp search. |
| 25 | * Search and Replace:: Commands that loop, searching and replacing. | 26 | * Search and Replace:: Commands that loop, searching and replacing. |
| 26 | * Standard Regexps:: Useful regexps for finding sentences, pages,... | 27 | * Standard Regexps:: Useful regexps for finding sentences, pages,... |
| 27 | @end menu | 28 | @end menu |
| 28 | 29 | ||
| @@ -609,8 +610,8 @@ maximum. | |||
| 609 | For example, @samp{c[ad]\@{1,2\@}r} matches the strings @samp{car}, | 610 | For example, @samp{c[ad]\@{1,2\@}r} matches the strings @samp{car}, |
| 610 | @samp{cdr}, @samp{caar}, @samp{cadr}, @samp{cdar}, and @samp{cddr}, and | 611 | @samp{cdr}, @samp{caar}, @samp{cadr}, @samp{cdar}, and @samp{cddr}, and |
| 611 | nothing else.@* | 612 | nothing else.@* |
| 612 | @samp{\@{0,1\@}} or @samp{\@{,1\@}} is equivalent to @samp{?}. @* | 613 | @samp{\@{0,1\@}} or @samp{\@{,1\@}} is equivalent to @samp{?}.@* |
| 613 | @samp{\@{0,\@}} or @samp{\@{,\@}} is equivalent to @samp{*}. @* | 614 | @samp{\@{0,\@}} or @samp{\@{,\@}} is equivalent to @samp{*}.@* |
| 614 | @samp{\@{1,\@}} is equivalent to @samp{+}. | 615 | @samp{\@{1,\@}} is equivalent to @samp{+}. |
| 615 | 616 | ||
| 616 | @item \( @dots{} \) | 617 | @item \( @dots{} \) |
| @@ -1213,9 +1214,9 @@ can't avoid another intervening search, you must save and restore the | |||
| 1213 | match data around it, to prevent it from being overwritten. | 1214 | match data around it, to prevent it from being overwritten. |
| 1214 | 1215 | ||
| 1215 | @menu | 1216 | @menu |
| 1216 | * Replacing Match:: Replacing a substring that was matched. | 1217 | * Replacing Match:: Replacing a substring that was matched. |
| 1217 | * Simple Match Data:: Accessing single items of match data, | 1218 | * Simple Match Data:: Accessing single items of match data, |
| 1218 | such as where a particular subexpression started. | 1219 | such as where a particular subexpression started. |
| 1219 | * Entire Match Data:: Accessing the entire match data at once, as a list. | 1220 | * Entire Match Data:: Accessing the entire match data at once, as a list. |
| 1220 | * Saving Match Data:: Saving and restoring the match data. | 1221 | * Saving Match Data:: Saving and restoring the match data. |
| 1221 | @end menu | 1222 | @end menu |
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index f55c93abf31..a73c4790b96 100644 --- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/sequences | 7 | @setfilename ../../info/sequences |
| 7 | @node Sequences Arrays Vectors, Hash Tables, Lists, Top | 8 | @node Sequences Arrays Vectors, Hash Tables, Lists, Top |
| @@ -669,13 +670,13 @@ For example, here is how to examine the elements of the syntax table: | |||
| 669 | (let (accumulator) | 670 | (let (accumulator) |
| 670 | (map-char-table | 671 | (map-char-table |
| 671 | #'(lambda (key value) | 672 | #'(lambda (key value) |
| 672 | (setq accumulator | 673 | (setq accumulator |
| 673 | (cons (list | 674 | (cons (list |
| 674 | (if (consp key) | 675 | (if (consp key) |
| 675 | (list (car key) (cdr key)) | 676 | (list (car key) (cdr key)) |
| 676 | key) | 677 | key) |
| 677 | value) | 678 | value) |
| 678 | accumulator))) | 679 | accumulator))) |
| 679 | (syntax-table)) | 680 | (syntax-table)) |
| 680 | accumulator) | 681 | accumulator) |
| 681 | @result{} | 682 | @result{} |
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index 34613a823ba..1128ca87d8a 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/strings | 7 | @setfilename ../../info/strings |
| 7 | @node Strings and Characters, Lists, Numbers, Top | 8 | @node Strings and Characters, Lists, Numbers, Top |
| @@ -31,7 +32,7 @@ keyboard character events. | |||
| 31 | * String Conversion:: Converting to and from characters and strings. | 32 | * String Conversion:: Converting to and from characters and strings. |
| 32 | * Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. | 33 | * Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. |
| 33 | * Case Conversion:: Case conversion functions. | 34 | * Case Conversion:: Case conversion functions. |
| 34 | * Case Tables:: Customizing case conversion. | 35 | * Case Tables:: Customizing case conversion. |
| 35 | @end menu | 36 | @end menu |
| 36 | 37 | ||
| 37 | @node String Basics | 38 | @node String Basics |
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi index a3d5631baf8..9add9b76e79 100644 --- a/doc/lispref/syntax.texi +++ b/doc/lispref/syntax.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/syntax | 7 | @setfilename ../../info/syntax |
| 7 | @node Syntax Tables, Abbrevs, Searching and Matching, Top | 8 | @node Syntax Tables, Abbrevs, Searching and Matching, Top |
| @@ -23,7 +24,7 @@ functions in this chapter. | |||
| 23 | * Desc: Syntax Descriptors. How characters are classified. | 24 | * Desc: Syntax Descriptors. How characters are classified. |
| 24 | * Syntax Table Functions:: How to create, examine and alter syntax tables. | 25 | * Syntax Table Functions:: How to create, examine and alter syntax tables. |
| 25 | * Syntax Properties:: Overriding syntax with text properties. | 26 | * Syntax Properties:: Overriding syntax with text properties. |
| 26 | * Motion and Syntax:: Moving over characters with certain syntaxes. | 27 | * Motion and Syntax:: Moving over characters with certain syntaxes. |
| 27 | * Parsing Expressions:: Parsing balanced expressions | 28 | * Parsing Expressions:: Parsing balanced expressions |
| 28 | using the syntax table. | 29 | using the syntax table. |
| 29 | * Standard Syntax Tables:: Syntax tables used by various major modes. | 30 | * Standard Syntax Tables:: Syntax tables used by various major modes. |
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 2eff8b109a0..f52d1db5c9c 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, |
| 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/text | 7 | @setfilename ../../info/text |
| 7 | @node Text, Non-ASCII Characters, Markers, Top | 8 | @node Text, Non-ASCII Characters, Markers, Top |
| @@ -42,7 +43,7 @@ the character after point. | |||
| 42 | * The Kill Ring:: Where removed text sometimes is saved for later use. | 43 | * The Kill Ring:: Where removed text sometimes is saved for later use. |
| 43 | * Undo:: Undoing changes to the text of a buffer. | 44 | * Undo:: Undoing changes to the text of a buffer. |
| 44 | * Maintaining Undo:: How to enable and disable undo information. | 45 | * Maintaining Undo:: How to enable and disable undo information. |
| 45 | How to control how much information is kept. | 46 | How to control how much information is kept. |
| 46 | * Filling:: Functions for explicit filling. | 47 | * Filling:: Functions for explicit filling. |
| 47 | * Margins:: How to specify margins for filling commands. | 48 | * Margins:: How to specify margins for filling commands. |
| 48 | * Adaptive Fill:: Adaptive Fill mode chooses a fill prefix from context. | 49 | * Adaptive Fill:: Adaptive Fill mode chooses a fill prefix from context. |
| @@ -821,7 +822,7 @@ would be difficult to change the terminology now. | |||
| 821 | * Kill Functions:: Functions that kill text. | 822 | * Kill Functions:: Functions that kill text. |
| 822 | * Yanking:: How yanking is done. | 823 | * Yanking:: How yanking is done. |
| 823 | * Yank Commands:: Commands that access the kill ring. | 824 | * Yank Commands:: Commands that access the kill ring. |
| 824 | * Low-Level Kill Ring:: Functions and variables for kill ring access. | 825 | * Low-Level Kill Ring:: Functions and variables for kill ring access. |
| 825 | * Internals of Kill Ring:: Variables that hold kill ring data. | 826 | * Internals of Kill Ring:: Variables that hold kill ring data. |
| 826 | @end menu | 827 | @end menu |
| 827 | 828 | ||
| @@ -1298,13 +1299,16 @@ This function places a boundary element in the undo list. The undo | |||
| 1298 | command stops at such a boundary, and successive undo commands undo | 1299 | command stops at such a boundary, and successive undo commands undo |
| 1299 | to earlier and earlier boundaries. This function returns @code{nil}. | 1300 | to earlier and earlier boundaries. This function returns @code{nil}. |
| 1300 | 1301 | ||
| 1301 | The editor command loop automatically creates an undo boundary before | 1302 | The editor command loop automatically calls @code{undo-boundary} just |
| 1302 | each key sequence is executed. Thus, each undo normally undoes the | 1303 | before executing each key sequence, so that each undo normally undoes |
| 1303 | effects of one command. Self-inserting input characters are an | 1304 | the effects of one command. As an exception, the command |
| 1304 | exception. The command loop makes a boundary for the first such | 1305 | @code{self-insert-command}, which produces self-inserting input |
| 1305 | character; the next 19 consecutive self-inserting input characters do | 1306 | characters (@pxref{Commands for Insertion}), may remove the boundary |
| 1306 | not make boundaries, and then the 20th does, and so on as long as | 1307 | inserted by the command loop: a boundary is accepted for the first |
| 1307 | self-inserting characters continue. | 1308 | such character, the next 19 consecutive self-inserting input |
| 1309 | characters do not have boundaries, and then the 20th does; and so on | ||
| 1310 | as long as the self-inserting characters continue. Hence, sequences | ||
| 1311 | of consecutive character insertions can be undone as a group. | ||
| 1308 | 1312 | ||
| 1309 | All buffer modifications add a boundary whenever the previous undoable | 1313 | All buffer modifications add a boundary whenever the previous undoable |
| 1310 | change was made in some other buffer. This is to ensure that | 1314 | change was made in some other buffer. This is to ensure that |
| @@ -2593,9 +2597,9 @@ along with the characters; this includes such diverse functions as | |||
| 2593 | 2597 | ||
| 2594 | @menu | 2598 | @menu |
| 2595 | * Examining Properties:: Looking at the properties of one character. | 2599 | * Examining Properties:: Looking at the properties of one character. |
| 2596 | * Changing Properties:: Setting the properties of a range of text. | 2600 | * Changing Properties:: Setting the properties of a range of text. |
| 2597 | * Property Search:: Searching for where a property changes value. | 2601 | * Property Search:: Searching for where a property changes value. |
| 2598 | * Special Properties:: Particular properties with special meanings. | 2602 | * Special Properties:: Particular properties with special meanings. |
| 2599 | * Format Properties:: Properties for representing formatting of text. | 2603 | * Format Properties:: Properties for representing formatting of text. |
| 2600 | * Sticky Properties:: How inserted text gets properties from | 2604 | * Sticky Properties:: How inserted text gets properties from |
| 2601 | neighboring text. | 2605 | neighboring text. |
| @@ -2605,8 +2609,8 @@ along with the characters; this includes such diverse functions as | |||
| 2605 | do something when you click on them. | 2609 | do something when you click on them. |
| 2606 | * Fields:: The @code{field} property defines | 2610 | * Fields:: The @code{field} property defines |
| 2607 | fields within the buffer. | 2611 | fields within the buffer. |
| 2608 | * Not Intervals:: Why text properties do not use | 2612 | * Not Intervals:: Why text properties do not use |
| 2609 | Lisp-visible text intervals. | 2613 | Lisp-visible text intervals. |
| 2610 | @end menu | 2614 | @end menu |
| 2611 | 2615 | ||
| 2612 | @node Examining Properties | 2616 | @node Examining Properties |
diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index c1f1423dabf..de281b0e147 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2001, 2002, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2001, 2002, |
| 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | @c Free Software Foundation, Inc. | ||
| 5 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../../info/tips | 7 | @setfilename ../../info/tips |
| 7 | @node Tips, GNU Emacs Internals, GPL, Top | 8 | @node Tips, GNU Emacs Internals, GPL, Top |
| @@ -28,7 +29,7 @@ all. | |||
| 28 | * Compilation Tips:: Making compiled code run fast. | 29 | * Compilation Tips:: Making compiled code run fast. |
| 29 | * Warning Tips:: Turning off compiler warnings. | 30 | * Warning Tips:: Turning off compiler warnings. |
| 30 | * Documentation Tips:: Writing readable documentation strings. | 31 | * Documentation Tips:: Writing readable documentation strings. |
| 31 | * Comment Tips:: Conventions for writing comments. | 32 | * Comment Tips:: Conventions for writing comments. |
| 32 | * Library Headers:: Standard headers for library packages. | 33 | * Library Headers:: Standard headers for library packages. |
| 33 | @end menu | 34 | @end menu |
| 34 | 35 | ||
diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi index a0590c3d282..ae90d23c70b 100644 --- a/doc/lispref/vol1.texi +++ b/doc/lispref/vol1.texi | |||
| @@ -164,7 +164,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}. | |||
| 164 | files are made. | 164 | files are made. |
| 165 | * Buffers:: Creating and using buffer objects. | 165 | * Buffers:: Creating and using buffer objects. |
| 166 | * Windows:: Manipulating windows and displaying buffers. | 166 | * Windows:: Manipulating windows and displaying buffers. |
| 167 | * Frames:: Making multiple system-level windows. | 167 | * Frames:: Making multiple system-level windows. |
| 168 | * Positions:: Buffer positions and motion functions. | 168 | * Positions:: Buffer positions and motion functions. |
| 169 | * Markers:: Markers represent positions and update | 169 | * Markers:: Markers represent positions and update |
| 170 | automatically when the text is changed. | 170 | automatically when the text is changed. |
| @@ -176,7 +176,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}. | |||
| 176 | * Abbrevs:: How Abbrev mode works, and its data structures. | 176 | * Abbrevs:: How Abbrev mode works, and its data structures. |
| 177 | 177 | ||
| 178 | * Processes:: Running and communicating with subprocesses. | 178 | * Processes:: Running and communicating with subprocesses. |
| 179 | * Display:: Features for controlling the screen display. | 179 | * Display:: Features for controlling the screen display. |
| 180 | * System Interface:: Getting the user id, system type, environment | 180 | * System Interface:: Getting the user id, system type, environment |
| 181 | variables, and other such things. | 181 | variables, and other such things. |
| 182 | 182 | ||
| @@ -311,10 +311,10 @@ Editing Types | |||
| 311 | Numbers | 311 | Numbers |
| 312 | 312 | ||
| 313 | * Integer Basics:: Representation and range of integers. | 313 | * Integer Basics:: Representation and range of integers. |
| 314 | * Float Basics:: Representation and range of floating point. | 314 | * Float Basics:: Representation and range of floating point. |
| 315 | * Predicates on Numbers:: Testing for numbers. | 315 | * Predicates on Numbers:: Testing for numbers. |
| 316 | * Comparison of Numbers:: Equality and inequality predicates. | 316 | * Comparison of Numbers:: Equality and inequality predicates. |
| 317 | * Numeric Conversions:: Converting float to integer and vice versa. | 317 | * Numeric Conversions:: Converting float to integer and vice versa. |
| 318 | * Arithmetic Operations:: How to add, subtract, multiply and divide. | 318 | * Arithmetic Operations:: How to add, subtract, multiply and divide. |
| 319 | * Rounding Operations:: Explicitly rounding floating point numbers. | 319 | * Rounding Operations:: Explicitly rounding floating point numbers. |
| 320 | * Bitwise Operations:: Logical and, or, not, shifting. | 320 | * Bitwise Operations:: Logical and, or, not, shifting. |
| @@ -331,7 +331,7 @@ Strings and Characters | |||
| 331 | * String Conversion:: Converting to and from characters and strings. | 331 | * String Conversion:: Converting to and from characters and strings. |
| 332 | * Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. | 332 | * Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. |
| 333 | * Case Conversion:: Case conversion functions. | 333 | * Case Conversion:: Case conversion functions. |
| 334 | * Case Tables:: Customizing case conversion. | 334 | * Case Tables:: Customizing case conversion. |
| 335 | 335 | ||
| 336 | Lists | 336 | Lists |
| 337 | 337 | ||
| @@ -399,7 +399,7 @@ Kinds of Forms | |||
| 399 | * Symbol Forms:: Symbols evaluate as variables. | 399 | * Symbol Forms:: Symbols evaluate as variables. |
| 400 | * Classifying Lists:: How to distinguish various sorts of list forms. | 400 | * Classifying Lists:: How to distinguish various sorts of list forms. |
| 401 | * Function Indirection:: When a symbol appears as the car of a list, | 401 | * Function Indirection:: When a symbol appears as the car of a list, |
| 402 | we find the real function via the symbol. | 402 | we find the real function via the symbol. |
| 403 | * Function Forms:: Forms that call functions. | 403 | * Function Forms:: Forms that call functions. |
| 404 | * Macro Forms:: Forms that call macros. | 404 | * Macro Forms:: Forms that call macros. |
| 405 | * Special Forms:: "Special forms" are idiosyncratic primitives, | 405 | * Special Forms:: "Special forms" are idiosyncratic primitives, |
| @@ -480,9 +480,9 @@ Functions | |||
| 480 | * Function Cells:: Accessing or setting the function definition | 480 | * Function Cells:: Accessing or setting the function definition |
| 481 | of a symbol. | 481 | of a symbol. |
| 482 | * Obsolete Functions:: Declaring functions obsolete. | 482 | * Obsolete Functions:: Declaring functions obsolete. |
| 483 | * Inline Functions:: Defining functions that the compiler | 483 | * Inline Functions:: Defining functions that the compiler |
| 484 | will open code. | 484 | will open code. |
| 485 | * Declaring Functions:: Telling the compiler that a function is defined. | 485 | * Declaring Functions:: Telling the compiler that a function is defined. |
| 486 | * Function Safety:: Determining whether a function is safe to call. | 486 | * Function Safety:: Determining whether a function is safe to call. |
| 487 | * Related Topics:: Cross-references to specific Lisp primitives | 487 | * Related Topics:: Cross-references to specific Lisp primitives |
| 488 | that have a special bearing on how | 488 | that have a special bearing on how |
| @@ -542,9 +542,9 @@ Loading | |||
| 542 | * Repeated Loading:: Precautions about loading a file twice. | 542 | * Repeated Loading:: Precautions about loading a file twice. |
| 543 | * Named Features:: Loading a library if it isn't already loaded. | 543 | * Named Features:: Loading a library if it isn't already loaded. |
| 544 | * Where Defined:: Finding which file defined a certain symbol. | 544 | * Where Defined:: Finding which file defined a certain symbol. |
| 545 | * Unloading:: How to "unload" a library that was loaded. | 545 | * Unloading:: How to "unload" a library that was loaded. |
| 546 | * Hooks for Loading:: Providing code to be run when | 546 | * Hooks for Loading:: Providing code to be run when |
| 547 | particular libraries are loaded. | 547 | particular libraries are loaded. |
| 548 | 548 | ||
| 549 | Byte Compilation | 549 | Byte Compilation |
| 550 | 550 | ||
| @@ -554,7 +554,7 @@ Byte Compilation | |||
| 554 | * Dynamic Loading:: Dynamic loading of individual functions. | 554 | * Dynamic Loading:: Dynamic loading of individual functions. |
| 555 | * Eval During Compile:: Code to be evaluated when you compile. | 555 | * Eval During Compile:: Code to be evaluated when you compile. |
| 556 | * Compiler Errors:: Handling compiler error messages. | 556 | * Compiler Errors:: Handling compiler error messages. |
| 557 | * Byte-Code Objects:: The data type used for byte-compiled functions. | 557 | * Byte-Code Objects:: The data type used for byte-compiled functions. |
| 558 | * Disassembly:: Disassembling byte-code; how to read byte-code. | 558 | * Disassembly:: Disassembling byte-code; how to read byte-code. |
| 559 | 559 | ||
| 560 | Advising Emacs Lisp Functions | 560 | Advising Emacs Lisp Functions |
| @@ -583,7 +583,7 @@ Debugging Lisp Programs | |||
| 583 | The Lisp Debugger | 583 | The Lisp Debugger |
| 584 | 584 | ||
| 585 | * Error Debugging:: Entering the debugger when an error happens. | 585 | * Error Debugging:: Entering the debugger when an error happens. |
| 586 | * Infinite Loops:: Stopping and debugging a program that doesn't exit. | 586 | * Infinite Loops:: Stopping and debugging a program that doesn't exit. |
| 587 | * Function Debugging:: Entering it when a certain function is called. | 587 | * Function Debugging:: Entering it when a certain function is called. |
| 588 | * Explicit Debug:: Entering it at a certain point in the program. | 588 | * Explicit Debug:: Entering it at a certain point in the program. |
| 589 | * Using Debugger:: What the debugger does; what you see while in it. | 589 | * Using Debugger:: What the debugger does; what you see while in it. |
| @@ -593,24 +593,24 @@ The Lisp Debugger | |||
| 593 | 593 | ||
| 594 | Edebug | 594 | Edebug |
| 595 | 595 | ||
| 596 | * Using Edebug:: Introduction to use of Edebug. | 596 | * Using Edebug:: Introduction to use of Edebug. |
| 597 | * Instrumenting:: You must instrument your code | 597 | * Instrumenting:: You must instrument your code |
| 598 | in order to debug it with Edebug. | 598 | in order to debug it with Edebug. |
| 599 | * Edebug Execution Modes:: Execution modes, stopping more or less often. | 599 | * Edebug Execution Modes:: Execution modes, stopping more or less often. |
| 600 | * Jumping:: Commands to jump to a specified place. | 600 | * Jumping:: Commands to jump to a specified place. |
| 601 | * Edebug Misc:: Miscellaneous commands. | 601 | * Edebug Misc:: Miscellaneous commands. |
| 602 | * Breaks:: Setting breakpoints to make the program stop. | 602 | * Breaks:: Setting breakpoints to make the program stop. |
| 603 | * Trapping Errors:: Trapping errors with Edebug. | 603 | * Trapping Errors:: Trapping errors with Edebug. |
| 604 | * Edebug Views:: Views inside and outside of Edebug. | 604 | * Edebug Views:: Views inside and outside of Edebug. |
| 605 | * Edebug Eval:: Evaluating expressions within Edebug. | 605 | * Edebug Eval:: Evaluating expressions within Edebug. |
| 606 | * Eval List:: Expressions whose values are displayed | 606 | * Eval List:: Expressions whose values are displayed |
| 607 | each time you enter Edebug. | 607 | each time you enter Edebug. |
| 608 | * Printing in Edebug:: Customization of printing. | 608 | * Printing in Edebug:: Customization of printing. |
| 609 | * Trace Buffer:: How to produce trace output in a buffer. | 609 | * Trace Buffer:: How to produce trace output in a buffer. |
| 610 | * Coverage Testing:: How to test evaluation coverage. | 610 | * Coverage Testing:: How to test evaluation coverage. |
| 611 | * The Outside Context:: Data that Edebug saves and restores. | 611 | * The Outside Context:: Data that Edebug saves and restores. |
| 612 | * Edebug and Macros:: Specifying how to handle macro calls. | 612 | * Edebug and Macros:: Specifying how to handle macro calls. |
| 613 | * Edebug Options:: Option variables for customizing Edebug. | 613 | * Edebug Options:: Option variables for customizing Edebug. |
| 614 | 614 | ||
| 615 | Breaks | 615 | Breaks |
| 616 | 616 | ||
| @@ -627,8 +627,8 @@ The Outside Context | |||
| 627 | Edebug and Macros | 627 | Edebug and Macros |
| 628 | 628 | ||
| 629 | * Instrumenting Macro Calls::The basic problem. | 629 | * Instrumenting Macro Calls::The basic problem. |
| 630 | * Specification List:: How to specify complex patterns of evaluation. | 630 | * Specification List:: How to specify complex patterns of evaluation. |
| 631 | * Backtracking:: What Edebug does when matching fails. | 631 | * Backtracking:: What Edebug does when matching fails. |
| 632 | * Specification Examples:: To help understand specifications. | 632 | * Specification Examples:: To help understand specifications. |
| 633 | 633 | ||
| 634 | Debugging Invalid Lisp Syntax | 634 | Debugging Invalid Lisp Syntax |
| @@ -653,13 +653,13 @@ Minibuffers | |||
| 653 | * Intro to Minibuffers:: Basic information about minibuffers. | 653 | * Intro to Minibuffers:: Basic information about minibuffers. |
| 654 | * Text from Minibuffer:: How to read a straight text string. | 654 | * Text from Minibuffer:: How to read a straight text string. |
| 655 | * Object from Minibuffer:: How to read a Lisp object or expression. | 655 | * Object from Minibuffer:: How to read a Lisp object or expression. |
| 656 | * Minibuffer History:: Recording previous minibuffer inputs | 656 | * Minibuffer History:: Recording previous minibuffer inputs |
| 657 | so the user can reuse them. | 657 | so the user can reuse them. |
| 658 | * Initial Input:: Specifying initial contents for the minibuffer. | 658 | * Initial Input:: Specifying initial contents for the minibuffer. |
| 659 | * Completion:: How to invoke and customize completion. | 659 | * Completion:: How to invoke and customize completion. |
| 660 | * Yes-or-No Queries:: Asking a question with a simple answer. | 660 | * Yes-or-No Queries:: Asking a question with a simple answer. |
| 661 | * Multiple Queries:: Asking a series of similar questions. | 661 | * Multiple Queries:: Asking a series of similar questions. |
| 662 | * Reading a Password:: Reading a password from the terminal. | 662 | * Reading a Password:: Reading a password from the terminal. |
| 663 | * Minibuffer Commands:: Commands used as key bindings in minibuffers. | 663 | * Minibuffer Commands:: Commands used as key bindings in minibuffers. |
| 664 | * Minibuffer Contents:: How such commands access the minibuffer text. | 664 | * Minibuffer Contents:: How such commands access the minibuffer text. |
| 665 | * Minibuffer Windows:: Operating on the special minibuffer windows. | 665 | * Minibuffer Windows:: Operating on the special minibuffer windows. |
| @@ -687,7 +687,7 @@ Command Loop | |||
| 687 | * Distinguish Interactive:: Making a command distinguish interactive calls. | 687 | * Distinguish Interactive:: Making a command distinguish interactive calls. |
| 688 | * Command Loop Info:: Variables set by the command loop for you to examine. | 688 | * Command Loop Info:: Variables set by the command loop for you to examine. |
| 689 | * Adjusting Point:: Adjustment of point after a command. | 689 | * Adjusting Point:: Adjustment of point after a command. |
| 690 | * Input Events:: What input looks like when you read it. | 690 | * Input Events:: What input looks like when you read it. |
| 691 | * Reading Input:: How to read input events from the keyboard or mouse. | 691 | * Reading Input:: How to read input events from the keyboard or mouse. |
| 692 | * Special Events:: Events processed immediately and individually. | 692 | * Special Events:: Events processed immediately and individually. |
| 693 | * Waiting:: Waiting for user input or elapsed time. | 693 | * Waiting:: Waiting for user input or elapsed time. |
| @@ -721,7 +721,7 @@ Input Events | |||
| 721 | * Event Examples:: Examples of the lists for mouse events. | 721 | * Event Examples:: Examples of the lists for mouse events. |
| 722 | * Classifying Events:: Finding the modifier keys in an event symbol. | 722 | * Classifying Events:: Finding the modifier keys in an event symbol. |
| 723 | Event types. | 723 | Event types. |
| 724 | * Accessing Mouse:: Functions to extract info from mouse events. | 724 | * Accessing Mouse:: Functions to extract info from mouse events. |
| 725 | * Accessing Scroll:: Functions to get info from scroll bar events. | 725 | * Accessing Scroll:: Functions to get info from scroll bar events. |
| 726 | * Strings of Events:: Special considerations for putting | 726 | * Strings of Events:: Special considerations for putting |
| 727 | keyboard character events in a string. | 727 | keyboard character events in a string. |
| @@ -871,9 +871,9 @@ Files | |||
| 871 | * Changing Files:: Renaming files, changing protection, etc. | 871 | * Changing Files:: Renaming files, changing protection, etc. |
| 872 | * File Names:: Decomposing and expanding file names. | 872 | * File Names:: Decomposing and expanding file names. |
| 873 | * Contents of Directories:: Getting a list of the files in a directory. | 873 | * Contents of Directories:: Getting a list of the files in a directory. |
| 874 | * Create/Delete Dirs:: Creating and Deleting Directories. | 874 | * Create/Delete Dirs:: Creating and Deleting Directories. |
| 875 | * Magic File Names:: Defining "magic" special handling | 875 | * Magic File Names:: Defining "magic" special handling |
| 876 | for certain file names. | 876 | for certain file names. |
| 877 | * Format Conversion:: Conversion to and from various file formats. | 877 | * Format Conversion:: Conversion to and from various file formats. |
| 878 | 878 | ||
| 879 | Visiting Files | 879 | Visiting Files |
| @@ -885,7 +885,7 @@ Information about Files | |||
| 885 | 885 | ||
| 886 | * Testing Accessibility:: Is a given file readable? Writable? | 886 | * Testing Accessibility:: Is a given file readable? Writable? |
| 887 | * Kinds of Files:: Is it a directory? A symbolic link? | 887 | * Kinds of Files:: Is it a directory? A symbolic link? |
| 888 | * Truenames:: Eliminating symbolic links from a file name. | 888 | * Truenames:: Eliminating symbolic links from a file name. |
| 889 | * File Attributes:: How large is it? Any other names? Etc. | 889 | * File Attributes:: How large is it? Any other names? Etc. |
| 890 | * Locating Files:: How to find a file in standard places. | 890 | * Locating Files:: How to find a file in standard places. |
| 891 | 891 | ||
| @@ -955,8 +955,8 @@ Windows | |||
| 955 | * Buffers and Windows:: Each window displays the contents of a buffer. | 955 | * Buffers and Windows:: Each window displays the contents of a buffer. |
| 956 | * Displaying Buffers:: Higher-level functions for displaying a buffer | 956 | * Displaying Buffers:: Higher-level functions for displaying a buffer |
| 957 | and choosing a window for it. | 957 | and choosing a window for it. |
| 958 | * Choosing Window:: How to choose a window for displaying a buffer. | 958 | * Choosing Window:: How to choose a window for displaying a buffer. |
| 959 | * Dedicated Windows:: How to avoid displaying another buffer in | 959 | * Dedicated Windows:: How to avoid displaying another buffer in |
| 960 | a specific window. | 960 | a specific window. |
| 961 | * Window Point:: Each window has its own location of point. | 961 | * Window Point:: Each window has its own location of point. |
| 962 | * Window Start and End:: Buffer positions indicating which text is | 962 | * Window Start and End:: Buffer positions indicating which text is |
| @@ -976,37 +976,37 @@ Windows | |||
| 976 | 976 | ||
| 977 | Frames | 977 | Frames |
| 978 | 978 | ||
| 979 | * Creating Frames:: Creating additional frames. | 979 | * Creating Frames:: Creating additional frames. |
| 980 | * Multiple Terminals:: Displaying on several different devices. | 980 | * Multiple Terminals:: Displaying on several different devices. |
| 981 | * Frame Parameters:: Controlling frame size, position, font, etc. | 981 | * Frame Parameters:: Controlling frame size, position, font, etc. |
| 982 | * Terminal Parameters:: Parameters common for all frames on terminal. | 982 | * Terminal Parameters:: Parameters common for all frames on terminal. |
| 983 | * Frame Titles:: Automatic updating of frame titles. | 983 | * Frame Titles:: Automatic updating of frame titles. |
| 984 | * Deleting Frames:: Frames last until explicitly deleted. | 984 | * Deleting Frames:: Frames last until explicitly deleted. |
| 985 | * Finding All Frames:: How to examine all existing frames. | 985 | * Finding All Frames:: How to examine all existing frames. |
| 986 | * Frames and Windows:: A frame contains windows; | 986 | * Frames and Windows:: A frame contains windows; |
| 987 | display of text always works through windows. | 987 | display of text always works through windows. |
| 988 | * Minibuffers and Frames:: How a frame finds the minibuffer to use. | 988 | * Minibuffers and Frames:: How a frame finds the minibuffer to use. |
| 989 | * Input Focus:: Specifying the selected frame. | 989 | * Input Focus:: Specifying the selected frame. |
| 990 | * Visibility of Frames:: Frames may be visible or invisible, or icons. | 990 | * Visibility of Frames:: Frames may be visible or invisible, or icons. |
| 991 | * Raising and Lowering:: Raising a frame makes it hide other windows; | 991 | * Raising and Lowering:: Raising a frame makes it hide other windows; |
| 992 | lowering it makes the others hide it. | 992 | lowering it makes the others hide it. |
| 993 | * Frame Configurations:: Saving the state of all frames. | 993 | * Frame Configurations:: Saving the state of all frames. |
| 994 | * Mouse Tracking:: Getting events that say when the mouse moves. | 994 | * Mouse Tracking:: Getting events that say when the mouse moves. |
| 995 | * Mouse Position:: Asking where the mouse is, or moving it. | 995 | * Mouse Position:: Asking where the mouse is, or moving it. |
| 996 | * Pop-Up Menus:: Displaying a menu for the user to select from. | 996 | * Pop-Up Menus:: Displaying a menu for the user to select from. |
| 997 | * Dialog Boxes:: Displaying a box to ask yes or no. | 997 | * Dialog Boxes:: Displaying a box to ask yes or no. |
| 998 | * Pointer Shape:: Specifying the shape of the mouse pointer. | 998 | * Pointer Shape:: Specifying the shape of the mouse pointer. |
| 999 | * Window System Selections::Transferring text to and from other X clients. | 999 | * Window System Selections::Transferring text to and from other X clients. |
| 1000 | * Drag and Drop:: Internals of Drag-and-Drop implementation. | 1000 | * Drag and Drop:: Internals of Drag-and-Drop implementation. |
| 1001 | * Color Names:: Getting the definitions of color names. | 1001 | * Color Names:: Getting the definitions of color names. |
| 1002 | * Text Terminal Colors:: Defining colors for text-only terminals. | 1002 | * Text Terminal Colors:: Defining colors for text-only terminals. |
| 1003 | * Resources:: Getting resource values from the server. | 1003 | * Resources:: Getting resource values from the server. |
| 1004 | * Display Feature Testing:: Determining the features of a terminal. | 1004 | * Display Feature Testing:: Determining the features of a terminal. |
| 1005 | 1005 | ||
| 1006 | Frame Parameters | 1006 | Frame Parameters |
| 1007 | 1007 | ||
| 1008 | * Parameter Access:: How to change a frame's parameters. | 1008 | * Parameter Access:: How to change a frame's parameters. |
| 1009 | * Initial Parameters:: Specifying frame parameters when you make a frame. | 1009 | * Initial Parameters:: Specifying frame parameters when you make a frame. |
| 1010 | * Window Frame Parameters:: List of frame parameters for window systems. | 1010 | * Window Frame Parameters:: List of frame parameters for window systems. |
| 1011 | * Size and Position:: Changing the size and position of a frame. | 1011 | * Size and Position:: Changing the size and position of a frame. |
| 1012 | * Geometry:: Parsing geometry specifications. | 1012 | * Geometry:: Parsing geometry specifications. |
| @@ -1065,7 +1065,7 @@ Text | |||
| 1065 | later use. | 1065 | later use. |
| 1066 | * Undo:: Undoing changes to the text of a buffer. | 1066 | * Undo:: Undoing changes to the text of a buffer. |
| 1067 | * Maintaining Undo:: How to enable and disable undo information. | 1067 | * Maintaining Undo:: How to enable and disable undo information. |
| 1068 | How to control how much information is kept. | 1068 | How to control how much information is kept. |
| 1069 | * Filling:: Functions for explicit filling. | 1069 | * Filling:: Functions for explicit filling. |
| 1070 | * Margins:: How to specify margins for filling commands. | 1070 | * Margins:: How to specify margins for filling commands. |
| 1071 | * Adaptive Fill:: Adaptive Fill mode chooses a fill prefix | 1071 | * Adaptive Fill:: Adaptive Fill mode chooses a fill prefix |
| @@ -1091,7 +1091,7 @@ The Kill Ring | |||
| 1091 | * Kill Functions:: Functions that kill text. | 1091 | * Kill Functions:: Functions that kill text. |
| 1092 | * Yanking:: How yanking is done. | 1092 | * Yanking:: How yanking is done. |
| 1093 | * Yank Commands:: Commands that access the kill ring. | 1093 | * Yank Commands:: Commands that access the kill ring. |
| 1094 | * Low-Level Kill Ring:: Functions and variables for kill ring access. | 1094 | * Low-Level Kill Ring:: Functions and variables for kill ring access. |
| 1095 | * Internals of Kill Ring:: Variables that hold kill ring data. | 1095 | * Internals of Kill Ring:: Variables that hold kill ring data. |
| 1096 | 1096 | ||
| 1097 | Indentation | 1097 | Indentation |
| @@ -1106,9 +1106,9 @@ Indentation | |||
| 1106 | Text Properties | 1106 | Text Properties |
| 1107 | 1107 | ||
| 1108 | * Examining Properties:: Looking at the properties of one character. | 1108 | * Examining Properties:: Looking at the properties of one character. |
| 1109 | * Changing Properties:: Setting the properties of a range of text. | 1109 | * Changing Properties:: Setting the properties of a range of text. |
| 1110 | * Property Search:: Searching for where a property changes value. | 1110 | * Property Search:: Searching for where a property changes value. |
| 1111 | * Special Properties:: Particular properties with special meanings. | 1111 | * Special Properties:: Particular properties with special meanings. |
| 1112 | * Format Properties:: Properties for representing formatting of text. | 1112 | * Format Properties:: Properties for representing formatting of text. |
| 1113 | * Sticky Properties:: How inserted text gets properties from | 1113 | * Sticky Properties:: How inserted text gets properties from |
| 1114 | neighboring text. | 1114 | neighboring text. |
| @@ -1118,8 +1118,8 @@ Text Properties | |||
| 1118 | do something when you click on them. | 1118 | do something when you click on them. |
| 1119 | * Fields:: The @code{field} property defines | 1119 | * Fields:: The @code{field} property defines |
| 1120 | fields within the buffer. | 1120 | fields within the buffer. |
| 1121 | * Not Intervals:: Why text properties do not use | 1121 | * Not Intervals:: Why text properties do not use |
| 1122 | Lisp-visible text intervals. | 1122 | Lisp-visible text intervals. |
| 1123 | 1123 | ||
| 1124 | Non-@acronym{ASCII} Characters | 1124 | Non-@acronym{ASCII} Characters |
| 1125 | 1125 | ||
| @@ -1162,7 +1162,7 @@ Searching and Matching | |||
| 1162 | * POSIX Regexps:: Searching POSIX-style for the longest match. | 1162 | * POSIX Regexps:: Searching POSIX-style for the longest match. |
| 1163 | * Match Data:: Finding out which part of the text matched, | 1163 | * Match Data:: Finding out which part of the text matched, |
| 1164 | after a string or regexp search. | 1164 | after a string or regexp search. |
| 1165 | * Search and Replace:: Commands that loop, searching and replacing. | 1165 | * Search and Replace:: Commands that loop, searching and replacing. |
| 1166 | * Standard Regexps:: Useful regexps for finding sentences, pages,... | 1166 | * Standard Regexps:: Useful regexps for finding sentences, pages,... |
| 1167 | 1167 | ||
| 1168 | Regular Expressions | 1168 | Regular Expressions |
| @@ -1179,9 +1179,9 @@ Syntax of Regular Expressions | |||
| 1179 | 1179 | ||
| 1180 | The Match Data | 1180 | The Match Data |
| 1181 | 1181 | ||
| 1182 | * Replacing Match:: Replacing a substring that was matched. | 1182 | * Replacing Match:: Replacing a substring that was matched. |
| 1183 | * Simple Match Data:: Accessing single items of match data, | 1183 | * Simple Match Data:: Accessing single items of match data, |
| 1184 | such as where a particular subexpression started. | 1184 | such as where a particular subexpression started. |
| 1185 | * Entire Match Data:: Accessing the entire match data at once, as a list. | 1185 | * Entire Match Data:: Accessing the entire match data at once, as a list. |
| 1186 | * Saving Match Data:: Saving and restoring the match data. | 1186 | * Saving Match Data:: Saving and restoring the match data. |
| 1187 | 1187 | ||
| @@ -1191,7 +1191,7 @@ Syntax Tables | |||
| 1191 | * Syntax Descriptors:: How characters are classified. | 1191 | * Syntax Descriptors:: How characters are classified. |
| 1192 | * Syntax Table Functions:: How to create, examine and alter syntax tables. | 1192 | * Syntax Table Functions:: How to create, examine and alter syntax tables. |
| 1193 | * Syntax Properties:: Overriding syntax with text properties. | 1193 | * Syntax Properties:: Overriding syntax with text properties. |
| 1194 | * Motion and Syntax:: Moving over characters with certain syntaxes. | 1194 | * Motion and Syntax:: Moving over characters with certain syntaxes. |
| 1195 | * Parsing Expressions:: Parsing balanced expressions | 1195 | * Parsing Expressions:: Parsing balanced expressions |
| 1196 | using the syntax table. | 1196 | using the syntax table. |
| 1197 | * Standard Syntax Tables:: Syntax tables used by various major modes. | 1197 | * Standard Syntax Tables:: Syntax tables used by various major modes. |
| @@ -1280,10 +1280,10 @@ Emacs Display | |||
| 1280 | * Invisible Text:: Hiding part of the buffer text. | 1280 | * Invisible Text:: Hiding part of the buffer text. |
| 1281 | * Selective Display:: Hiding part of the buffer text (the old way). | 1281 | * Selective Display:: Hiding part of the buffer text (the old way). |
| 1282 | * Temporary Displays:: Displays that go away automatically. | 1282 | * Temporary Displays:: Displays that go away automatically. |
| 1283 | * Overlays:: Use overlays to highlight parts of the buffer. | 1283 | * Overlays:: Use overlays to highlight parts of the buffer. |
| 1284 | * Width:: How wide a character or string is on the screen. | 1284 | * Width:: How wide a character or string is on the screen. |
| 1285 | * Line Height:: Controlling the height of lines. | 1285 | * Line Height:: Controlling the height of lines. |
| 1286 | * Faces:: A face defines a graphics style | 1286 | * Faces:: A face defines a graphics style |
| 1287 | for text characters: font, colors, etc. | 1287 | for text characters: font, colors, etc. |
| 1288 | * Fringes:: Controlling window fringes. | 1288 | * Fringes:: Controlling window fringes. |
| 1289 | * Scroll Bars:: Controlling vertical scroll bars. | 1289 | * Scroll Bars:: Controlling vertical scroll bars. |
| @@ -1292,9 +1292,9 @@ Emacs Display | |||
| 1292 | * Buttons:: Adding clickable buttons to Emacs buffers. | 1292 | * Buttons:: Adding clickable buttons to Emacs buffers. |
| 1293 | * Abstract Display:: Emacs' Widget for Object Collections. | 1293 | * Abstract Display:: Emacs' Widget for Object Collections. |
| 1294 | * Blinking:: How Emacs shows the matching open parenthesis. | 1294 | * Blinking:: How Emacs shows the matching open parenthesis. |
| 1295 | * Usual Display:: The usual conventions for displaying | 1295 | * Usual Display:: The usual conventions for displaying |
| 1296 | nonprinting chars. | 1296 | nonprinting chars. |
| 1297 | * Display Tables:: How to specify other conventions. | 1297 | * Display Tables:: How to specify other conventions. |
| 1298 | * Beeping:: Audible signal to the user. | 1298 | * Beeping:: Audible signal to the user. |
| 1299 | * Window Systems:: Which window system is being used. | 1299 | * Window Systems:: Which window system is being used. |
| 1300 | 1300 | ||
| @@ -1316,7 +1316,7 @@ Overlays | |||
| 1316 | 1316 | ||
| 1317 | * Managing Overlays:: Creating and moving overlays. | 1317 | * Managing Overlays:: Creating and moving overlays. |
| 1318 | * Overlay Properties:: How to read and set properties. | 1318 | * Overlay Properties:: How to read and set properties. |
| 1319 | What properties do to the screen display. | 1319 | What properties do to the screen display. |
| 1320 | * Finding Overlays:: Searching for overlays. | 1320 | * Finding Overlays:: Searching for overlays. |
| 1321 | 1321 | ||
| 1322 | Faces | 1322 | Faces |
| @@ -1396,14 +1396,14 @@ Operating System Interface | |||
| 1396 | * Getting Out:: How exiting works (permanent or temporary). | 1396 | * Getting Out:: How exiting works (permanent or temporary). |
| 1397 | * System Environment:: Distinguish the name and kind of system. | 1397 | * System Environment:: Distinguish the name and kind of system. |
| 1398 | * User Identification:: Finding the name and user id of the user. | 1398 | * User Identification:: Finding the name and user id of the user. |
| 1399 | * Time of Day:: Getting the current time. | 1399 | * Time of Day:: Getting the current time. |
| 1400 | * Time Conversion:: Converting a time from numeric form to | 1400 | * Time Conversion:: Converting a time from numeric form to |
| 1401 | calendrical data and vice versa. | 1401 | calendrical data and vice versa. |
| 1402 | * Time Parsing:: Converting a time from numeric form to text | 1402 | * Time Parsing:: Converting a time from numeric form to text |
| 1403 | and vice versa. | 1403 | and vice versa. |
| 1404 | * Processor Run Time:: Getting the run time used by Emacs. | 1404 | * Processor Run Time:: Getting the run time used by Emacs. |
| 1405 | * Time Calculations:: Adding, subtracting, comparing times, etc. | 1405 | * Time Calculations:: Adding, subtracting, comparing times, etc. |
| 1406 | * Timers:: Setting a timer to call a function at a | 1406 | * Timers:: Setting a timer to call a function at a |
| 1407 | certain time. | 1407 | certain time. |
| 1408 | * Idle Timers:: Setting a timer to call a function when Emacs has | 1408 | * Idle Timers:: Setting a timer to call a function when Emacs has |
| 1409 | been idle for a certain length of time. | 1409 | been idle for a certain length of time. |
| @@ -1430,8 +1430,8 @@ Getting Out of Emacs | |||
| 1430 | 1430 | ||
| 1431 | Terminal Input | 1431 | Terminal Input |
| 1432 | 1432 | ||
| 1433 | * Input Modes:: Options for how input is processed. | 1433 | * Input Modes:: Options for how input is processed. |
| 1434 | * Recording Input:: Saving histories of recent or all input events. | 1434 | * Recording Input:: Saving histories of recent or all input events. |
| 1435 | 1435 | ||
| 1436 | Tips and Conventions | 1436 | Tips and Conventions |
| 1437 | 1437 | ||
| @@ -1441,7 +1441,7 @@ Tips and Conventions | |||
| 1441 | * Compilation Tips:: Making compiled code run fast. | 1441 | * Compilation Tips:: Making compiled code run fast. |
| 1442 | * Warning Tips:: Turning off compiler warnings. | 1442 | * Warning Tips:: Turning off compiler warnings. |
| 1443 | * Documentation Tips:: Writing readable documentation strings. | 1443 | * Documentation Tips:: Writing readable documentation strings. |
| 1444 | * Comment Tips:: Conventions for writing comments. | 1444 | * Comment Tips:: Conventions for writing comments. |
| 1445 | * Library Headers:: Standard headers for library packages. | 1445 | * Library Headers:: Standard headers for library packages. |
| 1446 | 1446 | ||
| 1447 | GNU Emacs Internals | 1447 | GNU Emacs Internals |
diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi index ad4c74611a8..6de6ac7182b 100644 --- a/doc/lispref/vol2.texi +++ b/doc/lispref/vol2.texi | |||
| @@ -163,7 +163,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}. | |||
| 163 | files are made. | 163 | files are made. |
| 164 | * Buffers:: Creating and using buffer objects. | 164 | * Buffers:: Creating and using buffer objects. |
| 165 | * Windows:: Manipulating windows and displaying buffers. | 165 | * Windows:: Manipulating windows and displaying buffers. |
| 166 | * Frames:: Making multiple system-level windows. | 166 | * Frames:: Making multiple system-level windows. |
| 167 | * Positions:: Buffer positions and motion functions. | 167 | * Positions:: Buffer positions and motion functions. |
| 168 | * Markers:: Markers represent positions and update | 168 | * Markers:: Markers represent positions and update |
| 169 | automatically when the text is changed. | 169 | automatically when the text is changed. |
| @@ -175,7 +175,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}. | |||
| 175 | * Abbrevs:: How Abbrev mode works, and its data structures. | 175 | * Abbrevs:: How Abbrev mode works, and its data structures. |
| 176 | 176 | ||
| 177 | * Processes:: Running and communicating with subprocesses. | 177 | * Processes:: Running and communicating with subprocesses. |
| 178 | * Display:: Features for controlling the screen display. | 178 | * Display:: Features for controlling the screen display. |
| 179 | * System Interface:: Getting the user id, system type, environment | 179 | * System Interface:: Getting the user id, system type, environment |
| 180 | variables, and other such things. | 180 | variables, and other such things. |
| 181 | 181 | ||
| @@ -310,10 +310,10 @@ Editing Types | |||
| 310 | Numbers | 310 | Numbers |
| 311 | 311 | ||
| 312 | * Integer Basics:: Representation and range of integers. | 312 | * Integer Basics:: Representation and range of integers. |
| 313 | * Float Basics:: Representation and range of floating point. | 313 | * Float Basics:: Representation and range of floating point. |
| 314 | * Predicates on Numbers:: Testing for numbers. | 314 | * Predicates on Numbers:: Testing for numbers. |
| 315 | * Comparison of Numbers:: Equality and inequality predicates. | 315 | * Comparison of Numbers:: Equality and inequality predicates. |
| 316 | * Numeric Conversions:: Converting float to integer and vice versa. | 316 | * Numeric Conversions:: Converting float to integer and vice versa. |
| 317 | * Arithmetic Operations:: How to add, subtract, multiply and divide. | 317 | * Arithmetic Operations:: How to add, subtract, multiply and divide. |
| 318 | * Rounding Operations:: Explicitly rounding floating point numbers. | 318 | * Rounding Operations:: Explicitly rounding floating point numbers. |
| 319 | * Bitwise Operations:: Logical and, or, not, shifting. | 319 | * Bitwise Operations:: Logical and, or, not, shifting. |
| @@ -330,7 +330,7 @@ Strings and Characters | |||
| 330 | * String Conversion:: Converting to and from characters and strings. | 330 | * String Conversion:: Converting to and from characters and strings. |
| 331 | * Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. | 331 | * Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. |
| 332 | * Case Conversion:: Case conversion functions. | 332 | * Case Conversion:: Case conversion functions. |
| 333 | * Case Tables:: Customizing case conversion. | 333 | * Case Tables:: Customizing case conversion. |
| 334 | 334 | ||
| 335 | Lists | 335 | Lists |
| 336 | 336 | ||
| @@ -398,7 +398,7 @@ Kinds of Forms | |||
| 398 | * Symbol Forms:: Symbols evaluate as variables. | 398 | * Symbol Forms:: Symbols evaluate as variables. |
| 399 | * Classifying Lists:: How to distinguish various sorts of list forms. | 399 | * Classifying Lists:: How to distinguish various sorts of list forms. |
| 400 | * Function Indirection:: When a symbol appears as the car of a list, | 400 | * Function Indirection:: When a symbol appears as the car of a list, |
| 401 | we find the real function via the symbol. | 401 | we find the real function via the symbol. |
| 402 | * Function Forms:: Forms that call functions. | 402 | * Function Forms:: Forms that call functions. |
| 403 | * Macro Forms:: Forms that call macros. | 403 | * Macro Forms:: Forms that call macros. |
| 404 | * Special Forms:: "Special forms" are idiosyncratic primitives, | 404 | * Special Forms:: "Special forms" are idiosyncratic primitives, |
| @@ -479,9 +479,9 @@ Functions | |||
| 479 | * Function Cells:: Accessing or setting the function definition | 479 | * Function Cells:: Accessing or setting the function definition |
| 480 | of a symbol. | 480 | of a symbol. |
| 481 | * Obsolete Functions:: Declaring functions obsolete. | 481 | * Obsolete Functions:: Declaring functions obsolete. |
| 482 | * Inline Functions:: Defining functions that the compiler | 482 | * Inline Functions:: Defining functions that the compiler |
| 483 | will open code. | 483 | will open code. |
| 484 | * Declaring Functions:: Telling the compiler that a function is defined. | 484 | * Declaring Functions:: Telling the compiler that a function is defined. |
| 485 | * Function Safety:: Determining whether a function is safe to call. | 485 | * Function Safety:: Determining whether a function is safe to call. |
| 486 | * Related Topics:: Cross-references to specific Lisp primitives | 486 | * Related Topics:: Cross-references to specific Lisp primitives |
| 487 | that have a special bearing on how | 487 | that have a special bearing on how |
| @@ -541,9 +541,9 @@ Loading | |||
| 541 | * Repeated Loading:: Precautions about loading a file twice. | 541 | * Repeated Loading:: Precautions about loading a file twice. |
| 542 | * Named Features:: Loading a library if it isn't already loaded. | 542 | * Named Features:: Loading a library if it isn't already loaded. |
| 543 | * Where Defined:: Finding which file defined a certain symbol. | 543 | * Where Defined:: Finding which file defined a certain symbol. |
| 544 | * Unloading:: How to "unload" a library that was loaded. | 544 | * Unloading:: How to "unload" a library that was loaded. |
| 545 | * Hooks for Loading:: Providing code to be run when | 545 | * Hooks for Loading:: Providing code to be run when |
| 546 | particular libraries are loaded. | 546 | particular libraries are loaded. |
| 547 | 547 | ||
| 548 | Byte Compilation | 548 | Byte Compilation |
| 549 | 549 | ||
| @@ -553,7 +553,7 @@ Byte Compilation | |||
| 553 | * Dynamic Loading:: Dynamic loading of individual functions. | 553 | * Dynamic Loading:: Dynamic loading of individual functions. |
| 554 | * Eval During Compile:: Code to be evaluated when you compile. | 554 | * Eval During Compile:: Code to be evaluated when you compile. |
| 555 | * Compiler Errors:: Handling compiler error messages. | 555 | * Compiler Errors:: Handling compiler error messages. |
| 556 | * Byte-Code Objects:: The data type used for byte-compiled functions. | 556 | * Byte-Code Objects:: The data type used for byte-compiled functions. |
| 557 | * Disassembly:: Disassembling byte-code; how to read byte-code. | 557 | * Disassembly:: Disassembling byte-code; how to read byte-code. |
| 558 | 558 | ||
| 559 | Advising Emacs Lisp Functions | 559 | Advising Emacs Lisp Functions |
| @@ -582,7 +582,7 @@ Debugging Lisp Programs | |||
| 582 | The Lisp Debugger | 582 | The Lisp Debugger |
| 583 | 583 | ||
| 584 | * Error Debugging:: Entering the debugger when an error happens. | 584 | * Error Debugging:: Entering the debugger when an error happens. |
| 585 | * Infinite Loops:: Stopping and debugging a program that doesn't exit. | 585 | * Infinite Loops:: Stopping and debugging a program that doesn't exit. |
| 586 | * Function Debugging:: Entering it when a certain function is called. | 586 | * Function Debugging:: Entering it when a certain function is called. |
| 587 | * Explicit Debug:: Entering it at a certain point in the program. | 587 | * Explicit Debug:: Entering it at a certain point in the program. |
| 588 | * Using Debugger:: What the debugger does; what you see while in it. | 588 | * Using Debugger:: What the debugger does; what you see while in it. |
| @@ -592,24 +592,24 @@ The Lisp Debugger | |||
| 592 | 592 | ||
| 593 | Edebug | 593 | Edebug |
| 594 | 594 | ||
| 595 | * Using Edebug:: Introduction to use of Edebug. | 595 | * Using Edebug:: Introduction to use of Edebug. |
| 596 | * Instrumenting:: You must instrument your code | 596 | * Instrumenting:: You must instrument your code |
| 597 | in order to debug it with Edebug. | 597 | in order to debug it with Edebug. |
| 598 | * Edebug Execution Modes:: Execution modes, stopping more or less often. | 598 | * Edebug Execution Modes:: Execution modes, stopping more or less often. |
| 599 | * Jumping:: Commands to jump to a specified place. | 599 | * Jumping:: Commands to jump to a specified place. |
| 600 | * Edebug Misc:: Miscellaneous commands. | 600 | * Edebug Misc:: Miscellaneous commands. |
| 601 | * Breaks:: Setting breakpoints to make the program stop. | 601 | * Breaks:: Setting breakpoints to make the program stop. |
| 602 | * Trapping Errors:: Trapping errors with Edebug. | 602 | * Trapping Errors:: Trapping errors with Edebug. |
| 603 | * Edebug Views:: Views inside and outside of Edebug. | 603 | * Edebug Views:: Views inside and outside of Edebug. |
| 604 | * Edebug Eval:: Evaluating expressions within Edebug. | 604 | * Edebug Eval:: Evaluating expressions within Edebug. |
| 605 | * Eval List:: Expressions whose values are displayed | 605 | * Eval List:: Expressions whose values are displayed |
| 606 | each time you enter Edebug. | 606 | each time you enter Edebug. |
| 607 | * Printing in Edebug:: Customization of printing. | 607 | * Printing in Edebug:: Customization of printing. |
| 608 | * Trace Buffer:: How to produce trace output in a buffer. | 608 | * Trace Buffer:: How to produce trace output in a buffer. |
| 609 | * Coverage Testing:: How to test evaluation coverage. | 609 | * Coverage Testing:: How to test evaluation coverage. |
| 610 | * The Outside Context:: Data that Edebug saves and restores. | 610 | * The Outside Context:: Data that Edebug saves and restores. |
| 611 | * Edebug and Macros:: Specifying how to handle macro calls. | 611 | * Edebug and Macros:: Specifying how to handle macro calls. |
| 612 | * Edebug Options:: Option variables for customizing Edebug. | 612 | * Edebug Options:: Option variables for customizing Edebug. |
| 613 | 613 | ||
| 614 | Breaks | 614 | Breaks |
| 615 | 615 | ||
| @@ -626,8 +626,8 @@ The Outside Context | |||
| 626 | Edebug and Macros | 626 | Edebug and Macros |
| 627 | 627 | ||
| 628 | * Instrumenting Macro Calls::The basic problem. | 628 | * Instrumenting Macro Calls::The basic problem. |
| 629 | * Specification List:: How to specify complex patterns of evaluation. | 629 | * Specification List:: How to specify complex patterns of evaluation. |
| 630 | * Backtracking:: What Edebug does when matching fails. | 630 | * Backtracking:: What Edebug does when matching fails. |
| 631 | * Specification Examples:: To help understand specifications. | 631 | * Specification Examples:: To help understand specifications. |
| 632 | 632 | ||
| 633 | Debugging Invalid Lisp Syntax | 633 | Debugging Invalid Lisp Syntax |
| @@ -652,13 +652,13 @@ Minibuffers | |||
| 652 | * Intro to Minibuffers:: Basic information about minibuffers. | 652 | * Intro to Minibuffers:: Basic information about minibuffers. |
| 653 | * Text from Minibuffer:: How to read a straight text string. | 653 | * Text from Minibuffer:: How to read a straight text string. |
| 654 | * Object from Minibuffer:: How to read a Lisp object or expression. | 654 | * Object from Minibuffer:: How to read a Lisp object or expression. |
| 655 | * Minibuffer History:: Recording previous minibuffer inputs | 655 | * Minibuffer History:: Recording previous minibuffer inputs |
| 656 | so the user can reuse them. | 656 | so the user can reuse them. |
| 657 | * Initial Input:: Specifying initial contents for the minibuffer. | 657 | * Initial Input:: Specifying initial contents for the minibuffer. |
| 658 | * Completion:: How to invoke and customize completion. | 658 | * Completion:: How to invoke and customize completion. |
| 659 | * Yes-or-No Queries:: Asking a question with a simple answer. | 659 | * Yes-or-No Queries:: Asking a question with a simple answer. |
| 660 | * Multiple Queries:: Asking a series of similar questions. | 660 | * Multiple Queries:: Asking a series of similar questions. |
| 661 | * Reading a Password:: Reading a password from the terminal. | 661 | * Reading a Password:: Reading a password from the terminal. |
| 662 | * Minibuffer Commands:: Commands used as key bindings in minibuffers. | 662 | * Minibuffer Commands:: Commands used as key bindings in minibuffers. |
| 663 | * Minibuffer Contents:: How such commands access the minibuffer text. | 663 | * Minibuffer Contents:: How such commands access the minibuffer text. |
| 664 | * Minibuffer Windows:: Operating on the special minibuffer windows. | 664 | * Minibuffer Windows:: Operating on the special minibuffer windows. |
| @@ -686,7 +686,7 @@ Command Loop | |||
| 686 | * Distinguish Interactive:: Making a command distinguish interactive calls. | 686 | * Distinguish Interactive:: Making a command distinguish interactive calls. |
| 687 | * Command Loop Info:: Variables set by the command loop for you to examine. | 687 | * Command Loop Info:: Variables set by the command loop for you to examine. |
| 688 | * Adjusting Point:: Adjustment of point after a command. | 688 | * Adjusting Point:: Adjustment of point after a command. |
| 689 | * Input Events:: What input looks like when you read it. | 689 | * Input Events:: What input looks like when you read it. |
| 690 | * Reading Input:: How to read input events from the keyboard or mouse. | 690 | * Reading Input:: How to read input events from the keyboard or mouse. |
| 691 | * Special Events:: Events processed immediately and individually. | 691 | * Special Events:: Events processed immediately and individually. |
| 692 | * Waiting:: Waiting for user input or elapsed time. | 692 | * Waiting:: Waiting for user input or elapsed time. |
| @@ -720,7 +720,7 @@ Input Events | |||
| 720 | * Event Examples:: Examples of the lists for mouse events. | 720 | * Event Examples:: Examples of the lists for mouse events. |
| 721 | * Classifying Events:: Finding the modifier keys in an event symbol. | 721 | * Classifying Events:: Finding the modifier keys in an event symbol. |
| 722 | Event types. | 722 | Event types. |
| 723 | * Accessing Mouse:: Functions to extract info from mouse events. | 723 | * Accessing Mouse:: Functions to extract info from mouse events. |
| 724 | * Accessing Scroll:: Functions to get info from scroll bar events. | 724 | * Accessing Scroll:: Functions to get info from scroll bar events. |
| 725 | * Strings of Events:: Special considerations for putting | 725 | * Strings of Events:: Special considerations for putting |
| 726 | keyboard character events in a string. | 726 | keyboard character events in a string. |
| @@ -870,9 +870,9 @@ Files | |||
| 870 | * Changing Files:: Renaming files, changing protection, etc. | 870 | * Changing Files:: Renaming files, changing protection, etc. |
| 871 | * File Names:: Decomposing and expanding file names. | 871 | * File Names:: Decomposing and expanding file names. |
| 872 | * Contents of Directories:: Getting a list of the files in a directory. | 872 | * Contents of Directories:: Getting a list of the files in a directory. |
| 873 | * Create/Delete Dirs:: Creating and Deleting Directories. | 873 | * Create/Delete Dirs:: Creating and Deleting Directories. |
| 874 | * Magic File Names:: Defining "magic" special handling | 874 | * Magic File Names:: Defining "magic" special handling |
| 875 | for certain file names. | 875 | for certain file names. |
| 876 | * Format Conversion:: Conversion to and from various file formats. | 876 | * Format Conversion:: Conversion to and from various file formats. |
| 877 | 877 | ||
| 878 | Visiting Files | 878 | Visiting Files |
| @@ -884,7 +884,7 @@ Information about Files | |||
| 884 | 884 | ||
| 885 | * Testing Accessibility:: Is a given file readable? Writable? | 885 | * Testing Accessibility:: Is a given file readable? Writable? |
| 886 | * Kinds of Files:: Is it a directory? A symbolic link? | 886 | * Kinds of Files:: Is it a directory? A symbolic link? |
| 887 | * Truenames:: Eliminating symbolic links from a file name. | 887 | * Truenames:: Eliminating symbolic links from a file name. |
| 888 | * File Attributes:: How large is it? Any other names? Etc. | 888 | * File Attributes:: How large is it? Any other names? Etc. |
| 889 | * Locating Files:: How to find a file in standard places. | 889 | * Locating Files:: How to find a file in standard places. |
| 890 | 890 | ||
| @@ -954,8 +954,8 @@ Windows | |||
| 954 | * Buffers and Windows:: Each window displays the contents of a buffer. | 954 | * Buffers and Windows:: Each window displays the contents of a buffer. |
| 955 | * Displaying Buffers:: Higher-level functions for displaying a buffer | 955 | * Displaying Buffers:: Higher-level functions for displaying a buffer |
| 956 | and choosing a window for it. | 956 | and choosing a window for it. |
| 957 | * Choosing Window:: How to choose a window for displaying a buffer. | 957 | * Choosing Window:: How to choose a window for displaying a buffer. |
| 958 | * Dedicated Windows:: How to avoid displaying another buffer in | 958 | * Dedicated Windows:: How to avoid displaying another buffer in |
| 959 | a specific window. | 959 | a specific window. |
| 960 | * Window Point:: Each window has its own location of point. | 960 | * Window Point:: Each window has its own location of point. |
| 961 | * Window Start and End:: Buffer positions indicating which text is | 961 | * Window Start and End:: Buffer positions indicating which text is |
| @@ -975,37 +975,37 @@ Windows | |||
| 975 | 975 | ||
| 976 | Frames | 976 | Frames |
| 977 | 977 | ||
| 978 | * Creating Frames:: Creating additional frames. | 978 | * Creating Frames:: Creating additional frames. |
| 979 | * Multiple Terminals:: Displaying on several different devices. | 979 | * Multiple Terminals:: Displaying on several different devices. |
| 980 | * Frame Parameters:: Controlling frame size, position, font, etc. | 980 | * Frame Parameters:: Controlling frame size, position, font, etc. |
| 981 | * Terminal Parameters:: Parameters common for all frames on terminal. | 981 | * Terminal Parameters:: Parameters common for all frames on terminal. |
| 982 | * Frame Titles:: Automatic updating of frame titles. | 982 | * Frame Titles:: Automatic updating of frame titles. |
| 983 | * Deleting Frames:: Frames last until explicitly deleted. | 983 | * Deleting Frames:: Frames last until explicitly deleted. |
| 984 | * Finding All Frames:: How to examine all existing frames. | 984 | * Finding All Frames:: How to examine all existing frames. |
| 985 | * Frames and Windows:: A frame contains windows; | 985 | * Frames and Windows:: A frame contains windows; |
| 986 | display of text always works through windows. | 986 | display of text always works through windows. |
| 987 | * Minibuffers and Frames:: How a frame finds the minibuffer to use. | 987 | * Minibuffers and Frames:: How a frame finds the minibuffer to use. |
| 988 | * Input Focus:: Specifying the selected frame. | 988 | * Input Focus:: Specifying the selected frame. |
| 989 | * Visibility of Frames:: Frames may be visible or invisible, or icons. | 989 | * Visibility of Frames:: Frames may be visible or invisible, or icons. |
| 990 | * Raising and Lowering:: Raising a frame makes it hide other windows; | 990 | * Raising and Lowering:: Raising a frame makes it hide other windows; |
| 991 | lowering it makes the others hide it. | 991 | lowering it makes the others hide it. |
| 992 | * Frame Configurations:: Saving the state of all frames. | 992 | * Frame Configurations:: Saving the state of all frames. |
| 993 | * Mouse Tracking:: Getting events that say when the mouse moves. | 993 | * Mouse Tracking:: Getting events that say when the mouse moves. |
| 994 | * Mouse Position:: Asking where the mouse is, or moving it. | 994 | * Mouse Position:: Asking where the mouse is, or moving it. |
| 995 | * Pop-Up Menus:: Displaying a menu for the user to select from. | 995 | * Pop-Up Menus:: Displaying a menu for the user to select from. |
| 996 | * Dialog Boxes:: Displaying a box to ask yes or no. | 996 | * Dialog Boxes:: Displaying a box to ask yes or no. |
| 997 | * Pointer Shape:: Specifying the shape of the mouse pointer. | 997 | * Pointer Shape:: Specifying the shape of the mouse pointer. |
| 998 | * Window System Selections::Transferring text to and from other X clients. | 998 | * Window System Selections::Transferring text to and from other X clients. |
| 999 | * Drag and Drop:: Internals of Drag-and-Drop implementation. | 999 | * Drag and Drop:: Internals of Drag-and-Drop implementation. |
| 1000 | * Color Names:: Getting the definitions of color names. | 1000 | * Color Names:: Getting the definitions of color names. |
| 1001 | * Text Terminal Colors:: Defining colors for text-only terminals. | 1001 | * Text Terminal Colors:: Defining colors for text-only terminals. |
| 1002 | * Resources:: Getting resource values from the server. | 1002 | * Resources:: Getting resource values from the server. |
| 1003 | * Display Feature Testing:: Determining the features of a terminal. | 1003 | * Display Feature Testing:: Determining the features of a terminal. |
| 1004 | 1004 | ||
| 1005 | Frame Parameters | 1005 | Frame Parameters |
| 1006 | 1006 | ||
| 1007 | * Parameter Access:: How to change a frame's parameters. | 1007 | * Parameter Access:: How to change a frame's parameters. |
| 1008 | * Initial Parameters:: Specifying frame parameters when you make a frame. | 1008 | * Initial Parameters:: Specifying frame parameters when you make a frame. |
| 1009 | * Window Frame Parameters:: List of frame parameters for window systems. | 1009 | * Window Frame Parameters:: List of frame parameters for window systems. |
| 1010 | * Size and Position:: Changing the size and position of a frame. | 1010 | * Size and Position:: Changing the size and position of a frame. |
| 1011 | * Geometry:: Parsing geometry specifications. | 1011 | * Geometry:: Parsing geometry specifications. |
| @@ -1064,7 +1064,7 @@ Text | |||
| 1064 | later use. | 1064 | later use. |
| 1065 | * Undo:: Undoing changes to the text of a buffer. | 1065 | * Undo:: Undoing changes to the text of a buffer. |
| 1066 | * Maintaining Undo:: How to enable and disable undo information. | 1066 | * Maintaining Undo:: How to enable and disable undo information. |
| 1067 | How to control how much information is kept. | 1067 | How to control how much information is kept. |
| 1068 | * Filling:: Functions for explicit filling. | 1068 | * Filling:: Functions for explicit filling. |
| 1069 | * Margins:: How to specify margins for filling commands. | 1069 | * Margins:: How to specify margins for filling commands. |
| 1070 | * Adaptive Fill:: Adaptive Fill mode chooses a fill prefix | 1070 | * Adaptive Fill:: Adaptive Fill mode chooses a fill prefix |
| @@ -1090,7 +1090,7 @@ The Kill Ring | |||
| 1090 | * Kill Functions:: Functions that kill text. | 1090 | * Kill Functions:: Functions that kill text. |
| 1091 | * Yanking:: How yanking is done. | 1091 | * Yanking:: How yanking is done. |
| 1092 | * Yank Commands:: Commands that access the kill ring. | 1092 | * Yank Commands:: Commands that access the kill ring. |
| 1093 | * Low-Level Kill Ring:: Functions and variables for kill ring access. | 1093 | * Low-Level Kill Ring:: Functions and variables for kill ring access. |
| 1094 | * Internals of Kill Ring:: Variables that hold kill ring data. | 1094 | * Internals of Kill Ring:: Variables that hold kill ring data. |
| 1095 | 1095 | ||
| 1096 | Indentation | 1096 | Indentation |
| @@ -1105,9 +1105,9 @@ Indentation | |||
| 1105 | Text Properties | 1105 | Text Properties |
| 1106 | 1106 | ||
| 1107 | * Examining Properties:: Looking at the properties of one character. | 1107 | * Examining Properties:: Looking at the properties of one character. |
| 1108 | * Changing Properties:: Setting the properties of a range of text. | 1108 | * Changing Properties:: Setting the properties of a range of text. |
| 1109 | * Property Search:: Searching for where a property changes value. | 1109 | * Property Search:: Searching for where a property changes value. |
| 1110 | * Special Properties:: Particular properties with special meanings. | 1110 | * Special Properties:: Particular properties with special meanings. |
| 1111 | * Format Properties:: Properties for representing formatting of text. | 1111 | * Format Properties:: Properties for representing formatting of text. |
| 1112 | * Sticky Properties:: How inserted text gets properties from | 1112 | * Sticky Properties:: How inserted text gets properties from |
| 1113 | neighboring text. | 1113 | neighboring text. |
| @@ -1117,8 +1117,8 @@ Text Properties | |||
| 1117 | do something when you click on them. | 1117 | do something when you click on them. |
| 1118 | * Fields:: The @code{field} property defines | 1118 | * Fields:: The @code{field} property defines |
| 1119 | fields within the buffer. | 1119 | fields within the buffer. |
| 1120 | * Not Intervals:: Why text properties do not use | 1120 | * Not Intervals:: Why text properties do not use |
| 1121 | Lisp-visible text intervals. | 1121 | Lisp-visible text intervals. |
| 1122 | 1122 | ||
| 1123 | Non-@acronym{ASCII} Characters | 1123 | Non-@acronym{ASCII} Characters |
| 1124 | 1124 | ||
| @@ -1161,7 +1161,7 @@ Searching and Matching | |||
| 1161 | * POSIX Regexps:: Searching POSIX-style for the longest match. | 1161 | * POSIX Regexps:: Searching POSIX-style for the longest match. |
| 1162 | * Match Data:: Finding out which part of the text matched, | 1162 | * Match Data:: Finding out which part of the text matched, |
| 1163 | after a string or regexp search. | 1163 | after a string or regexp search. |
| 1164 | * Search and Replace:: Commands that loop, searching and replacing. | 1164 | * Search and Replace:: Commands that loop, searching and replacing. |
| 1165 | * Standard Regexps:: Useful regexps for finding sentences, pages,... | 1165 | * Standard Regexps:: Useful regexps for finding sentences, pages,... |
| 1166 | 1166 | ||
| 1167 | Regular Expressions | 1167 | Regular Expressions |
| @@ -1178,9 +1178,9 @@ Syntax of Regular Expressions | |||
| 1178 | 1178 | ||
| 1179 | The Match Data | 1179 | The Match Data |
| 1180 | 1180 | ||
| 1181 | * Replacing Match:: Replacing a substring that was matched. | 1181 | * Replacing Match:: Replacing a substring that was matched. |
| 1182 | * Simple Match Data:: Accessing single items of match data, | 1182 | * Simple Match Data:: Accessing single items of match data, |
| 1183 | such as where a particular subexpression started. | 1183 | such as where a particular subexpression started. |
| 1184 | * Entire Match Data:: Accessing the entire match data at once, as a list. | 1184 | * Entire Match Data:: Accessing the entire match data at once, as a list. |
| 1185 | * Saving Match Data:: Saving and restoring the match data. | 1185 | * Saving Match Data:: Saving and restoring the match data. |
| 1186 | 1186 | ||
| @@ -1190,7 +1190,7 @@ Syntax Tables | |||
| 1190 | * Syntax Descriptors:: How characters are classified. | 1190 | * Syntax Descriptors:: How characters are classified. |
| 1191 | * Syntax Table Functions:: How to create, examine and alter syntax tables. | 1191 | * Syntax Table Functions:: How to create, examine and alter syntax tables. |
| 1192 | * Syntax Properties:: Overriding syntax with text properties. | 1192 | * Syntax Properties:: Overriding syntax with text properties. |
| 1193 | * Motion and Syntax:: Moving over characters with certain syntaxes. | 1193 | * Motion and Syntax:: Moving over characters with certain syntaxes. |
| 1194 | * Parsing Expressions:: Parsing balanced expressions | 1194 | * Parsing Expressions:: Parsing balanced expressions |
| 1195 | using the syntax table. | 1195 | using the syntax table. |
| 1196 | * Standard Syntax Tables:: Syntax tables used by various major modes. | 1196 | * Standard Syntax Tables:: Syntax tables used by various major modes. |
| @@ -1279,10 +1279,10 @@ Emacs Display | |||
| 1279 | * Invisible Text:: Hiding part of the buffer text. | 1279 | * Invisible Text:: Hiding part of the buffer text. |
| 1280 | * Selective Display:: Hiding part of the buffer text (the old way). | 1280 | * Selective Display:: Hiding part of the buffer text (the old way). |
| 1281 | * Temporary Displays:: Displays that go away automatically. | 1281 | * Temporary Displays:: Displays that go away automatically. |
| 1282 | * Overlays:: Use overlays to highlight parts of the buffer. | 1282 | * Overlays:: Use overlays to highlight parts of the buffer. |
| 1283 | * Width:: How wide a character or string is on the screen. | 1283 | * Width:: How wide a character or string is on the screen. |
| 1284 | * Line Height:: Controlling the height of lines. | 1284 | * Line Height:: Controlling the height of lines. |
| 1285 | * Faces:: A face defines a graphics style | 1285 | * Faces:: A face defines a graphics style |
| 1286 | for text characters: font, colors, etc. | 1286 | for text characters: font, colors, etc. |
| 1287 | * Fringes:: Controlling window fringes. | 1287 | * Fringes:: Controlling window fringes. |
| 1288 | * Scroll Bars:: Controlling vertical scroll bars. | 1288 | * Scroll Bars:: Controlling vertical scroll bars. |
| @@ -1291,9 +1291,9 @@ Emacs Display | |||
| 1291 | * Buttons:: Adding clickable buttons to Emacs buffers. | 1291 | * Buttons:: Adding clickable buttons to Emacs buffers. |
| 1292 | * Abstract Display:: Emacs' Widget for Object Collections. | 1292 | * Abstract Display:: Emacs' Widget for Object Collections. |
| 1293 | * Blinking:: How Emacs shows the matching open parenthesis. | 1293 | * Blinking:: How Emacs shows the matching open parenthesis. |
| 1294 | * Usual Display:: The usual conventions for displaying | 1294 | * Usual Display:: The usual conventions for displaying |
| 1295 | nonprinting chars. | 1295 | nonprinting chars. |
| 1296 | * Display Tables:: How to specify other conventions. | 1296 | * Display Tables:: How to specify other conventions. |
| 1297 | * Beeping:: Audible signal to the user. | 1297 | * Beeping:: Audible signal to the user. |
| 1298 | * Window Systems:: Which window system is being used. | 1298 | * Window Systems:: Which window system is being used. |
| 1299 | 1299 | ||
| @@ -1315,7 +1315,7 @@ Overlays | |||
| 1315 | 1315 | ||
| 1316 | * Managing Overlays:: Creating and moving overlays. | 1316 | * Managing Overlays:: Creating and moving overlays. |
| 1317 | * Overlay Properties:: How to read and set properties. | 1317 | * Overlay Properties:: How to read and set properties. |
| 1318 | What properties do to the screen display. | 1318 | What properties do to the screen display. |
| 1319 | * Finding Overlays:: Searching for overlays. | 1319 | * Finding Overlays:: Searching for overlays. |
| 1320 | 1320 | ||
| 1321 | Faces | 1321 | Faces |
| @@ -1395,14 +1395,14 @@ Operating System Interface | |||
| 1395 | * Getting Out:: How exiting works (permanent or temporary). | 1395 | * Getting Out:: How exiting works (permanent or temporary). |
| 1396 | * System Environment:: Distinguish the name and kind of system. | 1396 | * System Environment:: Distinguish the name and kind of system. |
| 1397 | * User Identification:: Finding the name and user id of the user. | 1397 | * User Identification:: Finding the name and user id of the user. |
| 1398 | * Time of Day:: Getting the current time. | 1398 | * Time of Day:: Getting the current time. |
| 1399 | * Time Conversion:: Converting a time from numeric form to | 1399 | * Time Conversion:: Converting a time from numeric form to |
| 1400 | calendrical data and vice versa. | 1400 | calendrical data and vice versa. |
| 1401 | * Time Parsing:: Converting a time from numeric form to text | 1401 | * Time Parsing:: Converting a time from numeric form to text |
| 1402 | and vice versa. | 1402 | and vice versa. |
| 1403 | * Processor Run Time:: Getting the run time used by Emacs. | 1403 | * Processor Run Time:: Getting the run time used by Emacs. |
| 1404 | * Time Calculations:: Adding, subtracting, comparing times, etc. | 1404 | * Time Calculations:: Adding, subtracting, comparing times, etc. |
| 1405 | * Timers:: Setting a timer to call a function at a | 1405 | * Timers:: Setting a timer to call a function at a |
| 1406 | certain time. | 1406 | certain time. |
| 1407 | * Idle Timers:: Setting a timer to call a function when Emacs has | 1407 | * Idle Timers:: Setting a timer to call a function when Emacs has |
| 1408 | been idle for a certain length of time. | 1408 | been idle for a certain length of time. |
| @@ -1429,8 +1429,8 @@ Getting Out of Emacs | |||
| 1429 | 1429 | ||
| 1430 | Terminal Input | 1430 | Terminal Input |
| 1431 | 1431 | ||
| 1432 | * Input Modes:: Options for how input is processed. | 1432 | * Input Modes:: Options for how input is processed. |
| 1433 | * Recording Input:: Saving histories of recent or all input events. | 1433 | * Recording Input:: Saving histories of recent or all input events. |
| 1434 | 1434 | ||
| 1435 | Tips and Conventions | 1435 | Tips and Conventions |
| 1436 | 1436 | ||
| @@ -1440,7 +1440,7 @@ Tips and Conventions | |||
| 1440 | * Compilation Tips:: Making compiled code run fast. | 1440 | * Compilation Tips:: Making compiled code run fast. |
| 1441 | * Warning Tips:: Turning off compiler warnings. | 1441 | * Warning Tips:: Turning off compiler warnings. |
| 1442 | * Documentation Tips:: Writing readable documentation strings. | 1442 | * Documentation Tips:: Writing readable documentation strings. |
| 1443 | * Comment Tips:: Conventions for writing comments. | 1443 | * Comment Tips:: Conventions for writing comments. |
| 1444 | * Library Headers:: Standard headers for library packages. | 1444 | * Library Headers:: Standard headers for library packages. |
| 1445 | 1445 | ||
| 1446 | GNU Emacs Internals | 1446 | GNU Emacs Internals |
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index de7ebbc405e..704f3ad3321 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi | |||
| @@ -22,8 +22,8 @@ windows. | |||
| 22 | * Buffers and Windows:: Each window displays the contents of a buffer. | 22 | * Buffers and Windows:: Each window displays the contents of a buffer. |
| 23 | * Displaying Buffers:: Higher-level functions for displaying a buffer | 23 | * Displaying Buffers:: Higher-level functions for displaying a buffer |
| 24 | and choosing a window for it. | 24 | and choosing a window for it. |
| 25 | * Choosing Window:: How to choose a window for displaying a buffer. | 25 | * Choosing Window:: How to choose a window for displaying a buffer. |
| 26 | * Dedicated Windows:: How to avoid displaying another buffer in | 26 | * Dedicated Windows:: How to avoid displaying another buffer in |
| 27 | a specific window. | 27 | a specific window. |
| 28 | * Window Point:: Each window has its own location of point. | 28 | * Window Point:: Each window has its own location of point. |
| 29 | * Window Start and End:: Buffer positions indicating which text is | 29 | * Window Start and End:: Buffer positions indicating which text is |
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 4187d9909fd..2f8a89d4b3c 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,8 +1,46 @@ | |||
| 1 | 2010-07-10 Michael Albinus <michael.albinus@gmx.de> | ||
| 2 | |||
| 3 | * tramp.texi (Inline methods): Remove "kludgy" phrase. | ||
| 4 | (Filename Syntax): Describe port numbers. | ||
| 5 | |||
| 6 | 2010-07-09 Michael Albinus <michael.albinus@gmx.de> | ||
| 7 | |||
| 8 | * dbus.texi (Top): Introduce Index. Emphasize "nil" whereever | ||
| 9 | forgotten. | ||
| 10 | (Type Conversion): Precise conversion of natural numbers. | ||
| 11 | (Errors and Events): Add "debugging" to concept index. Add variable | ||
| 12 | `dbus-debug'. | ||
| 13 | |||
| 1 | 2010-07-04 Michael Albinus <michael.albinus@gmx.de> | 14 | 2010-07-04 Michael Albinus <michael.albinus@gmx.de> |
| 2 | 15 | ||
| 3 | * dbus.texi (Receiving Method Calls): Add optional argument | 16 | * dbus.texi (Receiving Method Calls): Add optional argument |
| 4 | EMITS-SIGNAL to `dbus-register-property'. | 17 | EMITS-SIGNAL to `dbus-register-property'. |
| 5 | 18 | ||
| 19 | 2010-06-27 Alex Schroeder <alex@gnu.org> | ||
| 20 | |||
| 21 | * nxml-mode.texi (Commands for locating a schema): Fix typo. | ||
| 22 | |||
| 23 | 2010-06-24 Glenn Morris <rgm@gnu.org> | ||
| 24 | |||
| 25 | * ada-mode.texi, auth.texi, autotype.texi, calc.texi, cc-mode.texi: | ||
| 26 | * dired-x.texi, ebrowse.texi, ede.texi, edt.texi, eieio.texi: | ||
| 27 | * emacs-mime.texi, epa.texi, erc.texi, eshell.texi, eudc.texi: | ||
| 28 | * flymake.texi, gnus.texi, info.texi, mairix-el.texi, message.texi: | ||
| 29 | * newsticker.texi, org.texi, pgg.texi, rcirc.texi, reftex.texi: | ||
| 30 | * remember.texi, sasl.texi, semantic.texi, ses.texi, smtpmail.texi: | ||
| 31 | * speedbar.texi, tramp.texi, url.texi, viper.texi, widget.texi: | ||
| 32 | * woman.texi: Start direntry descriptions in column 32, per Texinfo | ||
| 33 | convention. Make them end with a period. | ||
| 34 | |||
| 35 | 2010-06-23 Glenn Morris <rgm@gnu.org> | ||
| 36 | |||
| 37 | * autotype.texi, cl.texi, dired-x.texi, ebrowse.texi, ede.texi: | ||
| 38 | * eieio.texi, epa.texi, faq.texi, flymake.texi, forms.texi: | ||
| 39 | * gnus-faq.texi, idlwave.texi, mh-e.texi, nxml-mode.texi, org.texi: | ||
| 40 | * pcl-cvs.texi, pgg.texi, reftex.texi, sasl.texi, sc.texi, | ||
| 41 | * sem-user.texi, semantic.texi, sieve.texi, smtpmail.texi, | ||
| 42 | * speedbar.texi, vip.texi, viper.texi, widget.texi: Untabify. | ||
| 43 | |||
| 6 | 2010-06-10 Glenn Morris <rgm@gnu.org> | 44 | 2010-06-10 Glenn Morris <rgm@gnu.org> |
| 7 | 45 | ||
| 8 | * idlwave.texi (Load-Path Shadows): | 46 | * idlwave.texi (Load-Path Shadows): |
| @@ -6456,10 +6494,6 @@ | |||
| 6456 | (INFO_TARGETS): Add ../info/cc-mode. | 6494 | (INFO_TARGETS): Add ../info/cc-mode. |
| 6457 | (DVI_TARGETS): Add cc-mode.dvi. | 6495 | (DVI_TARGETS): Add cc-mode.dvi. |
| 6458 | 6496 | ||
| 6459 | 1996-05-25 Karl Heuer <kwzh@gnu.ai.mit.edu> | ||
| 6460 | |||
| 6461 | * Version 19.31 released. | ||
| 6462 | |||
| 6463 | 1995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> | 6497 | 1995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> |
| 6464 | 6498 | ||
| 6465 | * Version 19.30 released. | 6499 | * Version 19.30 released. |
diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi index 86d63e5ed9b..b746824df67 100644 --- a/doc/misc/ada-mode.texi +++ b/doc/misc/ada-mode.texi | |||
| @@ -3,8 +3,8 @@ | |||
| 3 | @settitle Ada Mode | 3 | @settitle Ada Mode |
| 4 | 4 | ||
| 5 | @copying | 5 | @copying |
| 6 | Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, | 6 | Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, |
| 7 | 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 7 | 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
| 8 | 8 | ||
| 9 | @quotation | 9 | @quotation |
| 10 | Permission is granted to copy, distribute and/or modify this document | 10 | Permission is granted to copy, distribute and/or modify this document |
| @@ -22,7 +22,7 @@ developing GNU and promoting software freedom.'' | |||
| 22 | 22 | ||
| 23 | @dircategory Emacs | 23 | @dircategory Emacs |
| 24 | @direntry | 24 | @direntry |
| 25 | * Ada mode: (ada-mode). Emacs mode for editing and compiling Ada code. | 25 | * Ada mode: (ada-mode). Emacs mode for editing and compiling Ada code. |
| 26 | @end direntry | 26 | @end direntry |
| 27 | 27 | ||
| 28 | @titlepage | 28 | @titlepage |
diff --git a/doc/misc/auth.texi b/doc/misc/auth.texi index a2c319c583f..85e691d4b62 100644 --- a/doc/misc/auth.texi +++ b/doc/misc/auth.texi | |||
| @@ -31,7 +31,7 @@ license to the document, as described in section 6 of the license. | |||
| 31 | 31 | ||
| 32 | @dircategory Emacs | 32 | @dircategory Emacs |
| 33 | @direntry | 33 | @direntry |
| 34 | * Auth-source: (auth). The Emacs auth-source library. | 34 | * Auth-source: (auth). The Emacs auth-source library. |
| 35 | @end direntry | 35 | @end direntry |
| 36 | 36 | ||
| 37 | @titlepage | 37 | @titlepage |
diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index a2ea8ad2c11..3f7ad21f1d3 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi | |||
| @@ -10,8 +10,8 @@ | |||
| 10 | @c @cindex autotypist | 10 | @c @cindex autotypist |
| 11 | 11 | ||
| 12 | @copying | 12 | @copying |
| 13 | Copyright @copyright{} 1994, 1995, 1999, 2001, 2002, 2003, 2004, | 13 | Copyright @copyright{} 1994, 1995, 1999, 2001, 2002, 2003, 2004, 2005, |
| 14 | 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 14 | 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
| 15 | 15 | ||
| 16 | @quotation | 16 | @quotation |
| 17 | Permission is granted to copy, distribute and/or modify this document | 17 | Permission is granted to copy, distribute and/or modify this document |
| @@ -29,8 +29,8 @@ developing GNU and promoting software freedom.'' | |||
| 29 | 29 | ||
| 30 | @dircategory Emacs | 30 | @dircategory Emacs |
| 31 | @direntry | 31 | @direntry |
| 32 | * Autotype: (autotype). Convenient features for text that you enter frequently | 32 | * Autotype: (autotype). Convenient features for text that you |
| 33 | in Emacs. | 33 | enter frequently in Emacs. |
| 34 | @end direntry | 34 | @end direntry |
| 35 | 35 | ||
| 36 | @titlepage | 36 | @titlepage |
| @@ -92,7 +92,7 @@ completions and expansions of text at point. | |||
| 92 | after point. | 92 | after point. |
| 93 | * Autoinserting:: Filling up empty files as soon as you visit them. | 93 | * Autoinserting:: Filling up empty files as soon as you visit them. |
| 94 | * Copyrights:: Inserting and updating copyrights. | 94 | * Copyrights:: Inserting and updating copyrights. |
| 95 | * Executables:: Turning interpreter scripts into executables. | 95 | * Executables:: Turning interpreter scripts into executables. |
| 96 | * Timestamps:: Updating dates and times in modified files. | 96 | * Timestamps:: Updating dates and times in modified files. |
| 97 | * QuickURL:: Inserting URLs based on text at point. | 97 | * QuickURL:: Inserting URLs based on text at point. |
| 98 | * Tempo:: Flexible template insertion. | 98 | * Tempo:: Flexible template insertion. |
| @@ -201,7 +201,7 @@ the output from @kbd{M-x list-abbrevs} to make it look like this: | |||
| 201 | 201 | ||
| 202 | @example | 202 | @example |
| 203 | (c-mode-abbrev-table) | 203 | (c-mode-abbrev-table) |
| 204 | "if" 0 "" c-if | 204 | "if" 0 "" c-if |
| 205 | @end example | 205 | @end example |
| 206 | 206 | ||
| 207 | @noindent | 207 | @noindent |
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 12b8d8e162d..ab81cf1bca2 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi | |||
| @@ -111,7 +111,7 @@ developing GNU and promoting software freedom.'' | |||
| 111 | 111 | ||
| 112 | @dircategory Emacs | 112 | @dircategory Emacs |
| 113 | @direntry | 113 | @direntry |
| 114 | * Calc: (calc). Advanced desk calculator and mathematical tool. | 114 | * Calc: (calc). Advanced desk calculator and mathematical tool. |
| 115 | @end direntry | 115 | @end direntry |
| 116 | 116 | ||
| 117 | @titlepage | 117 | @titlepage |
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index bfe09b64244..c1d8db80dae 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi | |||
| @@ -180,8 +180,8 @@ developing GNU and promoting software freedom.'' | |||
| 180 | @comment here is by request from the FSF folks. | 180 | @comment here is by request from the FSF folks. |
| 181 | @dircategory Emacs | 181 | @dircategory Emacs |
| 182 | @direntry | 182 | @direntry |
| 183 | * CC Mode: (ccmode). Emacs mode for editing C, C++, Objective-C, | 183 | * CC Mode: (ccmode). Emacs mode for editing C, C++, Objective-C, |
| 184 | Java, Pike, AWK, and CORBA IDL code. | 184 | Java, Pike, AWK, and CORBA IDL code. |
| 185 | @end direntry | 185 | @end direntry |
| 186 | 186 | ||
| 187 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 187 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 39561341b0d..755b2f3f1b7 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi | |||
| @@ -24,7 +24,7 @@ developing GNU and promoting software freedom.'' | |||
| 24 | 24 | ||
| 25 | @dircategory Emacs | 25 | @dircategory Emacs |
| 26 | @direntry | 26 | @direntry |
| 27 | * CL: (cl). Partial Common Lisp support for Emacs Lisp. | 27 | * CL: (cl). Partial Common Lisp support for Emacs Lisp. |
| 28 | @end direntry | 28 | @end direntry |
| 29 | 29 | ||
| 30 | @finalout | 30 | @finalout |
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index 43e92785082..248884532df 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi | |||
| @@ -5,6 +5,9 @@ | |||
| 5 | @c @setchapternewpage odd | 5 | @c @setchapternewpage odd |
| 6 | @c %**end of header | 6 | @c %**end of header |
| 7 | 7 | ||
| 8 | @syncodeindex vr cp | ||
| 9 | @syncodeindex fn cp | ||
| 10 | |||
| 8 | @copying | 11 | @copying |
| 9 | Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 12 | Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
| 10 | 13 | ||
| @@ -51,6 +54,8 @@ another. An overview of D-Bus can be found at | |||
| 51 | * Receiving Method Calls:: Offering own methods. | 54 | * Receiving Method Calls:: Offering own methods. |
| 52 | * Signals:: Sending and receiving signals. | 55 | * Signals:: Sending and receiving signals. |
| 53 | * Errors and Events:: Errors and events. | 56 | * Errors and Events:: Errors and events. |
| 57 | * Index:: Index including concepts, functions, variables. | ||
| 58 | |||
| 54 | * GNU Free Documentation License:: The license for this documentation. | 59 | * GNU Free Documentation License:: The license for this documentation. |
| 55 | @end menu | 60 | @end menu |
| 56 | 61 | ||
| @@ -418,7 +423,8 @@ Example: | |||
| 418 | @result{} "/org/freedesktop/SystemToolsBackends/UsersConfig" | 423 | @result{} "/org/freedesktop/SystemToolsBackends/UsersConfig" |
| 419 | @end lisp | 424 | @end lisp |
| 420 | 425 | ||
| 421 | If @var{object} has no @var{attribute}, the function returns nil. | 426 | If @var{object} has no @var{attribute}, the function returns |
| 427 | @code{nil}. | ||
| 422 | @end defun | 428 | @end defun |
| 423 | 429 | ||
| 424 | 430 | ||
| @@ -669,7 +675,7 @@ A @var{property} value can be retrieved by the function | |||
| 669 | @defun dbus-get-property bus service path interface property | 675 | @defun dbus-get-property bus service path interface property |
| 670 | This function returns the value of @var{property} of @var{interface}. | 676 | This function returns the value of @var{property} of @var{interface}. |
| 671 | It will be checked at @var{bus}, @var{service}, @var{path}. The | 677 | It will be checked at @var{bus}, @var{service}, @var{path}. The |
| 672 | result can be any valid D-Bus value, or nil if there is no | 678 | result can be any valid D-Bus value, or @code{nil} if there is no |
| 673 | @var{property}. Example: | 679 | @var{property}. Example: |
| 674 | 680 | ||
| 675 | @lisp | 681 | @lisp |
| @@ -863,12 +869,12 @@ Lisp function call. The following mapping to D-Bus types is | |||
| 863 | applied, when the corresponding D-Bus message is created: | 869 | applied, when the corresponding D-Bus message is created: |
| 864 | 870 | ||
| 865 | @example | 871 | @example |
| 866 | @multitable {@code{t} and @code{nil}} {@expansion{}} {DBUS_TYPE_BOOLEAN} | 872 | @multitable {negative integer} {@expansion{}} {DBUS_TYPE_BOOLEAN} |
| 867 | @item Lisp type @tab @tab D-Bus type | 873 | @item Lisp type @tab @tab D-Bus type |
| 868 | @item | 874 | @item |
| 869 | @item @code{t} and @code{nil} @tab @expansion{} @tab DBUS_TYPE_BOOLEAN | 875 | @item @code{t} and @code{nil} @tab @expansion{} @tab DBUS_TYPE_BOOLEAN |
| 870 | @item number @tab @expansion{} @tab DBUS_TYPE_UINT32 | 876 | @item natural number @tab @expansion{} @tab DBUS_TYPE_UINT32 |
| 871 | @item integer @tab @expansion{} @tab DBUS_TYPE_INT32 | 877 | @item negative integer @tab @expansion{} @tab DBUS_TYPE_INT32 |
| 872 | @item float @tab @expansion{} @tab DBUS_TYPE_DOUBLE | 878 | @item float @tab @expansion{} @tab DBUS_TYPE_DOUBLE |
| 873 | @item string @tab @expansion{} @tab DBUS_TYPE_STRING | 879 | @item string @tab @expansion{} @tab DBUS_TYPE_STRING |
| 874 | @item list @tab @expansion{} @tab DBUS_TYPE_ARRAY | 880 | @item list @tab @expansion{} @tab DBUS_TYPE_ARRAY |
| @@ -889,19 +895,19 @@ types are represented by the type symbols @code{:byte}, | |||
| 889 | Example: | 895 | Example: |
| 890 | 896 | ||
| 891 | @lisp | 897 | @lisp |
| 892 | (dbus-call-method @dots{} @var{NUMBER} @var{STRING}) | 898 | (dbus-call-method @dots{} @var{NAT-NUMBER} @var{STRING}) |
| 893 | @end lisp | 899 | @end lisp |
| 894 | 900 | ||
| 895 | is equivalent to | 901 | is equivalent to |
| 896 | 902 | ||
| 897 | @lisp | 903 | @lisp |
| 898 | (dbus-call-method @dots{} :uint32 @var{NUMBER} :string @var{STRING}) | 904 | (dbus-call-method @dots{} :uint32 @var{NAT-NUMBER} :string @var{STRING}) |
| 899 | @end lisp | 905 | @end lisp |
| 900 | 906 | ||
| 901 | but different to | 907 | but different to |
| 902 | 908 | ||
| 903 | @lisp | 909 | @lisp |
| 904 | (dbus-call-method @dots{} :int32 @var{NUMBER} :signature @var{STRING}) | 910 | (dbus-call-method @dots{} :int32 @var{NAT-NUMBER} :signature @var{STRING}) |
| 905 | @end lisp | 911 | @end lisp |
| 906 | 912 | ||
| 907 | The value for a byte D-Bus type can be any integer in the range 0 | 913 | The value for a byte D-Bus type can be any integer in the range 0 |
| @@ -994,17 +1000,17 @@ Output parameters of D-Bus methods and signals are mapped to Lisp | |||
| 994 | objects. | 1000 | objects. |
| 995 | 1001 | ||
| 996 | @example | 1002 | @example |
| 997 | @multitable {DBUS_TYPE_OBJECT_PATH} {@expansion{}} {@code{t} or @code{nil}} | 1003 | @multitable {DBUS_TYPE_OBJECT_PATH} {@expansion{}} {natural number or float} |
| 998 | @item D-Bus type @tab @tab Lisp type | 1004 | @item D-Bus type @tab @tab Lisp type |
| 999 | @item | 1005 | @item |
| 1000 | @item DBUS_TYPE_BOOLEAN @tab @expansion{} @tab @code{t} or @code{nil} | 1006 | @item DBUS_TYPE_BOOLEAN @tab @expansion{} @tab @code{t} or @code{nil} |
| 1001 | @item DBUS_TYPE_BYTE @tab @expansion{} @tab number | 1007 | @item DBUS_TYPE_BYTE @tab @expansion{} @tab natural number |
| 1002 | @item DBUS_TYPE_UINT16 @tab @expansion{} @tab number | 1008 | @item DBUS_TYPE_UINT16 @tab @expansion{} @tab natural number |
| 1003 | @item DBUS_TYPE_INT16 @tab @expansion{} @tab number | 1009 | @item DBUS_TYPE_INT16 @tab @expansion{} @tab integer |
| 1004 | @item DBUS_TYPE_UINT32 @tab @expansion{} @tab number or float | 1010 | @item DBUS_TYPE_UINT32 @tab @expansion{} @tab natural number or float |
| 1005 | @item DBUS_TYPE_INT32 @tab @expansion{} @tab number or float | 1011 | @item DBUS_TYPE_INT32 @tab @expansion{} @tab integer or float |
| 1006 | @item DBUS_TYPE_UINT64 @tab @expansion{} @tab number or float | 1012 | @item DBUS_TYPE_UINT64 @tab @expansion{} @tab natural number or float |
| 1007 | @item DBUS_TYPE_INT64 @tab @expansion{} @tab number or float | 1013 | @item DBUS_TYPE_INT64 @tab @expansion{} @tab integer or float |
| 1008 | @item DBUS_TYPE_DOUBLE @tab @expansion{} @tab float | 1014 | @item DBUS_TYPE_DOUBLE @tab @expansion{} @tab float |
| 1009 | @item DBUS_TYPE_STRING @tab @expansion{} @tab string | 1015 | @item DBUS_TYPE_STRING @tab @expansion{} @tab string |
| 1010 | @item DBUS_TYPE_OBJECT_PATH @tab @expansion{} @tab string | 1016 | @item DBUS_TYPE_OBJECT_PATH @tab @expansion{} @tab string |
| @@ -1030,7 +1036,7 @@ The signal @code{PropertyModified}, discussed as example in | |||
| 1030 | (@var{BOOL} stands here for either @code{nil} or @code{t}): | 1036 | (@var{BOOL} stands here for either @code{nil} or @code{t}): |
| 1031 | 1037 | ||
| 1032 | @lisp | 1038 | @lisp |
| 1033 | (@var{NUMBER} ((@var{STRING} @var{BOOL} @var{BOOL}) (@var{STRING} @var{BOOL} @var{BOOL}) @dots{})) | 1039 | (@var{INTEGER} ((@var{STRING} @var{BOOL} @var{BOOL}) (@var{STRING} @var{BOOL} @var{BOOL}) @dots{})) |
| 1034 | @end lisp | 1040 | @end lisp |
| 1035 | 1041 | ||
| 1036 | @defun dbus-byte-array-to-string byte-array | 1042 | @defun dbus-byte-array-to-string byte-array |
| @@ -1388,8 +1394,9 @@ only way to change their values. Properties with access type | |||
| 1388 | The interface @samp{org.freedesktop.DBus.Properties} is added to | 1394 | The interface @samp{org.freedesktop.DBus.Properties} is added to |
| 1389 | @var{path}, including a default handler for the @samp{Get}, | 1395 | @var{path}, including a default handler for the @samp{Get}, |
| 1390 | @samp{GetAll} and @samp{Set} methods of this interface. When | 1396 | @samp{GetAll} and @samp{Set} methods of this interface. When |
| 1391 | @var{emits-signal} is non-nil, the signal @samp{PropertiesChanged} is | 1397 | @var{emits-signal} is non-@code{nil}, the signal |
| 1392 | sent when the property is changed by @code{dbus-set-property}. | 1398 | @samp{PropertiesChanged} is sent when the property is changed by |
| 1399 | @code{dbus-set-property}. | ||
| 1393 | 1400 | ||
| 1394 | @noindent Example: | 1401 | @noindent Example: |
| 1395 | 1402 | ||
| @@ -1574,9 +1581,16 @@ which objects the GNU/Linux @code{hal} daemon adds. | |||
| 1574 | 1581 | ||
| 1575 | @node Errors and Events | 1582 | @node Errors and Events |
| 1576 | @chapter Errors and events. | 1583 | @chapter Errors and events. |
| 1584 | @cindex debugging | ||
| 1577 | @cindex errors | 1585 | @cindex errors |
| 1578 | @cindex events | 1586 | @cindex events |
| 1579 | 1587 | ||
| 1588 | The internal actions can be traced by running in a debug mode. | ||
| 1589 | |||
| 1590 | @defvar dbus-debug | ||
| 1591 | If this variable is non-@code{nil}, D-Bus specific debug messages are raised. | ||
| 1592 | @end defvar | ||
| 1593 | |||
| 1580 | Input parameters of @code{dbus-call-method}, | 1594 | Input parameters of @code{dbus-call-method}, |
| 1581 | @code{dbus-call-method-non-blocking}, | 1595 | @code{dbus-call-method-non-blocking}, |
| 1582 | @code{dbus-call-method-asynchronously}, and | 1596 | @code{dbus-call-method-asynchronously}, and |
| @@ -1591,8 +1605,7 @@ appended to the @code{dbus-error}. | |||
| 1591 | @defspec dbus-ignore-errors forms@dots{} | 1605 | @defspec dbus-ignore-errors forms@dots{} |
| 1592 | This executes @var{forms} exactly like a @code{progn}, except that | 1606 | This executes @var{forms} exactly like a @code{progn}, except that |
| 1593 | @code{dbus-error} errors are ignored during the @var{forms}. These | 1607 | @code{dbus-error} errors are ignored during the @var{forms}. These |
| 1594 | errors can be made visible when variable @code{dbus-debug} is set to | 1608 | errors can be made visible when @code{dbus-debug} is set to @code{t}. |
| 1595 | @code{t}. | ||
| 1596 | @end defspec | 1609 | @end defspec |
| 1597 | 1610 | ||
| 1598 | Incoming D-Bus messages are handled as Emacs events, see @pxref{Misc | 1611 | Incoming D-Bus messages are handled as Emacs events, see @pxref{Misc |
| @@ -1640,12 +1653,12 @@ The result is either the symbol @code{:system} or the symbol @code{:session}. | |||
| 1640 | 1653 | ||
| 1641 | @defun dbus-event-message-type event | 1654 | @defun dbus-event-message-type event |
| 1642 | Returns the message type of the corresponding D-Bus message. The | 1655 | Returns the message type of the corresponding D-Bus message. The |
| 1643 | result is a number. | 1656 | result is a natural number. |
| 1644 | @end defun | 1657 | @end defun |
| 1645 | 1658 | ||
| 1646 | @defun dbus-event-serial-number event | 1659 | @defun dbus-event-serial-number event |
| 1647 | Returns the serial number of the corresponding D-Bus message. | 1660 | Returns the serial number of the corresponding D-Bus message. |
| 1648 | The result is a number. | 1661 | The result is a natural number. |
| 1649 | @end defun | 1662 | @end defun |
| 1650 | 1663 | ||
| 1651 | @defun dbus-event-service-name event | 1664 | @defun dbus-event-service-name event |
| @@ -1695,6 +1708,12 @@ D-Bus applications running. Therefore, they shall check carefully, | |||
| 1695 | whether a given D-Bus error is related to them. | 1708 | whether a given D-Bus error is related to them. |
| 1696 | 1709 | ||
| 1697 | 1710 | ||
| 1711 | @node Index | ||
| 1712 | @unnumbered Index | ||
| 1713 | |||
| 1714 | @printindex cp | ||
| 1715 | |||
| 1716 | |||
| 1698 | @node GNU Free Documentation License | 1717 | @node GNU Free Documentation License |
| 1699 | @appendix GNU Free Documentation License | 1718 | @appendix GNU Free Documentation License |
| 1700 | @include doclicense.texi | 1719 | @include doclicense.texi |
diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index 5e70153f9a2..0d05833d0ac 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | @c dired-x.texi --- Sebastian Kremer's Extra DIRED hacked up for GNU Emacs | 3 | @c dired-x.texi --- Sebastian Kremer's Extra DIRED hacked up for GNU Emacs |
| 4 | @c | 4 | @c |
| 5 | @c Author: Sebastian Kremer <sk@thp.uni-koeln.de> | 5 | @c Author: Sebastian Kremer <sk@thp.uni-koeln.de> |
| 6 | @c Lawrence R. Dodd <dodd@roebling.poly.edu> | 6 | @c Lawrence R. Dodd <dodd@roebling.poly.edu> |
| 7 | @c [Dodd's address no longer valid.] | 7 | @c [Dodd's address no longer valid.] |
| 8 | 8 | ||
| 9 | @comment %**start of header (This is for running Texinfo on a region.) | 9 | @comment %**start of header (This is for running Texinfo on a region.) |
| @@ -14,7 +14,7 @@ | |||
| 14 | @iftex | 14 | @iftex |
| 15 | @finalout | 15 | @finalout |
| 16 | @end iftex | 16 | @end iftex |
| 17 | @c @setchapternewpage odd % For book style double sided manual. | 17 | @c @setchapternewpage odd % For book style double sided manual. |
| 18 | @comment %**end of header (This is for running Texinfo on a region.) | 18 | @comment %**end of header (This is for running Texinfo on a region.) |
| 19 | 19 | ||
| 20 | @copying | 20 | @copying |
| @@ -37,7 +37,7 @@ developing GNU and promoting software freedom.'' | |||
| 37 | 37 | ||
| 38 | @dircategory Emacs | 38 | @dircategory Emacs |
| 39 | @direntry | 39 | @direntry |
| 40 | * Dired-X: (dired-x). Dired Extra Features. | 40 | * Dired-X: (dired-x). Dired Extra Features. |
| 41 | @end direntry | 41 | @end direntry |
| 42 | 42 | ||
| 43 | @c @smallbook | 43 | @c @smallbook |
diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi index 2c9df216681..86cae35a6f4 100644 --- a/doc/misc/ebrowse.texi +++ b/doc/misc/ebrowse.texi | |||
| @@ -29,7 +29,7 @@ developing GNU and promoting software freedom.'' | |||
| 29 | 29 | ||
| 30 | @dircategory Emacs | 30 | @dircategory Emacs |
| 31 | @direntry | 31 | @direntry |
| 32 | * Ebrowse: (ebrowse). A C++ class browser for Emacs. | 32 | * Ebrowse: (ebrowse). A C++ class browser for Emacs. |
| 33 | @end direntry | 33 | @end direntry |
| 34 | 34 | ||
| 35 | @titlepage | 35 | @titlepage |
| @@ -55,14 +55,14 @@ Ebrowse. | |||
| 55 | @end ifnottex | 55 | @end ifnottex |
| 56 | 56 | ||
| 57 | @menu | 57 | @menu |
| 58 | * Overview:: What is it and how does it work? | 58 | * Overview:: What is it and how does it work? |
| 59 | * Generating browser files:: How to process C++ source files | 59 | * Generating browser files:: How to process C++ source files |
| 60 | * Loading a Tree:: How to start browsing | 60 | * Loading a Tree:: How to start browsing |
| 61 | * Tree Buffers:: Traversing class hierarchies | 61 | * Tree Buffers:: Traversing class hierarchies |
| 62 | * Member Buffers:: Looking at member information | 62 | * Member Buffers:: Looking at member information |
| 63 | * Tags-like Functions:: Finding members from source files | 63 | * Tags-like Functions:: Finding members from source files |
| 64 | * GNU Free Documentation License:: The license for this documentation. | 64 | * GNU Free Documentation License:: The license for this documentation. |
| 65 | * Concept Index:: An entry for each concept defined | 65 | * Concept Index:: An entry for each concept defined |
| 66 | @end menu | 66 | @end menu |
| 67 | 67 | ||
| 68 | 68 | ||
| @@ -215,10 +215,10 @@ When invoked with option @samp{--help}, @command{ebrowse} prints a list of | |||
| 215 | available command line options.@refill | 215 | available command line options.@refill |
| 216 | 216 | ||
| 217 | @menu | 217 | @menu |
| 218 | * Input files:: Specifying which files to parse | 218 | * Input files:: Specifying which files to parse |
| 219 | * Output file:: Changing the output file name | 219 | * Output file:: Changing the output file name |
| 220 | * Structs and unions:: Omitting @code{struct}s and @code{union}s | 220 | * Structs and unions:: Omitting @code{struct}s and @code{union}s |
| 221 | * Matching:: Setting regular expression lengths | 221 | * Matching:: Setting regular expression lengths |
| 222 | * Verbosity:: Getting feedback for lengthy operations | 222 | * Verbosity:: Getting feedback for lengthy operations |
| 223 | @end menu | 223 | @end menu |
| 224 | 224 | ||
| @@ -454,17 +454,17 @@ Tree-specific commands are bound to simple keystrokes, similar to | |||
| 454 | buffers. | 454 | buffers. |
| 455 | 455 | ||
| 456 | @menu | 456 | @menu |
| 457 | * Source Display:: Viewing and finding a class declaration | 457 | * Source Display:: Viewing and finding a class declaration |
| 458 | * Member Display:: Showing members, switching to member buffers | 458 | * Member Display:: Showing members, switching to member buffers |
| 459 | * Go to Class:: Finding a class | 459 | * Go to Class:: Finding a class |
| 460 | * Quitting:: Discarding and burying the tree buffer | 460 | * Quitting:: Discarding and burying the tree buffer |
| 461 | * File Name Display:: Showing file names in the tree | 461 | * File Name Display:: Showing file names in the tree |
| 462 | * Expanding and Collapsing:: Expanding and collapsing branches | 462 | * Expanding and Collapsing:: Expanding and collapsing branches |
| 463 | * Tree Indentation:: Changing the tree indentation | 463 | * Tree Indentation:: Changing the tree indentation |
| 464 | * Killing Classes:: Removing class from the tree | 464 | * Killing Classes:: Removing class from the tree |
| 465 | * Saving a Tree:: Saving a modified tree | 465 | * Saving a Tree:: Saving a modified tree |
| 466 | * Statistics:: Displaying class tree statistics | 466 | * Statistics:: Displaying class tree statistics |
| 467 | * Marking Classes:: Marking and unmarking classes | 467 | * Marking Classes:: Marking and unmarking classes |
| 468 | @end menu | 468 | @end menu |
| 469 | 469 | ||
| 470 | 470 | ||
| @@ -625,17 +625,15 @@ given by a prefix argument. | |||
| 625 | Here is an example of a tree buffer with file names displayed. | 625 | Here is an example of a tree buffer with file names displayed. |
| 626 | 626 | ||
| 627 | @example | 627 | @example |
| 628 | | Collection (unknown) | 628 | | Collection (unknown) |
| 629 | | IndexedCollection (indexedcltn.h) | 629 | | IndexedCollection (indexedcltn.h) |
| 630 | | Array (array.h) | 630 | | Array (array.h) |
| 631 | | FixedArray (fixedarray.h) | 631 | | FixedArray (fixedarray.h) |
| 632 | | Set (set.h) | 632 | | Set (set.h) |
| 633 | | Dictionary (dict.h) | 633 | | Dictionary (dict.h) |
| 634 | @end example | 634 | @end example |
| 635 | 635 | ||
| 636 | 636 | ||
| 637 | |||
| 638 | |||
| 639 | @node Expanding and Collapsing, Tree Indentation, File Name Display, Tree Buffers | 637 | @node Expanding and Collapsing, Tree Indentation, File Name Display, Tree Buffers |
| 640 | @comment node-name, next, previous, up | 638 | @comment node-name, next, previous, up |
| 641 | @section Expanding and Collapsing a Tree | 639 | @section Expanding and Collapsing a Tree |
| @@ -818,20 +816,20 @@ like in tree buffers, menus are provided for certain areas in the | |||
| 818 | buffer: members, classes, and the buffer itself. | 816 | buffer: members, classes, and the buffer itself. |
| 819 | 817 | ||
| 820 | @menu | 818 | @menu |
| 821 | * Switching Member Lists:: Choosing which members to display | 819 | * Switching Member Lists:: Choosing which members to display |
| 822 | * Finding/Viewing:: Modifying source code | 820 | * Finding/Viewing:: Modifying source code |
| 823 | * Inherited Members:: Display of Inherited Members | 821 | * Inherited Members:: Display of Inherited Members |
| 824 | * Searching Members:: Finding members in member buffer | 822 | * Searching Members:: Finding members in member buffer |
| 825 | * Switching to Tree:: Going back to the tree buffer | 823 | * Switching to Tree:: Going back to the tree buffer |
| 826 | * Filters:: Selective member display | 824 | * Filters:: Selective member display |
| 827 | * Attributes:: Display of @code{virtual} etc. | 825 | * Attributes:: Display of @code{virtual} etc. |
| 828 | * Long and Short Display:: Comprehensive and verbose display | 826 | * Long and Short Display:: Comprehensive and verbose display |
| 829 | * Regexp Display:: Showing matching regular expressions | 827 | * Regexp Display:: Showing matching regular expressions |
| 830 | * Switching Classes:: Displaying another class | 828 | * Switching Classes:: Displaying another class |
| 831 | * Killing/Burying:: Getting rid of the member buffer | 829 | * Killing/Burying:: Getting rid of the member buffer |
| 832 | * Column Width:: Display style | 830 | * Column Width:: Display style |
| 833 | * Redisplay:: Redrawing the member list | 831 | * Redisplay:: Redrawing the member list |
| 834 | * Getting Help:: How to get help for key bindings | 832 | * Getting Help:: How to get help for key bindings |
| 835 | @end menu | 833 | @end menu |
| 836 | 834 | ||
| 837 | 835 | ||
| @@ -1234,7 +1232,7 @@ This key is bound to @code{describe-mode}. | |||
| 1234 | 1232 | ||
| 1235 | 1233 | ||
| 1236 | @comment ************************************************************** | 1234 | @comment ************************************************************** |
| 1237 | @comment *** TAGS LIKE FUNCTIONS | 1235 | @comment *** TAGS LIKE FUNCTIONS |
| 1238 | @comment ************************************************************** | 1236 | @comment ************************************************************** |
| 1239 | 1237 | ||
| 1240 | @node Tags-like Functions, GNU Free Documentation License, Member Buffers, Top | 1238 | @node Tags-like Functions, GNU Free Documentation License, Member Buffers, Top |
| @@ -1245,14 +1243,14 @@ Ebrowse provides tags functions similar to those of the standard | |||
| 1245 | Emacs Tags facility, but better suited to the needs of C++ programmers. | 1243 | Emacs Tags facility, but better suited to the needs of C++ programmers. |
| 1246 | 1244 | ||
| 1247 | @menu | 1245 | @menu |
| 1248 | * Finding and Viewing:: Going to a member declaration/definition | 1246 | * Finding and Viewing:: Going to a member declaration/definition |
| 1249 | * Position Stack:: Moving to previous locations | 1247 | * Position Stack:: Moving to previous locations |
| 1250 | * Search & Replace:: Searching and replacing over class tree files | 1248 | * Search & Replace:: Searching and replacing over class tree files |
| 1251 | * Members in Files:: Listing all members in a given file | 1249 | * Members in Files:: Listing all members in a given file |
| 1252 | * Apropos:: Listing members matching a regular expression | 1250 | * Apropos:: Listing members matching a regular expression |
| 1253 | * Symbol Completion:: Completing names while editing | 1251 | * Symbol Completion:: Completing names while editing |
| 1254 | * Member Buffer Display:: Quickly display a member buffer for some | 1252 | * Member Buffer Display:: Quickly display a member buffer for some |
| 1255 | identifier | 1253 | identifier |
| 1256 | @end menu | 1254 | @end menu |
| 1257 | 1255 | ||
| 1258 | 1256 | ||
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index ace3c25914d..7e1d6c7907a 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi | |||
| @@ -5,8 +5,8 @@ | |||
| 5 | @copying | 5 | @copying |
| 6 | This file describes EDE, the Emacs Development Environment. | 6 | This file describes EDE, the Emacs Development Environment. |
| 7 | 7 | ||
| 8 | Copyright @copyright{} 1998, 1999, 2000, 2001, 2004, 2005, 2008, 2009, 2010 | 8 | Copyright @copyright{} 1998, 1999, 2000, 2001, 2004, 2005, 2008, 2009, |
| 9 | Free Software Foundation, Inc. | 9 | 2010 Free Software Foundation, Inc. |
| 10 | 10 | ||
| 11 | @quotation | 11 | @quotation |
| 12 | Permission is granted to copy, distribute and/or modify this document | 12 | Permission is granted to copy, distribute and/or modify this document |
| @@ -24,7 +24,7 @@ developing GNU and promoting software freedom.'' | |||
| 24 | 24 | ||
| 25 | @dircategory Emacs | 25 | @dircategory Emacs |
| 26 | @direntry | 26 | @direntry |
| 27 | * ede: (ede). Project management for Emacs | 27 | * ede: (ede). Project management for Emacs. |
| 28 | @end direntry | 28 | @end direntry |
| 29 | 29 | ||
| 30 | @titlepage | 30 | @titlepage |
| @@ -404,8 +404,8 @@ lookup for @semantic{}, improving code completion performance. | |||
| 404 | @menu | 404 | @menu |
| 405 | * ede-cpp-root:: This project marks the root of a C/C++ code project. | 405 | * ede-cpp-root:: This project marks the root of a C/C++ code project. |
| 406 | * ede-simple subclassing:: Create your own simple project. | 406 | * ede-simple subclassing:: Create your own simple project. |
| 407 | * ede-emacs:: A project for working with Emacs. | 407 | * ede-emacs:: A project for working with Emacs. |
| 408 | * ede-linux:: A project for working with Linux kernels. | 408 | * ede-linux:: A project for working with Linux kernels. |
| 409 | * Custom Locate:: Customizing how to locate files in a simple project | 409 | * Custom Locate:: Customizing how to locate files in a simple project |
| 410 | @end menu | 410 | @end menu |
| 411 | 411 | ||
| @@ -525,14 +525,14 @@ Return nil if there isn't one." | |||
| 525 | ) | 525 | ) |
| 526 | 526 | ||
| 527 | (add-to-list 'ede-project-class-files | 527 | (add-to-list 'ede-project-class-files |
| 528 | (ede-project-autoload "cpp-root" | 528 | (ede-project-autoload "cpp-root" |
| 529 | :name "CPP ROOT" | 529 | :name "CPP ROOT" |
| 530 | :file 'ede-cpp-root | 530 | :file 'ede-cpp-root |
| 531 | :proj-file 'MY-FILE-FOR-DIR | 531 | :proj-file 'MY-FILE-FOR-DIR |
| 532 | :proj-root 'MY-ROOT-FCN | 532 | :proj-root 'MY-ROOT-FCN |
| 533 | :load-type 'MY-LOAD | 533 | :load-type 'MY-LOAD |
| 534 | :class-sym 'ede-cpp-root) | 534 | :class-sym 'ede-cpp-root) |
| 535 | t) | 535 | t) |
| 536 | @end example | 536 | @end example |
| 537 | 537 | ||
| 538 | This example only creates an auto-loader, and does not create a new kind | 538 | This example only creates an auto-loader, and does not create a new kind |
| @@ -751,9 +751,9 @@ Here is an example for an instantiation of an Emacs Lisp source code object: | |||
| 751 | @example | 751 | @example |
| 752 | (defvar ede-source-emacs | 752 | (defvar ede-source-emacs |
| 753 | (ede-sourcecode "ede-emacs-source" | 753 | (ede-sourcecode "ede-emacs-source" |
| 754 | :name "Emacs Lisp" | 754 | :name "Emacs Lisp" |
| 755 | :sourcepattern "\\.el$" | 755 | :sourcepattern "\\.el$" |
| 756 | :garbagepattern '("*.elc")) | 756 | :garbagepattern '("*.elc")) |
| 757 | "Emacs Lisp source code definition.") | 757 | "Emacs Lisp source code definition.") |
| 758 | @end example | 758 | @end example |
| 759 | 759 | ||
diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi index a93aada07a1..d394137d76b 100644 --- a/doc/misc/edt.texi +++ b/doc/misc/edt.texi | |||
| @@ -25,7 +25,7 @@ developing GNU and promoting software freedom.'' | |||
| 25 | 25 | ||
| 26 | @dircategory Emacs | 26 | @dircategory Emacs |
| 27 | @direntry | 27 | @direntry |
| 28 | * EDT: (edt). An Emacs emulation of the EDT editor. | 28 | * EDT: (edt). An Emacs emulation of the EDT editor. |
| 29 | @end direntry | 29 | @end direntry |
| 30 | 30 | ||
| 31 | @titlepage | 31 | @titlepage |
diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index b5567f3a489..169e52c1bd0 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi | |||
| @@ -29,7 +29,7 @@ developing GNU and promoting software freedom.'' | |||
| 29 | 29 | ||
| 30 | @dircategory Emacs | 30 | @dircategory Emacs |
| 31 | @direntry | 31 | @direntry |
| 32 | * eieio: (eieio). Objects for Emacs | 32 | * eieio: (eieio). Objects for Emacs. |
| 33 | @end direntry | 33 | @end direntry |
| 34 | 34 | ||
| 35 | @titlepage | 35 | @titlepage |
| @@ -295,8 +295,8 @@ This option is here to support programs written with older versions of | |||
| 295 | 295 | ||
| 296 | @menu | 296 | @menu |
| 297 | * Inheritance:: How to specify parents classes | 297 | * Inheritance:: How to specify parents classes |
| 298 | * Slot Options:: How to specify features of a slot. | 298 | * Slot Options:: How to specify features of a slot. |
| 299 | * Class Options:: How to specify features for this class. | 299 | * Class Options:: How to specify features for this class. |
| 300 | @end menu | 300 | @end menu |
| 301 | 301 | ||
| 302 | @node Inheritance | 302 | @node Inheritance |
diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi index 0ce94bfcf69..713a55c7cc7 100644 --- a/doc/misc/emacs-mime.texi +++ b/doc/misc/emacs-mime.texi | |||
| @@ -31,7 +31,7 @@ developing GNU and promoting software freedom.'' | |||
| 31 | 31 | ||
| 32 | @dircategory Emacs | 32 | @dircategory Emacs |
| 33 | @direntry | 33 | @direntry |
| 34 | * Emacs MIME: (emacs-mime). Emacs MIME de/composition library. | 34 | * Emacs MIME: (emacs-mime). Emacs MIME de/composition library. |
| 35 | @end direntry | 35 | @end direntry |
| 36 | @iftex | 36 | @iftex |
| 37 | @finalout | 37 | @finalout |
diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi index b02e41e914b..f9c48b1588a 100644 --- a/doc/misc/epa.texi +++ b/doc/misc/epa.texi | |||
| @@ -33,7 +33,7 @@ license to the document, as described in section 6 of the license. | |||
| 33 | 33 | ||
| 34 | @dircategory Emacs | 34 | @dircategory Emacs |
| 35 | @direntry | 35 | @direntry |
| 36 | * EasyPG Assistant: (epa). An Emacs user interface to GNU Privacy Guard. | 36 | * EasyPG Assistant: (epa). An Emacs user interface to GNU Privacy Guard. |
| 37 | @end direntry | 37 | @end direntry |
| 38 | 38 | ||
| 39 | @titlepage | 39 | @titlepage |
| @@ -142,15 +142,15 @@ about the key you selected. | |||
| 142 | @example | 142 | @example |
| 143 | u Daiki Ueno <ueno@@unixuser.org> | 143 | u Daiki Ueno <ueno@@unixuser.org> |
| 144 | u A5B6B2D4B15813FE 1024bits DSA | 144 | u A5B6B2D4B15813FE 1024bits DSA |
| 145 | Created: 2001-10-09 | 145 | Created: 2001-10-09 |
| 146 | Expires: 2007-09-04 | 146 | Expires: 2007-09-04 |
| 147 | Capabilities: sign certify | 147 | Capabilities: sign certify |
| 148 | Fingerprint: 8003 7CD0 0F1A 9400 03CA 50AA A5B6 B2D4 B158 13FE | 148 | Fingerprint: 8003 7CD0 0F1A 9400 03CA 50AA A5B6 B2D4 B158 13FE |
| 149 | u 4447461B2A9BEA2D 2048bits ELGAMAL_E | 149 | u 4447461B2A9BEA2D 2048bits ELGAMAL_E |
| 150 | Created: 2001-10-09 | 150 | Created: 2001-10-09 |
| 151 | Expires: 2007-09-04 | 151 | Expires: 2007-09-04 |
| 152 | Capabilities: encrypt | 152 | Capabilities: encrypt |
| 153 | Fingerprint: 9003 D76B 73B7 4A8A E588 10AF 4447 461B 2A9B EA2D | 153 | Fingerprint: 9003 D76B 73B7 4A8A E588 10AF 4447 461B 2A9B EA2D |
| 154 | @end example | 154 | @end example |
| 155 | 155 | ||
| 156 | @noindent | 156 | @noindent |
diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi index 537a34b6d68..1c547bf80e5 100644 --- a/doc/misc/erc.texi +++ b/doc/misc/erc.texi | |||
| @@ -8,7 +8,8 @@ | |||
| 8 | @copying | 8 | @copying |
| 9 | This manual is for ERC version 5.3. | 9 | This manual is for ERC version 5.3. |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 11 | Copyright @copyright{} 2005, 2006, 2007, 2008, 2009, 2010 |
| 12 | Free Software Foundation, Inc. | ||
| 12 | 13 | ||
| 13 | @quotation | 14 | @quotation |
| 14 | Permission is granted to copy, distribute and/or modify this document | 15 | Permission is granted to copy, distribute and/or modify this document |
| @@ -29,7 +30,7 @@ and modified without restriction. | |||
| 29 | 30 | ||
| 30 | @dircategory Emacs | 31 | @dircategory Emacs |
| 31 | @direntry | 32 | @direntry |
| 32 | * ERC: (erc). Powerful, modular, and extensible IRC client for Emacs. | 33 | * ERC: (erc). Powerful and extensible IRC client for Emacs. |
| 33 | @end direntry | 34 | @end direntry |
| 34 | 35 | ||
| 35 | @titlepage | 36 | @titlepage |
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 96825559197..6ec431dccfd 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi | |||
| @@ -8,8 +8,8 @@ | |||
| 8 | @copying | 8 | @copying |
| 9 | This manual is for Eshell, the Emacs shell. | 9 | This manual is for Eshell, the Emacs shell. |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, | 11 | Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, |
| 12 | 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 12 | 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
| 13 | 13 | ||
| 14 | @quotation | 14 | @quotation |
| 15 | Permission is granted to copy, distribute and/or modify this document | 15 | Permission is granted to copy, distribute and/or modify this document |
| @@ -27,7 +27,7 @@ developing GNU and promoting software freedom.'' | |||
| 27 | 27 | ||
| 28 | @dircategory Emacs | 28 | @dircategory Emacs |
| 29 | @direntry | 29 | @direntry |
| 30 | * Eshell: (eshell). A command shell implemented in Emacs Lisp. | 30 | * Eshell: (eshell). A command shell implemented in Emacs Lisp. |
| 31 | @end direntry | 31 | @end direntry |
| 32 | 32 | ||
| 33 | @titlepage | 33 | @titlepage |
diff --git a/doc/misc/eudc.texi b/doc/misc/eudc.texi index 09d7f5cb5a8..48606e0d664 100644 --- a/doc/misc/eudc.texi +++ b/doc/misc/eudc.texi | |||
| @@ -31,7 +31,7 @@ developing GNU and promoting software freedom.'' | |||
| 31 | 31 | ||
| 32 | @dircategory Emacs | 32 | @dircategory Emacs |
| 33 | @direntry | 33 | @direntry |
| 34 | * EUDC: (eudc). An Emacs client for directory servers (LDAP, PH). | 34 | * EUDC: (eudc). Emacs client for directory servers (LDAP, PH). |
| 35 | @end direntry | 35 | @end direntry |
| 36 | 36 | ||
| 37 | @footnotestyle end | 37 | @footnotestyle end |
diff --git a/doc/misc/faq.texi b/doc/misc/faq.texi index 924240aeb53..f4dc0247197 100644 --- a/doc/misc/faq.texi +++ b/doc/misc/faq.texi | |||
| @@ -41,7 +41,7 @@ distribution.] | |||
| 41 | 41 | ||
| 42 | @dircategory Emacs | 42 | @dircategory Emacs |
| 43 | @direntry | 43 | @direntry |
| 44 | * Emacs FAQ: (efaq). Frequently Asked Questions about Emacs. | 44 | * Emacs FAQ: (efaq). Frequently Asked Questions about Emacs. |
| 45 | @end direntry | 45 | @end direntry |
| 46 | 46 | ||
| 47 | @c The @titlepage stuff only appears in the printed version | 47 | @c The @titlepage stuff only appears in the printed version |
diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index 764c6481641..0606fcc134d 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi | |||
| @@ -11,8 +11,8 @@ | |||
| 11 | This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}), | 11 | This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}), |
| 12 | which is a universal on-the-fly syntax checker for GNU Emacs. | 12 | which is a universal on-the-fly syntax checker for GNU Emacs. |
| 13 | 13 | ||
| 14 | Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software | 14 | Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 15 | Foundation, Inc. | 15 | 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 |
| @@ -30,7 +30,7 @@ developing GNU and promoting software freedom.'' | |||
| 30 | 30 | ||
| 31 | @dircategory Emacs | 31 | @dircategory Emacs |
| 32 | @direntry | 32 | @direntry |
| 33 | * Flymake: (flymake). A universal on-the-fly syntax checker. | 33 | * Flymake: (flymake). A universal on-the-fly syntax checker. |
| 34 | @end direntry | 34 | @end direntry |
| 35 | 35 | ||
| 36 | @titlepage | 36 | @titlepage |
| @@ -409,7 +409,7 @@ First, we write the @code{init-function}: | |||
| 409 | (defun flymake-perl-init () | 409 | (defun flymake-perl-init () |
| 410 | (let* ((temp-file (flymake-init-create-temp-buffer-copy | 410 | (let* ((temp-file (flymake-init-create-temp-buffer-copy |
| 411 | 'flymake-create-temp-inplace)) | 411 | 'flymake-create-temp-inplace)) |
| 412 | (local-file (file-relative-name | 412 | (local-file (file-relative-name |
| 413 | temp-file | 413 | temp-file |
| 414 | (file-name-directory buffer-file-name)))) | 414 | (file-name-directory buffer-file-name)))) |
| 415 | (list "perl" (list "-wc " local-file)))) | 415 | (list "perl" (list "-wc " local-file)))) |
diff --git a/doc/misc/forms.texi b/doc/misc/forms.texi index 614844fd6c2..a7779763c3f 100644 --- a/doc/misc/forms.texi +++ b/doc/misc/forms.texi | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | \input texinfo @c -*-texinfo-*- | 1 | \input texinfo @c -*-texinfo-*- |
| 2 | @c documentation for forms-mode | 2 | @c documentation for forms-mode |
| 3 | @c Written by Johan Vromans, and edited by Richard Stallman | 3 | @c Written by Johan Vromans, and edited by Richard Stallman |
| 4 | 4 | ||
| @@ -37,8 +37,8 @@ developing GNU and promoting software freedom.'' | |||
| 37 | 37 | ||
| 38 | @dircategory Emacs | 38 | @dircategory Emacs |
| 39 | @direntry | 39 | @direntry |
| 40 | * Forms: (forms). Emacs package for editing data bases | 40 | * Forms: (forms). Emacs package for editing data bases |
| 41 | by filling in forms. | 41 | by filling in forms. |
| 42 | @end direntry | 42 | @end direntry |
| 43 | 43 | ||
| 44 | @titlepage | 44 | @titlepage |
diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi index 2b3c0aa5e25..78a22740e32 100644 --- a/doc/misc/gnus-faq.texi +++ b/doc/misc/gnus-faq.texi | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | @c \input texinfo @c -*-texinfo-*- | 1 | @c \input texinfo @c -*-texinfo-*- |
| 2 | @c Uncomment 1st line before texing this file alone. | 2 | @c Uncomment 1st line before texing this file alone. |
| 3 | @c %**start of header | 3 | @c %**start of header |
| 4 | @c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, | 4 | @c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, |
| 5 | @c 2008, 2009, 2010 Free Software Foundation, Inc. | 5 | @c 2009, 2010 Free Software Foundation, Inc. |
| 6 | @c | 6 | @c |
| 7 | @c Do not modify this file, it was generated from gnus-faq.xml, available from | 7 | @c Do not modify this file, it was generated from gnus-faq.xml, available from |
| 8 | @c <URL:http://my.gnus.org/FAQ/>. | 8 | @c <URL:http://my.gnus.org/FAQ/>. |
| @@ -550,7 +550,7 @@ want something different, change the line above to something like this: | |||
| 550 | @example | 550 | @example |
| 551 | (add-to-list 'gnus-secondary-select-methods | 551 | (add-to-list 'gnus-secondary-select-methods |
| 552 | '(nnspool "" | 552 | '(nnspool "" |
| 553 | (nnspool-directory "/usr/local/myspoolddir"))) | 553 | (nnspool-directory "/usr/local/myspoolddir"))) |
| 554 | @end example | 554 | @end example |
| 555 | @noindent | 555 | @noindent |
| 556 | 556 | ||
| @@ -635,8 +635,8 @@ mail, it's | |||
| 635 | @example | 635 | @example |
| 636 | (eval-after-load "mail-source" | 636 | (eval-after-load "mail-source" |
| 637 | '(add-to-list 'mail-sources | 637 | '(add-to-list 'mail-sources |
| 638 | '(directory :path "/path/to/procmail-dir/" | 638 | '(directory :path "/path/to/procmail-dir/" |
| 639 | :suffix ".prcml"))) | 639 | :suffix ".prcml"))) |
| 640 | @end example | 640 | @end example |
| 641 | @noindent | 641 | @noindent |
| 642 | 642 | ||
| @@ -691,10 +691,10 @@ about the server there. | |||
| 691 | 691 | ||
| 692 | @example | 692 | @example |
| 693 | (add-to-list 'gnus-secondary-select-methods | 693 | (add-to-list 'gnus-secondary-select-methods |
| 694 | '(nnimap "Give the baby a name" | 694 | '(nnimap "Give the baby a name" |
| 695 | (nnimap-address "imap.yourProvider.net") | 695 | (nnimap-address "imap.yourProvider.net") |
| 696 | (nnimap-port 143) | 696 | (nnimap-port 143) |
| 697 | (nnimap-list-pattern "archive.*"))) | 697 | (nnimap-list-pattern "archive.*"))) |
| 698 | @end example | 698 | @end example |
| 699 | @noindent | 699 | @noindent |
| 700 | 700 | ||
| @@ -874,7 +874,7 @@ say this in ~/.gnus.el: | |||
| 874 | @example | 874 | @example |
| 875 | (setq gnus-visible-headers | 875 | (setq gnus-visible-headers |
| 876 | '("^From" "^Subject" "^Date" "^Newsgroups" "^Followup-To" | 876 | '("^From" "^Subject" "^Date" "^Newsgroups" "^Followup-To" |
| 877 | "^User-Agent" "^X-Newsreader" "^X-Mailer")) | 877 | "^User-Agent" "^X-Newsreader" "^X-Mailer")) |
| 878 | @end example | 878 | @end example |
| 879 | @noindent | 879 | @noindent |
| 880 | 880 | ||
| @@ -1099,18 +1099,18 @@ buffer top-right, article buffer bottom-right: | |||
| 1099 | (gnus-add-configuration | 1099 | (gnus-add-configuration |
| 1100 | '(article | 1100 | '(article |
| 1101 | (horizontal 1.0 | 1101 | (horizontal 1.0 |
| 1102 | (vertical 25 | 1102 | (vertical 25 |
| 1103 | (group 1.0)) | 1103 | (group 1.0)) |
| 1104 | (vertical 1.0 | 1104 | (vertical 1.0 |
| 1105 | (summary 0.25 point) | 1105 | (summary 0.25 point) |
| 1106 | (article 1.0))))) | 1106 | (article 1.0))))) |
| 1107 | (gnus-add-configuration | 1107 | (gnus-add-configuration |
| 1108 | '(summary | 1108 | '(summary |
| 1109 | (horizontal 1.0 | 1109 | (horizontal 1.0 |
| 1110 | (vertical 25 | 1110 | (vertical 25 |
| 1111 | (group 1.0)) | 1111 | (group 1.0)) |
| 1112 | (vertical 1.0 | 1112 | (vertical 1.0 |
| 1113 | (summary 1.0 point))))) | 1113 | (summary 1.0 point))))) |
| 1114 | @end example | 1114 | @end example |
| 1115 | @noindent | 1115 | @noindent |
| 1116 | 1116 | ||
| @@ -1480,7 +1480,7 @@ You can store your mail addresses in a ~/.mailrc file using a simple | |||
| 1480 | alias syntax: | 1480 | alias syntax: |
| 1481 | 1481 | ||
| 1482 | @example | 1482 | @example |
| 1483 | alias al "Al <al@@english-heritage.invalid>" | 1483 | alias al "Al <al@@english-heritage.invalid>" |
| 1484 | @end example | 1484 | @end example |
| 1485 | @noindent | 1485 | @noindent |
| 1486 | 1486 | ||
| @@ -1644,9 +1644,9 @@ the group to use. | |||
| 1644 | 1644 | ||
| 1645 | @example | 1645 | @example |
| 1646 | (setq gnus-message-archive-group | 1646 | (setq gnus-message-archive-group |
| 1647 | '((if (message-news-p) | 1647 | '((if (message-news-p) |
| 1648 | "nnml:Send-News" | 1648 | "nnml:Send-News" |
| 1649 | "nnml:Send-Mail"))) | 1649 | "nnml:Send-Mail"))) |
| 1650 | @end example | 1650 | @end example |
| 1651 | @noindent | 1651 | @noindent |
| 1652 | 1652 | ||
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 3ef173c8db0..c3a7058289d 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi | |||
| @@ -322,7 +322,7 @@ developing GNU and promoting software freedom.'' | |||
| 322 | 322 | ||
| 323 | @dircategory Emacs | 323 | @dircategory Emacs |
| 324 | @direntry | 324 | @direntry |
| 325 | * Gnus: (gnus). The newsreader Gnus. | 325 | * Gnus: (gnus). The newsreader Gnus. |
| 326 | @end direntry | 326 | @end direntry |
| 327 | @iftex | 327 | @iftex |
| 328 | @finalout | 328 | @finalout |
diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index 94a2c2c6db7..0618f110c30 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi | |||
| @@ -41,7 +41,7 @@ developing GNU and promoting software freedom.'' | |||
| 41 | 41 | ||
| 42 | @dircategory Emacs | 42 | @dircategory Emacs |
| 43 | @direntry | 43 | @direntry |
| 44 | * IDLWAVE: (idlwave). Major mode and shell for IDL files. | 44 | * IDLWAVE: (idlwave). Major mode and shell for IDL files. |
| 45 | @end direntry | 45 | @end direntry |
| 46 | 46 | ||
| 47 | @titlepage | 47 | @titlepage |
diff --git a/doc/misc/info.texi b/doc/misc/info.texi index b1157c0c4eb..97cc17812e4 100644 --- a/doc/misc/info.texi +++ b/doc/misc/info.texi | |||
| @@ -40,7 +40,7 @@ license to the document, as described in section 6 of the license. | |||
| 40 | 40 | ||
| 41 | @dircategory Texinfo documentation system | 41 | @dircategory Texinfo documentation system |
| 42 | @direntry | 42 | @direntry |
| 43 | * Info: (info). How to use the documentation browsing system. | 43 | * Info: (info). How to use the documentation browsing system. |
| 44 | @end direntry | 44 | @end direntry |
| 45 | 45 | ||
| 46 | @titlepage | 46 | @titlepage |
diff --git a/doc/misc/mairix-el.texi b/doc/misc/mairix-el.texi index b08d5d8e316..578164e8e57 100644 --- a/doc/misc/mairix-el.texi +++ b/doc/misc/mairix-el.texi | |||
| @@ -24,7 +24,7 @@ developing GNU and promoting software freedom.'' | |||
| 24 | 24 | ||
| 25 | @dircategory Emacs | 25 | @dircategory Emacs |
| 26 | @direntry | 26 | @direntry |
| 27 | * Mairix: (mairix-el). Emacs interface to the Mairix mail indexer. | 27 | * Mairix: (mairix-el). Emacs interface to the Mairix mail indexer. |
| 28 | @end direntry | 28 | @end direntry |
| 29 | 29 | ||
| 30 | @titlepage | 30 | @titlepage |
diff --git a/doc/misc/message.texi b/doc/misc/message.texi index 1667c5ca503..283d29c0de4 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi | |||
| @@ -27,7 +27,8 @@ developing GNU and promoting software freedom.'' | |||
| 27 | 27 | ||
| 28 | @dircategory Emacs | 28 | @dircategory Emacs |
| 29 | @direntry | 29 | @direntry |
| 30 | * Message: (message). Mail and news composition mode that goes with Gnus. | 30 | * Message: (message). Mail and news composition mode that |
| 31 | goes with Gnus. | ||
| 31 | @end direntry | 32 | @end direntry |
| 32 | @iftex | 33 | @iftex |
| 33 | @finalout | 34 | @finalout |
diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi index f7a46778c96..ed64f91ac39 100644 --- a/doc/misc/mh-e.texi +++ b/doc/misc/mh-e.texi | |||
| @@ -24,8 +24,8 @@ | |||
| 24 | This is version @value{VERSION}@value{EDITION} of @cite{The MH-E | 24 | This is version @value{VERSION}@value{EDITION} of @cite{The MH-E |
| 25 | Manual}, last updated @value{UPDATED}. | 25 | Manual}, last updated @value{UPDATED}. |
| 26 | 26 | ||
| 27 | Copyright @copyright{} 1995, 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010 | 27 | Copyright @copyright{} 1995, 2001, 2002, 2003, 2005, 2006, 2007, 2008, |
| 28 | Free Software Foundation, Inc. | 28 | 2009, 2010 Free Software Foundation, Inc. |
| 29 | 29 | ||
| 30 | @c This dual license has been agreed upon by the FSF. | 30 | @c This dual license has been agreed upon by the FSF. |
| 31 | 31 | ||
| @@ -58,7 +58,7 @@ Public License.'' | |||
| 58 | @c Info Directory Entry | 58 | @c Info Directory Entry |
| 59 | @dircategory Emacs | 59 | @dircategory Emacs |
| 60 | @direntry | 60 | @direntry |
| 61 | * MH-E: (mh-e). Emacs interface to the MH mail system. | 61 | * MH-E: (mh-e). Emacs interface to the MH mail system. |
| 62 | @end direntry | 62 | @end direntry |
| 63 | 63 | ||
| 64 | @c Title Page | 64 | @c Title Page |
| @@ -7767,7 +7767,7 @@ will need to run @samp{sa-learn --rebuild} periodically. This can be | |||
| 7767 | done by adding the following to your @file{crontab}: | 7767 | done by adding the following to your @file{crontab}: |
| 7768 | 7768 | ||
| 7769 | @smallexample | 7769 | @smallexample |
| 7770 | 0 * * * * sa-learn --rebuild > /dev/null 2>&1 | 7770 | 0 * * * * sa-learn --rebuild > /dev/null 2>&1 |
| 7771 | @end smallexample | 7771 | @end smallexample |
| 7772 | 7772 | ||
| 7773 | @subheading Bogofilter | 7773 | @subheading Bogofilter |
diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi index 926885b7e13..5c975772139 100644 --- a/doc/misc/newsticker.texi +++ b/doc/misc/newsticker.texi | |||
| @@ -32,7 +32,7 @@ developing GNU and promoting software freedom.'' | |||
| 32 | 32 | ||
| 33 | @dircategory Emacs | 33 | @dircategory Emacs |
| 34 | @direntry | 34 | @direntry |
| 35 | * Newsticker: (newsticker). A Newsticker for Emacs. | 35 | * Newsticker: (newsticker). A Newsticker for Emacs. |
| 36 | @end direntry | 36 | @end direntry |
| 37 | 37 | ||
| 38 | @titlepage | 38 | @titlepage |
diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi index c1ea64fe9a9..593bf92d00a 100644 --- a/doc/misc/nxml-mode.texi +++ b/doc/misc/nxml-mode.texi | |||
| @@ -187,7 +187,7 @@ and the buffer showing possible completions will contain | |||
| 187 | 187 | ||
| 188 | @example | 188 | @example |
| 189 | Possible completions are: | 189 | Possible completions are: |
| 190 | xml:lang xmlns | 190 | xml:lang xmlns |
| 191 | @end example | 191 | @end example |
| 192 | 192 | ||
| 193 | @noindent | 193 | @noindent |
| @@ -520,7 +520,7 @@ enough. | |||
| 520 | 520 | ||
| 521 | If you want to use a schema that has not yet been added to the | 521 | If you want to use a schema that has not yet been added to the |
| 522 | schema locating files, you can use the command @kbd{C-c C-s C-f} | 522 | schema locating files, you can use the command @kbd{C-c C-s C-f} |
| 523 | to manually select the file contaiing the schema for the document in | 523 | to manually select the file containing the schema for the document in |
| 524 | current buffer. Emacs will read the file-name of the schema from the | 524 | current buffer. Emacs will read the file-name of the schema from the |
| 525 | minibuffer. After reading the file-name, Emacs will ask whether you | 525 | minibuffer. After reading the file-name, Emacs will ask whether you |
| 526 | wish to add a rule to a schema locating file that persistently | 526 | wish to add a rule to a schema locating file that persistently |
diff --git a/doc/misc/org.texi b/doc/misc/org.texi index c4285d59f27..0c708c9ac75 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi | |||
| @@ -68,7 +68,7 @@ license to the document, as described in section 6 of the license. | |||
| 68 | 68 | ||
| 69 | @dircategory Emacs | 69 | @dircategory Emacs |
| 70 | @direntry | 70 | @direntry |
| 71 | * Org Mode: (org). Outline-based notes management and organizer | 71 | * Org Mode: (org). Outline-based notes management and organizer. |
| 72 | @end direntry | 72 | @end direntry |
| 73 | 73 | ||
| 74 | @titlepage | 74 | @titlepage |
| @@ -4702,7 +4702,7 @@ values. | |||
| 4702 | 4702 | ||
| 4703 | @example | 4703 | @example |
| 4704 | :COLUMNS: %25ITEM %9Approved(Approved?)@{X@} %Owner %11Status \@footnote{Please note that the COLUMNS definition must be on a single line---it is wrapped here only because of formatting constraints.} | 4704 | :COLUMNS: %25ITEM %9Approved(Approved?)@{X@} %Owner %11Status \@footnote{Please note that the COLUMNS definition must be on a single line---it is wrapped here only because of formatting constraints.} |
| 4705 | %10Time_Estimate@{:@} %CLOCKSUM | 4705 | %10Time_Estimate@{:@} %CLOCKSUM |
| 4706 | :Owner_ALL: Tammy Mark Karl Lisa Don | 4706 | :Owner_ALL: Tammy Mark Karl Lisa Don |
| 4707 | :Status_ALL: "In progress" "Not started yet" "Finished" "" | 4707 | :Status_ALL: "In progress" "Not started yet" "Finished" "" |
| 4708 | :Approved_ALL: "[ ]" "[X]" | 4708 | :Approved_ALL: "[ ]" "[X]" |
| @@ -7482,12 +7482,12 @@ Internet, and outside of business hours, with something like this: | |||
| 7482 | @group | 7482 | @group |
| 7483 | (defun org-my-auto-exclude-function (tag) | 7483 | (defun org-my-auto-exclude-function (tag) |
| 7484 | (and (cond | 7484 | (and (cond |
| 7485 | ((string= tag "Net") | 7485 | ((string= tag "Net") |
| 7486 | (/= 0 (call-process "/sbin/ping" nil nil nil | 7486 | (/= 0 (call-process "/sbin/ping" nil nil nil |
| 7487 | "-c1" "-q" "-t1" "mail.gnu.org"))) | 7487 | "-c1" "-q" "-t1" "mail.gnu.org"))) |
| 7488 | ((or (string= tag "Errand") (string= tag "Call")) | 7488 | ((or (string= tag "Errand") (string= tag "Call")) |
| 7489 | (let ((hour (nth 2 (decode-time)))) | 7489 | (let ((hour (nth 2 (decode-time)))) |
| 7490 | (or (< hour 8) (> hour 21))))) | 7490 | (or (< hour 8) (> hour 21))))) |
| 7491 | (concat "-" tag))) | 7491 | (concat "-" tag))) |
| 7492 | 7492 | ||
| 7493 | (setq org-agenda-auto-exclude-function 'org-my-auto-exclude-function) | 7493 | (setq org-agenda-auto-exclude-function 'org-my-auto-exclude-function) |
| @@ -11340,9 +11340,9 @@ fixed this problem: | |||
| 11340 | 11340 | ||
| 11341 | @lisp | 11341 | @lisp |
| 11342 | (add-hook 'org-mode-hook | 11342 | (add-hook 'org-mode-hook |
| 11343 | (lambda () | 11343 | (lambda () |
| 11344 | (org-set-local 'yas/trigger-key [tab]) | 11344 | (org-set-local 'yas/trigger-key [tab]) |
| 11345 | (define-key yas/keymap [tab] 'yas/next-field-group))) | 11345 | (define-key yas/keymap [tab] 'yas/next-field-group))) |
| 11346 | @end lisp | 11346 | @end lisp |
| 11347 | 11347 | ||
| 11348 | @item @file{windmove.el} by Hovav Shacham | 11348 | @item @file{windmove.el} by Hovav Shacham |
diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi index 625d83a0e2c..e4adf47ddb2 100644 --- a/doc/misc/pcl-cvs.texi +++ b/doc/misc/pcl-cvs.texi | |||
| @@ -26,7 +26,7 @@ developing GNU and promoting software freedom.'' | |||
| 26 | 26 | ||
| 27 | @dircategory Emacs | 27 | @dircategory Emacs |
| 28 | @direntry | 28 | @direntry |
| 29 | * PCL-CVS: (pcl-cvs). Emacs front-end to CVS. | 29 | * PCL-CVS: (pcl-cvs). Emacs front-end to CVS. |
| 30 | @end direntry | 30 | @end direntry |
| 31 | 31 | ||
| 32 | @c The titlepage section does not appear in the Info file. | 32 | @c The titlepage section does not appear in the Info file. |
diff --git a/doc/misc/pgg.texi b/doc/misc/pgg.texi index d2fd8fc097d..640dfd8f749 100644 --- a/doc/misc/pgg.texi +++ b/doc/misc/pgg.texi | |||
| @@ -8,8 +8,8 @@ | |||
| 8 | This file describes PGG @value{VERSION}, an Emacs interface to various | 8 | This file describes PGG @value{VERSION}, an Emacs interface to various |
| 9 | PGP implementations. | 9 | PGP implementations. |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 11 | Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
| 12 | Free Software Foundation, Inc. | 12 | 2010 Free Software Foundation, Inc. |
| 13 | 13 | ||
| 14 | @quotation | 14 | @quotation |
| 15 | Permission is granted to copy, distribute and/or modify this document | 15 | Permission is granted to copy, distribute and/or modify this document |
| @@ -27,7 +27,7 @@ developing GNU and promoting software freedom.'' | |||
| 27 | 27 | ||
| 28 | @dircategory Emacs | 28 | @dircategory Emacs |
| 29 | @direntry | 29 | @direntry |
| 30 | * PGG: (pgg). Emacs interface to various PGP implementations. | 30 | * PGG: (pgg). Emacs interface to various PGP implementations. |
| 31 | @end direntry | 31 | @end direntry |
| 32 | 32 | ||
| 33 | @titlepage | 33 | @titlepage |
| @@ -133,7 +133,7 @@ list autoload setting for desired functions as follows. | |||
| 133 | * User Commands:: | 133 | * User Commands:: |
| 134 | * Selecting an implementation:: | 134 | * Selecting an implementation:: |
| 135 | * Caching passphrase:: | 135 | * Caching passphrase:: |
| 136 | * Default user identity:: | 136 | * Default user identity:: |
| 137 | @end menu | 137 | @end menu |
| 138 | 138 | ||
| 139 | @node User Commands | 139 | @node User Commands |
| @@ -376,7 +376,7 @@ variable @code{pgg-scheme-gpg-instance} and will be reused from now on. | |||
| 376 | (defun pgg-make-scheme-gpg () | 376 | (defun pgg-make-scheme-gpg () |
| 377 | (or pgg-scheme-gpg-instance | 377 | (or pgg-scheme-gpg-instance |
| 378 | (setq pgg-scheme-gpg-instance | 378 | (setq pgg-scheme-gpg-instance |
| 379 | (luna-make-entity 'pgg-scheme-gpg)))) | 379 | (luna-make-entity 'pgg-scheme-gpg)))) |
| 380 | @end lisp | 380 | @end lisp |
| 381 | 381 | ||
| 382 | The name of the function must follow the | 382 | The name of the function must follow the |
diff --git a/doc/misc/rcirc.texi b/doc/misc/rcirc.texi index 8d3f5e73966..c27cf4dc182 100644 --- a/doc/misc/rcirc.texi +++ b/doc/misc/rcirc.texi | |||
| @@ -5,7 +5,8 @@ | |||
| 5 | @c %**end of header | 5 | @c %**end of header |
| 6 | 6 | ||
| 7 | @copying | 7 | @copying |
| 8 | Copyright @copyright{} 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 8 | Copyright @copyright{} 2006, 2007, 2008, 2009, 2010 |
| 9 | Free Software Foundation, Inc. | ||
| 9 | 10 | ||
| 10 | @quotation | 11 | @quotation |
| 11 | Permission is granted to copy, distribute and/or modify this document | 12 | Permission is granted to copy, distribute and/or modify this document |
| @@ -23,7 +24,7 @@ developing GNU and promoting software freedom.'' | |||
| 23 | 24 | ||
| 24 | @dircategory Emacs | 25 | @dircategory Emacs |
| 25 | @direntry | 26 | @direntry |
| 26 | * Rcirc: (rcirc). Internet Relay Chat (IRC) client. | 27 | * Rcirc: (rcirc). Internet Relay Chat (IRC) client. |
| 27 | @end direntry | 28 | @end direntry |
| 28 | 29 | ||
| 29 | @titlepage | 30 | @titlepage |
diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi index f2d03afc924..9d06ceccd9e 100644 --- a/doc/misc/reftex.texi +++ b/doc/misc/reftex.texi | |||
| @@ -46,7 +46,8 @@ developing GNU and promoting software freedom.'' | |||
| 46 | 46 | ||
| 47 | @dircategory Emacs | 47 | @dircategory Emacs |
| 48 | @direntry | 48 | @direntry |
| 49 | * RefTeX: (reftex). Emacs support for LaTeX cross-references and citations. | 49 | * RefTeX: (reftex). Emacs support for LaTeX cross-references |
| 50 | and citations. | ||
| 50 | @end direntry | 51 | @end direntry |
| 51 | 52 | ||
| 52 | @finalout | 53 | @finalout |
| @@ -3281,7 +3282,7 @@ the style @file{multind.el} contains | |||
| 3281 | (TeX-add-style-hook "multind" | 3282 | (TeX-add-style-hook "multind" |
| 3282 | (lambda () | 3283 | (lambda () |
| 3283 | (and (fboundp 'reftex-add-index-macros) | 3284 | (and (fboundp 'reftex-add-index-macros) |
| 3284 | (reftex-add-index-macros '(multind))))) | 3285 | (reftex-add-index-macros '(multind))))) |
| 3285 | @end lisp | 3286 | @end lisp |
| 3286 | 3287 | ||
| 3287 | If you have your own package @file{myindex} which defines the | 3288 | If you have your own package @file{myindex} which defines the |
diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi index f60d43031be..f9b75e1be00 100644 --- a/doc/misc/remember.texi +++ b/doc/misc/remember.texi | |||
| @@ -27,7 +27,7 @@ developing GNU and promoting software freedom.'' | |||
| 27 | 27 | ||
| 28 | @dircategory Emacs | 28 | @dircategory Emacs |
| 29 | @direntry | 29 | @direntry |
| 30 | * Remember: (remember). Simple information manager for Emacs | 30 | * Remember: (remember). Simple information manager for Emacs. |
| 31 | @end direntry | 31 | @end direntry |
| 32 | 32 | ||
| 33 | @titlepage | 33 | @titlepage |
diff --git a/doc/misc/sasl.texi b/doc/misc/sasl.texi index ff3481b306a..8a8421b4870 100644 --- a/doc/misc/sasl.texi +++ b/doc/misc/sasl.texi | |||
| @@ -32,7 +32,7 @@ license to the document, as described in section 6 of the license. | |||
| 32 | 32 | ||
| 33 | @dircategory Emacs | 33 | @dircategory Emacs |
| 34 | @direntry | 34 | @direntry |
| 35 | * SASL: (sasl). The Emacs SASL library. | 35 | * SASL: (sasl). The Emacs SASL library. |
| 36 | @end direntry | 36 | @end direntry |
| 37 | 37 | ||
| 38 | 38 | ||
| @@ -148,7 +148,7 @@ of authentication functions. | |||
| 148 | 148 | ||
| 149 | @example | 149 | @example |
| 150 | (defconst sasl-anonymous-steps | 150 | (defconst sasl-anonymous-steps |
| 151 | '(identity ;no initial response | 151 | '(identity ;no initial response |
| 152 | sasl-anonymous-response)) | 152 | sasl-anonymous-response)) |
| 153 | 153 | ||
| 154 | (put 'sasl-anonymous 'sasl-mechanism | 154 | (put 'sasl-anonymous 'sasl-mechanism |
| @@ -232,7 +232,7 @@ authentication protocol exchange. For example, | |||
| 232 | @example | 232 | @example |
| 233 | (process-send-string | 233 | (process-send-string |
| 234 | process | 234 | process |
| 235 | (if (sasl-step-data step) ;initial response | 235 | (if (sasl-step-data step) ;initial response |
| 236 | (format "AUTH %s %s\r\n" name (base64-encode-string (sasl-step-data step) t)) | 236 | (format "AUTH %s %s\r\n" name (base64-encode-string (sasl-step-data step) t)) |
| 237 | (format "AUTH %s\r\n" name))) | 237 | (format "AUTH %s\r\n" name))) |
| 238 | @end example | 238 | @end example |
diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi index 55d0d733cf0..72a6bfc8989 100644 --- a/doc/misc/sc.texi +++ b/doc/misc/sc.texi | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | @finalout | 7 | @finalout |
| 8 | @end iftex | 8 | @end iftex |
| 9 | 9 | ||
| 10 | @c @setchapternewpage odd % For book style double sided manual. | 10 | @c @setchapternewpage odd % For book style double sided manual. |
| 11 | @comment %**end of header (This is for running Texinfo on a region.) | 11 | @comment %**end of header (This is for running Texinfo on a region.) |
| 12 | 12 | ||
| 13 | @copying | 13 | @copying |
| @@ -35,8 +35,8 @@ developing GNU and promoting software freedom.'' | |||
| 35 | 35 | ||
| 36 | @dircategory Emacs | 36 | @dircategory Emacs |
| 37 | @direntry | 37 | @direntry |
| 38 | * SC: (sc). Supercite lets you cite parts of messages you're | 38 | * SC: (sc). Supercite lets you cite parts of messages |
| 39 | replying to, in flexible ways. | 39 | you're replying to, in flexible ways. |
| 40 | @end direntry | 40 | @end direntry |
| 41 | 41 | ||
| 42 | @titlepage | 42 | @titlepage |
| @@ -1795,23 +1795,23 @@ interface was formally proposed by Martin Neitzel on Fri, 23 Jun 89, in | |||
| 1795 | a mail message to the Supercite mailing list: | 1795 | a mail message to the Supercite mailing list: |
| 1796 | 1796 | ||
| 1797 | @example | 1797 | @example |
| 1798 | Martin> Each news/mail-reader should provide a form of | 1798 | Martin> Each news/mail-reader should provide a form of |
| 1799 | Martin> mail-yank-original that | 1799 | Martin> mail-yank-original that |
| 1800 | 1800 | ||
| 1801 | Martin> 1: inserts the original message incl. header into the | 1801 | Martin> 1: inserts the original message incl. header into the |
| 1802 | Martin> reply buffer; no indentation/prefixing is done, the header | 1802 | Martin> reply buffer; no indentation/prefixing is done, the header |
| 1803 | Martin> tends to be a "full blown" version rather than to be | 1803 | Martin> tends to be a "full blown" version rather than to be |
| 1804 | Martin> stripped down. | 1804 | Martin> stripped down. |
| 1805 | 1805 | ||
| 1806 | Martin> 2: `point' is at the start of the header, `mark' at the | 1806 | Martin> 2: `point' is at the start of the header, `mark' at the |
| 1807 | Martin> end of the message body. | 1807 | Martin> end of the message body. |
| 1808 | 1808 | ||
| 1809 | Martin> 3: (run-hooks 'mail-yank-hooks) | 1809 | Martin> 3: (run-hooks 'mail-yank-hooks) |
| 1810 | 1810 | ||
| 1811 | Martin> [Supercite] should be run as such a hook and merely | 1811 | Martin> [Supercite] should be run as such a hook and merely |
| 1812 | Martin> rewrite the message. This way it isn't anymore | 1812 | Martin> rewrite the message. This way it isn't anymore |
| 1813 | Martin> [Supercite]'s job to gather the original from obscure | 1813 | Martin> [Supercite]'s job to gather the original from obscure |
| 1814 | Martin> sources. [@dots{}] | 1814 | Martin> sources. [@dots{}] |
| 1815 | @end example | 1815 | @end example |
| 1816 | 1816 | ||
| 1817 | @vindex mail-citation-hook | 1817 | @vindex mail-citation-hook |
diff --git a/doc/misc/sem-user.texi b/doc/misc/sem-user.texi index 5ad3b9c6e3d..c731c1843dd 100644 --- a/doc/misc/sem-user.texi +++ b/doc/misc/sem-user.texi | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | @c This file is included by semantic.texi | 1 | @c This file is included by semantic.texi |
| 2 | 2 | ||
| 3 | @c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010 | 3 | @c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, |
| 4 | @c Free Software Foundation, Inc. | 4 | @c 2010 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | @c Permission is granted to copy, distribute and/or modify this | 6 | @c Permission is granted to copy, distribute and/or modify this |
| 7 | @c document under the terms of the GNU Free Documentation License, | 7 | @c document under the terms of the GNU Free Documentation License, |
| @@ -328,8 +328,8 @@ for a given major mode, like this: | |||
| 328 | 328 | ||
| 329 | @example | 329 | @example |
| 330 | (setq-mode-local c-mode | 330 | (setq-mode-local c-mode |
| 331 | semanticdb-find-default-throttle | 331 | semanticdb-find-default-throttle |
| 332 | '(project unloaded system recursive)) | 332 | '(project unloaded system recursive)) |
| 333 | @end example | 333 | @end example |
| 334 | 334 | ||
| 335 | @defvar semanticdb-find-default-throttle | 335 | @defvar semanticdb-find-default-throttle |
diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index 08d82d35a43..65bd718dfff 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi | |||
| @@ -43,7 +43,7 @@ developing GNU and promoting software freedom.'' | |||
| 43 | 43 | ||
| 44 | @dircategory Emacs | 44 | @dircategory Emacs |
| 45 | @direntry | 45 | @direntry |
| 46 | * Semantic: (semantic). Source code parser library and utilities. | 46 | * Semantic: (semantic). Source code parser library and utilities. |
| 47 | @end direntry | 47 | @end direntry |
| 48 | 48 | ||
| 49 | @titlepage | 49 | @titlepage |
| @@ -224,8 +224,8 @@ grammar developers; it is useful mostly for the hackers who would like | |||
| 224 | to learn more about how @semantic{} works. | 224 | to learn more about how @semantic{} works. |
| 225 | 225 | ||
| 226 | @menu | 226 | @menu |
| 227 | * Parser code :: Code used for the parsers | 227 | * Parser code :: Code used for the parsers |
| 228 | * Tag handling :: Code used for manipulating tags | 228 | * Tag handling :: Code used for manipulating tags |
| 229 | * Semanticdb Internals :: Code used in the semantic database | 229 | * Semanticdb Internals :: Code used in the semantic database |
| 230 | * Analyzer Internals :: Code used in the code analyzer | 230 | * Analyzer Internals :: Code used in the code analyzer |
| 231 | * Tools :: Code used in user tools | 231 | * Tools :: Code used in user tools |
diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi index af3970884c7..60d419083e2 100644 --- a/doc/misc/ses.texi +++ b/doc/misc/ses.texi | |||
| @@ -11,8 +11,8 @@ | |||
| 11 | @copying | 11 | @copying |
| 12 | This file documents SES: the Simple Emacs Spreadsheet. | 12 | This file documents SES: the Simple Emacs Spreadsheet. |
| 13 | 13 | ||
| 14 | Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 14 | Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
| 15 | Free Software Foundation, Inc. | 15 | 2010 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 |
| @@ -30,7 +30,7 @@ developing GNU and promoting software freedom.'' | |||
| 30 | 30 | ||
| 31 | @dircategory Emacs | 31 | @dircategory Emacs |
| 32 | @direntry | 32 | @direntry |
| 33 | * SES: (ses). Simple Emacs Spreadsheet | 33 | * SES: (ses). Simple Emacs Spreadsheet. |
| 34 | @end direntry | 34 | @end direntry |
| 35 | 35 | ||
| 36 | @finalout | 36 | @finalout |
diff --git a/doc/misc/sieve.texi b/doc/misc/sieve.texi index 8473f6cd359..9a1a0faf4c8 100644 --- a/doc/misc/sieve.texi +++ b/doc/misc/sieve.texi | |||
| @@ -8,8 +8,8 @@ | |||
| 8 | @copying | 8 | @copying |
| 9 | This file documents the Emacs Sieve package, for server-side mail filtering. | 9 | This file documents the Emacs Sieve package, for server-side mail filtering. |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 11 | Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, |
| 12 | Free Software Foundation, Inc. | 12 | 2009, 2010 Free Software Foundation, Inc. |
| 13 | 13 | ||
| 14 | @quotation | 14 | @quotation |
| 15 | Permission is granted to copy, distribute and/or modify this document | 15 | Permission is granted to copy, distribute and/or modify this document |
| @@ -227,7 +227,7 @@ the @code{fileinto} command. | |||
| 227 | require "fileinto"; | 227 | require "fileinto"; |
| 228 | 228 | ||
| 229 | if address "sender" "owner-w3-beta@@xemacs.org" @{ | 229 | if address "sender" "owner-w3-beta@@xemacs.org" @{ |
| 230 | fileinto "INBOX.w3-beta"; | 230 | fileinto "INBOX.w3-beta"; |
| 231 | @} | 231 | @} |
| 232 | @end example | 232 | @end example |
| 233 | 233 | ||
| @@ -238,7 +238,7 @@ required. | |||
| 238 | 238 | ||
| 239 | @example | 239 | @example |
| 240 | if header :contains "Delivered-To" "auc-tex@@sunsite.dk" @{ | 240 | if header :contains "Delivered-To" "auc-tex@@sunsite.dk" @{ |
| 241 | fileinto "INBOX.auc-tex"; | 241 | fileinto "INBOX.auc-tex"; |
| 242 | @} | 242 | @} |
| 243 | @end example | 243 | @end example |
| 244 | 244 | ||
| @@ -249,7 +249,7 @@ has been required. | |||
| 249 | 249 | ||
| 250 | @example | 250 | @example |
| 251 | if address ["to", "cc"] "kerberos@@mit.edu" @{ | 251 | if address ["to", "cc"] "kerberos@@mit.edu" @{ |
| 252 | fileinto "INBOX.kerberos"; | 252 | fileinto "INBOX.kerberos"; |
| 253 | @} | 253 | @} |
| 254 | @end example | 254 | @end example |
| 255 | 255 | ||
diff --git a/doc/misc/smtpmail.texi b/doc/misc/smtpmail.texi index fcb6ea65472..05bae38e7a8 100644 --- a/doc/misc/smtpmail.texi +++ b/doc/misc/smtpmail.texi | |||
| @@ -22,7 +22,7 @@ developing GNU and promoting software freedom.'' | |||
| 22 | 22 | ||
| 23 | @dircategory Emacs | 23 | @dircategory Emacs |
| 24 | @direntry | 24 | @direntry |
| 25 | * SMTP: (smtpmail). Emacs library for sending mail via SMTP. | 25 | * SMTP: (smtpmail). Emacs library for sending mail via SMTP. |
| 26 | @end direntry | 26 | @end direntry |
| 27 | 27 | ||
| 28 | @titlepage | 28 | @titlepage |
| @@ -44,17 +44,17 @@ developing GNU and promoting software freedom.'' | |||
| 44 | @end ifnottex | 44 | @end ifnottex |
| 45 | 45 | ||
| 46 | @menu | 46 | @menu |
| 47 | * How Mail Works:: Brief introduction to mail concepts. | 47 | * How Mail Works:: Brief introduction to mail concepts. |
| 48 | * Emacs Speaks SMTP:: How to use the SMTP library in Emacs. | 48 | * Emacs Speaks SMTP:: How to use the SMTP library in Emacs. |
| 49 | * Authentication:: Authenticating yourself to the server. | 49 | * Authentication:: Authenticating yourself to the server. |
| 50 | * Queued delivery:: Sending mail without an internet connection. | 50 | * Queued delivery:: Sending mail without an internet connection. |
| 51 | * Server workarounds:: Mail servers with special requirements. | 51 | * Server workarounds:: Mail servers with special requirements. |
| 52 | * Debugging:: Tracking down problems. | 52 | * Debugging:: Tracking down problems. |
| 53 | * GNU Free Documentation License:: The license for this documentation. | 53 | * GNU Free Documentation License:: The license for this documentation. |
| 54 | 54 | ||
| 55 | Indices | 55 | Indices |
| 56 | 56 | ||
| 57 | * Index:: Index over variables and functions. | 57 | * Index:: Index over variables and functions. |
| 58 | @end menu | 58 | @end menu |
| 59 | 59 | ||
| 60 | @node How Mail Works | 60 | @node How Mail Works |
| @@ -355,15 +355,15 @@ configurations of sendmail requires this behavior. Don't bother to | |||
| 355 | set this unless you have get an error like: | 355 | set this unless you have get an error like: |
| 356 | 356 | ||
| 357 | @example | 357 | @example |
| 358 | Sending failed; SMTP protocol error | 358 | Sending failed; SMTP protocol error |
| 359 | @end example | 359 | @end example |
| 360 | 360 | ||
| 361 | when sending mail, and the debug buffer (@pxref{Debugging})) contains | 361 | when sending mail, and the debug buffer (@pxref{Debugging})) contains |
| 362 | an error such as: | 362 | an error such as: |
| 363 | 363 | ||
| 364 | @example | 364 | @example |
| 365 | RCPT TO: @var{someone} | 365 | RCPT TO: @var{someone} |
| 366 | 501 @var{someone}: recipient address must contain a domain | 366 | 501 @var{someone}: recipient address must contain a domain |
| 367 | @end example | 367 | @end example |
| 368 | 368 | ||
| 369 | @end table | 369 | @end table |
diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi index 8434e8aa28d..aaf9e938de7 100644 --- a/doc/misc/speedbar.texi +++ b/doc/misc/speedbar.texi | |||
| @@ -23,7 +23,7 @@ developing GNU and promoting software freedom.'' | |||
| 23 | 23 | ||
| 24 | @dircategory Emacs | 24 | @dircategory Emacs |
| 25 | @direntry | 25 | @direntry |
| 26 | * Speedbar: (speedbar). File/Tag summarizing utility. | 26 | * Speedbar: (speedbar). File/Tag summarizing utility. |
| 27 | @end direntry | 27 | @end direntry |
| 28 | 28 | ||
| 29 | @titlepage | 29 | @titlepage |
| @@ -1131,7 +1131,7 @@ beginning, like this: | |||
| 1131 | 1131 | ||
| 1132 | @example | 1132 | @example |
| 1133 | (add-to-list 'speedbar-dynamic-tags-function-list | 1133 | (add-to-list 'speedbar-dynamic-tags-function-list |
| 1134 | '(my-fetch-dynamic-tags . my-insert-tag-list)) | 1134 | '(my-fetch-dynamic-tags . my-insert-tag-list)) |
| 1135 | @end example | 1135 | @end example |
| 1136 | 1136 | ||
| 1137 | If your parser is only good for a few types of files, make sure that it | 1137 | If your parser is only good for a few types of files, make sure that it |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 7d41049897e..4d853a5fb2c 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -57,8 +57,8 @@ supports it in developing GNU and promoting software freedom.'' | |||
| 57 | @c Entries for @command{install-info} to use | 57 | @c Entries for @command{install-info} to use |
| 58 | @dircategory @value{emacsname} | 58 | @dircategory @value{emacsname} |
| 59 | @direntry | 59 | @direntry |
| 60 | * TRAMP: (tramp). Transparent Remote Access, Multiple Protocol | 60 | * TRAMP: (tramp). Transparent Remote Access, Multiple Protocol |
| 61 | @value{emacsname} remote file access via rsh and rcp. | 61 | @value{emacsname} remote file access via rsh and rcp. |
| 62 | @end direntry | 62 | @end direntry |
| 63 | 63 | ||
| 64 | @titlepage | 64 | @titlepage |
| @@ -629,11 +629,11 @@ Two other variants, @option{ssh1_old} and @option{ssh2_old}, use the | |||
| 629 | @command{ssh1} and @command{ssh2} commands explicitly. If you don't | 629 | @command{ssh1} and @command{ssh2} commands explicitly. If you don't |
| 630 | know what these are, you do not need these options. | 630 | know what these are, you do not need these options. |
| 631 | 631 | ||
| 632 | All the methods based on @command{ssh} have an additional kludgy | 632 | All the methods based on @command{ssh} have an additional feature: you |
| 633 | feature: you can specify a host name which looks like @file{host#42} | 633 | can specify a host name which looks like @file{host#42} (the real host |
| 634 | (the real host name, then a hash sign, then a port number). This | 634 | name, then a hash sign, then a port number). This means to connect to |
| 635 | means to connect to the given host but to also pass @code{-p 42} as | 635 | the given host but to also pass @code{-p 42} as arguments to the |
| 636 | arguments to the @command{ssh} command. | 636 | @command{ssh} command. |
| 637 | 637 | ||
| 638 | 638 | ||
| 639 | @item @option{telnet} | 639 | @item @option{telnet} |
| @@ -2310,6 +2310,11 @@ using the @option{ssh} method to transfer files, and edit | |||
| 2310 | @file{.emacs} in my home directory I would specify the filename | 2310 | @file{.emacs} in my home directory I would specify the filename |
| 2311 | @file{@trampfn{ssh, daniel, melancholia, .emacs}}. | 2311 | @file{@trampfn{ssh, daniel, melancholia, .emacs}}. |
| 2312 | 2312 | ||
| 2313 | Finally, for some methods it is possible to specify a different port | ||
| 2314 | number than the default one, given by the method. This is specified | ||
| 2315 | by adding @file{#<port>} to the host name, like in @file{@trampfn{ssh, | ||
| 2316 | daniel, melancholia#42, .emacs}}. | ||
| 2317 | |||
| 2313 | 2318 | ||
| 2314 | @node Alternative Syntax | 2319 | @node Alternative Syntax |
| 2315 | @section URL-like filename syntax | 2320 | @section URL-like filename syntax |
diff --git a/doc/misc/url.texi b/doc/misc/url.texi index ea7f3211f52..a6bbf0bd3eb 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | @dircategory World Wide Web | 15 | @dircategory World Wide Web |
| 16 | @dircategory Emacs | 16 | @dircategory Emacs |
| 17 | @direntry | 17 | @direntry |
| 18 | * URL: (url). URL loading package. | 18 | * URL: (url). URL loading package. |
| 19 | @end direntry | 19 | @end direntry |
| 20 | 20 | ||
| 21 | @copying | 21 | @copying |
diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi index 26acf25cb8e..2a4d4191082 100644 --- a/doc/misc/vip.texi +++ b/doc/misc/vip.texi | |||
| @@ -3,8 +3,8 @@ | |||
| 3 | @settitle VIP | 3 | @settitle VIP |
| 4 | 4 | ||
| 5 | @copying | 5 | @copying |
| 6 | Copyright @copyright{} 1987, 2001, 2002, 2003, 2004, | 6 | Copyright @copyright{} 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 7 | 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 7 | 2008, 2009, 2010 Free Software Foundation, Inc. |
| 8 | 8 | ||
| 9 | @quotation | 9 | @quotation |
| 10 | Permission is granted to copy, distribute and/or modify this document | 10 | Permission is granted to copy, distribute and/or modify this document |
| @@ -38,7 +38,7 @@ developing GNU and promoting software freedom.'' | |||
| 38 | 38 | ||
| 39 | @dircategory Emacs | 39 | @dircategory Emacs |
| 40 | @direntry | 40 | @direntry |
| 41 | * VIP: (vip). An older VI-emulation for Emacs. | 41 | * VIP: (vip). An older VI-emulation for Emacs. |
| 42 | @end direntry | 42 | @end direntry |
| 43 | 43 | ||
| 44 | @ifnottex | 44 | @ifnottex |
| @@ -65,10 +65,10 @@ Comments and bug reports are welcome. Please send messages to | |||
| 65 | @end ifnottex | 65 | @end ifnottex |
| 66 | 66 | ||
| 67 | @menu | 67 | @menu |
| 68 | * Survey:: A survey of VIP. | 68 | * Survey:: A survey of VIP. |
| 69 | * Vi Commands:: Details of Vi commands. | 69 | * Vi Commands:: Details of Vi commands. |
| 70 | * Ex Commands:: Details of Ex commands. | 70 | * Ex Commands:: Details of Ex commands. |
| 71 | * Customization:: How to customize VIP. | 71 | * Customization:: How to customize VIP. |
| 72 | * GNU Free Documentation License:: The license for this documentation. | 72 | * GNU Free Documentation License:: The license for this documentation. |
| 73 | 73 | ||
| 74 | @end menu | 74 | @end menu |
| @@ -99,10 +99,10 @@ In this chapter we describe basics of VIP with emphasis on the features not | |||
| 99 | found in Vi and on how to use VIP under GNU Emacs. | 99 | found in Vi and on how to use VIP under GNU Emacs. |
| 100 | 100 | ||
| 101 | @menu | 101 | @menu |
| 102 | * Basic Concepts:: Basic concepts in Emacs. | 102 | * Basic Concepts:: Basic concepts in Emacs. |
| 103 | * Loading VIP:: How to load VIP automatically. | 103 | * Loading VIP:: How to load VIP automatically. |
| 104 | * Modes in VIP:: VIP has three modes, which are orthogonal to modes | 104 | * Modes in VIP:: VIP has three modes, which are orthogonal to modes |
| 105 | in Emacs. | 105 | in Emacs. |
| 106 | * Differences from Vi:: Differences of VIP from Vi is explained. | 106 | * Differences from Vi:: Differences of VIP from Vi is explained. |
| 107 | @end menu | 107 | @end menu |
| 108 | 108 | ||
| @@ -253,10 +253,10 @@ emacs mode vi mode insert mode | |||
| 253 | @end ifinfo | 253 | @end ifinfo |
| 254 | 254 | ||
| 255 | @menu | 255 | @menu |
| 256 | * Emacs Mode:: This is the mode you should know better. | 256 | * Emacs Mode:: This is the mode you should know better. |
| 257 | * Vi Mode:: Vi commands are executed in this mode. | 257 | * Vi Mode:: Vi commands are executed in this mode. |
| 258 | * Insert Mode:: You can enter text, and also can do editing if you | 258 | * Insert Mode:: You can enter text, and also can do editing if you |
| 259 | know enough Emacs commands. | 259 | know enough Emacs commands. |
| 260 | @end menu | 260 | @end menu |
| 261 | 261 | ||
| 262 | @node Emacs Mode, Vi Mode, Modes in VIP, Modes in VIP | 262 | @node Emacs Mode, Vi Mode, Modes in VIP, Modes in VIP |
| @@ -306,23 +306,23 @@ Thus typing @kbd{C-z x} in insert mode will have the same effect as typing | |||
| 306 | The major differences from Vi are explained below. | 306 | The major differences from Vi are explained below. |
| 307 | 307 | ||
| 308 | @menu | 308 | @menu |
| 309 | * Undoing:: You can undo more in VIP. | 309 | * Undoing:: You can undo more in VIP. |
| 310 | * Changing:: Commands for changing the text. | 310 | * Changing:: Commands for changing the text. |
| 311 | * Searching:: Search commands. | 311 | * Searching:: Search commands. |
| 312 | * z Command:: You can now use zH, zM and zL as well as z- etc. | 312 | * z Command:: You can now use zH, zM and zL as well as z- etc. |
| 313 | * Counts:: Some Vi commands which do not accept a count now | 313 | * Counts:: Some Vi commands which do not accept a count now |
| 314 | accept one. | 314 | accept one. |
| 315 | * Marking:: You can now mark the current point, beginning of | 315 | * Marking:: You can now mark the current point, beginning of |
| 316 | the buffer etc. | 316 | the buffer etc. |
| 317 | * Region Commands:: You can now give a region as an argument for delete | 317 | * Region Commands:: You can now give a region as an argument for delete |
| 318 | commands etc. | 318 | commands etc. |
| 319 | * New Commands:: Some new commands not available in Vi are added. | 319 | * New Commands:: Some new commands not available in Vi are added. |
| 320 | * New Bindings:: Bindings of some keys are changed for the | 320 | * New Bindings:: Bindings of some keys are changed for the |
| 321 | convenience of editing under Emacs. | 321 | convenience of editing under Emacs. |
| 322 | * Window Commands:: Commands for moving among windows etc. | 322 | * Window Commands:: Commands for moving among windows etc. |
| 323 | * Buffer Commands:: Commands for selecting buffers etc. | 323 | * Buffer Commands:: Commands for selecting buffers etc. |
| 324 | * File Commands:: Commands for visiting files etc. | 324 | * File Commands:: Commands for visiting files etc. |
| 325 | * Misc Commands:: Other useful commands. | 325 | * Misc Commands:: Other useful commands. |
| 326 | @end menu | 326 | @end menu |
| 327 | 327 | ||
| 328 | @node Undoing, Changing, Differences from Vi, Differences from Vi | 328 | @node Undoing, Changing, Differences from Vi, Differences from Vi |
| @@ -693,17 +693,17 @@ VIP. Except for the last section which discusses insert mode, all the | |||
| 693 | commands described in this chapter are to be used in vi mode. | 693 | commands described in this chapter are to be used in vi mode. |
| 694 | 694 | ||
| 695 | @menu | 695 | @menu |
| 696 | * Numeric Arguments:: Many commands accept numeric arguments | 696 | * Numeric Arguments:: Many commands accept numeric arguments |
| 697 | * Important Keys:: Some very important keys. | 697 | * Important Keys:: Some very important keys. |
| 698 | * Buffers and Windows:: Commands for handling buffers and windows. | 698 | * Buffers and Windows:: Commands for handling buffers and windows. |
| 699 | * Files:: Commands for handling files. | 699 | * Files:: Commands for handling files. |
| 700 | * Viewing the Buffer:: How you can view the current buffer. | 700 | * Viewing the Buffer:: How you can view the current buffer. |
| 701 | * Mark Commands:: Marking positions in a buffer. | 701 | * Mark Commands:: Marking positions in a buffer. |
| 702 | * Motion Commands:: Commands for moving point. | 702 | * Motion Commands:: Commands for moving point. |
| 703 | * Searching and Replacing:: Commands for searching and replacing. | 703 | * Searching and Replacing:: Commands for searching and replacing. |
| 704 | * Modifying Commands:: Commands for modifying the buffer. | 704 | * Modifying Commands:: Commands for modifying the buffer. |
| 705 | * Other Vi Commands:: Miscellaneous Commands. | 705 | * Other Vi Commands:: Miscellaneous Commands. |
| 706 | * Commands in Insert Mode:: Commands for entering insert mode. | 706 | * Commands in Insert Mode:: Commands for entering insert mode. |
| 707 | @end menu | 707 | @end menu |
| 708 | 708 | ||
| 709 | @node Numeric Arguments, Important Keys, Vi Commands, Vi Commands | 709 | @node Numeric Arguments, Important Keys, Vi Commands, Vi Commands |
| @@ -1265,7 +1265,7 @@ vanilla, this command replaces every occurrence of @var{string} with | |||
| 1265 | @var{newstring}. If the mode is regular expression, @var{string} is | 1265 | @var{newstring}. If the mode is regular expression, @var{string} is |
| 1266 | treated as a regular expression and every string matching the regular | 1266 | treated as a regular expression and every string matching the regular |
| 1267 | expression is replaced with @var{newstring} (@code{vip-replace-string}). | 1267 | expression is replaced with @var{newstring} (@code{vip-replace-string}). |
| 1268 | @item Q @var{string} RET @var{newstring} | 1268 | @item Q @var{string} RET @var{newstring} |
| 1269 | @kindex 121 @kbd{Q} (@code{vip-query-replace}) | 1269 | @kindex 121 @kbd{Q} (@code{vip-query-replace}) |
| 1270 | Same as @kbd{R} except that you will be asked form confirmation before each | 1270 | Same as @kbd{R} except that you will be asked form confirmation before each |
| 1271 | replacement | 1271 | replacement |
| @@ -1311,10 +1311,10 @@ the region}), and then the enlarged region will be affected by the modifying | |||
| 1311 | command. | 1311 | command. |
| 1312 | 1312 | ||
| 1313 | @menu | 1313 | @menu |
| 1314 | * Delete Commands:: Commands for deleting text. | 1314 | * Delete Commands:: Commands for deleting text. |
| 1315 | * Yank Commands:: Commands for yanking text in Vi's sense. | 1315 | * Yank Commands:: Commands for yanking text in Vi's sense. |
| 1316 | * Put Back Commands:: Commands for putting back deleted/yanked text. | 1316 | * Put Back Commands:: Commands for putting back deleted/yanked text. |
| 1317 | * Change Commands:: Commands for changing text. | 1317 | * Change Commands:: Commands for changing text. |
| 1318 | * Repeating and Undoing Modifications:: | 1318 | * Repeating and Undoing Modifications:: |
| 1319 | @end menu | 1319 | @end menu |
| 1320 | @node Delete Commands, Yank Commands, Modifying Commands, Modifying Commands | 1320 | @node Delete Commands, Yank Commands, Modifying Commands, Modifying Commands |
| @@ -1713,7 +1713,7 @@ Several Ex commands can be entered in a line by separating them by a pipe | |||
| 1713 | character @samp{|}. | 1713 | character @samp{|}. |
| 1714 | 1714 | ||
| 1715 | @menu | 1715 | @menu |
| 1716 | * Ex Command Reference:: Explain all the Ex commands available in VIP. | 1716 | * Ex Command Reference:: Explain all the Ex commands available in VIP. |
| 1717 | @end menu | 1717 | @end menu |
| 1718 | @node Ex Command Reference, Customization, Ex Commands, Ex Commands | 1718 | @node Ex Command Reference, Customization, Ex Commands, Ex Commands |
| 1719 | @section Ex Command Reference | 1719 | @section Ex Command Reference |
| @@ -1869,8 +1869,8 @@ will also be loaded when VIP is loaded. This file is thus useful for | |||
| 1869 | customizing VIP. | 1869 | customizing VIP. |
| 1870 | 1870 | ||
| 1871 | @menu | 1871 | @menu |
| 1872 | * Customizing Constants:: How to change values of constants. | 1872 | * Customizing Constants:: How to change values of constants. |
| 1873 | * Customizing Key Bindings:: How to change key bindings. | 1873 | * Customizing Key Bindings:: How to change key bindings. |
| 1874 | @end menu | 1874 | @end menu |
| 1875 | 1875 | ||
| 1876 | @node Customizing Constants, Customizing Key Bindings, Customization, Customization | 1876 | @node Customizing Constants, Customizing Key Bindings, Customization, Customization |
diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index 497d1b373e1..2100e652950 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi | |||
| @@ -26,9 +26,9 @@ developing GNU and promoting software freedom.'' | |||
| 26 | 26 | ||
| 27 | @dircategory Emacs | 27 | @dircategory Emacs |
| 28 | @direntry | 28 | @direntry |
| 29 | * VIPER: (viper). The newest Emacs VI-emulation mode. | 29 | * VIPER: (viper). The newest Emacs VI-emulation mode. |
| 30 | (also, A VI Plan for Emacs Rescue | 30 | (also, A VI Plan for Emacs Rescue |
| 31 | or the VI PERil.) | 31 | or the VI PERil.) |
| 32 | @end direntry | 32 | @end direntry |
| 33 | 33 | ||
| 34 | @finalout | 34 | @finalout |
| @@ -3004,14 +3004,14 @@ reference created by @* @samp{maart@@cs.vu.nl} and others. It can be | |||
| 3004 | found on the Vi archives. This reference has been adapted for Viper.@refill | 3004 | found on the Vi archives. This reference has been adapted for Viper.@refill |
| 3005 | 3005 | ||
| 3006 | @menu | 3006 | @menu |
| 3007 | * Groundwork:: Textual Conventions and Viper basics | 3007 | * Groundwork:: Textual Conventions and Viper basics |
| 3008 | * Text Handling:: Moving, Editing, Undoing. | 3008 | * Text Handling:: Moving, Editing, Undoing. |
| 3009 | * Display:: Scrolling. | 3009 | * Display:: Scrolling. |
| 3010 | * File and Buffer Handling:: Editing, Writing and Quitting. | 3010 | * File and Buffer Handling:: Editing, Writing and Quitting. |
| 3011 | * Mapping:: Mapping Keys, Keyboard Macros | 3011 | * Mapping:: Mapping Keys, Keyboard Macros |
| 3012 | * Shell Commands:: Accessing Shell Commands, Processing Text | 3012 | * Shell Commands:: Accessing Shell Commands, Processing Text |
| 3013 | * Options:: Ex options, the @kbd{:set} commands | 3013 | * Options:: Ex options, the @kbd{:set} commands |
| 3014 | * Emacs Related Commands:: Meta Keys, Windows | 3014 | * Emacs Related Commands:: Meta Keys, Windows |
| 3015 | * Mouse-bound Commands:: Search and insertion of text | 3015 | * Mouse-bound Commands:: Search and insertion of text |
| 3016 | @end menu | 3016 | @end menu |
| 3017 | 3017 | ||
| @@ -3230,15 +3230,15 @@ inserts them automatically in front of the Ex command. | |||
| 3230 | @section Text Handling | 3230 | @section Text Handling |
| 3231 | 3231 | ||
| 3232 | @menu | 3232 | @menu |
| 3233 | * Move Commands:: Moving, Searching | 3233 | * Move Commands:: Moving, Searching |
| 3234 | * Marking:: Textmarkers in Viper and the Emacs Mark. | 3234 | * Marking:: Textmarkers in Viper and the Emacs Mark. |
| 3235 | * Appending Text:: Text insertion, Shifting, Putting | 3235 | * Appending Text:: Text insertion, Shifting, Putting |
| 3236 | * Editing in Insert State:: Autoindent, Quoting etc. | 3236 | * Editing in Insert State:: Autoindent, Quoting etc. |
| 3237 | * Deleting Text:: Deleting | 3237 | * Deleting Text:: Deleting |
| 3238 | * Changing Text:: Changing, Replacement, Joining | 3238 | * Changing Text:: Changing, Replacement, Joining |
| 3239 | * Search and Replace:: Searches, Query Replace, Pattern Commands | 3239 | * Search and Replace:: Searches, Query Replace, Pattern Commands |
| 3240 | * Yanking:: Yanking, Viewing Registers | 3240 | * Yanking:: Yanking, Viewing Registers |
| 3241 | * Undoing:: Multiple Undo, Backups | 3241 | * Undoing:: Multiple Undo, Backups |
| 3242 | @end menu | 3242 | @end menu |
| 3243 | 3243 | ||
| 3244 | @node Move Commands,Marking,,Text Handling | 3244 | @node Move Commands,Marking,,Text Handling |
diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi index fc8f3b2ea58..2d95daf36d4 100644 --- a/doc/misc/widget.texi +++ b/doc/misc/widget.texi | |||
| @@ -8,8 +8,8 @@ | |||
| 8 | @c %**end of header | 8 | @c %**end of header |
| 9 | 9 | ||
| 10 | @copying | 10 | @copying |
| 11 | Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005, | 11 | Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 12 | 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 12 | 2008, 2009, 2010 Free Software Foundation, Inc. |
| 13 | 13 | ||
| 14 | @quotation | 14 | @quotation |
| 15 | Permission is granted to copy, distribute and/or modify this document | 15 | Permission is granted to copy, distribute and/or modify this document |
| @@ -27,8 +27,8 @@ developing GNU and promoting software freedom.'' | |||
| 27 | 27 | ||
| 28 | @dircategory Emacs | 28 | @dircategory Emacs |
| 29 | @direntry | 29 | @direntry |
| 30 | * Widget: (widget). The "widget" package used by the Emacs Customization | 30 | * Widget: (widget). The "widget" package used by the Emacs |
| 31 | facility. | 31 | Customization facility. |
| 32 | @end direntry | 32 | @end direntry |
| 33 | 33 | ||
| 34 | @contents | 34 | @contents |
| @@ -338,71 +338,71 @@ Interface}). | |||
| 338 | (remove-overlays) | 338 | (remove-overlays) |
| 339 | (widget-insert "Here is some documentation.\n\n") | 339 | (widget-insert "Here is some documentation.\n\n") |
| 340 | (widget-create 'editable-field | 340 | (widget-create 'editable-field |
| 341 | :size 13 | 341 | :size 13 |
| 342 | :format "Name: %v " ; Text after the field! | 342 | :format "Name: %v " ; Text after the field! |
| 343 | "My Name") | 343 | "My Name") |
| 344 | (widget-create 'menu-choice | 344 | (widget-create 'menu-choice |
| 345 | :tag "Choose" | 345 | :tag "Choose" |
| 346 | :value "This" | 346 | :value "This" |
| 347 | :help-echo "Choose me, please!" | 347 | :help-echo "Choose me, please!" |
| 348 | :notify (lambda (widget &rest ignore) | 348 | :notify (lambda (widget &rest ignore) |
| 349 | (message "%s is a good choice!" | 349 | (message "%s is a good choice!" |
| 350 | (widget-value widget))) | 350 | (widget-value widget))) |
| 351 | '(item :tag "This option" :value "This") | 351 | '(item :tag "This option" :value "This") |
| 352 | '(choice-item "That option") | 352 | '(choice-item "That option") |
| 353 | '(editable-field :menu-tag "No option" "Thus option")) | 353 | '(editable-field :menu-tag "No option" "Thus option")) |
| 354 | (widget-create 'editable-field | 354 | (widget-create 'editable-field |
| 355 | :format "Address: %v" | 355 | :format "Address: %v" |
| 356 | "Some Place\nIn some City\nSome country.") | 356 | "Some Place\nIn some City\nSome country.") |
| 357 | (widget-insert "\nSee also ") | 357 | (widget-insert "\nSee also ") |
| 358 | (widget-create 'link | 358 | (widget-create 'link |
| 359 | :notify (lambda (&rest ignore) | 359 | :notify (lambda (&rest ignore) |
| 360 | (widget-value-set widget-example-repeat | 360 | (widget-value-set widget-example-repeat |
| 361 | '("En" "To" "Tre")) | 361 | '("En" "To" "Tre")) |
| 362 | (widget-setup)) | 362 | (widget-setup)) |
| 363 | "other work") | 363 | "other work") |
| 364 | (widget-insert | 364 | (widget-insert |
| 365 | " for more information.\n\nNumbers: count to three below\n") | 365 | " for more information.\n\nNumbers: count to three below\n") |
| 366 | (setq widget-example-repeat | 366 | (setq widget-example-repeat |
| 367 | (widget-create 'editable-list | 367 | (widget-create 'editable-list |
| 368 | :entry-format "%i %d %v" | 368 | :entry-format "%i %d %v" |
| 369 | :notify (lambda (widget &rest ignore) | 369 | :notify (lambda (widget &rest ignore) |
| 370 | (let ((old (widget-get widget | 370 | (let ((old (widget-get widget |
| 371 | ':example-length)) | 371 | ':example-length)) |
| 372 | (new (length (widget-value widget)))) | 372 | (new (length (widget-value widget)))) |
| 373 | (unless (eq old new) | 373 | (unless (eq old new) |
| 374 | (widget-put widget ':example-length new) | 374 | (widget-put widget ':example-length new) |
| 375 | (message "You can count to %d." new)))) | 375 | (message "You can count to %d." new)))) |
| 376 | :value '("One" "Eh, two?" "Five!") | 376 | :value '("One" "Eh, two?" "Five!") |
| 377 | '(editable-field :value "three"))) | 377 | '(editable-field :value "three"))) |
| 378 | (widget-insert "\n\nSelect multiple:\n\n") | 378 | (widget-insert "\n\nSelect multiple:\n\n") |
| 379 | (widget-create 'checkbox t) | 379 | (widget-create 'checkbox t) |
| 380 | (widget-insert " This\n") | 380 | (widget-insert " This\n") |
| 381 | (widget-create 'checkbox nil) | 381 | (widget-create 'checkbox nil) |
| 382 | (widget-insert " That\n") | 382 | (widget-insert " That\n") |
| 383 | (widget-create 'checkbox | 383 | (widget-create 'checkbox |
| 384 | :notify (lambda (&rest ignore) (message "Tickle")) | 384 | :notify (lambda (&rest ignore) (message "Tickle")) |
| 385 | t) | 385 | t) |
| 386 | (widget-insert " Thus\n\nSelect one:\n\n") | 386 | (widget-insert " Thus\n\nSelect one:\n\n") |
| 387 | (widget-create 'radio-button-choice | 387 | (widget-create 'radio-button-choice |
| 388 | :value "One" | 388 | :value "One" |
| 389 | :notify (lambda (widget &rest ignore) | 389 | :notify (lambda (widget &rest ignore) |
| 390 | (message "You selected %s" | 390 | (message "You selected %s" |
| 391 | (widget-value widget))) | 391 | (widget-value widget))) |
| 392 | '(item "One") '(item "Another One.") '(item "A Final One.")) | 392 | '(item "One") '(item "Another One.") '(item "A Final One.")) |
| 393 | (widget-insert "\n") | 393 | (widget-insert "\n") |
| 394 | (widget-create 'push-button | 394 | (widget-create 'push-button |
| 395 | :notify (lambda (&rest ignore) | 395 | :notify (lambda (&rest ignore) |
| 396 | (if (= (length (widget-value widget-example-repeat)) | 396 | (if (= (length (widget-value widget-example-repeat)) |
| 397 | 3) | 397 | 3) |
| 398 | (message "Congratulation!") | 398 | (message "Congratulation!") |
| 399 | (error "Three was the count!"))) | 399 | (error "Three was the count!"))) |
| 400 | "Apply Form") | 400 | "Apply Form") |
| 401 | (widget-insert " ") | 401 | (widget-insert " ") |
| 402 | (widget-create 'push-button | 402 | (widget-create 'push-button |
| 403 | :notify (lambda (&rest ignore) | 403 | :notify (lambda (&rest ignore) |
| 404 | (widget-example)) | 404 | (widget-example)) |
| 405 | "Reset Form") | 405 | "Reset Form") |
| 406 | (widget-insert "\n") | 406 | (widget-insert "\n") |
| 407 | (use-local-map widget-keymap) | 407 | (use-local-map widget-keymap) |
| 408 | (widget-setup)) | 408 | (widget-setup)) |
diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index c2de5d88b58..ba772c4b4a1 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | @settitle WoMan: Browse Unix Manual Pages ``W.O. (without) Man'' | 4 | @settitle WoMan: Browse Unix Manual Pages ``W.O. (without) Man'' |
| 5 | @c FIXME | 5 | @c FIXME |
| 6 | @c Manual last updated: | 6 | @c Manual last updated: |
| 7 | @set UPDATED Time-stamp: <Sat 16-Jan-2010 19:18:43 gm on grasmoor> | 7 | @set UPDATED Time-stamp: <Thu 24-Jun-2010 00:06:54 gm on grasmoor> |
| 8 | @c Software version: | 8 | @c Software version: |
| 9 | @set VERSION 0.54 (beta) | 9 | @set VERSION 0.54 (beta) |
| 10 | @afourpaper | 10 | @afourpaper |
| @@ -37,7 +37,7 @@ developing GNU and promoting software freedom.'' | |||
| 37 | 37 | ||
| 38 | @dircategory Emacs | 38 | @dircategory Emacs |
| 39 | @direntry | 39 | @direntry |
| 40 | * WoMan: (woman). Browse UN*X Manual Pages "W.O. (without) Man". | 40 | * WoMan: (woman). Browse UN*X Manual Pages "W.O. (without) Man". |
| 41 | @end direntry | 41 | @end direntry |
| 42 | 42 | ||
| 43 | @finalout | 43 | @finalout |
diff --git a/etc/ChangeLog b/etc/ChangeLog index 3e8adcb1b27..49626c5a86f 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2010-06-19 Ken Brown <kbrown@cornell.edu> | ||
| 2 | |||
| 3 | * PROBLEMS: Update Cygwin GCC information. (Bug#6458) | ||
| 4 | |||
| 1 | 2010-06-12 Glenn Morris <rgm@gnu.org> | 5 | 2010-06-12 Glenn Morris <rgm@gnu.org> |
| 2 | 6 | ||
| 3 | * tutorials/TUTORIAL.bg, tutorials/TUTORIAL.es: Fix typos. | 7 | * tutorials/TUTORIAL.bg, tutorials/TUTORIAL.es: Fix typos. |
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 8c6a37dbd45..e6174b5edc6 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -2339,17 +2339,10 @@ files are installed. Then use: | |||
| 2339 | 2339 | ||
| 2340 | (using the location of the 32-bit X libraries on your system). | 2340 | (using the location of the 32-bit X libraries on your system). |
| 2341 | 2341 | ||
| 2342 | *** Building the Cygwin port for MS-Windows can fail with some GCC versions | 2342 | *** Building Emacs for Cygwin can fail with GCC 3 |
| 2343 | 2343 | ||
| 2344 | Building Emacs 22 with Cygwin builds of GCC 3.4.4-1 and 3.4.4-2 is | 2344 | As of Emacs 22.1, there have been stability problems with Cygwin |
| 2345 | reported to either fail or cause Emacs to segfault at run time. In | 2345 | builds of Emacs using GCC 3. Cygwin users are advised to use GCC 4. |
| 2346 | addition, the Cygwin GCC 3.4.4-2 has problems with generating debug | ||
| 2347 | info. Cygwin users are advised not to use these versions of GCC for | ||
| 2348 | compiling Emacs. GCC versions 4.0.3, 4.0.4, 4.1.1, and 4.1.2 | ||
| 2349 | reportedly build a working Cygwin binary of Emacs, so we recommend | ||
| 2350 | these GCC versions. Note that these versions of GCC, 4.0.3, 4.0.4, | ||
| 2351 | 4.1.1, and 4.1.2, are currently the _only_ versions known to succeed | ||
| 2352 | in building Emacs (as of v22.1). | ||
| 2353 | 2346 | ||
| 2354 | *** Building the native MS-Windows port fails due to unresolved externals | 2347 | *** Building the native MS-Windows port fails due to unresolved externals |
| 2355 | 2348 | ||
| @@ -19,75 +19,78 @@ The Info Directory | |||
| 19 | 19 | ||
| 20 | * Menu: | 20 | * Menu: |
| 21 | 21 | ||
| 22 | * Info: (info). How to use the documentation browsing system. | 22 | * Info: (info). How to use the documentation browsing system. |
| 23 | 23 | ||
| 24 | Emacs | 24 | Emacs |
| 25 | * Emacs: (emacs). The extensible self-documenting text editor. | 25 | * Emacs: (emacs). The extensible self-documenting text editor. |
| 26 | * Emacs FAQ: (efaq). Frequently Asked Questions about Emacs. | 26 | * Emacs FAQ: (efaq). Frequently Asked Questions about Emacs. |
| 27 | 27 | ||
| 28 | GNU Emacs Lisp | 28 | GNU Emacs Lisp |
| 29 | * Emacs Lisp Intro: (eintr). | 29 | * Emacs Lisp Intro: (eintr). A simple introduction to Emacs Lisp programming. |
| 30 | A simple introduction to Emacs Lisp programming. | 30 | * Elisp: (elisp). The Emacs Lisp Reference Manual. |
| 31 | * Elisp: (elisp). The Emacs Lisp Reference Manual. | ||
| 32 | 31 | ||
| 33 | Emacs editing modes | 32 | Emacs editing modes |
| 34 | * Ada mode: (ada-mode). Emacs mode for editing and compiling Ada code. | 33 | * Ada mode: (ada-mode). Emacs mode for editing and compiling Ada code. |
| 35 | * CC Mode: (ccmode). Emacs mode for editing C, C++, Objective-C, | 34 | * CC Mode: (ccmode). Emacs mode for editing C, C++, Objective-C, |
| 36 | Java, Pike, AWK, and CORBA IDL code. | 35 | Java, Pike, AWK, and CORBA IDL code. |
| 37 | * IDLWAVE: (idlwave). Major mode and shell for IDL files. | 36 | * IDLWAVE: (idlwave). Major mode and shell for IDL files. |
| 38 | * nXML Mode: (nxml-mode). XML editing mode with RELAX NG support. | 37 | * nXML Mode: (nxml-mode). XML editing mode with RELAX NG support. |
| 39 | * Org Mode: (org). Outline-based notes management and organizer | 38 | * Org Mode: (org). Outline-based notes management and organizer |
| 40 | 39 | ||
| 41 | Emacs network features | 40 | Emacs network features |
| 42 | * EUDC: (eudc). An Emacs client for directory servers (LDAP, PH). | 41 | * EUDC: (eudc). Emacs client for directory servers (LDAP, PH). |
| 43 | * Gnus: (gnus). The newsreader Gnus. | 42 | * Gnus: (gnus). The newsreader Gnus. |
| 44 | * Mairix: (mairix-el). Emacs interface to the Mairix mail indexer. | 43 | * Mairix: (mairix-el). Emacs interface to the Mairix mail indexer. |
| 45 | * MH-E: (mh-e). Emacs interface to the MH mail system. | 44 | * MH-E: (mh-e). Emacs interface to the MH mail system. |
| 46 | * Message: (message). Mail and news composition mode that goes with Gnus. | 45 | * Message: (message). Mail and news composition mode that |
| 47 | * Newsticker: (newsticker). A Newsticker for Emacs. | 46 | goes with Gnus. |
| 48 | * PGG: (pgg). Emacs interface to various PGP implementations. | 47 | * Newsticker: (newsticker). A Newsticker for Emacs. |
| 49 | * ERC: (erc). Powerful, modular, and extensible IRC client for Emacs. | 48 | * PGG: (pgg). Emacs interface to various PGP implementations. |
| 50 | * Rcirc: (rcirc). Internet Relay Chat (IRC) client. | 49 | * ERC: (erc). Powerful and extensible IRC client for Emacs. |
| 51 | * SASL: (sasl). The Emacs SASL library. | 50 | * Rcirc: (rcirc). Internet Relay Chat (IRC) client. |
| 52 | * SC: (sc). Supercite lets you cite parts of messages you're | 51 | * SASL: (sasl). The Emacs SASL library. |
| 53 | replying to, in flexible ways. | 52 | * SC: (sc). Supercite lets you cite parts of messages |
| 53 | you're replying to, in flexible ways. | ||
| 54 | * Sieve: (sieve). Managing Sieve scripts in Emacs. | 54 | * Sieve: (sieve). Managing Sieve scripts in Emacs. |
| 55 | * TRAMP: (tramp). Transparent Remote Access, Multiple Protocol | 55 | * TRAMP: (tramp). Transparent Remote Access, Multiple Protocol |
| 56 | GNU Emacs remote file access via rsh and rcp. | 56 | GNU Emacs remote file access via rsh and rcp. |
| 57 | 57 | ||
| 58 | Emacs misc features | 58 | Emacs misc features |
| 59 | * Autotype: (autotype). Convenient features for text that you enter frequently | 59 | * Autotype: (autotype). Convenient features for text that you enter |
| 60 | in Emacs. | 60 | frequently in Emacs. |
| 61 | * Calc: (calc). Advanced desk calculator and mathematical tool. | 61 | * Calc: (calc). Advanced desk calculator and mathematical tool. |
| 62 | * Dired-X: (dired-x). Dired Extra Features. | 62 | * Dired-X: (dired-x). Dired Extra Features. |
| 63 | * EasyPG Assistant: (epa). An Emacs user interface to GNU Privacy Guard. | 63 | * EasyPG Assistant: (epa). An Emacs user interface to GNU Privacy Guard. |
| 64 | * Ebrowse: (ebrowse). A C++ class browser for Emacs. | 64 | * Ebrowse: (ebrowse). A C++ class browser for Emacs. |
| 65 | * EDE: (ede). The Emacs Development Environment. | 65 | * EDE: (ede). The Emacs Development Environment. |
| 66 | * Ediff: (ediff). A visual interface for comparing and merging programs. | 66 | * Ediff: (ediff). A visual interface for comparing and |
| 67 | * EDT: (edt). An Emacs emulation of the EDT editor. | 67 | merging programs. |
| 68 | * EIEIO: (eieio). An object system for Emacs Lisp. | 68 | * EDT: (edt). An Emacs emulation of the EDT editor. |
| 69 | * Eshell: (eshell). A command shell implemented in Emacs Lisp. | 69 | * EIEIO: (eieio). An object system for Emacs Lisp. |
| 70 | * Flymake: (flymake). A universal on-the-fly syntax checker. | 70 | * Eshell: (eshell). A command shell implemented in Emacs Lisp. |
| 71 | * Forms: (forms). Emacs package for editing data bases | 71 | * Flymake: (flymake). A universal on-the-fly syntax checker. |
| 72 | by filling in forms. | 72 | * Forms: (forms). Emacs package for editing data bases |
| 73 | * PCL-CVS: (pcl-cvs). Emacs front-end to CVS. | 73 | by filling in forms. |
| 74 | * RefTeX: (reftex). Emacs support for LaTeX cross-references and citations. | 74 | * PCL-CVS: (pcl-cvs). Emacs front-end to CVS. |
| 75 | * Remember: (remember). Simple information manager for Emacs. | 75 | * RefTeX: (reftex). Emacs support for LaTeX cross-references |
| 76 | * Semantic: (semantic). Source code parsing utilities for Emacs. | 76 | and citations. |
| 77 | * SES: (ses). Simple Emacs Spreadsheet | 77 | * Remember: (remember). Simple information manager for Emacs. |
| 78 | * Speedbar: (speedbar). File/Tag summarizing utility. | 78 | * Semantic: (semantic). Source code parsing utilities for Emacs. |
| 79 | * VIP: (vip). An older VI-emulation for Emacs. | 79 | * SES: (ses). Simple Emacs Spreadsheet |
| 80 | * VIPER: (viper). The newest Emacs VI-emulation mode. | 80 | * Speedbar: (speedbar). File/Tag summarizing utility. |
| 81 | (also, A VI Plan for Emacs Rescue | 81 | * VIP: (vip). An older VI-emulation for Emacs. |
| 82 | or the VI PERil.) | 82 | * VIPER: (viper). The newest Emacs VI-emulation mode. |
| 83 | * WoMan: (woman). Browse UN*X Manual Pages "W.O. (without) Man". | 83 | (also, A VI Plan for Emacs Rescue |
| 84 | or the VI PERil.) | ||
| 85 | * WoMan: (woman). Browse UN*X Manual Pages "W.O. (without) Man". | ||
| 84 | 86 | ||
| 85 | Emacs lisp libraries | 87 | Emacs lisp libraries |
| 86 | * Auth-source: (auth). A single configuration for multiple applications. | 88 | * Auth-source: (auth). A single configuration for multiple |
| 87 | * CL: (cl). Partial Common Lisp support for Emacs Lisp. | 89 | applications. |
| 90 | * CL: (cl). Partial Common Lisp support for Emacs Lisp. | ||
| 88 | * D-Bus: (dbus). Using D-Bus in Emacs. | 91 | * D-Bus: (dbus). Using D-Bus in Emacs. |
| 89 | * Emacs MIME: (emacs-mime). Emacs MIME de/composition library. | 92 | * Emacs MIME: (emacs-mime). Emacs MIME de/composition library. |
| 90 | * URL: (url). URL loading package. | 93 | * URL: (url). URL loading package. |
| 91 | * Widget: (widget). The "widget" package used by the Emacs Customization | 94 | * Widget: (widget). The "widget" package used by the Emacs |
| 92 | facility. | 95 | Customization facility. |
| 93 | * SMTP: (smtpmail). Emacs library for sending mail via SMTP. | 96 | * SMTP: (smtpmail). Emacs library for sending mail via SMTP. |
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 4cbf5dd50f1..d0410f4c080 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,23 @@ | |||
| 1 | 2010-07-11 Andreas Schwab <schwab@linux-m68k.org> | ||
| 2 | |||
| 3 | * emacsclient.c (set_local_socket): Use strchr, strrchr instead of | ||
| 4 | index, rindex. | ||
| 5 | * movemail.c (mail_spool_name, popmail): Likewise. | ||
| 6 | * pop.c (pop_list): Likewise. | ||
| 7 | |||
| 8 | 2010-07-11 Eli Zaretskii <eliz@gnu.org> | ||
| 9 | |||
| 10 | * makefile.w32-in (obj): Add menu.o, bidi.o, w32uniscrobe.o, | ||
| 11 | and unexw32.o. (Bug#6603) | ||
| 12 | |||
| 13 | 2010-07-10 Eli Zaretskii <eliz@gnu.org> | ||
| 14 | |||
| 15 | * Makefile.in ($(DESTDIR)${archlibdir}): Convert spaces to TABs. | ||
| 16 | |||
| 17 | 2010-07-09 Andreas Schwab <schwab@linux-m68k.org> | ||
| 18 | |||
| 19 | * make-docfile.c (write_c_args): Restructure scanning loop. | ||
| 20 | |||
| 1 | 2010-07-09 Dan Nicolaescu <dann@ics.uci.edu> | 21 | 2010-07-09 Dan Nicolaescu <dann@ics.uci.edu> |
| 2 | 22 | ||
| 3 | * make-docfile.c (write_c_args): Deal with type names in DEFUN | 23 | * make-docfile.c (write_c_args): Deal with type names in DEFUN |
diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in index 264f14b1d49..b5c557d8c7b 100644 --- a/lib-src/Makefile.in +++ b/lib-src/Makefile.in | |||
| @@ -245,7 +245,7 @@ $(DESTDIR)${archlibdir}: all | |||
| 245 | chown ${gameuser} $(DESTDIR)${gamedir}; \ | 245 | chown ${gameuser} $(DESTDIR)${gamedir}; \ |
| 246 | chmod u=rwx,g=rwx,o=rx $(DESTDIR)${gamedir}; \ | 246 | chmod u=rwx,g=rwx,o=rx $(DESTDIR)${gamedir}; \ |
| 247 | fi | 247 | fi |
| 248 | if [ `(cd $(DESTDIR)${archlibdir} && /bin/pwd)` \ | 248 | if [ `(cd $(DESTDIR)${archlibdir} && /bin/pwd)` \ |
| 249 | != `(cd ${srcdir} && /bin/pwd)` ]; then \ | 249 | != `(cd ${srcdir} && /bin/pwd)` ]; then \ |
| 250 | for file in ${SCRIPTS}; do \ | 250 | for file in ${SCRIPTS}; do \ |
| 251 | $(INSTALL_SCRIPT) ${srcdir}/$$file $(DESTDIR)${archlibdir}/$$file; \ | 251 | $(INSTALL_SCRIPT) ${srcdir}/$$file $(DESTDIR)${archlibdir}/$$file; \ |
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c index cb8a4ebcaf8..79143ff7a34 100644 --- a/lib-src/emacsclient.c +++ b/lib-src/emacsclient.c | |||
| @@ -1234,8 +1234,10 @@ set_local_socket (void) | |||
| 1234 | char *server_name = "server"; | 1234 | char *server_name = "server"; |
| 1235 | char *tmpdir; | 1235 | char *tmpdir; |
| 1236 | 1236 | ||
| 1237 | if (socket_name && !index (socket_name, '/') && !index (socket_name, '\\')) | 1237 | if (socket_name && !strchr (socket_name, '/') |
| 1238 | { /* socket_name is a file name component. */ | 1238 | && !strchr (socket_name, '\\')) |
| 1239 | { | ||
| 1240 | /* socket_name is a file name component. */ | ||
| 1239 | server_name = socket_name; | 1241 | server_name = socket_name; |
| 1240 | socket_name = NULL; | 1242 | socket_name = NULL; |
| 1241 | default_sock = 1; /* Try both UIDs. */ | 1243 | default_sock = 1; /* Try both UIDs. */ |
diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c index 3df7ec607d9..51c30f91d8f 100644 --- a/lib-src/make-docfile.c +++ b/lib-src/make-docfile.c | |||
| @@ -440,8 +440,8 @@ write_c_args (FILE *out, char *func, char *buf, int minargs, int maxargs) | |||
| 440 | { | 440 | { |
| 441 | register char *p; | 441 | register char *p; |
| 442 | int in_ident = 0; | 442 | int in_ident = 0; |
| 443 | int just_spaced = 0; | 443 | char *ident_start; |
| 444 | int need_space = 1; | 444 | int ident_length; |
| 445 | 445 | ||
| 446 | fprintf (out, "(fn"); | 446 | fprintf (out, "(fn"); |
| 447 | 447 | ||
| @@ -450,25 +450,9 @@ write_c_args (FILE *out, char *func, char *buf, int minargs, int maxargs) | |||
| 450 | 450 | ||
| 451 | for (p = buf; *p; p++) | 451 | for (p = buf; *p; p++) |
| 452 | { | 452 | { |
| 453 | char c; | 453 | char c = *p; |
| 454 | int ident_start = 0; | ||
| 455 | 454 | ||
| 456 | /* FIXME: this must be made a bit more robust*/ | 455 | /* Notice when a new identifier starts. */ |
| 457 | |||
| 458 | /* Skip "register Lisp_Object", this can be removed when we get | ||
| 459 | rid of "register" for DEFUNs. */ | ||
| 460 | if (strncmp ("register Lisp_Object", p, 20) == 0) | ||
| 461 | p += 20; | ||
| 462 | |||
| 463 | if (strncmp ("Lisp_Object", p, 11) == 0) | ||
| 464 | p += 11; | ||
| 465 | |||
| 466 | if (strncmp ("void", p, 4) == 0) | ||
| 467 | p += 4; | ||
| 468 | |||
| 469 | c = *p; | ||
| 470 | |||
| 471 | /* Notice when we start printing a new identifier. */ | ||
| 472 | if ((('A' <= c && c <= 'Z') | 456 | if ((('A' <= c && c <= 'Z') |
| 473 | || ('a' <= c && c <= 'z') | 457 | || ('a' <= c && c <= 'z') |
| 474 | || ('0' <= c && c <= '9') | 458 | || ('0' <= c && c <= '9') |
| @@ -478,55 +462,50 @@ write_c_args (FILE *out, char *func, char *buf, int minargs, int maxargs) | |||
| 478 | if (!in_ident) | 462 | if (!in_ident) |
| 479 | { | 463 | { |
| 480 | in_ident = 1; | 464 | in_ident = 1; |
| 481 | ident_start = 1; | 465 | ident_start = p; |
| 482 | |||
| 483 | if (need_space) | ||
| 484 | putc (' ', out); | ||
| 485 | |||
| 486 | if (minargs == 0 && maxargs > 0) | ||
| 487 | fprintf (out, "&optional "); | ||
| 488 | just_spaced = 1; | ||
| 489 | |||
| 490 | minargs--; | ||
| 491 | maxargs--; | ||
| 492 | } | 466 | } |
| 493 | else | 467 | else |
| 494 | in_ident = 0; | 468 | { |
| 469 | in_ident = 0; | ||
| 470 | ident_length = p - ident_start; | ||
| 471 | } | ||
| 495 | } | 472 | } |
| 496 | 473 | ||
| 497 | /* Print the C argument list as it would appear in lisp: | 474 | /* Found the end of an argument, write out the last seen |
| 498 | print underscores as hyphens, and print commas and newlines | 475 | identifier. */ |
| 499 | as spaces. Collapse adjacent spaces into one. */ | 476 | if (c == ',' || c == ')') |
| 500 | if (c == '_') | ||
| 501 | c = '-'; | ||
| 502 | else if (c == ',' || c == '\n') | ||
| 503 | c = ' '; | ||
| 504 | |||
| 505 | /* In C code, `default' is a reserved word, so we spell it | ||
| 506 | `defalt'; unmangle that here. */ | ||
| 507 | if (ident_start | ||
| 508 | && strncmp (p, "defalt", 6) == 0 | ||
| 509 | && ! (('A' <= p[6] && p[6] <= 'Z') | ||
| 510 | || ('a' <= p[6] && p[6] <= 'z') | ||
| 511 | || ('0' <= p[6] && p[6] <= '9') | ||
| 512 | || p[6] == '_')) | ||
| 513 | { | ||
| 514 | fprintf (out, "DEFAULT"); | ||
| 515 | p += 5; | ||
| 516 | in_ident = 0; | ||
| 517 | just_spaced = 0; | ||
| 518 | } | ||
| 519 | else if (c != ' ' || !just_spaced) | ||
| 520 | { | 477 | { |
| 521 | if (c >= 'a' && c <= 'z') | 478 | if (strncmp (ident_start, "void", ident_length) == 0) |
| 522 | /* Upcase the letter. */ | 479 | continue; |
| 523 | c += 'A' - 'a'; | 480 | |
| 524 | putc (c, out); | 481 | putc (' ', out); |
| 525 | } | 482 | |
| 483 | if (minargs == 0 && maxargs > 0) | ||
| 484 | fprintf (out, "&optional "); | ||
| 526 | 485 | ||
| 527 | just_spaced = c == ' '; | 486 | minargs--; |
| 528 | need_space = 0; | 487 | maxargs--; |
| 488 | |||
| 489 | /* In C code, `default' is a reserved word, so we spell it | ||
| 490 | `defalt'; unmangle that here. */ | ||
| 491 | if (strncmp (ident_start, "defalt", ident_length) == 0) | ||
| 492 | fprintf (out, "DEFAULT"); | ||
| 493 | else | ||
| 494 | while (ident_length-- > 0) | ||
| 495 | { | ||
| 496 | c = *ident_start++; | ||
| 497 | if (c >= 'a' && c <= 'z') | ||
| 498 | /* Upcase the letter. */ | ||
| 499 | c += 'A' - 'a'; | ||
| 500 | else if (c == '_') | ||
| 501 | /* Print underscore as hyphen. */ | ||
| 502 | c = '-'; | ||
| 503 | putc (c, out); | ||
| 504 | } | ||
| 505 | } | ||
| 529 | } | 506 | } |
| 507 | |||
| 508 | putc (')', out); | ||
| 530 | } | 509 | } |
| 531 | 510 | ||
| 532 | /* Read through a c file. If a .o file is named, | 511 | /* Read through a c file. If a .o file is named, |
diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in index cad3b838208..fbcab0183ce 100644 --- a/lib-src/makefile.w32-in +++ b/lib-src/makefile.w32-in | |||
| @@ -143,11 +143,11 @@ $(BLD)/ctags.$(O): ctags.c | |||
| 143 | # | 143 | # |
| 144 | obj = dosfns.o msdos.o \ | 144 | obj = dosfns.o msdos.o \ |
| 145 | xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ | 145 | xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ |
| 146 | fontset.o \ | 146 | fontset.o menu.o \ |
| 147 | w32.o w32console.o w32fns.o w32heap.o w32inevt.o \ | 147 | w32.o w32console.o w32fns.o w32heap.o w32inevt.o \ |
| 148 | w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \ | 148 | w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \ |
| 149 | font.o w32font.o \ | 149 | font.o w32font.o w32uniscribe.o \ |
| 150 | dispnew.o frame.o scroll.o xdisp.o window.o \ | 150 | dispnew.o frame.o scroll.o xdisp.o window.o bidi.o \ |
| 151 | charset.o coding.o category.o ccl.o character.o chartab.o \ | 151 | charset.o coding.o category.o ccl.o character.o chartab.o \ |
| 152 | cm.o term.o terminal.o xfaces.o \ | 152 | cm.o term.o terminal.o xfaces.o \ |
| 153 | emacs.o keyboard.o macros.o keymap.o sysdep.o \ | 153 | emacs.o keyboard.o macros.o keymap.o sysdep.o \ |
| @@ -157,7 +157,7 @@ obj = dosfns.o msdos.o \ | |||
| 157 | alloc.o data.o doc.o editfns.o callint.o \ | 157 | alloc.o data.o doc.o editfns.o callint.o \ |
| 158 | eval.o floatfns.o fns.o print.o lread.o \ | 158 | eval.o floatfns.o fns.o print.o lread.o \ |
| 159 | syntax.o bytecode.o \ | 159 | syntax.o bytecode.o \ |
| 160 | process.o callproc.o \ | 160 | process.o callproc.o unexw32.o \ |
| 161 | region-cache.o sound.o atimer.o \ | 161 | region-cache.o sound.o atimer.o \ |
| 162 | doprnt.o strftime.o intervals.o textprop.o composite.o md5.o | 162 | doprnt.o strftime.o intervals.o textprop.o composite.o md5.o |
| 163 | 163 | ||
diff --git a/lib-src/movemail.c b/lib-src/movemail.c index dfa4a92d057..541edf545df 100644 --- a/lib-src/movemail.c +++ b/lib-src/movemail.c | |||
| @@ -146,12 +146,6 @@ static char *mail_spool_name (); | |||
| 146 | #ifndef HAVE_STRERROR | 146 | #ifndef HAVE_STRERROR |
| 147 | char *strerror (int); | 147 | char *strerror (int); |
| 148 | #endif | 148 | #endif |
| 149 | #ifdef HAVE_INDEX | ||
| 150 | extern char *index (const char *, int); | ||
| 151 | #endif | ||
| 152 | #ifdef HAVE_RINDEX | ||
| 153 | extern char *rindex (const char *, int); | ||
| 154 | #endif | ||
| 155 | 149 | ||
| 156 | static void fatal (char *s1, char *s2, char *s3); | 150 | static void fatal (char *s1, char *s2, char *s3); |
| 157 | static void error (char *s1, char *s2, char *s3); | 151 | static void error (char *s1, char *s2, char *s3); |
| @@ -564,7 +558,7 @@ mail_spool_name (inname) | |||
| 564 | char *indir, *fname; | 558 | char *indir, *fname; |
| 565 | int status; | 559 | int status; |
| 566 | 560 | ||
| 567 | if (! (fname = rindex (inname, '/'))) | 561 | if (! (fname = strrchr (inname, '/'))) |
| 568 | return NULL; | 562 | return NULL; |
| 569 | 563 | ||
| 570 | fname++; | 564 | fname++; |
| @@ -714,7 +708,7 @@ popmail (char *mailbox, char *outfile, int preserve, char *password, int reverse | |||
| 714 | char *user, *hostname; | 708 | char *user, *hostname; |
| 715 | 709 | ||
| 716 | user = mailbox; | 710 | user = mailbox; |
| 717 | if ((hostname = index(mailbox, ':'))) | 711 | if ((hostname = strchr (mailbox, ':'))) |
| 718 | *hostname++ = '\0'; | 712 | *hostname++ = '\0'; |
| 719 | 713 | ||
| 720 | server = pop_open (hostname, user, password, POP_NO_GETPASS); | 714 | server = pop_open (hostname, user, password, POP_NO_GETPASS); |
diff --git a/lib-src/pop.c b/lib-src/pop.c index 9eaefa4cb83..26a992fa0b0 100644 --- a/lib-src/pop.c +++ b/lib-src/pop.c | |||
| @@ -465,7 +465,7 @@ pop_list (popserver server, int message, int **IDs, int **sizes) | |||
| 465 | return (-1); | 465 | return (-1); |
| 466 | } | 466 | } |
| 467 | (*IDs)[0] = atoi (&fromserver[4]); | 467 | (*IDs)[0] = atoi (&fromserver[4]); |
| 468 | fromserver = index (&fromserver[4], ' '); | 468 | fromserver = strchr (&fromserver[4], ' '); |
| 469 | if (! fromserver) | 469 | if (! fromserver) |
| 470 | { | 470 | { |
| 471 | strcpy (pop_error, | 471 | strcpy (pop_error, |
| @@ -496,7 +496,7 @@ pop_list (popserver server, int message, int **IDs, int **sizes) | |||
| 496 | return (-1); | 496 | return (-1); |
| 497 | } | 497 | } |
| 498 | (*IDs)[i] = atoi (fromserver); | 498 | (*IDs)[i] = atoi (fromserver); |
| 499 | fromserver = index (fromserver, ' '); | 499 | fromserver = strchr (fromserver, ' '); |
| 500 | if (! fromserver) | 500 | if (! fromserver) |
| 501 | { | 501 | { |
| 502 | strcpy (pop_error, | 502 | strcpy (pop_error, |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f793f91a932..e988b6bdef4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,18 @@ | |||
| 1 | 2010-07-11 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * mouse.el (mouse-drag-track): Handle select-active-regions | ||
| 4 | (Bug#6612). | ||
| 5 | |||
| 6 | 2010-07-11 Magnus Henoch <magnus.henoch@gmail.com> | ||
| 7 | |||
| 8 | * net/tramp-gvfs.el (tramp-gvfs-handle-copy-file): Do not pass | ||
| 9 | empty argument to gvfs-copy. | ||
| 10 | |||
| 11 | 2010-07-10 Aleksei Gusev <aleksei.gusev@gmail.com> (tiny change) | ||
| 12 | |||
| 13 | * progmodes/compile.el (compilation-error-regexp-alist-alist): Add | ||
| 14 | regexps for cucumber and ruby. | ||
| 15 | |||
| 1 | 2010-07-08 Daiki Ueno <ueno@unixuser.org> | 16 | 2010-07-08 Daiki Ueno <ueno@unixuser.org> |
| 2 | 17 | ||
| 3 | * epa-file.el (epa-file-error, epa-file--find-file-not-found-function) | 18 | * epa-file.el (epa-file-error, epa-file--find-file-not-found-function) |
| @@ -17,6 +32,12 @@ | |||
| 17 | (ispell-complete-word): Use ispell-complete-word-dict or | 32 | (ispell-complete-word): Use ispell-complete-word-dict or |
| 18 | ispell-alternate-dictionary. | 33 | ispell-alternate-dictionary. |
| 19 | 34 | ||
| 35 | 2010-07-07 Christoph Scholtes <cschol2112@gmail.com> | ||
| 36 | |||
| 37 | * progmodes/python.el (python-font-lock-keywords): Add Python 2.7 | ||
| 38 | builtins (BufferError, BytesWarning, WindowsError; callables | ||
| 39 | bin, bytearray, bytes, format, memoryview, next, print; __package__). | ||
| 40 | |||
| 20 | 2010-07-07 Glenn Morris <rgm@gnu.org> | 41 | 2010-07-07 Glenn Morris <rgm@gnu.org> |
| 21 | 42 | ||
| 22 | * play/zone.el (top-level): Do not require timer, tabify, or cl. | 43 | * play/zone.el (top-level): Do not require timer, tabify, or cl. |
| @@ -207,6 +228,75 @@ | |||
| 207 | 228 | ||
| 208 | 2010-06-21 Karl Fogel <kfogel@red-bean.com> | 229 | 2010-06-21 Karl Fogel <kfogel@red-bean.com> |
| 209 | 230 | ||
| 231 | * play/zone.el (zone-fall-through-ws): Fix next-line -> | ||
| 232 | forward-line fallout. | ||
| 233 | |||
| 234 | 2010-07-06 Chong Yidong <cyd@stupidchicken.com> | ||
| 235 | |||
| 236 | * mouse.el (mouse-appearance-menu): Add docstring. | ||
| 237 | |||
| 238 | * help.el (describe-key): Print up-event using key-description. | ||
| 239 | |||
| 240 | 2010-07-03 Michael Albinus <michael.albinus@gmx.de> | ||
| 241 | |||
| 242 | * net/zeroconf.el (zeroconf-resolve-service) | ||
| 243 | (zeroconf-service-resolver-handler): Use | ||
| 244 | `dbus-byte-array-to-string'. | ||
| 245 | (zeroconf-publish-service): Use `dbus-string-to-byte-array'. | ||
| 246 | |||
| 247 | 2010-07-03 Jan Moringen <jan.moringen@uni-bielefeld.de> | ||
| 248 | |||
| 249 | * net/zeroconf.el (zeroconf-service-remove-hook): New defun. | ||
| 250 | |||
| 251 | 2010-06-30 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 252 | |||
| 253 | Avoid displaying files with a nil state in vc-dir. | ||
| 254 | * vc-dir.el (vc-dir-update): Obey the noinsert argument in all | ||
| 255 | cases that cause insertion. | ||
| 256 | (vc-dir-resynch-file): Tell vc-dir-update to avoid inserting files | ||
| 257 | with a nil state. | ||
| 258 | |||
| 259 | 2010-06-30 Chong Yidong <cyd@stupidchicken.com> | ||
| 260 | |||
| 261 | * xml.el (xml-parse-region): Avoid infloop (Bug#5281). | ||
| 262 | |||
| 263 | 2010-06-29 Leo <sdl.web@gmail.com> | ||
| 264 | |||
| 265 | * emacs-lisp/rx.el (rx): Doc fix. (Bug#6537) | ||
| 266 | |||
| 267 | 2010-06-27 Oleksandr Gavenko <gavenkoa@gmail.com> (tiny change) | ||
| 268 | |||
| 269 | * generic-x.el (bat-generic-mode): Fix regexp for command line | ||
| 270 | switches (Bug#5719). | ||
| 271 | |||
| 272 | 2010-06-27 Masatake YAMATO <yamato@redhat.com> | ||
| 273 | |||
| 274 | * htmlfontify.el (hfy-face-attr-for-class): Use append instead | ||
| 275 | of nconc to avoid pure storage error (Bug#6239). | ||
| 276 | |||
| 277 | 2010-06-27 Christoph <cschol2112@googlemail.com> (tiny change) | ||
| 278 | |||
| 279 | * bookmark.el (bookmark-bmenu-2-window, bookmark-bmenu-other-window) | ||
| 280 | (bookmark-bmenu-other-window-with-mouse): Remove unnecessary | ||
| 281 | bindings of bookmark-automatically-show-annotations (Bug#6515). | ||
| 282 | |||
| 283 | 2010-06-25 Eli Zaretskii <eliz@gnu.org> | ||
| 284 | |||
| 285 | * arc-mode.el (archive-zip-extract): Don't quote the file name on | ||
| 286 | MS-Windows and MS-DOS. (Bug#6467, Bug#6144) | ||
| 287 | |||
| 288 | 2010-06-24 Štěpán Němec <stepnem@gmail.com> (tiny change) | ||
| 289 | |||
| 290 | * comint.el (make-comint, make-comint-in-buffer): Mention return | ||
| 291 | value in the docstrings. (Bug#6498) | ||
| 292 | |||
| 293 | 2010-06-24 Yoni Rabkin <yoni@rabkins.net> | ||
| 294 | |||
| 295 | * bs.el (bs-mode-font-lock-keywords): Remove "by" from Dired pattern, | ||
| 296 | since it is not present when using some non-default switches. | ||
| 297 | |||
| 298 | 2010-06-23 Karl Fogel <kfogel@red-bean.com> | ||
| 299 | |||
| 210 | * simple.el (compose-mail): Fix doc string to refer to | 300 | * simple.el (compose-mail): Fix doc string to refer to |
| 211 | `compose-mail-user-agent-warnings', instead of to the | 301 | `compose-mail-user-agent-warnings', instead of to the |
| 212 | nonexistent `compose-mail-check-user-agent'. | 302 | nonexistent `compose-mail-check-user-agent'. |
| @@ -320,6 +410,66 @@ | |||
| 320 | 410 | ||
| 321 | * emacs-lisp/package.el: New file. | 411 | * emacs-lisp/package.el: New file. |
| 322 | 412 | ||
| 413 | 2010-06-22 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 414 | |||
| 415 | Fix vc-annotate for renamed files when using Git. | ||
| 416 | * vc-git.el (vc-git-find-revision): Deal with empty results from | ||
| 417 | ls-files. Doe not pass the object as a file name to cat-file, it | ||
| 418 | is not a file name. | ||
| 419 | (vc-git-annotate-command): Pass the file name using -- to avoid | ||
| 420 | ambiguity with the revision. | ||
| 421 | (vc-git-previous-revision): Pass a relative file name. | ||
| 422 | |||
| 423 | 2010-06-22 Glenn Morris <rgm@gnu.org> | ||
| 424 | |||
| 425 | * progmodes/js.el (js-mode-map): Use standard capitalization and | ||
| 426 | ellipses for menu entries. | ||
| 427 | |||
| 428 | * wid-edit.el (widget-complete): Doc fix. | ||
| 429 | |||
| 430 | 2010-06-22 Jürgen Hötzel <juergen@hoetzel.info> (tiny change) | ||
| 431 | |||
| 432 | * wid-edit.el (widget-complete): Fix typo in 2009-12-02 change. | ||
| 433 | |||
| 434 | 2010-06-22 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 435 | |||
| 436 | Fix annotating other revisions for renamed files in vc-annotate. | ||
| 437 | * vc-annotate.el (vc-annotate): Add an optional argument for the | ||
| 438 | VC backend. Use it when non-nil. | ||
| 439 | (vc-annotate-warp-revision): Pass the VC backend to vc-annotate. (Bug#6487) | ||
| 440 | |||
| 441 | Fix vc-annotate-show-changeset-diff-revision-at-line for git. | ||
| 442 | * vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal): | ||
| 443 | Do not pass the file name to the 'previous-revision call when we | ||
| 444 | don't want a file diff. (Bug#6489) | ||
| 445 | |||
| 446 | 2010-06-21 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 447 | |||
| 448 | Fix finding revisions for renamed files in vc-annotate. | ||
| 449 | * vc.el (vc-find-revision): Add an optional argument for | ||
| 450 | the VC backend. Use it when non-nil. | ||
| 451 | * vc-annotate.el (vc-annotate-find-revision-at-line): Pass the VC | ||
| 452 | backend to vc-find-revision. (Bug#6487) | ||
| 453 | |||
| 454 | 2010-06-21 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 455 | |||
| 456 | Fix reading file names in Git annotate buffers. | ||
| 457 | * vc-git.el (vc-git-annotate-extract-revision-at-line): Remove | ||
| 458 | trailing whitespace. Suggested by Eric Hanchrow. (Bug#6481) | ||
| 459 | |||
| 460 | 2010-06-20 Alan Mackenzie <acm@muc.de> | ||
| 461 | |||
| 462 | * progmodes/cc-mode.el (c-before-hack-hook): When the mode is set | ||
| 463 | in file local variables, set it first. | ||
| 464 | |||
| 465 | 2010-06-19 Glenn Morris <rgm@gnu.org> | ||
| 466 | |||
| 467 | * descr-text.el (describe-char-unicode-data): Insert separating | ||
| 468 | space when needed. (Bug#6422) | ||
| 469 | |||
| 470 | * progmodes/idlwave.el (idlwave-action-and-binding): | ||
| 471 | Fix typo in 2009-12-03 change. (Bug#6450) | ||
| 472 | |||
| 323 | 2010-06-17 Stefan Monnier <monnier@iro.umontreal.ca> | 473 | 2010-06-17 Stefan Monnier <monnier@iro.umontreal.ca> |
| 324 | 474 | ||
| 325 | * emacs-lisp/macroexp.el (macroexpand-all-1): Put back special | 475 | * emacs-lisp/macroexp.el (macroexpand-all-1): Put back special |
| @@ -335,6 +485,8 @@ | |||
| 335 | * facemenu.el (list-colors-display): Call `pop-to-buffer' before | 485 | * facemenu.el (list-colors-display): Call `pop-to-buffer' before |
| 336 | `list-colors-print'. (Bug#6332) | 486 | `list-colors-print'. (Bug#6332) |
| 337 | 487 | ||
| 488 | * subr.el (read-quoted-char): Fix up last change (bug#6290). | ||
| 489 | |||
| 338 | 2010-06-16 Stefan Monnier <monnier@iro.umontreal.ca> | 490 | 2010-06-16 Stefan Monnier <monnier@iro.umontreal.ca> |
| 339 | 491 | ||
| 340 | * emacs-lisp/macroexp.el (macroexpand-all-1): Don't handle `lambda' | 492 | * emacs-lisp/macroexp.el (macroexpand-all-1): Don't handle `lambda' |
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index fb6155dfd41..6dda7b2e40b 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el | |||
| @@ -1811,10 +1811,13 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." | |||
| 1811 | (t | 1811 | (t |
| 1812 | (archive-extract-by-stdout | 1812 | (archive-extract-by-stdout |
| 1813 | archive | 1813 | archive |
| 1814 | ;; unzip expands wildcards in NAME, so we need to quote it. | 1814 | ;; unzip expands wildcards in NAME, so we need to quote it. But |
| 1815 | ;; not on DOS/Windows, since that fails extraction on those | ||
| 1816 | ;; systems, and file names with wildcards in zip archives don't | ||
| 1817 | ;; work there anyway. | ||
| 1815 | ;; FIXME: Does pkunzip need similar treatment? | 1818 | ;; FIXME: Does pkunzip need similar treatment? |
| 1816 | ;; (7z doesn't need to quote wildcards) | 1819 | (if (and (not (memq system-type '(windows-nt ms-dos))) |
| 1817 | (if (equal (car archive-zip-extract) "unzip") | 1820 | (equal (car archive-zip-extract) "unzip")) |
| 1818 | (shell-quote-argument name) | 1821 | (shell-quote-argument name) |
| 1819 | name) | 1822 | name) |
| 1820 | archive-zip-extract)))) | 1823 | archive-zip-extract)))) |
diff --git a/lisp/bs.el b/lisp/bs.el index 3fa91b49178..0ce7670201d 100644 --- a/lisp/bs.el +++ b/lisp/bs.el | |||
| @@ -195,7 +195,7 @@ return a string representing the column's value." | |||
| 195 | 'font-lock-constant-face | 195 | 'font-lock-constant-face |
| 196 | 'font-lock-comment-face)) | 196 | 'font-lock-comment-face)) |
| 197 | ;; Dired-Buffers | 197 | ;; Dired-Buffers |
| 198 | '("^..\\(.*Dired by .*\\)$" 1 font-lock-function-name-face) | 198 | '("^..\\(.*Dired .*\\)$" 1 font-lock-function-name-face) |
| 199 | ;; the star for modified buffers | 199 | ;; the star for modified buffers |
| 200 | '("^.\\(\\*\\) +[^\\*]" 1 font-lock-comment-face)) | 200 | '("^.\\(\\*\\) +[^\\*]" 1 font-lock-comment-face)) |
| 201 | "Default font lock expressions for Buffer Selection Menu.") | 201 | "Default font lock expressions for Buffer Selection Menu.") |
diff --git a/lisp/comint.el b/lisp/comint.el index b097baad189..071537ffd89 100644 --- a/lisp/comint.el +++ b/lisp/comint.el | |||
| @@ -701,7 +701,9 @@ a running process in that buffer, it is not restarted. Optional fourth arg | |||
| 701 | STARTFILE is the name of a file, whose contents are sent to the | 701 | STARTFILE is the name of a file, whose contents are sent to the |
| 702 | process as its initial input. | 702 | process as its initial input. |
| 703 | 703 | ||
| 704 | If PROGRAM is a string, any more args are arguments to PROGRAM." | 704 | If PROGRAM is a string, any more args are arguments to PROGRAM. |
| 705 | |||
| 706 | Returns the (possibly newly created) process buffer." | ||
| 705 | (or (fboundp 'start-file-process) | 707 | (or (fboundp 'start-file-process) |
| 706 | (error "Multi-processing is not supported for this system")) | 708 | (error "Multi-processing is not supported for this system")) |
| 707 | (setq buffer (get-buffer-create (or buffer (concat "*" name "*")))) | 709 | (setq buffer (get-buffer-create (or buffer (concat "*" name "*")))) |
| @@ -725,7 +727,9 @@ a running process in that buffer, it is not restarted. Optional third arg | |||
| 725 | STARTFILE is the name of a file, whose contents are sent to the | 727 | STARTFILE is the name of a file, whose contents are sent to the |
| 726 | process as its initial input. | 728 | process as its initial input. |
| 727 | 729 | ||
| 728 | If PROGRAM is a string, any more args are arguments to PROGRAM." | 730 | If PROGRAM is a string, any more args are arguments to PROGRAM. |
| 731 | |||
| 732 | Returns the (possibly newly created) process buffer." | ||
| 729 | (apply #'make-comint-in-buffer name nil program startfile switches)) | 733 | (apply #'make-comint-in-buffer name nil program startfile switches)) |
| 730 | 734 | ||
| 731 | ;;;###autoload | 735 | ;;;###autoload |
diff --git a/lisp/descr-text.el b/lisp/descr-text.el index 735023ceb02..93c69e0eea5 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el | |||
| @@ -301,7 +301,7 @@ This function is semi-obsolete. Use `get-char-code-property'." | |||
| 301 | (lambda (arg) | 301 | (lambda (arg) |
| 302 | (string (string-to-number arg 16))) | 302 | (string (string-to-number arg 16))) |
| 303 | parts " ")) | 303 | parts " ")) |
| 304 | (concat info parts)))) | 304 | (concat info (if info " ") parts)))) |
| 305 | (list "Decimal digit value" | 305 | (list "Decimal digit value" |
| 306 | (nth 5 fields)) | 306 | (nth 5 fields)) |
| 307 | (list "Digit value" | 307 | (list "Digit value" |
diff --git a/lisp/dnd.el b/lisp/dnd.el index c064aa9897a..d7cbb641bab 100644 --- a/lisp/dnd.el +++ b/lisp/dnd.el | |||
| @@ -1,8 +1,9 @@ | |||
| 1 | ;;; dnd.el --- drag and drop support. | 1 | ;;; dnd.el --- drag and drop support. -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 6 | ;; Author: Jan Djärv <jan.h.d@swipnet.se> |
| 6 | ;; Maintainer: FSF | 7 | ;; Maintainer: FSF |
| 7 | ;; Keywords: window, drag, drop | 8 | ;; Keywords: window, drag, drop |
| 8 | 9 | ||
diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el index 5d04494ecb6..85fe3514b01 100644 --- a/lisp/emacs-lisp/rx.el +++ b/lisp/emacs-lisp/rx.el | |||
| @@ -1053,9 +1053,6 @@ CHAR | |||
| 1053 | like `and', but makes the match accessible with `match-end', | 1053 | like `and', but makes the match accessible with `match-end', |
| 1054 | `match-beginning', and `match-string'. | 1054 | `match-beginning', and `match-string'. |
| 1055 | 1055 | ||
| 1056 | `(group SEXP1 SEXP2 ...)' | ||
| 1057 | another name for `submatch'. | ||
| 1058 | |||
| 1059 | `(or SEXP1 SEXP2 ...)' | 1056 | `(or SEXP1 SEXP2 ...)' |
| 1060 | `(| SEXP1 SEXP2 ...)' | 1057 | `(| SEXP1 SEXP2 ...)' |
| 1061 | matches anything that matches SEXP1 or SEXP2, etc. If all | 1058 | matches anything that matches SEXP1 or SEXP2, etc. If all |
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index c2ac7e3b3d0..f6749cd9e97 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | ;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | ;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Kim F. Storm <storm@cua.dk> | 6 | ;; Author: Kim F. Storm <storm@cua.dk> |
| 7 | ;; Keywords: keyboard emulation convenience cua | 7 | ;; Keywords: keyboard emulations convenience cua |
| 8 | 8 | ||
| 9 | ;; This file is part of GNU Emacs. | 9 | ;; This file is part of GNU Emacs. |
| 10 | 10 | ||
diff --git a/lisp/emulation/pc-select.el b/lisp/emulation/pc-select.el index 529ba290cb8..857f94cb5f5 100644 --- a/lisp/emulation/pc-select.el +++ b/lisp/emulation/pc-select.el | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | ;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 6 | ;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
| 7 | 7 | ||
| 8 | ;; Author: Michael Staats <michael@thp.Uni-Duisburg.DE> | 8 | ;; Author: Michael Staats <michael@thp.Uni-Duisburg.DE> |
| 9 | ;; Keywords: convenience emulation | 9 | ;; Keywords: convenience emulations |
| 10 | ;; Created: 26 Sep 1995 | 10 | ;; Created: 26 Sep 1995 |
| 11 | 11 | ||
| 12 | ;; This file is part of GNU Emacs. | 12 | ;; This file is part of GNU Emacs. |
diff --git a/lisp/generic-x.el b/lisp/generic-x.el index a96ab5cbbe9..0083989c75a 100644 --- a/lisp/generic-x.el +++ b/lisp/generic-x.el | |||
| @@ -508,8 +508,7 @@ like an INI file. You can add this hook to `find-file-hook'." | |||
| 508 | '("^[ \t]*\\(:\\sw+\\)" 1 font-lock-function-name-face t) | 508 | '("^[ \t]*\\(:\\sw+\\)" 1 font-lock-function-name-face t) |
| 509 | '("\\(%\\sw+%\\)" 1 font-lock-variable-name-face t) | 509 | '("\\(%\\sw+%\\)" 1 font-lock-variable-name-face t) |
| 510 | '("\\(%[0-9]\\)" 1 font-lock-variable-name-face t) | 510 | '("\\(%[0-9]\\)" 1 font-lock-variable-name-face t) |
| 511 | '("\\(/[^/ \"\t\n]+\\)" 1 font-lock-type-face) | 511 | '("[\t ]+\\([+-/][^\t\n\" ]+\\)" 1 font-lock-type-face) |
| 512 | '("[\t ]+\\([+-][^\t\n\" ]+\\)" 1 font-lock-type-face) | ||
| 513 | '("[ \t\n|]\\<\\([gG][oO][tT][oO]\\)\\>[ \t]*\\(\\sw+\\)?" | 512 | '("[ \t\n|]\\<\\([gG][oO][tT][oO]\\)\\>[ \t]*\\(\\sw+\\)?" |
| 514 | (1 font-lock-keyword-face) | 513 | (1 font-lock-keyword-face) |
| 515 | (2 font-lock-function-name-face nil t)) | 514 | (2 font-lock-function-name-face nil t)) |
diff --git a/lisp/help.el b/lisp/help.el index 899547aa0a1..9434201797e 100644 --- a/lisp/help.el +++ b/lisp/help.el | |||
| @@ -768,9 +768,10 @@ temporarily enables it to allow getting help on disabled items and buttons." | |||
| 768 | 768 | ||
| 769 | ----------------- up-event %s---------------- | 769 | ----------------- up-event %s---------------- |
| 770 | 770 | ||
| 771 | <%S>%s%s runs the command %S, which is " | 771 | %s%s%s runs the command %S, which is " |
| 772 | (if mouse-1-tricky "(short click) " "") | 772 | (if mouse-1-tricky "(short click) " "") |
| 773 | ev-type mouse-msg | 773 | (key-description (vector up-event)) |
| 774 | mouse-msg | ||
| 774 | (if mouse-1-remapped | 775 | (if mouse-1-remapped |
| 775 | " is remapped to <mouse-2>, which" "") | 776 | " is remapped to <mouse-2>, which" "") |
| 776 | defn-up)) | 777 | defn-up)) |
diff --git a/lisp/hl-line.el b/lisp/hl-line.el index 755ff696453..9a791076002 100644 --- a/lisp/hl-line.el +++ b/lisp/hl-line.el | |||
| @@ -1,12 +1,12 @@ | |||
| 1 | ;;; hl-line.el --- highlight the current line | 1 | ;;; hl-line.el --- highlight the current line |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004, | 3 | ;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 4 | ;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | ;; 2008, 2009, 2010 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Dave Love <fx@gnu.org> | 6 | ;; Author: Dave Love <fx@gnu.org> |
| 7 | ;; Maintainer: FSF | 7 | ;; Maintainer: FSF |
| 8 | ;; Created: 1998-09-13 | 8 | ;; Created: 1998-09-13 |
| 9 | ;; Keywords: faces, frames, emulation | 9 | ;; Keywords: faces, frames, emulations |
| 10 | 10 | ||
| 11 | ;; This file is part of GNU Emacs. | 11 | ;; This file is part of GNU Emacs. |
| 12 | 12 | ||
diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el index 12e54972461..035b6d384e7 100644 --- a/lisp/htmlfontify.el +++ b/lisp/htmlfontify.el | |||
| @@ -926,7 +926,7 @@ See also `hfy-display-class' for details of valid values for CLASS." | |||
| 926 | new-spec))))) | 926 | new-spec))))) |
| 927 | (if (or (memq :inherit face-spec) (eq 'default face)) | 927 | (if (or (memq :inherit face-spec) (eq 'default face)) |
| 928 | face-spec | 928 | face-spec |
| 929 | (nconc face-spec (list :inherit 'default))) )) | 929 | (append face-spec (list :inherit 'default))))) |
| 930 | 930 | ||
| 931 | ;; construct an assoc of (css-tag-name . css-tag-value) pairs | 931 | ;; construct an assoc of (css-tag-name . css-tag-value) pairs |
| 932 | ;; from a face or assoc of face attributes: | 932 | ;; from a face or assoc of face attributes: |
diff --git a/lisp/mouse.el b/lisp/mouse.el index 53818635511..30fd26b51fc 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el | |||
| @@ -956,9 +956,12 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should only be used by | |||
| 956 | (if (eq transient-mark-mode 'lambda) | 956 | (if (eq transient-mark-mode 'lambda) |
| 957 | '(only) | 957 | '(only) |
| 958 | (cons 'only transient-mark-mode))) | 958 | (cons 'only transient-mark-mode))) |
| 959 | (let ((range (mouse-start-end start-point start-point click-count))) | 959 | (let ((range (mouse-start-end start-point start-point click-count)) |
| 960 | ;; Prevent `push-mark' from clobbering the primary selection | ||
| 961 | ;; if the user clicks without dragging. | ||
| 962 | (select-active-regions nil)) | ||
| 960 | (goto-char (nth 0 range)) | 963 | (goto-char (nth 0 range)) |
| 961 | (push-mark nil nil t) | 964 | (push-mark nil t t) |
| 962 | (goto-char (nth 1 range))) | 965 | (goto-char (nth 1 range))) |
| 963 | 966 | ||
| 964 | ;; Track the mouse until we get a non-movement event. | 967 | ;; Track the mouse until we get a non-movement event. |
| @@ -1012,6 +1015,7 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should only be used by | |||
| 1012 | mouse-set-region)))))) | 1015 | mouse-set-region)))))) |
| 1013 | (if (and (/= (mark) (point)) | 1016 | (if (and (/= (mark) (point)) |
| 1014 | (not do-multi-click)) | 1017 | (not do-multi-click)) |
| 1018 | |||
| 1015 | ;; If point has moved, finish the drag. | 1019 | ;; If point has moved, finish the drag. |
| 1016 | (let* (last-command this-command) | 1020 | (let* (last-command this-command) |
| 1017 | ;; Copy the region so that `select-active-regions' can | 1021 | ;; Copy the region so that `select-active-regions' can |
| @@ -1019,12 +1023,20 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should only be used by | |||
| 1019 | (and mouse-drag-copy-region | 1023 | (and mouse-drag-copy-region |
| 1020 | do-mouse-drag-region-post-process | 1024 | do-mouse-drag-region-post-process |
| 1021 | (let (deactivate-mark) | 1025 | (let (deactivate-mark) |
| 1022 | (copy-region-as-kill (mark) (point))))) | 1026 | (copy-region-as-kill (mark) (point)))) |
| 1027 | ;; For `select-active-regions' non-nil, ensure that | ||
| 1028 | ;; further alterations of the region (e.g. via | ||
| 1029 | ;; shift-selection) continue to update PRIMARY. | ||
| 1030 | (and select-active-regions | ||
| 1031 | (display-selections-p) | ||
| 1032 | (x-set-selection 'PRIMARY (current-buffer)))) | ||
| 1033 | |||
| 1023 | ;; If point hasn't moved, run the binding of the | 1034 | ;; If point hasn't moved, run the binding of the |
| 1024 | ;; terminating up-event. | 1035 | ;; terminating up-event. |
| 1025 | (if do-multi-click | 1036 | (if do-multi-click |
| 1026 | (goto-char start-point) | 1037 | (goto-char start-point) |
| 1027 | (deactivate-mark)) | 1038 | (let (select-active-regions) |
| 1039 | (deactivate-mark))) | ||
| 1028 | (when (and (functionp fun) | 1040 | (when (and (functionp fun) |
| 1029 | (= start-hscroll (window-hscroll start-window)) | 1041 | (= start-hscroll (window-hscroll start-window)) |
| 1030 | ;; Don't run the up-event handler if the window | 1042 | ;; Don't run the up-event handler if the window |
| @@ -2357,6 +2369,7 @@ choose a font." | |||
| 2357 | (declare-function font-face-attributes "font.c" (font &optional frame)) | 2369 | (declare-function font-face-attributes "font.c" (font &optional frame)) |
| 2358 | 2370 | ||
| 2359 | (defun mouse-appearance-menu (event) | 2371 | (defun mouse-appearance-menu (event) |
| 2372 | "Show a menu for changing the default face in the current buffer." | ||
| 2360 | (interactive "@e") | 2373 | (interactive "@e") |
| 2361 | (require 'face-remap) | 2374 | (require 'face-remap) |
| 2362 | (when (display-multi-font-p) | 2375 | (when (display-multi-font-p) |
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el index a984dd37fd8..202eaf59835 100644 --- a/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el | |||
| @@ -551,11 +551,14 @@ is no information where to trace the message.") | |||
| 551 | (tramp-message v 4 "`copy-file' failed, trying `gvfs-copy'") | 551 | (tramp-message v 4 "`copy-file' failed, trying `gvfs-copy'") |
| 552 | (unless | 552 | (unless |
| 553 | (zerop | 553 | (zerop |
| 554 | (tramp-gvfs-send-command | 554 | (let ((args |
| 555 | v "gvfs-copy" | 555 | (append (if (or keep-date preserve-uid-gid) |
| 556 | (if (or keep-date preserve-uid-gid) "--preserve" "") | 556 | (list "--preserve") |
| 557 | (tramp-gvfs-url-file-name filename) | 557 | nil) |
| 558 | (tramp-gvfs-url-file-name newname))) | 558 | (list |
| 559 | (tramp-gvfs-url-file-name filename) | ||
| 560 | (tramp-gvfs-url-file-name newname))))) | ||
| 561 | (apply 'tramp-gvfs-send-command v "gvfs-copy" args))) | ||
| 559 | ;; Propagate the error. | 562 | ;; Propagate the error. |
| 560 | (tramp-error v (car err) "%s" (cdr err))))))) | 563 | (tramp-error v (car err) "%s" (cdr err))))))) |
| 561 | 564 | ||
diff --git a/lisp/net/zeroconf.el b/lisp/net/zeroconf.el index b0b98fc57f3..e49a45c8a48 100644 --- a/lisp/net/zeroconf.el +++ b/lisp/net/zeroconf.el | |||
| @@ -336,6 +336,23 @@ The attributes of SERVICE can be retrieved via the functions | |||
| 336 | (puthash type l-hook zeroconf-service-removed-hooks-hash))) | 336 | (puthash type l-hook zeroconf-service-removed-hooks-hash))) |
| 337 | (t (error "EVENT must be either `:new' or `:removed'")))) | 337 | (t (error "EVENT must be either `:new' or `:removed'")))) |
| 338 | 338 | ||
| 339 | (defun zeroconf-service-remove-hook (type event function) | ||
| 340 | "Remove FUNCTION from the hook of service type TYPE. | ||
| 341 | |||
| 342 | EVENT must be either :new or :removed and has to match the event | ||
| 343 | type used when registering FUNCTION." | ||
| 344 | (let* ((table (cond | ||
| 345 | ((equal event :new) | ||
| 346 | zeroconf-service-added-hooks-hash) | ||
| 347 | ((equal event :removed) | ||
| 348 | zeroconf-service-removed-hooks-hash) | ||
| 349 | (t (error "EVENT must be either `:new' or `:removed'")))) | ||
| 350 | (l-hook (gethash type table nil))) | ||
| 351 | (remove-hook 'l-hook function) | ||
| 352 | (if l-hook | ||
| 353 | (puthash type l-hook table) | ||
| 354 | (remhash type table)))) | ||
| 355 | |||
| 339 | (defun zeroconf-get-host () | 356 | (defun zeroconf-get-host () |
| 340 | "Returns the local host name as string." | 357 | "Returns the local host name as string." |
| 341 | (dbus-call-method | 358 | (dbus-call-method |
| @@ -407,7 +424,7 @@ TYPE. The resulting list has the format | |||
| 407 | (elt (nth 9 result))) ;; TXT. | 424 | (elt (nth 9 result))) ;; TXT. |
| 408 | ;; The TXT field has the signature "aay". Transform to "as". | 425 | ;; The TXT field has the signature "aay". Transform to "as". |
| 409 | (while elt | 426 | (while elt |
| 410 | (setcar elt (apply 'string (car elt))) | 427 | (setcar elt (dbus-byte-array-to-string (car elt))) |
| 411 | (setq elt (cdr elt))) | 428 | (setq elt (cdr elt))) |
| 412 | 429 | ||
| 413 | (when nil ;; We discard it, no use so far. | 430 | (when nil ;; We discard it, no use so far. |
| @@ -599,7 +616,7 @@ DOMAIN is nil, the local domain is used." | |||
| 599 | ;; The "TXT" field has the signature "aay". Transform to "as". | 616 | ;; The "TXT" field has the signature "aay". Transform to "as". |
| 600 | (let ((elt (nth 9 val))) | 617 | (let ((elt (nth 9 val))) |
| 601 | (while elt | 618 | (while elt |
| 602 | (setcar elt (apply 'string (car elt))) | 619 | (setcar elt (dbus-byte-array-to-string (car elt))) |
| 603 | (setq elt (cdr elt)))) | 620 | (setq elt (cdr elt)))) |
| 604 | (when zeroconf-debug | 621 | (when zeroconf-debug |
| 605 | (message "zeroconf-service-resolver-handler: %s %S" | 622 | (message "zeroconf-service-resolver-handler: %s %S" |
| @@ -641,11 +658,7 @@ For the description of arguments, see `zeroconf-resolved-services-hash'." | |||
| 641 | 658 | ||
| 642 | ;; The TXT field has the signature "as". Transform to "aay". | 659 | ;; The TXT field has the signature "as". Transform to "aay". |
| 643 | (dolist (elt txt) | 660 | (dolist (elt txt) |
| 644 | (let (args) | 661 | (add-to-list 'result (dbus-string-to-byte-array elt))) |
| 645 | (add-to-list | ||
| 646 | 'result | ||
| 647 | (dolist (elt1 (string-to-list elt) (append '(:array) args)) | ||
| 648 | (setq args (append args (list :byte elt1))))))) | ||
| 649 | 662 | ||
| 650 | ;; Add the service. | 663 | ;; Add the service. |
| 651 | (dbus-call-method | 664 | (dbus-call-method |
diff --git a/lisp/play/zone.el b/lisp/play/zone.el index 568d4cf2a19..4fa5a8c3920 100644 --- a/lisp/play/zone.el +++ b/lisp/play/zone.el | |||
| @@ -478,8 +478,10 @@ If the element is a function or a list of a function and a number, | |||
| 478 | (wait 0.15) | 478 | (wait 0.15) |
| 479 | newpos fall-p) | 479 | newpos fall-p) |
| 480 | (while (when (save-excursion | 480 | (while (when (save-excursion |
| 481 | (forward-line 1) | 481 | (and (zerop (forward-line 1)) |
| 482 | (and (= col (current-column)) | 482 | (progn |
| 483 | (forward-char col) | ||
| 484 | (= col (current-column))) | ||
| 483 | (setq newpos (point)) | 485 | (setq newpos (point)) |
| 484 | (string= spaces (buffer-substring-no-properties | 486 | (string= spaces (buffer-substring-no-properties |
| 485 | newpos (+ newpos cw-ceil))) | 487 | newpos (+ newpos cw-ceil))) |
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el index 9044b42a838..ed769158a50 100644 --- a/lisp/progmodes/cc-mode.el +++ b/lisp/progmodes/cc-mode.el | |||
| @@ -669,8 +669,13 @@ They are set only when, respectively, the pseudo variables | |||
| 669 | 669 | ||
| 670 | This function is called from the hook `before-hack-local-variables-hook'." | 670 | This function is called from the hook `before-hack-local-variables-hook'." |
| 671 | (when c-buffer-is-cc-mode | 671 | (when c-buffer-is-cc-mode |
| 672 | (let ((stile (cdr (assq 'c-file-style file-local-variables-alist))) | 672 | (let ((mode-cons (assq 'mode file-local-variables-alist)) |
| 673 | (stile (cdr (assq 'c-file-style file-local-variables-alist))) | ||
| 673 | (offsets (cdr (assq 'c-file-offsets file-local-variables-alist)))) | 674 | (offsets (cdr (assq 'c-file-offsets file-local-variables-alist)))) |
| 675 | (when mode-cons | ||
| 676 | (hack-one-local-variable (car mode-cons) (cdr mode-cons)) | ||
| 677 | (setq file-local-variables-alist | ||
| 678 | (delq mode-cons file-local-variables-alist))) | ||
| 674 | (when stile | 679 | (when stile |
| 675 | (or (stringp stile) (error "c-file-style is not a string")) | 680 | (or (stringp stile) (error "c-file-style is not a string")) |
| 676 | (c-set-style stile)) | 681 | (c-set-style stile)) |
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 7000b4bbc8a..76bd02615e3 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el | |||
| @@ -196,6 +196,10 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) | |||
| 196 | "^\"\\([^,\" \n\t]+\\)\", line \\([0-9]+\\)\ | 196 | "^\"\\([^,\" \n\t]+\\)\", line \\([0-9]+\\)\ |
| 197 | \\(?:[(. pos]+\\([0-9]+\\))?\\)?[:.,; (-]\\( warning:\\|[-0-9 ]*(W)\\)?" 1 2 3 (4)) | 197 | \\(?:[(. pos]+\\([0-9]+\\))?\\)?[:.,; (-]\\( warning:\\|[-0-9 ]*(W)\\)?" 1 2 3 (4)) |
| 198 | 198 | ||
| 199 | (cucumber | ||
| 200 | "\\(?:^cucumber\\(?: -p [^[:space:]]+\\)?\\|#\\)\ | ||
| 201 | \\(?: \\)\\([^\(].*\\):\\([1-9][0-9]*\\)" 1 2) | ||
| 202 | |||
| 199 | (edg-1 | 203 | (edg-1 |
| 200 | "^\\([^ \n]+\\)(\\([0-9]+\\)): \\(?:error\\|warnin\\(g\\)\\|remar\\(k\\)\\)" | 204 | "^\\([^ \n]+\\)(\\([0-9]+\\)): \\(?:error\\|warnin\\(g\\)\\|remar\\(k\\)\\)" |
| 201 | 1 2 nil (3 . 4)) | 205 | 1 2 nil (3 . 4)) |
| @@ -325,6 +329,13 @@ during global destruction\\.$\\)" 1 2) | |||
| 325 | "\\(?:Parse\\|Fatal\\) error: \\(.*\\) in \\(.*\\) on line \\([0-9]+\\)" | 329 | "\\(?:Parse\\|Fatal\\) error: \\(.*\\) in \\(.*\\) on line \\([0-9]+\\)" |
| 326 | 2 3 nil nil) | 330 | 2 3 nil nil) |
| 327 | 331 | ||
| 332 | (ruby | ||
| 333 | "^[\t ]*\\(?:from \\)?\ | ||
| 334 | \\([^\(\n][^[:space:]\n]*\\):\\([1-9][0-9]*\\)\\(:in `.*'\\)?.*$" 1 2) | ||
| 335 | |||
| 336 | (ruby-Test::Unit | ||
| 337 | "[\t ]*\\[\\([^\(].*\\):\\([1-9][0-9]*\\)\\(\\]\\)?:$" 1 2) | ||
| 338 | |||
| 328 | (rxp | 339 | (rxp |
| 329 | "^\\(?:Error\\|Warnin\\(g\\)\\):.*\n.* line \\([0-9]+\\) char\ | 340 | "^\\(?:Error\\|Warnin\\(g\\)\\):.*\n.* line \\([0-9]+\\) char\ |
| 330 | \\([0-9]+\\) of file://\\(.+\\)" | 341 | \\([0-9]+\\) of file://\\(.+\\)" |
| @@ -2083,7 +2094,7 @@ and overlay is highlighted between MK and END-MK." | |||
| 2083 | pre-existing | 2094 | pre-existing |
| 2084 | (let ((display-buffer-reuse-frames t) | 2095 | (let ((display-buffer-reuse-frames t) |
| 2085 | (pop-up-windows t)) | 2096 | (pop-up-windows t)) |
| 2086 | ;; Pop up a window. | 2097 | ;; Pop up a window. |
| 2087 | (display-buffer (marker-buffer msg))))) | 2098 | (display-buffer (marker-buffer msg))))) |
| 2088 | (highlight-regexp (with-current-buffer (marker-buffer msg) | 2099 | (highlight-regexp (with-current-buffer (marker-buffer msg) |
| 2089 | ;; also do this while we change buffer | 2100 | ;; also do this while we change buffer |
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el index 402893c5946..1d042c99451 100644 --- a/lisp/progmodes/idlwave.el +++ b/lisp/progmodes/idlwave.el | |||
| @@ -1602,7 +1602,7 @@ Capitalize system variables - action only | |||
| 1602 | `(lambda () | 1602 | `(lambda () |
| 1603 | (interactive) | 1603 | (interactive) |
| 1604 | (self-insert-command 1) | 1604 | (self-insert-command 1) |
| 1605 | ,@(if (listp cmd) cmd (list cmd)))))) | 1605 | ,(if (listp cmd) cmd (list cmd)))))) |
| 1606 | 1606 | ||
| 1607 | ;; Set action and key bindings. | 1607 | ;; Set action and key bindings. |
| 1608 | ;; See description of the function `idlwave-action-and-binding'. | 1608 | ;; See description of the function `idlwave-action-and-binding'. |
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el index 6bd8fbc2442..60ed14afbac 100644 --- a/lisp/progmodes/js.el +++ b/lisp/progmodes/js.el | |||
| @@ -474,8 +474,7 @@ for preventing Firefox from stealing the keyboard focus." | |||
| 474 | (defcustom js-js-tmpdir | 474 | (defcustom js-js-tmpdir |
| 475 | "~/.emacs.d/js/js" | 475 | "~/.emacs.d/js/js" |
| 476 | "Temporary directory used by `js-mode' to communicate with Mozilla. | 476 | "Temporary directory used by `js-mode' to communicate with Mozilla. |
| 477 | This directory must be readable and writable by both Mozilla and | 477 | This directory must be readable and writable by both Mozilla and Emacs." |
| 478 | Emacs." | ||
| 479 | :type 'directory | 478 | :type 'directory |
| 480 | :group 'js) | 479 | :group 'js) |
| 481 | 480 | ||
| @@ -499,11 +498,11 @@ getting timeout messages." | |||
| 499 | (define-key keymap [(meta ?.)] #'js-find-symbol) | 498 | (define-key keymap [(meta ?.)] #'js-find-symbol) |
| 500 | (easy-menu-define nil keymap "Javascript Menu" | 499 | (easy-menu-define nil keymap "Javascript Menu" |
| 501 | '("Javascript" | 500 | '("Javascript" |
| 502 | ["Select new Mozilla context…" js-set-js-context | 501 | ["Select New Mozilla Context..." js-set-js-context |
| 503 | (fboundp #'inferior-moz-process)] | 502 | (fboundp #'inferior-moz-process)] |
| 504 | ["Evaluate expression in Mozilla context…" js-eval | 503 | ["Evaluate Expression in Mozilla Context..." js-eval |
| 505 | (fboundp #'inferior-moz-process)] | 504 | (fboundp #'inferior-moz-process)] |
| 506 | ["Send current function to Mozilla…" js-eval-defun | 505 | ["Send Current Function to Mozilla..." js-eval-defun |
| 507 | (fboundp #'inferior-moz-process)])) | 506 | (fboundp #'inferior-moz-process)])) |
| 508 | keymap) | 507 | keymap) |
| 509 | "Keymap for `js-mode'.") | 508 | "Keymap for `js-mode'.") |
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 4e0f326e2d4..2b09e346331 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el | |||
| @@ -93,7 +93,7 @@ | |||
| 93 | 93 | ||
| 94 | (defvar python-font-lock-keywords | 94 | (defvar python-font-lock-keywords |
| 95 | `(,(rx symbol-start | 95 | `(,(rx symbol-start |
| 96 | ;; From v 2.5 reference, § keywords. | 96 | ;; From v 2.7 reference, § keywords. |
| 97 | ;; def and class dealt with separately below | 97 | ;; def and class dealt with separately below |
| 98 | (or "and" "as" "assert" "break" "continue" "del" "elif" "else" | 98 | (or "and" "as" "assert" "break" "continue" "del" "elif" "else" |
| 99 | "except" "exec" "finally" "for" "from" "global" "if" | 99 | "except" "exec" "finally" "for" "from" "global" "if" |
| @@ -102,7 +102,7 @@ | |||
| 102 | ;; Not real keywords, but close enough to be fontified as such | 102 | ;; Not real keywords, but close enough to be fontified as such |
| 103 | "self" "True" "False") | 103 | "self" "True" "False") |
| 104 | symbol-end) | 104 | symbol-end) |
| 105 | (,(rx symbol-start "None" symbol-end) ; see § Keywords in 2.5 manual | 105 | (,(rx symbol-start "None" symbol-end) ; see § Keywords in 2.7 manual |
| 106 | . font-lock-constant-face) | 106 | . font-lock-constant-face) |
| 107 | ;; Definitions | 107 | ;; Definitions |
| 108 | (,(rx symbol-start (group "class") (1+ space) (group (1+ (or word ?_)))) | 108 | (,(rx symbol-start (group "class") (1+ space) (group (1+ (or word ?_)))) |
| @@ -117,7 +117,7 @@ | |||
| 117 | (0+ "." (1+ (or word ?_))))) | 117 | (0+ "." (1+ (or word ?_))))) |
| 118 | (1 font-lock-type-face)) | 118 | (1 font-lock-type-face)) |
| 119 | ;; Built-ins. (The next three blocks are from | 119 | ;; Built-ins. (The next three blocks are from |
| 120 | ;; `__builtin__.__dict__.keys()' in Python 2.5.1.) These patterns | 120 | ;; `__builtin__.__dict__.keys()' in Python 2.7) These patterns |
| 121 | ;; are debateable, but they at least help to spot possible | 121 | ;; are debateable, but they at least help to spot possible |
| 122 | ;; shadowing of builtins. | 122 | ;; shadowing of builtins. |
| 123 | (,(rx symbol-start (or | 123 | (,(rx symbol-start (or |
| @@ -135,7 +135,9 @@ | |||
| 135 | "SystemExit" "TabError" "TypeError" "UnboundLocalError" | 135 | "SystemExit" "TabError" "TypeError" "UnboundLocalError" |
| 136 | "UnicodeDecodeError" "UnicodeEncodeError" "UnicodeError" | 136 | "UnicodeDecodeError" "UnicodeEncodeError" "UnicodeError" |
| 137 | "UnicodeTranslateError" "UnicodeWarning" "UserWarning" | 137 | "UnicodeTranslateError" "UnicodeWarning" "UserWarning" |
| 138 | "ValueError" "Warning" "ZeroDivisionError") symbol-end) | 138 | "ValueError" "Warning" "ZeroDivisionError" |
| 139 | ;; Python 2.7 | ||
| 140 | "BufferError" "BytesWarning" "WindowsError") symbol-end) | ||
| 139 | . font-lock-type-face) | 141 | . font-lock-type-face) |
| 140 | (,(rx (or line-start (not (any ". \t"))) (* (any " \t")) symbol-start | 142 | (,(rx (or line-start (not (any ". \t"))) (* (any " \t")) symbol-start |
| 141 | (group (or | 143 | (group (or |
| @@ -152,12 +154,16 @@ | |||
| 152 | "range" "raw_input" "reduce" "reload" "repr" "reversed" | 154 | "range" "raw_input" "reduce" "reload" "repr" "reversed" |
| 153 | "round" "set" "setattr" "slice" "sorted" "staticmethod" | 155 | "round" "set" "setattr" "slice" "sorted" "staticmethod" |
| 154 | "str" "sum" "super" "tuple" "type" "unichr" "unicode" "vars" | 156 | "str" "sum" "super" "tuple" "type" "unichr" "unicode" "vars" |
| 155 | "xrange" "zip")) symbol-end) | 157 | "xrange" "zip" |
| 158 | ;; Python 2.7. | ||
| 159 | "bin" "bytearray" "bytes" "format" "memoryview" "next" "print" | ||
| 160 | )) symbol-end) | ||
| 156 | (1 font-lock-builtin-face)) | 161 | (1 font-lock-builtin-face)) |
| 157 | (,(rx symbol-start (or | 162 | (,(rx symbol-start (or |
| 158 | ;; other built-ins | 163 | ;; other built-ins |
| 159 | "True" "False" "None" "Ellipsis" | 164 | "True" "False" "None" "Ellipsis" |
| 160 | "_" "__debug__" "__doc__" "__import__" "__name__") symbol-end) | 165 | "_" "__debug__" "__doc__" "__import__" "__name__" "__package__") |
| 166 | symbol-end) | ||
| 161 | . font-lock-builtin-face))) | 167 | . font-lock-builtin-face))) |
| 162 | 168 | ||
| 163 | (defconst python-font-lock-syntactic-keywords | 169 | (defconst python-font-lock-syntactic-keywords |
diff --git a/lisp/subr.el b/lisp/subr.el index 16ba45f1c74..9fb737fd038 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -1874,12 +1874,11 @@ any other non-digit terminates the character code and is then used as input.")) | |||
| 1874 | ;; Note: `read-char' does it using the `ascii-character' property. | 1874 | ;; Note: `read-char' does it using the `ascii-character' property. |
| 1875 | ;; We should try and use read-key instead. | 1875 | ;; We should try and use read-key instead. |
| 1876 | (let ((translation (lookup-key local-function-key-map (vector char)))) | 1876 | (let ((translation (lookup-key local-function-key-map (vector char)))) |
| 1877 | (if (arrayp translation) | 1877 | (setq translated (if (arrayp translation) |
| 1878 | (setq translated (aref translation 0)))) | 1878 | (aref translation 0) |
| 1879 | (setq translated | 1879 | char))) |
| 1880 | (if (integerp char) | 1880 | (if (integerp translated) |
| 1881 | (char-resolve-modifiers char) | 1881 | (setq translated (char-resolve-modifiers translated))) |
| 1882 | char)) | ||
| 1883 | (cond ((null translated)) | 1882 | (cond ((null translated)) |
| 1884 | ((not (integerp translated)) | 1883 | ((not (integerp translated)) |
| 1885 | (setq unread-command-events (list char) | 1884 | (setq unread-command-events (list char) |
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 1de6f93416a..24fa2c0c064 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog | |||
| @@ -806,7 +806,7 @@ | |||
| 806 | (url-http-parse-headers): Use it. | 806 | (url-http-parse-headers): Use it. |
| 807 | (url-http-handle-authentication): Use subst-char-in-string. | 807 | (url-http-handle-authentication): Use subst-char-in-string. |
| 808 | 808 | ||
| 809 | 2005-11-16 Juergen Hoetzel <emacs@hoetzel.info> (tiny change) | 809 | 2005-11-16 Jürgen Hötzel <emacs@hoetzel.info> (tiny change) |
| 810 | 810 | ||
| 811 | * url-handlers.el (url-insert-file-contents): Use the charset info | 811 | * url-handlers.el (url-insert-file-contents): Use the charset info |
| 812 | provided by the HTTP server, if any. | 812 | provided by the HTTP server, if any. |
diff --git a/lisp/vc/vc-annotate.el b/lisp/vc/vc-annotate.el index d0951bdd404..c95fe54d04a 100644 --- a/lisp/vc/vc-annotate.el +++ b/lisp/vc/vc-annotate.el | |||
| @@ -315,7 +315,7 @@ use; you may override this using the second optional arg MODE." | |||
| 315 | vc-annotate-display-mode)))) | 315 | vc-annotate-display-mode)))) |
| 316 | 316 | ||
| 317 | ;;;###autoload | 317 | ;;;###autoload |
| 318 | (defun vc-annotate (file rev &optional display-mode buf move-point-to) | 318 | (defun vc-annotate (file rev &optional display-mode buf move-point-to vc-bk) |
| 319 | "Display the edit history of the current FILE using colors. | 319 | "Display the edit history of the current FILE using colors. |
| 320 | 320 | ||
| 321 | This command creates a buffer that shows, for each line of the current | 321 | This command creates a buffer that shows, for each line of the current |
| @@ -336,6 +336,8 @@ age, and everything that is older than that is shown in blue. | |||
| 336 | 336 | ||
| 337 | If MOVE-POINT-TO is given, move the point to that line. | 337 | If MOVE-POINT-TO is given, move the point to that line. |
| 338 | 338 | ||
| 339 | If VC-BK is given used that VC backend. | ||
| 340 | |||
| 339 | Customization variables: | 341 | Customization variables: |
| 340 | 342 | ||
| 341 | `vc-annotate-menu-elements' customizes the menu elements of the | 343 | `vc-annotate-menu-elements' customizes the menu elements of the |
| @@ -376,7 +378,7 @@ mode-specific menu. `vc-annotate-color-map' and | |||
| 376 | ;; In case it had to be uniquified. | 378 | ;; In case it had to be uniquified. |
| 377 | (setq temp-buffer-name (buffer-name)))) | 379 | (setq temp-buffer-name (buffer-name)))) |
| 378 | (with-output-to-temp-buffer temp-buffer-name | 380 | (with-output-to-temp-buffer temp-buffer-name |
| 379 | (let ((backend (vc-backend file)) | 381 | (let ((backend (or vc-bk (vc-backend file))) |
| 380 | (coding-system-for-read buffer-file-coding-system)) | 382 | (coding-system-for-read buffer-file-coding-system)) |
| 381 | (vc-call-backend backend 'annotate-command file | 383 | (vc-call-backend backend 'annotate-command file |
| 382 | (get-buffer temp-buffer-name) rev) | 384 | (get-buffer temp-buffer-name) rev) |
| @@ -462,7 +464,7 @@ Return a cons (REV . FILENAME)." | |||
| 462 | (if (not rev-at-line) | 464 | (if (not rev-at-line) |
| 463 | (message "Cannot extract revision number from the current line") | 465 | (message "Cannot extract revision number from the current line") |
| 464 | (switch-to-buffer-other-window | 466 | (switch-to-buffer-other-window |
| 465 | (vc-find-revision (cdr rev-at-line) (car rev-at-line))))))) | 467 | (vc-find-revision (cdr rev-at-line) (car rev-at-line) vc-annotate-backend)))))) |
| 466 | 468 | ||
| 467 | (defun vc-annotate-revision-previous-to-line () | 469 | (defun vc-annotate-revision-previous-to-line () |
| 468 | "Visit the annotation of the revision before the revision at line." | 470 | "Visit the annotation of the revision before the revision at line." |
| @@ -527,7 +529,7 @@ the file in question, search for the log entry required and move point ." | |||
| 527 | (message "Cannot extract revision number from the current line") | 529 | (message "Cannot extract revision number from the current line") |
| 528 | (setq prev-rev | 530 | (setq prev-rev |
| 529 | (vc-call-backend vc-annotate-backend 'previous-revision | 531 | (vc-call-backend vc-annotate-backend 'previous-revision |
| 530 | fname rev)) | 532 | (if filediff fname nil) rev)) |
| 531 | (if (not prev-rev) | 533 | (if (not prev-rev) |
| 532 | (message "Cannot diff from any revision prior to %s" rev) | 534 | (message "Cannot diff from any revision prior to %s" rev) |
| 533 | (save-window-excursion | 535 | (save-window-excursion |
| @@ -597,7 +599,8 @@ describes a revision number, so warp to that revision." | |||
| 597 | ;; place the point in the line. | 599 | ;; place the point in the line. |
| 598 | (min oldline (progn (goto-char (point-max)) | 600 | (min oldline (progn (goto-char (point-max)) |
| 599 | (forward-line -1) | 601 | (forward-line -1) |
| 600 | (line-number-at-pos)))))))) | 602 | (line-number-at-pos))) |
| 603 | vc-annotate-backend))))) | ||
| 601 | 604 | ||
| 602 | (defun vc-annotate-compcar (threshold a-list) | 605 | (defun vc-annotate-compcar (threshold a-list) |
| 603 | "Test successive cons cells of A-LIST against THRESHOLD. | 606 | "Test successive cons cells of A-LIST against THRESHOLD. |
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 161013fbae0..9cacef2f71b 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el | |||
| @@ -412,22 +412,24 @@ If NOINSERT, ignore elements on ENTRIES which are not in the ewoc." | |||
| 412 | (setq entry (car entries)) | 412 | (setq entry (car entries)) |
| 413 | (setq node (ewoc-next vc-ewoc node))) | 413 | (setq node (ewoc-next vc-ewoc node))) |
| 414 | (t | 414 | (t |
| 415 | (ewoc-enter-before vc-ewoc node | 415 | (unless noinsert |
| 416 | (apply 'vc-dir-create-fileinfo entry)) | 416 | (ewoc-enter-before vc-ewoc node |
| 417 | (apply 'vc-dir-create-fileinfo entry))) | ||
| 417 | (setq entries (cdr entries)) | 418 | (setq entries (cdr entries)) |
| 418 | (setq entry (car entries)))))) | 419 | (setq entry (car entries)))))) |
| 419 | (t | 420 | (t |
| 420 | ;; We might need to insert a directory node if the | 421 | (unless noinsert |
| 421 | ;; previous node was in a different directory. | 422 | ;; We might need to insert a directory node if the |
| 422 | (let* ((rd (file-relative-name entrydir)) | 423 | ;; previous node was in a different directory. |
| 423 | (prev-node (ewoc-prev vc-ewoc node)) | 424 | (let* ((rd (file-relative-name entrydir)) |
| 424 | (prev-dir (vc-dir-node-directory prev-node))) | 425 | (prev-node (ewoc-prev vc-ewoc node)) |
| 425 | (unless (string-equal entrydir prev-dir) | 426 | (prev-dir (vc-dir-node-directory prev-node))) |
| 426 | (ewoc-enter-before | 427 | (unless (string-equal entrydir prev-dir) |
| 427 | vc-ewoc node (vc-dir-create-fileinfo rd nil nil nil entrydir)))) | 428 | (ewoc-enter-before |
| 428 | ;; Now insert the node itself. | 429 | vc-ewoc node (vc-dir-create-fileinfo rd nil nil nil entrydir)))) |
| 429 | (ewoc-enter-before vc-ewoc node | 430 | ;; Now insert the node itself. |
| 430 | (apply 'vc-dir-create-fileinfo entry)) | 431 | (ewoc-enter-before vc-ewoc node |
| 432 | (apply 'vc-dir-create-fileinfo entry))) | ||
| 431 | (setq entries (cdr entries) entry (car entries)))))) | 433 | (setq entries (cdr entries) entry (car entries)))))) |
| 432 | ;; We're past the last node, all remaining entries go to the end. | 434 | ;; We're past the last node, all remaining entries go to the end. |
| 433 | (unless (or node noinsert) | 435 | (unless (or node noinsert) |
| @@ -902,10 +904,12 @@ If it is a file, return the corresponding cons for the file itself." | |||
| 902 | (vc-dir-resync-directory-files file) | 904 | (vc-dir-resync-directory-files file) |
| 903 | (ewoc-set-hf vc-ewoc | 905 | (ewoc-set-hf vc-ewoc |
| 904 | (vc-dir-headers vc-dir-backend default-directory) "")) | 906 | (vc-dir-headers vc-dir-backend default-directory) "")) |
| 905 | (let ((state (vc-dir-recompute-file-state file ddir))) | 907 | (let* ((complete-state (vc-dir-recompute-file-state file ddir)) |
| 908 | (state (cadr complete-state))) | ||
| 906 | (vc-dir-update | 909 | (vc-dir-update |
| 907 | (list state) | 910 | (list complete-state) |
| 908 | status-buf (eq (cadr state) 'up-to-date)))))))))) | 911 | status-buf (or (not state) |
| 912 | (eq state 'up-to-date))))))))))) | ||
| 909 | ;; Remove out-of-date entries from vc-dir-buffers. | 913 | ;; Remove out-of-date entries from vc-dir-buffers. |
| 910 | (dolist (b drop) (setq vc-dir-buffers (delq b vc-dir-buffers))))) | 914 | (dolist (b drop) (setq vc-dir-buffers (delq b vc-dir-buffers))))) |
| 911 | 915 | ||
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index 6129b21c324..cccccbdfd02 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el | |||
| @@ -563,13 +563,18 @@ or an empty string if none." | |||
| 563 | (let* (process-file-side-effects | 563 | (let* (process-file-side-effects |
| 564 | (coding-system-for-read 'binary) | 564 | (coding-system-for-read 'binary) |
| 565 | (coding-system-for-write 'binary) | 565 | (coding-system-for-write 'binary) |
| 566 | (fullname (substring | 566 | (fullname |
| 567 | (vc-git--run-command-string | 567 | (let ((fn (vc-git--run-command-string |
| 568 | file "ls-files" "-z" "--full-name" "--") | 568 | file "ls-files" "-z" "--full-name" "--"))) |
| 569 | 0 -1))) | 569 | ;; ls-files does not return anything when looking for a |
| 570 | ;; revision of a file that has been renamed or removed. | ||
| 571 | (if (string= fn "") | ||
| 572 | (file-relative-name file (vc-git-root default-directory)) | ||
| 573 | (substring fn 0 -1))))) | ||
| 570 | (vc-git-command | 574 | (vc-git-command |
| 571 | buffer 0 | 575 | buffer 0 |
| 572 | (concat (if rev rev "HEAD") ":" fullname) "cat-file" "blob"))) | 576 | nil |
| 577 | "cat-file" "blob" (concat (if rev rev "HEAD") ":" fullname)))) | ||
| 573 | 578 | ||
| 574 | (defun vc-git-checkout (file &optional editable rev) | 579 | (defun vc-git-checkout (file &optional editable rev) |
| 575 | (vc-git-command nil 0 file "checkout" (or rev "HEAD"))) | 580 | (vc-git-command nil 0 file "checkout" (or rev "HEAD"))) |
| @@ -723,7 +728,7 @@ or BRANCH^ (where \"^\" can be repeated)." | |||
| 723 | 728 | ||
| 724 | (defun vc-git-annotate-command (file buf &optional rev) | 729 | (defun vc-git-annotate-command (file buf &optional rev) |
| 725 | (let ((name (file-relative-name file))) | 730 | (let ((name (file-relative-name file))) |
| 726 | (vc-git-command buf 'async name "blame" "--date=iso" "-C" "-C" rev))) | 731 | (vc-git-command buf 'async nil "blame" "--date=iso" "-C" "-C" rev "--" name))) |
| 727 | 732 | ||
| 728 | (declare-function vc-annotate-convert-time "vc-annotate" (time)) | 733 | (declare-function vc-annotate-convert-time "vc-annotate" (time)) |
| 729 | 734 | ||
| @@ -740,8 +745,12 @@ or BRANCH^ (where \"^\" can be repeated)." | |||
| 740 | (when (looking-at "\\([0-9a-f^][0-9a-f]+\\) \\(\\([^(]+\\) \\)?") | 745 | (when (looking-at "\\([0-9a-f^][0-9a-f]+\\) \\(\\([^(]+\\) \\)?") |
| 741 | (let ((revision (match-string-no-properties 1))) | 746 | (let ((revision (match-string-no-properties 1))) |
| 742 | (if (match-beginning 2) | 747 | (if (match-beginning 2) |
| 743 | (cons revision (expand-file-name (match-string-no-properties 3) | 748 | (let ((fname (match-string-no-properties 3))) |
| 744 | (vc-git-root default-directory))) | 749 | ;; Remove trailing whitespace from the file name. |
| 750 | (when (string-match " +\\'" fname) | ||
| 751 | (setq fname (substring fname 0 (match-beginning 0)))) | ||
| 752 | (cons revision | ||
| 753 | (expand-file-name fname (vc-git-root default-directory)))) | ||
| 745 | revision))))) | 754 | revision))))) |
| 746 | 755 | ||
| 747 | ;;; TAG SYSTEM | 756 | ;;; TAG SYSTEM |
| @@ -765,11 +774,10 @@ or BRANCH^ (where \"^\" can be repeated)." | |||
| 765 | (defun vc-git-previous-revision (file rev) | 774 | (defun vc-git-previous-revision (file rev) |
| 766 | "Git-specific version of `vc-previous-revision'." | 775 | "Git-specific version of `vc-previous-revision'." |
| 767 | (if file | 776 | (if file |
| 768 | (let* ((default-directory (file-name-directory (expand-file-name file))) | 777 | (let* ((fname (file-relative-name file)) |
| 769 | (file (file-name-nondirectory file)) | ||
| 770 | (prev-rev (with-temp-buffer | 778 | (prev-rev (with-temp-buffer |
| 771 | (and | 779 | (and |
| 772 | (vc-git--out-ok "rev-list" "-2" rev "--" file) | 780 | (vc-git--out-ok "rev-list" "-2" rev "--" fname) |
| 773 | (goto-char (point-max)) | 781 | (goto-char (point-max)) |
| 774 | (bolp) | 782 | (bolp) |
| 775 | (zerop (forward-line -1)) | 783 | (zerop (forward-line -1)) |
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 23dd6f0f7ae..434c2a10e14 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el | |||
| @@ -1700,8 +1700,9 @@ If `F.~REV~' already exists, use it instead of checking it out again." | |||
| 1700 | rev))) | 1700 | rev))) |
| 1701 | (switch-to-buffer-other-window (vc-find-revision file revision)))) | 1701 | (switch-to-buffer-other-window (vc-find-revision file revision)))) |
| 1702 | 1702 | ||
| 1703 | (defun vc-find-revision (file revision) | 1703 | (defun vc-find-revision (file revision &optional backend) |
| 1704 | "Read REVISION of FILE into a buffer and return the buffer." | 1704 | "Read REVISION of FILE into a buffer and return the buffer. |
| 1705 | Use BACKEND as the VC backend if specified." | ||
| 1705 | (let ((automatic-backup (vc-version-backup-file-name file revision)) | 1706 | (let ((automatic-backup (vc-version-backup-file-name file revision)) |
| 1706 | (filebuf (or (get-file-buffer file) (current-buffer))) | 1707 | (filebuf (or (get-file-buffer file) (current-buffer))) |
| 1707 | (filename (vc-version-backup-file-name file revision 'manual))) | 1708 | (filename (vc-version-backup-file-name file revision 'manual))) |
| @@ -1719,7 +1720,9 @@ If `F.~REV~' already exists, use it instead of checking it out again." | |||
| 1719 | ;; Change buffer to get local value of | 1720 | ;; Change buffer to get local value of |
| 1720 | ;; vc-checkout-switches. | 1721 | ;; vc-checkout-switches. |
| 1721 | (with-current-buffer filebuf | 1722 | (with-current-buffer filebuf |
| 1722 | (vc-call find-revision file revision outbuf)))) | 1723 | (if backend |
| 1724 | (vc-call-backend backend 'find-revision file revision outbuf) | ||
| 1725 | (vc-call find-revision file revision outbuf))))) | ||
| 1723 | (setq failed nil)) | 1726 | (setq failed nil)) |
| 1724 | (when (and failed (file-exists-p filename)) | 1727 | (when (and failed (file-exists-p filename)) |
| 1725 | (delete-file filename)))) | 1728 | (delete-file filename)))) |
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 5e67c07957e..dfeb6371f5e 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el | |||
| @@ -1156,14 +1156,17 @@ the field." | |||
| 1156 | (if field | 1156 | (if field |
| 1157 | (narrow-to-region (line-beginning-position) (line-end-position))))) | 1157 | (narrow-to-region (line-beginning-position) (line-end-position))))) |
| 1158 | 1158 | ||
| 1159 | ;; This used to say: | ||
| 1160 | ;; "When not inside a field, move to the previous button or field." | ||
| 1161 | ;; but AFAICS, it has always just thrown an error. | ||
| 1159 | (defun widget-complete () | 1162 | (defun widget-complete () |
| 1160 | "Complete content of editable field from point. | 1163 | "Complete content of editable field from point. |
| 1161 | When not inside a field, move to the previous button or field." | 1164 | When not inside a field, signal an error." |
| 1162 | (interactive) | 1165 | (interactive) |
| 1163 | (let ((field (widget-field-find (point)))) | 1166 | (let ((field (widget-field-find (point)))) |
| 1164 | (when field | 1167 | (if field |
| 1165 | (widget-apply field :complete)) | 1168 | (widget-apply field :complete) |
| 1166 | (error "Not in an editable field"))) | 1169 | (error "Not in an editable field")))) |
| 1167 | 1170 | ||
| 1168 | ;;; Setting up the buffer. | 1171 | ;;; Setting up the buffer. |
| 1169 | 1172 | ||
diff --git a/lisp/x-dnd.el b/lisp/x-dnd.el index 328eb569c6f..6d38fd043fe 100644 --- a/lisp/x-dnd.el +++ b/lisp/x-dnd.el | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | ;;; x-dnd.el --- drag and drop support for X. | 1 | ;;; x-dnd.el --- drag and drop support for X -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 | ;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 6 | ;; Author: Jan Djärv <jan.h.d@swipnet.se> |
| 7 | ;; Maintainer: FSF | 7 | ;; Maintainer: FSF |
| 8 | ;; Keywords: window, drag, drop | 8 | ;; Keywords: window, drag, drop |
| 9 | 9 | ||
diff --git a/lisp/xml.el b/lisp/xml.el index 20b595fd2d7..8e8981ac439 100644 --- a/lisp/xml.el +++ b/lisp/xml.el | |||
| @@ -321,18 +321,20 @@ If PARSE-NS is non-nil, then QNAMES are expanded." | |||
| 321 | (progn | 321 | (progn |
| 322 | (forward-char -1) | 322 | (forward-char -1) |
| 323 | (setq result (xml-parse-tag parse-dtd parse-ns)) | 323 | (setq result (xml-parse-tag parse-dtd parse-ns)) |
| 324 | (if (and xml result (not xml-sub-parser)) | 324 | (cond |
| 325 | ;; translation of rule [1] of XML specifications | 325 | ((null result) |
| 326 | (error "XML: (Not Well-Formed) Only one root tag allowed") | 326 | ;; Not looking at an xml start tag. |
| 327 | (cond | 327 | (forward-char 1)) |
| 328 | ((null result)) | 328 | ((and xml (not xml-sub-parser)) |
| 329 | ((and (listp (car result)) | 329 | ;; Translation of rule [1] of XML specifications |
| 330 | parse-dtd) | 330 | (error "XML: (Not Well-Formed) Only one root tag allowed")) |
| 331 | (setq dtd (car result)) | 331 | ((and (listp (car result)) |
| 332 | (if (cdr result) ; possible leading comment | 332 | parse-dtd) |
| 333 | (add-to-list 'xml (cdr result)))) | 333 | (setq dtd (car result)) |
| 334 | (t | 334 | (if (cdr result) ; possible leading comment |
| 335 | (add-to-list 'xml result))))) | 335 | (add-to-list 'xml (cdr result)))) |
| 336 | (t | ||
| 337 | (add-to-list 'xml result)))) | ||
| 336 | (goto-char (point-max)))) | 338 | (goto-char (point-max)))) |
| 337 | (if parse-dtd | 339 | (if parse-dtd |
| 338 | (cons dtd (nreverse xml)) | 340 | (cons dtd (nreverse xml)) |
diff --git a/msdos/ChangeLog b/msdos/ChangeLog index 658ea8146c7..c4268ef1ddd 100644 --- a/msdos/ChangeLog +++ b/msdos/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2010-07-11 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * sed2v2.inp (HAVE_STRCHR, HAVE_STRRCHR): Don't edit, already | ||
| 4 | defined on <sys/config.h>. | ||
| 5 | |||
| 6 | 2010-07-11 Andreas Schwab <schwab@linux-m68k.org> | ||
| 7 | |||
| 8 | * sed2v2.inp (HAVE_INDEX, HAVE_RINDEX): Don't edit. | ||
| 9 | (HAVE_STRCHR, HAVE_STRRCHR): Edit to 1. | ||
| 10 | |||
| 1 | 2010-07-08 Eli Zaretskii <eliz@gnu.org> | 11 | 2010-07-08 Eli Zaretskii <eliz@gnu.org> |
| 2 | 12 | ||
| 3 | * sed1v2.inp (stamp-oldxmenu): Don't edit out in `temacs:' target, | 13 | * sed1v2.inp (stamp-oldxmenu): Don't edit out in `temacs:' target, |
diff --git a/msdos/sed2v2.inp b/msdos/sed2v2.inp index a802202d9c4..7d5964089c4 100644 --- a/msdos/sed2v2.inp +++ b/msdos/sed2v2.inp | |||
| @@ -46,9 +46,7 @@ | |||
| 46 | /^#undef HAVE_TM_GMTOFF *$/s/^.*$/#define HAVE_TM_GMTOFF 1/ | 46 | /^#undef HAVE_TM_GMTOFF *$/s/^.*$/#define HAVE_TM_GMTOFF 1/ |
| 47 | /^#undef HAVE_MBLEN *$/s/^.*$/#define HAVE_MBLEN 1/ | 47 | /^#undef HAVE_MBLEN *$/s/^.*$/#define HAVE_MBLEN 1/ |
| 48 | /^#undef HAVE_STRUCT_TIMEZONE *$/s/^.*$/#define HAVE_STRUCT_TIMEZONE 1/ | 48 | /^#undef HAVE_STRUCT_TIMEZONE *$/s/^.*$/#define HAVE_STRUCT_TIMEZONE 1/ |
| 49 | /^#undef HAVE_INDEX *$/s/^.*$/#define HAVE_INDEX 1/ | ||
| 50 | /^#undef HAVE_SIZE_T *$/s/^.*$/#define HAVE_SIZE_T 1/ | 49 | /^#undef HAVE_SIZE_T *$/s/^.*$/#define HAVE_SIZE_T 1/ |
| 51 | /^#undef HAVE_RINDEX *$/s/^.*$/#define HAVE_RINDEX 1/ | ||
| 52 | /^#undef HAVE_MKSTEMP *$/s/^.*$/#define HAVE_MKSTEMP 1/ | 50 | /^#undef HAVE_MKSTEMP *$/s/^.*$/#define HAVE_MKSTEMP 1/ |
| 53 | /^#undef HAVE_STRUCT_TM_TM_ZONE *$/s/^.*$/#define HAVE_STRUCT_TM_TM_ZONE 1/ | 51 | /^#undef HAVE_STRUCT_TM_TM_ZONE *$/s/^.*$/#define HAVE_STRUCT_TM_TM_ZONE 1/ |
| 54 | /^#undef HAVE_SYNC *$/s/^.*$/#define HAVE_SYNC 1/ | 52 | /^#undef HAVE_SYNC *$/s/^.*$/#define HAVE_SYNC 1/ |
diff --git a/src/ChangeLog b/src/ChangeLog index 1cd57516c45..5acf42608e4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -11,6 +11,130 @@ | |||
| 11 | return value changed. | 11 | return value changed. |
| 12 | (syms_of_font): Adjusted for the above change. | 12 | (syms_of_font): Adjusted for the above change. |
| 13 | 13 | ||
| 14 | 2010-07-11 Andreas Schwab <schwab@linux-m68k.org> | ||
| 15 | |||
| 16 | * blockinput.h: Remove obsolete comment. | ||
| 17 | |||
| 18 | * lisp.h: Include <stddef.h>. | ||
| 19 | (OFFSETOF): Don't define. | ||
| 20 | (VECSIZE): Use offsetof instead of OFFSETOF. | ||
| 21 | (PSEUDOVECSIZE): Likewise. | ||
| 22 | * process.c (conv_sockaddr_to_lisp): Likewise. | ||
| 23 | * alloc.c: Don't include <stddef.h>. | ||
| 24 | * buffer.h (PER_BUFFER_VAR_OFFSET): Use offsetof. | ||
| 25 | |||
| 26 | * process.c: Remove obsolete comment. | ||
| 27 | |||
| 28 | 2010-07-11 Chong Yidong <cyd@stupidchicken.com> | ||
| 29 | |||
| 30 | * xfaces.c (Vface_remapping_alist): Doc fix (Bug#6091). | ||
| 31 | |||
| 32 | 2010-07-11 Andreas Schwab <schwab@linux-m68k.org> | ||
| 33 | |||
| 34 | * callint.c (Fcall_interactively): Use strchr, strrchr instead of | ||
| 35 | index, rindex. | ||
| 36 | * doc.c (get_doc_string, Fsnarf_documentation): Likewise. | ||
| 37 | * editfns.c (Fuser_full_name, Fformat): Likewise. | ||
| 38 | * emacs.c (argmatch, sort_args, decode_env_path): Likewise. | ||
| 39 | * fileio.c (Ffile_symlink_p): Likewise. | ||
| 40 | * filelock.c (current_lock_owner): Likewise. | ||
| 41 | * font.c (font_parse_name, font_parse_family_registry): Likewise. | ||
| 42 | * fontset.c (fontset_pattern_regexp): Likewise. | ||
| 43 | * lread.c (read1): Likewise. | ||
| 44 | * sysdep.c (init_system_name): Likewise. | ||
| 45 | * xfns.c (select_visual): Likewise. | ||
| 46 | * s/hpux10-20.h (index, rindex): Don't define. | ||
| 47 | * s/ms-w32.h (index): Likewise. | ||
| 48 | * s/usg5-4.h: Likewise. | ||
| 49 | |||
| 50 | * callproc.c (relocate_fd): Use F_DUPFD if defined. | ||
| 51 | |||
| 52 | * alloc.c (pending_malloc_warning, malloc_warning): Add const. | ||
| 53 | * callproc.c (relocate_fd, getenv_internal_1, getenv_internal) | ||
| 54 | (egetenv): Likewise. | ||
| 55 | * doprnt.c (doprnt): Likewise. | ||
| 56 | * editfns.c (set_time_zone_rule, format2): Likewise. | ||
| 57 | * emacs.c (decode_env_path): Likewise. | ||
| 58 | * eval.c (signal_error, error): Likewise. | ||
| 59 | * insdel.c (replace_range_2): Likewise. | ||
| 60 | * keyboard.c (cmd_error_internal): Likewise. | ||
| 61 | * lread.c (isfloat_string, make_symbol, dir_warning): Likewise. | ||
| 62 | * print.c (write_string, write_string_1, print_error_message): | ||
| 63 | Likewise. | ||
| 64 | * vm-limit.c (warn_function, memory_warnings): Likewise. | ||
| 65 | * xdisp.c (message1, message1_nolog, message_with_string) | ||
| 66 | (vmessage, message, message_nolog): Likewise. | ||
| 67 | * emacs.c: Remove duplicate declaration. | ||
| 68 | * keyboard.h: Likewise. | ||
| 69 | * lisp.h: Update prototypes. | ||
| 70 | |||
| 71 | * eval.c: Fix indentation problem. | ||
| 72 | |||
| 73 | * keyboard.c: Include "process.h" | ||
| 74 | |||
| 75 | * eval.c: Remove obsolete noinline declaration. | ||
| 76 | * fns.c: Likewise. | ||
| 77 | |||
| 78 | 2010-07-11 Ken Raeburn <raeburn@raeburn.org> | ||
| 79 | |||
| 80 | * doprnt.c (doprnt): Take a va_list argument instead of count and | ||
| 81 | pointer. | ||
| 82 | * eval.c (error): Change to a standard-C variadic function. | ||
| 83 | * xdisp.c (vmessage): Renamed from message, made static, and | ||
| 84 | changed to take a va_list argument. | ||
| 85 | (message): New variadic wrapper. | ||
| 86 | (message_nolog): Now a variadic function, calling vmessage. | ||
| 87 | * lisp.h: Include stdarg.h for va_list. | ||
| 88 | (doprnt, error, message, message_nolog): Decls updated. | ||
| 89 | |||
| 90 | 2010-07-11 Eli Zaretskii <eliz@gnu.org> | ||
| 91 | |||
| 92 | * process.c (syms_of_process) <delete-exited-processes>: Define | ||
| 93 | even if !subprocesses. | ||
| 94 | (delete_exited_processes): Ditto. | ||
| 95 | |||
| 96 | * msdos.c (syms_of_msdos) <delete-exited-processes>: Remove DEFVAR. | ||
| 97 | (delete_exited_processes): Don't define. | ||
| 98 | |||
| 99 | 2010-07-10 Chong Yidong <cyd@stupidchicken.com> | ||
| 100 | |||
| 101 | * frame.c (make_frame): Initialize menu_bar_lines and | ||
| 102 | tool_bar_lines members. | ||
| 103 | (make_initial_frame, make_terminal_frame): Initialize | ||
| 104 | menu_bar_lines using value of menu-bar-mode. | ||
| 105 | |||
| 106 | * msdos.c (IT_set_frame_parameters): Don't set menu-bar-lines. | ||
| 107 | |||
| 108 | 2010-07-10 Eli Zaretskii <eliz@gnu.org> | ||
| 109 | |||
| 110 | * process.c: Reshuffle #include's. Condition some of the global | ||
| 111 | and static variables on `subprocesses'. | ||
| 112 | (hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p): | ||
| 113 | Leave only one implementation. | ||
| 114 | (Fget_buffer_process, Fprocess_inherit_coding_system_flag) | ||
| 115 | (kill_buffer_processes, Flist_system_processes) | ||
| 116 | (Fprocess_attributes, init_process, syms_of_process): Unify the | ||
| 117 | implementations for with subprocesses and without them. | ||
| 118 | |||
| 119 | 2010-07-09 Jan Djärv <jan.h.d@swipnet.se> | ||
| 120 | |||
| 121 | * xmenu.c (set_frame_menubar): Must realize menubar_widget to get the | ||
| 122 | correct size for Motif. | ||
| 123 | (free_frame_menubar): Call x_set_window_size to update frame size. | ||
| 124 | |||
| 125 | * xfns.c (x_window): Set borderWidth to 0 for pane and | ||
| 126 | EmacsFrame. Frame size calculation is wrong otherwise. | ||
| 127 | |||
| 128 | 2010-07-09 Michael Albinus <michael.albinus@gmx.de> | ||
| 129 | |||
| 130 | * dbusbind.c (xd_initialize): Add new argument RAISE_ERROR, which | ||
| 131 | allows to suppress errors when polling in Emacs' main loop. | ||
| 132 | (Fdbus_init_bus, Fdbus_get_unique_name, Fdbus_call_method) | ||
| 133 | (Fdbus_call_method_asynchronously, Fdbus_method_return_internal) | ||
| 134 | (Fdbus_method_error_internal, Fdbus_send_signal) | ||
| 135 | (xd_get_dispatch_status, xd_read_message, Fdbus_register_signal) | ||
| 136 | (Fdbus_register_method): Use it. (Bug#6579) | ||
| 137 | |||
| 14 | 2010-07-08 Dan Nicolaescu <dann@ics.uci.edu> | 138 | 2010-07-08 Dan Nicolaescu <dann@ics.uci.edu> |
| 15 | 139 | ||
| 16 | * alloc.c: Convert DEFUNs to standard C. | 140 | * alloc.c: Convert DEFUNs to standard C. |
| @@ -785,7 +909,55 @@ | |||
| 785 | Improve documentation. Return font regardless of use_system_font. | 909 | Improve documentation. Return font regardless of use_system_font. |
| 786 | (syms_of_xsettings): Improve documentation for font-use-system-font. | 910 | (syms_of_xsettings): Improve documentation for font-use-system-font. |
| 787 | 911 | ||
| 788 | 2009-06-17 Naohiro Aota <naota@elisp.net> (tiny change) | 912 | 2010-07-10 Chong Yidong <cyd@stupidchicken.com> |
| 913 | |||
| 914 | * xfaces.c (realize_face): Garbage the frame if a face is removed | ||
| 915 | (Bug#6593). | ||
| 916 | |||
| 917 | 2010-07-05 Andreas Schwab <schwab@linux-m68k.org> | ||
| 918 | |||
| 919 | * keyboard.c: Remove duplicate <setjmp.h>. | ||
| 920 | (read_key_sequence): Remove volatile qualifiers. | ||
| 921 | |||
| 922 | 2010-07-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 923 | |||
| 924 | * dispextern.h (FRINGE_HEIGHT_BITS): New define. | ||
| 925 | (struct glyph_row): New members left_fringe_offset and | ||
| 926 | right_fringe_offset. | ||
| 927 | |||
| 928 | * xterm.c (x_draw_fringe_bitmap): Don't clip bottom aligned bitmap | ||
| 929 | specially. | ||
| 930 | * w32term.c (w32_draw_fringe_bitmap): Likewise. | ||
| 931 | * nsterm.m (ns_draw_fringe_bitmap): Likewise. | ||
| 932 | |||
| 933 | * fringe.c (draw_fringe_bitmap_1): Don't clip bitmap here. | ||
| 934 | Take account of bitmap offset. | ||
| 935 | (draw_window_fringes): Take account of window vscroll. | ||
| 936 | (update_window_fringes): Likewise. Extend top-aligned top indicator | ||
| 937 | or bottom-aligned bottom indicator to adjacent rows if it doesn't fit | ||
| 938 | in one row. Don't set redraw_fringe_bitmaps_p outside row comparison. | ||
| 939 | Set left_fringe_offset and right_fringe_offset (Bug#5634, Bug#6325). | ||
| 940 | |||
| 941 | 2010-07-04 Juanma Barranquero <lekktu@gmail.com> | ||
| 942 | |||
| 943 | * w32fns.c (Qtooltip): Declare. | ||
| 944 | Suggested by Andy Moreton <andrewjmoreton@gmail.com>. | ||
| 945 | |||
| 946 | 2010-07-03 Jan Djärv <jan.h.d@swipnet.se> | ||
| 947 | |||
| 948 | * xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid | ||
| 949 | grab on just Press (Bug#6499). | ||
| 950 | |||
| 951 | 2010-07-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 952 | |||
| 953 | * frame.c (Qtooltip): New var. | ||
| 954 | (delete_frame): Use it. Fix faulty if statement. Don't update | ||
| 955 | mode line for tooltip frames. Suggested by Martin Rudalics. | ||
| 956 | |||
| 957 | * xfns.c (x_create_tip_frame): | ||
| 958 | * w32fns.c (x_create_tip_frame): Use it. | ||
| 959 | |||
| 960 | 2010-06-17 Naohiro Aota <naota@elisp.net> (tiny change) | ||
| 789 | 961 | ||
| 790 | * xftfont.c (xftfont_open): Check font width one by one also when | 962 | * xftfont.c (xftfont_open): Check font width one by one also when |
| 791 | spacing is dual. | 963 | spacing is dual. |
| @@ -964,6 +1136,30 @@ | |||
| 964 | 1136 | ||
| 965 | * m/ibms390x.h: Rather than duplicating ibms390.h, just include it. | 1137 | * m/ibms390x.h: Rather than duplicating ibms390.h, just include it. |
| 966 | 1138 | ||
| 1139 | 2010-06-26 Andreas Schwab <schwab@linux-m68k.org> | ||
| 1140 | |||
| 1141 | * alloc.c (Fmake_byte_code): Don't access undefined argument | ||
| 1142 | (Bug#6517). | ||
| 1143 | |||
| 1144 | 2010-06-25 Chong Yidong <cyd@stupidchicken.com> | ||
| 1145 | |||
| 1146 | * xdisp.c (next_element_from_image): Ensure that after-strings are | ||
| 1147 | read the next time we hit handle_stop (Bug#1336). | ||
| 1148 | |||
| 1149 | 2010-06-23 Andreas Schwab <schwab@linux-m68k.org> | ||
| 1150 | |||
| 1151 | * lread.c (read1): Signal error if #s is not followed by paren. | ||
| 1152 | |||
| 1153 | 2010-06-19 Chong Yidong <cyd@stupidchicken.com> | ||
| 1154 | |||
| 1155 | * image.c (free_image): Mark frame as garbaged (Bug#6426). | ||
| 1156 | |||
| 1157 | * keymap.c (Fdefine_key): Doc fix (Bug#6460). | ||
| 1158 | |||
| 1159 | 2010-06-15 Glenn Morris <rgm@gnu.org> | ||
| 1160 | |||
| 1161 | * editfns.c (Fbyte_to_string): Pacify compiler. | ||
| 1162 | |||
| 967 | 2010-06-09 Stefan Monnier <monnier@iro.umontreal.ca> | 1163 | 2010-06-09 Stefan Monnier <monnier@iro.umontreal.ca> |
| 968 | 1164 | ||
| 969 | * dbusbind.c (xd_append_arg): Don't "make-unibyte" the string. | 1165 | * dbusbind.c (xd_append_arg): Don't "make-unibyte" the string. |
diff --git a/src/alloc.c b/src/alloc.c index 2a15fd0d63d..5c860bc1f8e 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -23,10 +23,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 23 | #include <limits.h> /* For CHAR_BIT. */ | 23 | #include <limits.h> /* For CHAR_BIT. */ |
| 24 | #include <setjmp.h> | 24 | #include <setjmp.h> |
| 25 | 25 | ||
| 26 | #ifdef STDC_HEADERS | ||
| 27 | #include <stddef.h> /* For offsetof, used by PSEUDOVECSIZE. */ | ||
| 28 | #endif | ||
| 29 | |||
| 30 | #ifdef ALLOC_DEBUG | 26 | #ifdef ALLOC_DEBUG |
| 31 | #undef INLINE | 27 | #undef INLINE |
| 32 | #endif | 28 | #endif |
| @@ -298,7 +294,7 @@ static EMACS_INT pure_bytes_used_non_lisp; | |||
| 298 | /* If nonzero, this is a warning delivered by malloc and not yet | 294 | /* If nonzero, this is a warning delivered by malloc and not yet |
| 299 | displayed. */ | 295 | displayed. */ |
| 300 | 296 | ||
| 301 | char *pending_malloc_warning; | 297 | const char *pending_malloc_warning; |
| 302 | 298 | ||
| 303 | /* Pre-computed signal argument for use when memory is exhausted. */ | 299 | /* Pre-computed signal argument for use when memory is exhausted. */ |
| 304 | 300 | ||
| @@ -514,7 +510,7 @@ static POINTER_TYPE *pure_alloc (size_t, int); | |||
| 514 | /* Function malloc calls this if it finds we are near exhausting storage. */ | 510 | /* Function malloc calls this if it finds we are near exhausting storage. */ |
| 515 | 511 | ||
| 516 | void | 512 | void |
| 517 | malloc_warning (char *str) | 513 | malloc_warning (const char *str) |
| 518 | { | 514 | { |
| 519 | pending_malloc_warning = str; | 515 | pending_malloc_warning = str; |
| 520 | } | 516 | } |
| @@ -3030,7 +3026,7 @@ usage: (make-byte-code ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INT | |||
| 3030 | else | 3026 | else |
| 3031 | val = Fmake_vector (len, Qnil); | 3027 | val = Fmake_vector (len, Qnil); |
| 3032 | 3028 | ||
| 3033 | if (STRINGP (args[1]) && STRING_MULTIBYTE (args[1])) | 3029 | if (nargs > 1 && STRINGP (args[1]) && STRING_MULTIBYTE (args[1])) |
| 3034 | /* BYTECODE-STRING must have been produced by Emacs 20.2 or the | 3030 | /* BYTECODE-STRING must have been produced by Emacs 20.2 or the |
| 3035 | earlier because they produced a raw 8-bit string for byte-code | 3031 | earlier because they produced a raw 8-bit string for byte-code |
| 3036 | and now such a byte-code string is loaded as multibyte while | 3032 | and now such a byte-code string is loaded as multibyte while |
diff --git a/src/blockinput.h b/src/blockinput.h index 99c8274fc60..7ba6fc264fd 100644 --- a/src/blockinput.h +++ b/src/blockinput.h | |||
| @@ -122,7 +122,6 @@ extern int pending_atimers; | |||
| 122 | #define INPUT_BLOCKED_P (interrupt_input_blocked > 0) | 122 | #define INPUT_BLOCKED_P (interrupt_input_blocked > 0) |
| 123 | 123 | ||
| 124 | /* Defined in keyboard.c */ | 124 | /* Defined in keyboard.c */ |
| 125 | /* Don't use a prototype here; it causes trouble in some files. */ | ||
| 126 | extern void reinvoke_input_signal (void); | 125 | extern void reinvoke_input_signal (void); |
| 127 | 126 | ||
| 128 | #endif /* EMACS_BLOCKINPUT_H */ | 127 | #endif /* EMACS_BLOCKINPUT_H */ |
diff --git a/src/buffer.h b/src/buffer.h index 8e4e5d569ae..339e7d9bb6d 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -954,7 +954,7 @@ extern int last_per_buffer_idx; | |||
| 954 | from the start of a buffer structure. */ | 954 | from the start of a buffer structure. */ |
| 955 | 955 | ||
| 956 | #define PER_BUFFER_VAR_OFFSET(VAR) \ | 956 | #define PER_BUFFER_VAR_OFFSET(VAR) \ |
| 957 | ((char *) &((struct buffer *)0)->VAR - (char *) ((struct buffer *)0)) | 957 | offsetof (struct buffer, VAR) |
| 958 | 958 | ||
| 959 | /* Return the index of buffer-local variable VAR. Each per-buffer | 959 | /* Return the index of buffer-local variable VAR. Each per-buffer |
| 960 | variable has an index > 0 associated with it, except when it always | 960 | variable has an index > 0 associated with it, except when it always |
diff --git a/src/callint.c b/src/callint.c index 3d4782e7bd6..fa0be112bea 100644 --- a/src/callint.c +++ b/src/callint.c | |||
| @@ -29,10 +29,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 29 | #include "window.h" | 29 | #include "window.h" |
| 30 | #include "keymap.h" | 30 | #include "keymap.h" |
| 31 | 31 | ||
| 32 | #ifdef HAVE_INDEX | ||
| 33 | extern char *index (const char *, int); | ||
| 34 | #endif | ||
| 35 | |||
| 36 | extern Lisp_Object Qcursor_in_echo_area; | 32 | extern Lisp_Object Qcursor_in_echo_area; |
| 37 | extern Lisp_Object Qfile_directory_p; | 33 | extern Lisp_Object Qfile_directory_p; |
| 38 | extern Lisp_Object Qonly; | 34 | extern Lisp_Object Qonly; |
| @@ -469,7 +465,7 @@ invoke it. If KEYS is omitted or nil, the return value of | |||
| 469 | j += 2; | 465 | j += 2; |
| 470 | else | 466 | else |
| 471 | j++; | 467 | j++; |
| 472 | tem = (unsigned char *) index (tem, '\n'); | 468 | tem = (unsigned char *) strchr (tem, '\n'); |
| 473 | if (tem) | 469 | if (tem) |
| 474 | ++tem; | 470 | ++tem; |
| 475 | else | 471 | else |
| @@ -500,11 +496,11 @@ invoke it. If KEYS is omitted or nil, the return value of | |||
| 500 | { | 496 | { |
| 501 | strncpy (prompt1, tem + 1, sizeof prompt1 - 1); | 497 | strncpy (prompt1, tem + 1, sizeof prompt1 - 1); |
| 502 | prompt1[sizeof prompt1 - 1] = 0; | 498 | prompt1[sizeof prompt1 - 1] = 0; |
| 503 | tem1 = (char *) index (prompt1, '\n'); | 499 | tem1 = strchr (prompt1, '\n'); |
| 504 | if (tem1) *tem1 = 0; | 500 | if (tem1) *tem1 = 0; |
| 505 | 501 | ||
| 506 | visargs[0] = build_string (prompt1); | 502 | visargs[0] = build_string (prompt1); |
| 507 | if (index (prompt1, '%')) | 503 | if (strchr (prompt1, '%')) |
| 508 | callint_message = Fformat (i, visargs); | 504 | callint_message = Fformat (i, visargs); |
| 509 | else | 505 | else |
| 510 | callint_message = visargs[0]; | 506 | callint_message = visargs[0]; |
| @@ -809,7 +805,7 @@ invoke it. If KEYS is omitted or nil, the return value of | |||
| 809 | if (NILP (visargs[i]) && STRINGP (args[i])) | 805 | if (NILP (visargs[i]) && STRINGP (args[i])) |
| 810 | visargs[i] = args[i]; | 806 | visargs[i] = args[i]; |
| 811 | 807 | ||
| 812 | tem = (unsigned char *) index (tem, '\n'); | 808 | tem = (unsigned char *) strchr (tem, '\n'); |
| 813 | if (tem) tem++; | 809 | if (tem) tem++; |
| 814 | else tem = (unsigned char *) ""; | 810 | else tem = (unsigned char *) ""; |
| 815 | } | 811 | } |
diff --git a/src/callproc.c b/src/callproc.c index 674243f50de..4ad6bcf41ea 100644 --- a/src/callproc.c +++ b/src/callproc.c | |||
| @@ -1288,27 +1288,34 @@ relocate_fd (int fd, int minfd) | |||
| 1288 | return fd; | 1288 | return fd; |
| 1289 | else | 1289 | else |
| 1290 | { | 1290 | { |
| 1291 | int new = dup (fd); | 1291 | int new; |
| 1292 | #ifdef F_DUPFD | ||
| 1293 | new = fcntl (fd, F_DUPFD, minfd); | ||
| 1294 | #else | ||
| 1295 | new = dup (fd); | ||
| 1296 | if (new != -1) | ||
| 1297 | /* Note that we hold the original FD open while we recurse, | ||
| 1298 | to guarantee we'll get a new FD if we need it. */ | ||
| 1299 | new = relocate_fd (new, minfd); | ||
| 1300 | #endif | ||
| 1292 | if (new == -1) | 1301 | if (new == -1) |
| 1293 | { | 1302 | { |
| 1294 | char *message1 = "Error while setting up child: "; | 1303 | const char *message1 = "Error while setting up child: "; |
| 1295 | char *errmessage = strerror (errno); | 1304 | const char *errmessage = strerror (errno); |
| 1296 | char *message2 = "\n"; | 1305 | const char *message2 = "\n"; |
| 1297 | emacs_write (2, message1, strlen (message1)); | 1306 | emacs_write (2, message1, strlen (message1)); |
| 1298 | emacs_write (2, errmessage, strlen (errmessage)); | 1307 | emacs_write (2, errmessage, strlen (errmessage)); |
| 1299 | emacs_write (2, message2, strlen (message2)); | 1308 | emacs_write (2, message2, strlen (message2)); |
| 1300 | _exit (1); | 1309 | _exit (1); |
| 1301 | } | 1310 | } |
| 1302 | /* Note that we hold the original FD open while we recurse, | ||
| 1303 | to guarantee we'll get a new FD if we need it. */ | ||
| 1304 | new = relocate_fd (new, minfd); | ||
| 1305 | emacs_close (fd); | 1311 | emacs_close (fd); |
| 1306 | return new; | 1312 | return new; |
| 1307 | } | 1313 | } |
| 1308 | } | 1314 | } |
| 1309 | 1315 | ||
| 1310 | static int | 1316 | static int |
| 1311 | getenv_internal_1 (char *var, int varlen, char **value, int *valuelen, Lisp_Object env) | 1317 | getenv_internal_1 (const char *var, int varlen, char **value, int *valuelen, |
| 1318 | Lisp_Object env) | ||
| 1312 | { | 1319 | { |
| 1313 | for (; CONSP (env); env = XCDR (env)) | 1320 | for (; CONSP (env); env = XCDR (env)) |
| 1314 | { | 1321 | { |
| @@ -1342,7 +1349,8 @@ getenv_internal_1 (char *var, int varlen, char **value, int *valuelen, Lisp_Obje | |||
| 1342 | } | 1349 | } |
| 1343 | 1350 | ||
| 1344 | static int | 1351 | static int |
| 1345 | getenv_internal (char *var, int varlen, char **value, int *valuelen, Lisp_Object frame) | 1352 | getenv_internal (const char *var, int varlen, char **value, int *valuelen, |
| 1353 | Lisp_Object frame) | ||
| 1346 | { | 1354 | { |
| 1347 | /* Try to find VAR in Vprocess_environment first. */ | 1355 | /* Try to find VAR in Vprocess_environment first. */ |
| 1348 | if (getenv_internal_1 (var, varlen, value, valuelen, | 1356 | if (getenv_internal_1 (var, varlen, value, valuelen, |
| @@ -1403,7 +1411,7 @@ If optional parameter ENV is a list, then search this list instead of | |||
| 1403 | /* A version of getenv that consults the Lisp environment lists, | 1411 | /* A version of getenv that consults the Lisp environment lists, |
| 1404 | easily callable from C. */ | 1412 | easily callable from C. */ |
| 1405 | char * | 1413 | char * |
| 1406 | egetenv (char *var) | 1414 | egetenv (const char *var) |
| 1407 | { | 1415 | { |
| 1408 | char *value; | 1416 | char *value; |
| 1409 | int valuelen; | 1417 | int valuelen; |
diff --git a/src/config.in b/src/config.in index 1ef407c158b..40b62633446 100644 --- a/src/config.in +++ b/src/config.in | |||
| @@ -288,9 +288,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 288 | /* Define to 1 if netdb.h declares h_errno. */ | 288 | /* Define to 1 if netdb.h declares h_errno. */ |
| 289 | #undef HAVE_H_ERRNO | 289 | #undef HAVE_H_ERRNO |
| 290 | 290 | ||
| 291 | /* Define to 1 if you have the `index' function. */ | ||
| 292 | #undef HAVE_INDEX | ||
| 293 | |||
| 294 | /* Define to 1 if you have inet sockets. */ | 291 | /* Define to 1 if you have inet sockets. */ |
| 295 | #undef HAVE_INET_SOCKETS | 292 | #undef HAVE_INET_SOCKETS |
| 296 | 293 | ||
| @@ -537,9 +534,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 537 | /* Define to 1 if res_init is available. */ | 534 | /* Define to 1 if res_init is available. */ |
| 538 | #undef HAVE_RES_INIT | 535 | #undef HAVE_RES_INIT |
| 539 | 536 | ||
| 540 | /* Define to 1 if you have the `rindex' function. */ | ||
| 541 | #undef HAVE_RINDEX | ||
| 542 | |||
| 543 | /* Define to 1 if you have the `rint' function. */ | 537 | /* Define to 1 if you have the `rint' function. */ |
| 544 | #undef HAVE_RINT | 538 | #undef HAVE_RINT |
| 545 | 539 | ||
| @@ -597,6 +591,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 597 | /* Define to 1 if you have the <stdlib.h> header file. */ | 591 | /* Define to 1 if you have the <stdlib.h> header file. */ |
| 598 | #undef HAVE_STDLIB_H | 592 | #undef HAVE_STDLIB_H |
| 599 | 593 | ||
| 594 | /* Define to 1 if you have the `strchr' function. */ | ||
| 595 | #undef HAVE_STRCHR | ||
| 596 | |||
| 600 | /* Define to 1 if you have the `strerror' function. */ | 597 | /* Define to 1 if you have the `strerror' function. */ |
| 601 | #undef HAVE_STRERROR | 598 | #undef HAVE_STRERROR |
| 602 | 599 | ||
| @@ -609,6 +606,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 609 | /* Define to 1 if you have the <string.h> header file. */ | 606 | /* Define to 1 if you have the <string.h> header file. */ |
| 610 | #undef HAVE_STRING_H | 607 | #undef HAVE_STRING_H |
| 611 | 608 | ||
| 609 | /* Define to 1 if you have the `strrchr' function. */ | ||
| 610 | #undef HAVE_STRRCHR | ||
| 611 | |||
| 612 | /* Define to 1 if you have the `strsignal' function. */ | 612 | /* Define to 1 if you have the `strsignal' function. */ |
| 613 | #undef HAVE_STRSIGNAL | 613 | #undef HAVE_STRSIGNAL |
| 614 | 614 | ||
| @@ -1154,6 +1154,14 @@ void *alloca (size_t); | |||
| 1154 | typedef unsigned size_t; | 1154 | typedef unsigned size_t; |
| 1155 | #endif | 1155 | #endif |
| 1156 | 1156 | ||
| 1157 | #ifndef HAVE_STRCHR | ||
| 1158 | #define strchr(a, b) index (a, b) | ||
| 1159 | #endif | ||
| 1160 | |||
| 1161 | #ifndef HAVE_STRRCHR | ||
| 1162 | #define strrchr(a, b) rindex (a, b) | ||
| 1163 | #endif | ||
| 1164 | |||
| 1157 | #if defined __GNUC__ && (__GNUC__ > 2 \ | 1165 | #if defined __GNUC__ && (__GNUC__ > 2 \ |
| 1158 | || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5)) | 1166 | || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5)) |
| 1159 | #define NO_RETURN __attribute__ ((__noreturn__)) | 1167 | #define NO_RETURN __attribute__ ((__noreturn__)) |
diff --git a/src/dbusbind.c b/src/dbusbind.c index 005b04950b9..c5dbb62aed9 100644 --- a/src/dbusbind.c +++ b/src/dbusbind.c | |||
| @@ -714,9 +714,11 @@ xd_retrieve_arg (unsigned int dtype, DBusMessageIter *iter) | |||
| 714 | } | 714 | } |
| 715 | 715 | ||
| 716 | /* Initialize D-Bus connection. BUS is a Lisp symbol, either :system | 716 | /* Initialize D-Bus connection. BUS is a Lisp symbol, either :system |
| 717 | or :session. It tells which D-Bus to be initialized. */ | 717 | or :session. It tells which D-Bus to be initialized. RAISE_ERROR |
| 718 | can be TRUE or FALSE, it controls whether an error is signalled in | ||
| 719 | case the connection cannot be initialized. */ | ||
| 718 | static DBusConnection * | 720 | static DBusConnection * |
| 719 | xd_initialize (Lisp_Object bus) | 721 | xd_initialize (Lisp_Object bus, int raise_error) |
| 720 | { | 722 | { |
| 721 | DBusConnection *connection; | 723 | DBusConnection *connection; |
| 722 | DBusError derror; | 724 | DBusError derror; |
| @@ -724,12 +726,18 @@ xd_initialize (Lisp_Object bus) | |||
| 724 | /* Parameter check. */ | 726 | /* Parameter check. */ |
| 725 | CHECK_SYMBOL (bus); | 727 | CHECK_SYMBOL (bus); |
| 726 | if (!(EQ (bus, QCdbus_system_bus) || EQ (bus, QCdbus_session_bus))) | 728 | if (!(EQ (bus, QCdbus_system_bus) || EQ (bus, QCdbus_session_bus))) |
| 727 | XD_SIGNAL2 (build_string ("Wrong bus name"), bus); | 729 | if (raise_error == TRUE) |
| 730 | XD_SIGNAL2 (build_string ("Wrong bus name"), bus); | ||
| 731 | else | ||
| 732 | return NULL; | ||
| 728 | 733 | ||
| 729 | /* We do not want to have an autolaunch for the session bus. */ | 734 | /* We do not want to have an autolaunch for the session bus. */ |
| 730 | if (EQ (bus, QCdbus_session_bus) | 735 | if (EQ (bus, QCdbus_session_bus) |
| 731 | && getenv ("DBUS_SESSION_BUS_ADDRESS") == NULL) | 736 | && getenv ("DBUS_SESSION_BUS_ADDRESS") == NULL) |
| 732 | XD_SIGNAL2 (build_string ("No connection to bus"), bus); | 737 | if (raise_error == TRUE) |
| 738 | XD_SIGNAL2 (build_string ("No connection to bus"), bus); | ||
| 739 | else | ||
| 740 | return NULL; | ||
| 733 | 741 | ||
| 734 | /* Open a connection to the bus. */ | 742 | /* Open a connection to the bus. */ |
| 735 | dbus_error_init (&derror); | 743 | dbus_error_init (&derror); |
| @@ -740,9 +748,12 @@ xd_initialize (Lisp_Object bus) | |||
| 740 | connection = dbus_bus_get (DBUS_BUS_SESSION, &derror); | 748 | connection = dbus_bus_get (DBUS_BUS_SESSION, &derror); |
| 741 | 749 | ||
| 742 | if (dbus_error_is_set (&derror)) | 750 | if (dbus_error_is_set (&derror)) |
| 743 | XD_ERROR (derror); | 751 | if (raise_error == TRUE) |
| 752 | XD_ERROR (derror); | ||
| 753 | else | ||
| 754 | connection = NULL; | ||
| 744 | 755 | ||
| 745 | if (connection == NULL) | 756 | if ((connection == NULL) && (raise_error == TRUE)) |
| 746 | XD_SIGNAL2 (build_string ("No connection to bus"), bus); | 757 | XD_SIGNAL2 (build_string ("No connection to bus"), bus); |
| 747 | 758 | ||
| 748 | /* Cleanup. */ | 759 | /* Cleanup. */ |
| @@ -829,7 +840,7 @@ This is an internal function, it shall not be used outside dbus.el. */) | |||
| 829 | CHECK_SYMBOL (bus); | 840 | CHECK_SYMBOL (bus); |
| 830 | 841 | ||
| 831 | /* Open a connection to the bus. */ | 842 | /* Open a connection to the bus. */ |
| 832 | connection = xd_initialize (bus); | 843 | connection = xd_initialize (bus, TRUE); |
| 833 | 844 | ||
| 834 | /* Add the watch functions. We pass also the bus as data, in order | 845 | /* Add the watch functions. We pass also the bus as data, in order |
| 835 | to distinguish between the busses in xd_remove_watch. */ | 846 | to distinguish between the busses in xd_remove_watch. */ |
| @@ -855,7 +866,7 @@ DEFUN ("dbus-get-unique-name", Fdbus_get_unique_name, Sdbus_get_unique_name, | |||
| 855 | CHECK_SYMBOL (bus); | 866 | CHECK_SYMBOL (bus); |
| 856 | 867 | ||
| 857 | /* Open a connection to the bus. */ | 868 | /* Open a connection to the bus. */ |
| 858 | connection = xd_initialize (bus); | 869 | connection = xd_initialize (bus, TRUE); |
| 859 | 870 | ||
| 860 | /* Request the name. */ | 871 | /* Request the name. */ |
| 861 | name = dbus_bus_get_unique_name (connection); | 872 | name = dbus_bus_get_unique_name (connection); |
| @@ -970,7 +981,7 @@ usage: (dbus-call-method BUS SERVICE PATH INTERFACE METHOD &optional :timeout TI | |||
| 970 | SDATA (method)); | 981 | SDATA (method)); |
| 971 | 982 | ||
| 972 | /* Open a connection to the bus. */ | 983 | /* Open a connection to the bus. */ |
| 973 | connection = xd_initialize (bus); | 984 | connection = xd_initialize (bus, TRUE); |
| 974 | 985 | ||
| 975 | /* Create the message. */ | 986 | /* Create the message. */ |
| 976 | dmessage = dbus_message_new_method_call (SDATA (service), | 987 | dmessage = dbus_message_new_method_call (SDATA (service), |
| @@ -1153,7 +1164,7 @@ usage: (dbus-call-method-asynchronously BUS SERVICE PATH INTERFACE METHOD HANDLE | |||
| 1153 | SDATA (method)); | 1164 | SDATA (method)); |
| 1154 | 1165 | ||
| 1155 | /* Open a connection to the bus. */ | 1166 | /* Open a connection to the bus. */ |
| 1156 | connection = xd_initialize (bus); | 1167 | connection = xd_initialize (bus, TRUE); |
| 1157 | 1168 | ||
| 1158 | /* Create the message. */ | 1169 | /* Create the message. */ |
| 1159 | dmessage = dbus_message_new_method_call (SDATA (service), | 1170 | dmessage = dbus_message_new_method_call (SDATA (service), |
| @@ -1268,7 +1279,7 @@ usage: (dbus-method-return-internal BUS SERIAL SERVICE &rest ARGS) */) | |||
| 1268 | XD_DEBUG_MESSAGE ("%lu %s ", (unsigned long) XUINT (serial), SDATA (service)); | 1279 | XD_DEBUG_MESSAGE ("%lu %s ", (unsigned long) XUINT (serial), SDATA (service)); |
| 1269 | 1280 | ||
| 1270 | /* Open a connection to the bus. */ | 1281 | /* Open a connection to the bus. */ |
| 1271 | connection = xd_initialize (bus); | 1282 | connection = xd_initialize (bus, TRUE); |
| 1272 | 1283 | ||
| 1273 | /* Create the message. */ | 1284 | /* Create the message. */ |
| 1274 | dmessage = dbus_message_new (DBUS_MESSAGE_TYPE_METHOD_RETURN); | 1285 | dmessage = dbus_message_new (DBUS_MESSAGE_TYPE_METHOD_RETURN); |
| @@ -1360,7 +1371,7 @@ usage: (dbus-method-error-internal BUS SERIAL SERVICE &rest ARGS) */) | |||
| 1360 | XD_DEBUG_MESSAGE ("%lu %s ", (unsigned long) XUINT (serial), SDATA (service)); | 1371 | XD_DEBUG_MESSAGE ("%lu %s ", (unsigned long) XUINT (serial), SDATA (service)); |
| 1361 | 1372 | ||
| 1362 | /* Open a connection to the bus. */ | 1373 | /* Open a connection to the bus. */ |
| 1363 | connection = xd_initialize (bus); | 1374 | connection = xd_initialize (bus, TRUE); |
| 1364 | 1375 | ||
| 1365 | /* Create the message. */ | 1376 | /* Create the message. */ |
| 1366 | dmessage = dbus_message_new (DBUS_MESSAGE_TYPE_ERROR); | 1377 | dmessage = dbus_message_new (DBUS_MESSAGE_TYPE_ERROR); |
| @@ -1483,7 +1494,7 @@ usage: (dbus-send-signal BUS SERVICE PATH INTERFACE SIGNAL &rest ARGS) */) | |||
| 1483 | SDATA (signal)); | 1494 | SDATA (signal)); |
| 1484 | 1495 | ||
| 1485 | /* Open a connection to the bus. */ | 1496 | /* Open a connection to the bus. */ |
| 1486 | connection = xd_initialize (bus); | 1497 | connection = xd_initialize (bus, TRUE); |
| 1487 | 1498 | ||
| 1488 | /* Create the message. */ | 1499 | /* Create the message. */ |
| 1489 | dmessage = dbus_message_new_signal (SDATA (path), | 1500 | dmessage = dbus_message_new_signal (SDATA (path), |
| @@ -1548,7 +1559,8 @@ xd_get_dispatch_status (Lisp_Object bus) | |||
| 1548 | DBusConnection *connection; | 1559 | DBusConnection *connection; |
| 1549 | 1560 | ||
| 1550 | /* Open a connection to the bus. */ | 1561 | /* Open a connection to the bus. */ |
| 1551 | connection = xd_initialize (bus); | 1562 | connection = xd_initialize (bus, FALSE); |
| 1563 | if (connection == NULL) return FALSE; | ||
| 1552 | 1564 | ||
| 1553 | /* Non blocking read of the next available message. */ | 1565 | /* Non blocking read of the next available message. */ |
| 1554 | dbus_connection_read_write (connection, 0); | 1566 | dbus_connection_read_write (connection, 0); |
| @@ -1592,7 +1604,7 @@ xd_read_message (Lisp_Object bus) | |||
| 1592 | const char *uname, *path, *interface, *member; | 1604 | const char *uname, *path, *interface, *member; |
| 1593 | 1605 | ||
| 1594 | /* Open a connection to the bus. */ | 1606 | /* Open a connection to the bus. */ |
| 1595 | connection = xd_initialize (bus); | 1607 | connection = xd_initialize (bus, TRUE); |
| 1596 | 1608 | ||
| 1597 | /* Non blocking read of the next available message. */ | 1609 | /* Non blocking read of the next available message. */ |
| 1598 | dbus_connection_read_write (connection, 0); | 1610 | dbus_connection_read_write (connection, 0); |
| @@ -1842,7 +1854,7 @@ usage: (dbus-register-signal BUS SERVICE PATH INTERFACE SIGNAL HANDLER &rest ARG | |||
| 1842 | if (NILP (uname) || (SBYTES (uname) > 0)) | 1854 | if (NILP (uname) || (SBYTES (uname) > 0)) |
| 1843 | { | 1855 | { |
| 1844 | /* Open a connection to the bus. */ | 1856 | /* Open a connection to the bus. */ |
| 1845 | connection = xd_initialize (bus); | 1857 | connection = xd_initialize (bus, TRUE); |
| 1846 | 1858 | ||
| 1847 | /* Create a rule to receive related signals. */ | 1859 | /* Create a rule to receive related signals. */ |
| 1848 | sprintf (rule, | 1860 | sprintf (rule, |
| @@ -1932,7 +1944,7 @@ used for composing the returning D-Bus message. */) | |||
| 1932 | a segmentation fault. */ | 1944 | a segmentation fault. */ |
| 1933 | 1945 | ||
| 1934 | /* Open a connection to the bus. */ | 1946 | /* Open a connection to the bus. */ |
| 1935 | connection = xd_initialize (bus); | 1947 | connection = xd_initialize (bus, TRUE); |
| 1936 | 1948 | ||
| 1937 | /* Request the known name from the bus. We can ignore the result, | 1949 | /* Request the known name from the bus. We can ignore the result, |
| 1938 | it is set to -1 if there is an error - kind of redundancy. */ | 1950 | it is set to -1 if there is an error - kind of redundancy. */ |
diff --git a/src/dispextern.h b/src/dispextern.h index 9bafb49dd91..5ca7e813a1e 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -105,6 +105,8 @@ enum window_part | |||
| 105 | /* Number of bits allocated to store fringe bitmap numbers. */ | 105 | /* Number of bits allocated to store fringe bitmap numbers. */ |
| 106 | #define FRINGE_ID_BITS 16 | 106 | #define FRINGE_ID_BITS 16 |
| 107 | 107 | ||
| 108 | /* Number of bits allocated to store fringe bitmap height. */ | ||
| 109 | #define FRINGE_HEIGHT_BITS 8 | ||
| 108 | 110 | ||
| 109 | 111 | ||
| 110 | /*********************************************************************** | 112 | /*********************************************************************** |
| @@ -800,6 +802,12 @@ struct glyph_row | |||
| 800 | /* Face of the right fringe glyph. */ | 802 | /* Face of the right fringe glyph. */ |
| 801 | unsigned right_fringe_face_id : FACE_ID_BITS; | 803 | unsigned right_fringe_face_id : FACE_ID_BITS; |
| 802 | 804 | ||
| 805 | /* Vertical offset of the left fringe bitmap. */ | ||
| 806 | signed left_fringe_offset : FRINGE_HEIGHT_BITS; | ||
| 807 | |||
| 808 | /* Vertical offset of the right fringe bitmap. */ | ||
| 809 | signed right_fringe_offset : FRINGE_HEIGHT_BITS; | ||
| 810 | |||
| 803 | /* 1 means that we must draw the bitmaps of this row. */ | 811 | /* 1 means that we must draw the bitmaps of this row. */ |
| 804 | unsigned redraw_fringe_bitmaps_p : 1; | 812 | unsigned redraw_fringe_bitmaps_p : 1; |
| 805 | 813 | ||
| @@ -45,10 +45,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 45 | #include "keymap.h" | 45 | #include "keymap.h" |
| 46 | #include "buildobj.h" | 46 | #include "buildobj.h" |
| 47 | 47 | ||
| 48 | #ifdef HAVE_INDEX | ||
| 49 | extern char *index (const char *, int); | ||
| 50 | #endif | ||
| 51 | |||
| 52 | Lisp_Object Vdoc_file_name; | 48 | Lisp_Object Vdoc_file_name; |
| 53 | 49 | ||
| 54 | Lisp_Object Qfunction_documentation; | 50 | Lisp_Object Qfunction_documentation; |
| @@ -218,9 +214,9 @@ get_doc_string (Lisp_Object filepos, int unibyte, int definition) | |||
| 218 | if (!nread) | 214 | if (!nread) |
| 219 | break; | 215 | break; |
| 220 | if (p == get_doc_string_buffer) | 216 | if (p == get_doc_string_buffer) |
| 221 | p1 = (char *) index (p + offset, '\037'); | 217 | p1 = strchr (p + offset, '\037'); |
| 222 | else | 218 | else |
| 223 | p1 = (char *) index (p, '\037'); | 219 | p1 = strchr (p, '\037'); |
| 224 | if (p1) | 220 | if (p1) |
| 225 | { | 221 | { |
| 226 | *p1 = 0; | 222 | *p1 = 0; |
| @@ -633,7 +629,7 @@ the same file name is found in the `doc-directory'. */) | |||
| 633 | /* p points to ^_Ffunctionname\n or ^_Vvarname\n. */ | 629 | /* p points to ^_Ffunctionname\n or ^_Vvarname\n. */ |
| 634 | if (p != end) | 630 | if (p != end) |
| 635 | { | 631 | { |
| 636 | end = (char *) index (p, '\n'); | 632 | end = strchr (p, '\n'); |
| 637 | 633 | ||
| 638 | /* See if this is a file name, and if it is a file in build-files. */ | 634 | /* See if this is a file name, and if it is a file in build-files. */ |
| 639 | if (p[1] == 'S' && end - p > 4 && end[-2] == '.' | 635 | if (p[1] == 'S' && end - p > 4 && end[-2] == '.' |
diff --git a/src/doprnt.c b/src/doprnt.c index 3ff2f70dd34..1b45b21e36b 100644 --- a/src/doprnt.c +++ b/src/doprnt.c | |||
| @@ -59,10 +59,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 59 | Integers are passed as C integers. */ | 59 | Integers are passed as C integers. */ |
| 60 | 60 | ||
| 61 | int | 61 | int |
| 62 | doprnt (char *buffer, register int bufsize, char *format, char *format_end, int nargs, char **args) | 62 | doprnt (char *buffer, register int bufsize, const char *format, |
| 63 | const char *format_end, va_list ap) | ||
| 63 | { | 64 | { |
| 64 | int cnt = 0; /* Number of arg to gobble next */ | 65 | const char *fmt = format; /* Pointer into format string */ |
| 65 | register char *fmt = format; /* Pointer into format string */ | ||
| 66 | register char *bufptr = buffer; /* Pointer into output buffer.. */ | 66 | register char *bufptr = buffer; /* Pointer into output buffer.. */ |
| 67 | 67 | ||
| 68 | /* Use this for sprintf unless we need something really big. */ | 68 | /* Use this for sprintf unless we need something really big. */ |
| @@ -161,8 +161,6 @@ doprnt (char *buffer, register int bufsize, char *format, char *format_end, int | |||
| 161 | case 'd': | 161 | case 'd': |
| 162 | case 'o': | 162 | case 'o': |
| 163 | case 'x': | 163 | case 'x': |
| 164 | if (cnt == nargs) | ||
| 165 | error ("Not enough arguments for format string"); | ||
| 166 | if (sizeof (int) == sizeof (EMACS_INT)) | 164 | if (sizeof (int) == sizeof (EMACS_INT)) |
| 167 | ; | 165 | ; |
| 168 | else if (sizeof (long) == sizeof (EMACS_INT)) | 166 | else if (sizeof (long) == sizeof (EMACS_INT)) |
| @@ -173,7 +171,7 @@ doprnt (char *buffer, register int bufsize, char *format, char *format_end, int | |||
| 173 | string++; | 171 | string++; |
| 174 | else | 172 | else |
| 175 | abort (); | 173 | abort (); |
| 176 | sprintf (sprintf_buffer, fmtcpy, args[cnt++]); | 174 | sprintf (sprintf_buffer, fmtcpy, va_arg(ap, char *)); |
| 177 | /* Now copy into final output, truncating as nec. */ | 175 | /* Now copy into final output, truncating as nec. */ |
| 178 | string = (unsigned char *) sprintf_buffer; | 176 | string = (unsigned char *) sprintf_buffer; |
| 179 | goto doit; | 177 | goto doit; |
| @@ -182,12 +180,8 @@ doprnt (char *buffer, register int bufsize, char *format, char *format_end, int | |||
| 182 | case 'e': | 180 | case 'e': |
| 183 | case 'g': | 181 | case 'g': |
| 184 | { | 182 | { |
| 185 | union { double d; char *half[2]; } u; | 183 | double d = va_arg(ap, double); |
| 186 | if (cnt + 1 == nargs) | 184 | sprintf (sprintf_buffer, fmtcpy, d); |
| 187 | error ("Not enough arguments for format string"); | ||
| 188 | u.half[0] = args[cnt++]; | ||
| 189 | u.half[1] = args[cnt++]; | ||
| 190 | sprintf (sprintf_buffer, fmtcpy, u.d); | ||
| 191 | /* Now copy into final output, truncating as nec. */ | 185 | /* Now copy into final output, truncating as nec. */ |
| 192 | string = (unsigned char *) sprintf_buffer; | 186 | string = (unsigned char *) sprintf_buffer; |
| 193 | goto doit; | 187 | goto doit; |
| @@ -196,11 +190,9 @@ doprnt (char *buffer, register int bufsize, char *format, char *format_end, int | |||
| 196 | case 'S': | 190 | case 'S': |
| 197 | string[-1] = 's'; | 191 | string[-1] = 's'; |
| 198 | case 's': | 192 | case 's': |
| 199 | if (cnt == nargs) | ||
| 200 | error ("Not enough arguments for format string"); | ||
| 201 | if (fmtcpy[1] != 's') | 193 | if (fmtcpy[1] != 's') |
| 202 | minlen = atoi (&fmtcpy[1]); | 194 | minlen = atoi (&fmtcpy[1]); |
| 203 | string = (unsigned char *) args[cnt++]; | 195 | string = va_arg(ap, unsigned char *); |
| 204 | tem = strlen (string); | 196 | tem = strlen (string); |
| 205 | width = strwidth (string, tem); | 197 | width = strwidth (string, tem); |
| 206 | goto doit1; | 198 | goto doit1; |
| @@ -250,16 +242,21 @@ doprnt (char *buffer, register int bufsize, char *format, char *format_end, int | |||
| 250 | continue; | 242 | continue; |
| 251 | 243 | ||
| 252 | case 'c': | 244 | case 'c': |
| 253 | if (cnt == nargs) | 245 | { |
| 254 | error ("Not enough arguments for format string"); | 246 | /* Sometimes for %c we pass a char, which would widen |
| 255 | tem = CHAR_STRING ((int) (EMACS_INT) args[cnt], charbuf); | 247 | to int. Sometimes we pass XFASTINT() or XINT() |
| 256 | string = charbuf; | 248 | values, which would be EMACS_INT. Let's hope that |
| 257 | cnt++; | 249 | both are passed the same way, otherwise we'll need |
| 258 | string[tem] = 0; | 250 | to rewrite callers. */ |
| 259 | width = strwidth (string, tem); | 251 | EMACS_INT chr = va_arg(ap, EMACS_INT); |
| 260 | if (fmtcpy[1] != 'c') | 252 | tem = CHAR_STRING ((int) chr, charbuf); |
| 261 | minlen = atoi (&fmtcpy[1]); | 253 | string = charbuf; |
| 262 | goto doit1; | 254 | string[tem] = 0; |
| 255 | width = strwidth (string, tem); | ||
| 256 | if (fmtcpy[1] != 'c') | ||
| 257 | minlen = atoi (&fmtcpy[1]); | ||
| 258 | goto doit1; | ||
| 259 | } | ||
| 263 | 260 | ||
| 264 | case '%': | 261 | case '%': |
| 265 | fmt--; /* Drop thru and this % will be treated as normal */ | 262 | fmt--; /* Drop thru and this % will be treated as normal */ |
diff --git a/src/editfns.c b/src/editfns.c index fe493162c01..2d8fcb6c85b 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -109,10 +109,6 @@ static Lisp_Object subst_char_in_region_unwind (Lisp_Object); | |||
| 109 | static Lisp_Object subst_char_in_region_unwind_1 (Lisp_Object); | 109 | static Lisp_Object subst_char_in_region_unwind_1 (Lisp_Object); |
| 110 | static void transpose_markers (int, int, int, int, int, int, int, int); | 110 | static void transpose_markers (int, int, int, int, int, int, int, int); |
| 111 | 111 | ||
| 112 | #ifdef HAVE_INDEX | ||
| 113 | extern char *index (const char *, int); | ||
| 114 | #endif | ||
| 115 | |||
| 116 | Lisp_Object Vbuffer_access_fontify_functions; | 112 | Lisp_Object Vbuffer_access_fontify_functions; |
| 117 | Lisp_Object Qbuffer_access_fontify_functions; | 113 | Lisp_Object Qbuffer_access_fontify_functions; |
| 118 | Lisp_Object Vbuffer_access_fontified_property; | 114 | Lisp_Object Vbuffer_access_fontified_property; |
| @@ -1369,12 +1365,12 @@ name, or nil if there is no such user. */) | |||
| 1369 | 1365 | ||
| 1370 | p = (unsigned char *) USER_FULL_NAME; | 1366 | p = (unsigned char *) USER_FULL_NAME; |
| 1371 | /* Chop off everything after the first comma. */ | 1367 | /* Chop off everything after the first comma. */ |
| 1372 | q = (unsigned char *) index (p, ','); | 1368 | q = (unsigned char *) strchr (p, ','); |
| 1373 | full = make_string (p, q ? q - p : strlen (p)); | 1369 | full = make_string (p, q ? q - p : strlen (p)); |
| 1374 | 1370 | ||
| 1375 | #ifdef AMPERSAND_FULL_NAME | 1371 | #ifdef AMPERSAND_FULL_NAME |
| 1376 | p = SDATA (full); | 1372 | p = SDATA (full); |
| 1377 | q = (unsigned char *) index (p, '&'); | 1373 | q = (unsigned char *) strchr (p, '&'); |
| 1378 | /* Substitute the login name for the &, upcasing the first character. */ | 1374 | /* Substitute the login name for the &, upcasing the first character. */ |
| 1379 | if (q) | 1375 | if (q) |
| 1380 | { | 1376 | { |
| @@ -2045,7 +2041,7 @@ static char set_time_zone_rule_tz2[] = "TZ=GMT+1"; | |||
| 2045 | responsibility to free. */ | 2041 | responsibility to free. */ |
| 2046 | 2042 | ||
| 2047 | void | 2043 | void |
| 2048 | set_time_zone_rule (char *tzstring) | 2044 | set_time_zone_rule (const char *tzstring) |
| 2049 | { | 2045 | { |
| 2050 | int envptrs; | 2046 | int envptrs; |
| 2051 | char **from, **to, **newenv; | 2047 | char **from, **to, **newenv; |
| @@ -3813,7 +3809,7 @@ usage: (format STRING &rest OBJECTS) */) | |||
| 3813 | discarded[format - format_start] = 1; | 3809 | discarded[format - format_start] = 1; |
| 3814 | format++; | 3810 | format++; |
| 3815 | 3811 | ||
| 3816 | while (index ("-+0# ", *format)) | 3812 | while (strchr ("-+0# ", *format)) |
| 3817 | { | 3813 | { |
| 3818 | if (*format == '-') | 3814 | if (*format == '-') |
| 3819 | { | 3815 | { |
| @@ -4111,7 +4107,7 @@ usage: (format STRING &rest OBJECTS) */) | |||
| 4111 | } | 4107 | } |
| 4112 | 4108 | ||
| 4113 | Lisp_Object | 4109 | Lisp_Object |
| 4114 | format2 (char *string1, Lisp_Object arg0, Lisp_Object arg1) | 4110 | format2 (const char *string1, Lisp_Object arg0, Lisp_Object arg1) |
| 4115 | { | 4111 | { |
| 4116 | Lisp_Object args[3]; | 4112 | Lisp_Object args[3]; |
| 4117 | args[0] = build_string (string1); | 4113 | args[0] = build_string (string1); |
diff --git a/src/emacs.c b/src/emacs.c index 92d8b82cbd7..e00c49b8d24 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -90,12 +90,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 90 | const char emacs_copyright[] = "Copyright (C) 2010 Free Software Foundation, Inc."; | 90 | const char emacs_copyright[] = "Copyright (C) 2010 Free Software Foundation, Inc."; |
| 91 | const char emacs_version[] = "24.0.50"; | 91 | const char emacs_version[] = "24.0.50"; |
| 92 | 92 | ||
| 93 | extern void malloc_warning (char *); | ||
| 94 | extern void set_time_zone_rule (char *); | ||
| 95 | #ifdef HAVE_INDEX | ||
| 96 | extern char *index (const char *, int); | ||
| 97 | #endif | ||
| 98 | |||
| 99 | /* Make these values available in GDB, which doesn't see macros. */ | 93 | /* Make these values available in GDB, which doesn't see macros. */ |
| 100 | 94 | ||
| 101 | #ifdef USE_LSB_TAG | 95 | #ifdef USE_LSB_TAG |
| @@ -664,7 +658,7 @@ argmatch (char **argv, int argc, char *sstr, char *lstr, int minlen, char **valp | |||
| 664 | *skipptr += 1; | 658 | *skipptr += 1; |
| 665 | return 1; | 659 | return 1; |
| 666 | } | 660 | } |
| 667 | arglen = (valptr != NULL && (p = index (arg, '=')) != NULL | 661 | arglen = (valptr != NULL && (p = strchr (arg, '=')) != NULL |
| 668 | ? p - arg : strlen (arg)); | 662 | ? p - arg : strlen (arg)); |
| 669 | if (lstr == 0 || arglen < minlen || strncmp (arg, lstr, arglen) != 0) | 663 | if (lstr == 0 || arglen < minlen || strncmp (arg, lstr, arglen) != 0) |
| 670 | return 0; | 664 | return 0; |
| @@ -1976,7 +1970,7 @@ sort_args (int argc, char **argv) | |||
| 1976 | { | 1970 | { |
| 1977 | match = -1; | 1971 | match = -1; |
| 1978 | thislen = strlen (argv[from]); | 1972 | thislen = strlen (argv[from]); |
| 1979 | equals = index (argv[from], '='); | 1973 | equals = strchr (argv[from], '='); |
| 1980 | if (equals != 0) | 1974 | if (equals != 0) |
| 1981 | thislen = equals - argv[from]; | 1975 | thislen = equals - argv[from]; |
| 1982 | 1976 | ||
| @@ -2344,17 +2338,16 @@ synchronize_system_messages_locale () | |||
| 2344 | #endif | 2338 | #endif |
| 2345 | 2339 | ||
| 2346 | Lisp_Object | 2340 | Lisp_Object |
| 2347 | decode_env_path (evarname, defalt) | 2341 | decode_env_path (const char *evarname, const char *defalt) |
| 2348 | char *evarname, *defalt; | ||
| 2349 | { | 2342 | { |
| 2350 | register char *path, *p; | 2343 | const char *path, *p; |
| 2351 | Lisp_Object lpath, element, tem; | 2344 | Lisp_Object lpath, element, tem; |
| 2352 | 2345 | ||
| 2353 | /* It's okay to use getenv here, because this function is only used | 2346 | /* It's okay to use getenv here, because this function is only used |
| 2354 | to initialize variables when Emacs starts up, and isn't called | 2347 | to initialize variables when Emacs starts up, and isn't called |
| 2355 | after that. */ | 2348 | after that. */ |
| 2356 | if (evarname != 0) | 2349 | if (evarname != 0) |
| 2357 | path = (char *) getenv (evarname); | 2350 | path = getenv (evarname); |
| 2358 | else | 2351 | else |
| 2359 | path = 0; | 2352 | path = 0; |
| 2360 | if (!path) | 2353 | if (!path) |
| @@ -2363,18 +2356,18 @@ decode_env_path (evarname, defalt) | |||
| 2363 | /* Ensure values from the environment use the proper directory separator. */ | 2356 | /* Ensure values from the environment use the proper directory separator. */ |
| 2364 | if (path) | 2357 | if (path) |
| 2365 | { | 2358 | { |
| 2366 | p = alloca (strlen (path) + 1); | 2359 | char *path_copy = alloca (strlen (path) + 1); |
| 2367 | strcpy (p, path); | 2360 | strcpy (path_copy, path); |
| 2368 | path = p; | 2361 | dostounix_filename (path_copy); |
| 2369 | 2362 | path = path_copy; | |
| 2370 | dostounix_filename (path); | ||
| 2371 | } | 2363 | } |
| 2372 | #endif | 2364 | #endif |
| 2373 | lpath = Qnil; | 2365 | lpath = Qnil; |
| 2374 | while (1) | 2366 | while (1) |
| 2375 | { | 2367 | { |
| 2376 | p = index (path, SEPCHAR); | 2368 | p = strchr (path, SEPCHAR); |
| 2377 | if (!p) p = path + strlen (path); | 2369 | if (!p) |
| 2370 | p = path + strlen (path); | ||
| 2378 | element = (p - path ? make_string (path, p - path) | 2371 | element = (p - path ? make_string (path, p - path) |
| 2379 | : build_string (".")); | 2372 | : build_string (".")); |
| 2380 | 2373 | ||
diff --git a/src/eval.c b/src/eval.c index fa65a5f0d6e..1a7eb4a123e 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* Evaluator for GNU Emacs Lisp interpreter. | 1 | /* Evaluator for GNU Emacs Lisp interpreter. |
| 2 | Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1999, 2000, 2001, | 2 | Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1999, 2000, 2001, |
| 3 | 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 | 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | Free Software Foundation, Inc. | 4 | Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is part of GNU Emacs. | 6 | This file is part of GNU Emacs. |
| 7 | 7 | ||
| @@ -172,14 +172,6 @@ extern Lisp_Object Qfunction; | |||
| 172 | 172 | ||
| 173 | static Lisp_Object funcall_lambda (Lisp_Object, int, Lisp_Object*); | 173 | static Lisp_Object funcall_lambda (Lisp_Object, int, Lisp_Object*); |
| 174 | static void unwind_to_catch (struct catchtag *, Lisp_Object) NO_RETURN; | 174 | static void unwind_to_catch (struct catchtag *, Lisp_Object) NO_RETURN; |
| 175 | |||
| 176 | #if __GNUC__ | ||
| 177 | /* "gcc -O3" enables automatic function inlining, which optimizes out | ||
| 178 | the arguments for the invocations of these functions, whereas they | ||
| 179 | expect these values on the stack. */ | ||
| 180 | Lisp_Object apply1 (Lisp_Object fn, Lisp_Object arg) __attribute__((noinline)); | ||
| 181 | Lisp_Object call2 (Lisp_Object fn, Lisp_Object arg1, Lisp_Object arg2) __attribute__((noinline)); | ||
| 182 | #endif | ||
| 183 | 175 | ||
| 184 | void | 176 | void |
| 185 | init_eval_once (void) | 177 | init_eval_once (void) |
| @@ -435,7 +427,7 @@ usage: (prog1 FIRST BODY...) */) | |||
| 435 | do | 427 | do |
| 436 | { | 428 | { |
| 437 | if (!(argnum++)) | 429 | if (!(argnum++)) |
| 438 | val = Feval (Fcar (args_left)); | 430 | val = Feval (Fcar (args_left)); |
| 439 | else | 431 | else |
| 440 | Feval (Fcar (args_left)); | 432 | Feval (Fcar (args_left)); |
| 441 | args_left = Fcdr (args_left); | 433 | args_left = Fcdr (args_left); |
| @@ -470,7 +462,7 @@ usage: (prog2 FORM1 FORM2 BODY...) */) | |||
| 470 | do | 462 | do |
| 471 | { | 463 | { |
| 472 | if (!(argnum++)) | 464 | if (!(argnum++)) |
| 473 | val = Feval (Fcar (args_left)); | 465 | val = Feval (Fcar (args_left)); |
| 474 | else | 466 | else |
| 475 | Feval (Fcar (args_left)); | 467 | Feval (Fcar (args_left)); |
| 476 | args_left = Fcdr (args_left); | 468 | args_left = Fcdr (args_left); |
| @@ -944,30 +936,30 @@ chain of symbols. */) | |||
| 944 | /* If indirect and there's an alias loop, don't check anything else. */ | 936 | /* If indirect and there's an alias loop, don't check anything else. */ |
| 945 | if (XSYMBOL (variable)->redirect == SYMBOL_VARALIAS | 937 | if (XSYMBOL (variable)->redirect == SYMBOL_VARALIAS |
| 946 | && NILP (internal_condition_case_1 (lisp_indirect_variable, variable, | 938 | && NILP (internal_condition_case_1 (lisp_indirect_variable, variable, |
| 947 | Qt, user_variable_p_eh))) | 939 | Qt, user_variable_p_eh))) |
| 948 | return Qnil; | 940 | return Qnil; |
| 949 | 941 | ||
| 950 | while (1) | 942 | while (1) |
| 951 | { | 943 | { |
| 952 | documentation = Fget (variable, Qvariable_documentation); | 944 | documentation = Fget (variable, Qvariable_documentation); |
| 953 | if (INTEGERP (documentation) && XINT (documentation) < 0) | 945 | if (INTEGERP (documentation) && XINT (documentation) < 0) |
| 954 | return Qt; | 946 | return Qt; |
| 955 | if (STRINGP (documentation) | 947 | if (STRINGP (documentation) |
| 956 | && ((unsigned char) SREF (documentation, 0) == '*')) | 948 | && ((unsigned char) SREF (documentation, 0) == '*')) |
| 957 | return Qt; | 949 | return Qt; |
| 958 | /* If it is (STRING . INTEGER), a negative integer means a user variable. */ | 950 | /* If it is (STRING . INTEGER), a negative integer means a user variable. */ |
| 959 | if (CONSP (documentation) | 951 | if (CONSP (documentation) |
| 960 | && STRINGP (XCAR (documentation)) | 952 | && STRINGP (XCAR (documentation)) |
| 961 | && INTEGERP (XCDR (documentation)) | 953 | && INTEGERP (XCDR (documentation)) |
| 962 | && XINT (XCDR (documentation)) < 0) | 954 | && XINT (XCDR (documentation)) < 0) |
| 963 | return Qt; | 955 | return Qt; |
| 964 | /* Customizable? See `custom-variable-p'. */ | 956 | /* Customizable? See `custom-variable-p'. */ |
| 965 | if ((!NILP (Fget (variable, intern ("standard-value")))) | 957 | if ((!NILP (Fget (variable, intern ("standard-value")))) |
| 966 | || (!NILP (Fget (variable, intern ("custom-autoload"))))) | 958 | || (!NILP (Fget (variable, intern ("custom-autoload"))))) |
| 967 | return Qt; | 959 | return Qt; |
| 968 | 960 | ||
| 969 | if (!(XSYMBOL (variable)->redirect == SYMBOL_VARALIAS)) | 961 | if (!(XSYMBOL (variable)->redirect == SYMBOL_VARALIAS)) |
| 970 | return Qnil; | 962 | return Qnil; |
| 971 | 963 | ||
| 972 | /* An indirect variable? Let's follow the chain. */ | 964 | /* An indirect variable? Let's follow the chain. */ |
| 973 | XSETSYMBOL (variable, SYMBOL_ALIAS (XSYMBOL (variable))); | 965 | XSETSYMBOL (variable, SYMBOL_ALIAS (XSYMBOL (variable))); |
| @@ -1254,7 +1246,7 @@ unwind_to_catch (struct catchtag *catch, Lisp_Object value) | |||
| 1254 | last_time = catchlist == catch; | 1246 | last_time = catchlist == catch; |
| 1255 | 1247 | ||
| 1256 | /* Unwind the specpdl stack, and then restore the proper set of | 1248 | /* Unwind the specpdl stack, and then restore the proper set of |
| 1257 | handlers. */ | 1249 | handlers. */ |
| 1258 | unbind_to (catchlist->pdlcount, Qnil); | 1250 | unbind_to (catchlist->pdlcount, Qnil); |
| 1259 | handlerlist = catchlist->handlerlist; | 1251 | handlerlist = catchlist->handlerlist; |
| 1260 | catchlist = catchlist->next; | 1252 | catchlist = catchlist->next; |
| @@ -1265,8 +1257,8 @@ unwind_to_catch (struct catchtag *catch, Lisp_Object value) | |||
| 1265 | /* If x_catch_errors was done, turn it off now. | 1257 | /* If x_catch_errors was done, turn it off now. |
| 1266 | (First we give unbind_to a chance to do that.) */ | 1258 | (First we give unbind_to a chance to do that.) */ |
| 1267 | #if 0 /* This would disable x_catch_errors after x_connection_closed. | 1259 | #if 0 /* This would disable x_catch_errors after x_connection_closed. |
| 1268 | * The catch must remain in effect during that delicate | 1260 | The catch must remain in effect during that delicate |
| 1269 | * state. --lorentey */ | 1261 | state. --lorentey */ |
| 1270 | x_fully_uncatch_errors (); | 1262 | x_fully_uncatch_errors (); |
| 1271 | #endif | 1263 | #endif |
| 1272 | #endif | 1264 | #endif |
| @@ -1342,13 +1334,13 @@ instead of a single condition name. Then it handles all of them. | |||
| 1342 | When a handler handles an error, control returns to the `condition-case' | 1334 | When a handler handles an error, control returns to the `condition-case' |
| 1343 | and it executes the handler's BODY... | 1335 | and it executes the handler's BODY... |
| 1344 | with VAR bound to (ERROR-SYMBOL . SIGNAL-DATA) from the error. | 1336 | with VAR bound to (ERROR-SYMBOL . SIGNAL-DATA) from the error. |
| 1345 | (If VAR is nil, the handler can't access that information.) | 1337 | \(If VAR is nil, the handler can't access that information.) |
| 1346 | Then the value of the last BODY form is returned from the `condition-case' | 1338 | Then the value of the last BODY form is returned from the `condition-case' |
| 1347 | expression. | 1339 | expression. |
| 1348 | 1340 | ||
| 1349 | See also the function `signal' for more info. | 1341 | See also the function `signal' for more info. |
| 1350 | usage: (condition-case VAR BODYFORM &rest HANDLERS) */) | 1342 | usage: (condition-case VAR BODYFORM &rest HANDLERS) */) |
| 1351 | (Lisp_Object args) | 1343 | (Lisp_Object args) |
| 1352 | { | 1344 | { |
| 1353 | register Lisp_Object bodyform, handlers; | 1345 | register Lisp_Object bodyform, handlers; |
| 1354 | volatile Lisp_Object var; | 1346 | volatile Lisp_Object var; |
| @@ -1397,7 +1389,7 @@ internal_lisp_condition_case (volatile Lisp_Object var, Lisp_Object bodyform, | |||
| 1397 | if (_setjmp (c.jmp)) | 1389 | if (_setjmp (c.jmp)) |
| 1398 | { | 1390 | { |
| 1399 | if (!NILP (h.var)) | 1391 | if (!NILP (h.var)) |
| 1400 | specbind (h.var, c.val); | 1392 | specbind (h.var, c.val); |
| 1401 | val = Fprogn (Fcdr (h.chosen_clause)); | 1393 | val = Fprogn (Fcdr (h.chosen_clause)); |
| 1402 | 1394 | ||
| 1403 | /* Note that this just undoes the binding of h.var; whoever | 1395 | /* Note that this just undoes the binding of h.var; whoever |
| @@ -1619,7 +1611,7 @@ internal_condition_case_n (Lisp_Object (*bfun) (int, Lisp_Object*), | |||
| 1619 | 1611 | ||
| 1620 | 1612 | ||
| 1621 | static Lisp_Object find_handler_clause (Lisp_Object, Lisp_Object, | 1613 | static Lisp_Object find_handler_clause (Lisp_Object, Lisp_Object, |
| 1622 | Lisp_Object, Lisp_Object); | 1614 | Lisp_Object, Lisp_Object); |
| 1623 | 1615 | ||
| 1624 | DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, | 1616 | DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, |
| 1625 | doc: /* Signal an error. Args are ERROR-SYMBOL and associated DATA. | 1617 | doc: /* Signal an error. Args are ERROR-SYMBOL and associated DATA. |
| @@ -1783,7 +1775,7 @@ xsignal3 (Lisp_Object error_symbol, Lisp_Object arg1, Lisp_Object arg2, Lisp_Obj | |||
| 1783 | If ARG is not a genuine list, make it a one-element list. */ | 1775 | If ARG is not a genuine list, make it a one-element list. */ |
| 1784 | 1776 | ||
| 1785 | void | 1777 | void |
| 1786 | signal_error (char *s, Lisp_Object arg) | 1778 | signal_error (const char *s, Lisp_Object arg) |
| 1787 | { | 1779 | { |
| 1788 | Lisp_Object tortoise, hare; | 1780 | Lisp_Object tortoise, hare; |
| 1789 | 1781 | ||
| @@ -2003,9 +1995,7 @@ find_handler_clause (Lisp_Object handlers, Lisp_Object conditions, | |||
| 2003 | 1995 | ||
| 2004 | /* VARARGS 1 */ | 1996 | /* VARARGS 1 */ |
| 2005 | void | 1997 | void |
| 2006 | error (m, a1, a2, a3) | 1998 | error (const char *m, ...) |
| 2007 | char *m; | ||
| 2008 | char *a1, *a2, *a3; | ||
| 2009 | { | 1999 | { |
| 2010 | char buf[200]; | 2000 | char buf[200]; |
| 2011 | int size = 200; | 2001 | int size = 200; |
| @@ -2015,15 +2005,18 @@ error (m, a1, a2, a3) | |||
| 2015 | int allocated = 0; | 2005 | int allocated = 0; |
| 2016 | Lisp_Object string; | 2006 | Lisp_Object string; |
| 2017 | 2007 | ||
| 2018 | args[0] = a1; | ||
| 2019 | args[1] = a2; | ||
| 2020 | args[2] = a3; | ||
| 2021 | |||
| 2022 | mlen = strlen (m); | 2008 | mlen = strlen (m); |
| 2023 | 2009 | ||
| 2024 | while (1) | 2010 | while (1) |
| 2025 | { | 2011 | { |
| 2026 | int used = doprnt (buffer, size, m, m + mlen, 3, args); | 2012 | va_list ap; |
| 2013 | int used; | ||
| 2014 | |||
| 2015 | /* A va_list can't be reused if we have to go around the loop | ||
| 2016 | again; we need to "reinitialize" it each time. */ | ||
| 2017 | va_start(ap, m); | ||
| 2018 | used = doprnt (buffer, size, m, m + mlen, ap); | ||
| 2019 | va_end(ap); | ||
| 2027 | if (used < size) | 2020 | if (used < size) |
| 2028 | break; | 2021 | break; |
| 2029 | size *= 2; | 2022 | size *= 2; |
| @@ -2515,7 +2508,7 @@ usage: (apply FUNCTION &rest ARGUMENTS) */) | |||
| 2515 | 2508 | ||
| 2516 | enum run_hooks_condition {to_completion, until_success, until_failure}; | 2509 | enum run_hooks_condition {to_completion, until_success, until_failure}; |
| 2517 | static Lisp_Object run_hook_with_args (int, Lisp_Object *, | 2510 | static Lisp_Object run_hook_with_args (int, Lisp_Object *, |
| 2518 | enum run_hooks_condition); | 2511 | enum run_hooks_condition); |
| 2519 | 2512 | ||
| 2520 | DEFUN ("run-hooks", Frun_hooks, Srun_hooks, 0, MANY, 0, | 2513 | DEFUN ("run-hooks", Frun_hooks, Srun_hooks, 0, MANY, 0, |
| 2521 | doc: /* Run each hook in HOOKS. | 2514 | doc: /* Run each hook in HOOKS. |
| @@ -3253,18 +3246,17 @@ specbind (Lisp_Object symbol, Lisp_Object value) | |||
| 3253 | case SYMBOL_VARALIAS: | 3246 | case SYMBOL_VARALIAS: |
| 3254 | sym = indirect_variable (sym); XSETSYMBOL (symbol, sym); goto start; | 3247 | sym = indirect_variable (sym); XSETSYMBOL (symbol, sym); goto start; |
| 3255 | case SYMBOL_PLAINVAL: | 3248 | case SYMBOL_PLAINVAL: |
| 3256 | { /* The most common case is that of a non-constant symbol with a | 3249 | /* The most common case is that of a non-constant symbol with a |
| 3257 | trivial value. Make that as fast as we can. */ | 3250 | trivial value. Make that as fast as we can. */ |
| 3258 | specpdl_ptr->symbol = symbol; | 3251 | specpdl_ptr->symbol = symbol; |
| 3259 | specpdl_ptr->old_value = SYMBOL_VAL (sym); | 3252 | specpdl_ptr->old_value = SYMBOL_VAL (sym); |
| 3260 | specpdl_ptr->func = NULL; | 3253 | specpdl_ptr->func = NULL; |
| 3261 | ++specpdl_ptr; | 3254 | ++specpdl_ptr; |
| 3262 | if (!sym->constant) | 3255 | if (!sym->constant) |
| 3263 | SET_SYMBOL_VAL (sym, value); | 3256 | SET_SYMBOL_VAL (sym, value); |
| 3264 | else | 3257 | else |
| 3265 | set_internal (symbol, value, Qnil, 1); | 3258 | set_internal (symbol, value, Qnil, 1); |
| 3266 | break; | 3259 | break; |
| 3267 | } | ||
| 3268 | case SYMBOL_LOCALIZED: | 3260 | case SYMBOL_LOCALIZED: |
| 3269 | if (SYMBOL_BLV (sym)->frame_local) | 3261 | if (SYMBOL_BLV (sym)->frame_local) |
| 3270 | error ("Frame-local vars cannot be let-bound"); | 3262 | error ("Frame-local vars cannot be let-bound"); |
| @@ -3374,7 +3366,7 @@ unbind_to (int count, Lisp_Object value) | |||
| 3374 | bound a variable that had a buffer-local or frame-local | 3366 | bound a variable that had a buffer-local or frame-local |
| 3375 | binding. WHERE nil means that the variable had the default | 3367 | binding. WHERE nil means that the variable had the default |
| 3376 | value when it was bound. CURRENT-BUFFER is the buffer that | 3368 | value when it was bound. CURRENT-BUFFER is the buffer that |
| 3377 | was current when the variable was bound. */ | 3369 | was current when the variable was bound. */ |
| 3378 | else if (CONSP (this_binding.symbol)) | 3370 | else if (CONSP (this_binding.symbol)) |
| 3379 | { | 3371 | { |
| 3380 | Lisp_Object symbol, where; | 3372 | Lisp_Object symbol, where; |
diff --git a/src/fileio.c b/src/fileio.c index 7c0921a0e39..c942803e280 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -1455,7 +1455,7 @@ See also the function `substitute-in-file-name'.") | |||
| 1455 | /* Get past ~ to user */ | 1455 | /* Get past ~ to user */ |
| 1456 | unsigned char *user = nm + 1; | 1456 | unsigned char *user = nm + 1; |
| 1457 | /* Find end of name. */ | 1457 | /* Find end of name. */ |
| 1458 | unsigned char *ptr = (unsigned char *) index (user, '/'); | 1458 | unsigned char *ptr = (unsigned char *) strchr (user, '/'); |
| 1459 | int len = ptr ? ptr - user : strlen (user); | 1459 | int len = ptr ? ptr - user : strlen (user); |
| 1460 | /* Copy the user name into temp storage. */ | 1460 | /* Copy the user name into temp storage. */ |
| 1461 | o = (unsigned char *) alloca (len + 1); | 1461 | o = (unsigned char *) alloca (len + 1); |
| @@ -2729,7 +2729,7 @@ points to a nonexistent file. */) | |||
| 2729 | while (valsize >= bufsize); | 2729 | while (valsize >= bufsize); |
| 2730 | 2730 | ||
| 2731 | val = make_string (buf, valsize); | 2731 | val = make_string (buf, valsize); |
| 2732 | if (buf[0] == '/' && index (buf, ':')) | 2732 | if (buf[0] == '/' && strchr (buf, ':')) |
| 2733 | val = concat2 (build_string ("/:"), val); | 2733 | val = concat2 (build_string ("/:"), val); |
| 2734 | xfree (buf); | 2734 | xfree (buf); |
| 2735 | val = DECODE_FILE (val); | 2735 | val = DECODE_FILE (val); |
diff --git a/src/filelock.c b/src/filelock.c index 8eb6060e531..c3f1bfde292 100644 --- a/src/filelock.c +++ b/src/filelock.c | |||
| @@ -413,9 +413,6 @@ within_one_second (time_t a, time_t b) | |||
| 413 | static int | 413 | static int |
| 414 | current_lock_owner (lock_info_type *owner, char *lfname) | 414 | current_lock_owner (lock_info_type *owner, char *lfname) |
| 415 | { | 415 | { |
| 416 | #ifndef index | ||
| 417 | extern char *rindex (const char *, int), *index (const char *, int); | ||
| 418 | #endif | ||
| 419 | int len, ret; | 416 | int len, ret; |
| 420 | int local_owner = 0; | 417 | int local_owner = 0; |
| 421 | char *at, *dot, *colon; | 418 | char *at, *dot, *colon; |
| @@ -457,8 +454,8 @@ current_lock_owner (lock_info_type *owner, char *lfname) | |||
| 457 | 454 | ||
| 458 | /* Parse USER@HOST.PID:BOOT_TIME. If can't parse, return -1. */ | 455 | /* Parse USER@HOST.PID:BOOT_TIME. If can't parse, return -1. */ |
| 459 | /* The USER is everything before the last @. */ | 456 | /* The USER is everything before the last @. */ |
| 460 | at = rindex (lfinfo, '@'); | 457 | at = strrchr (lfinfo, '@'); |
| 461 | dot = rindex (lfinfo, '.'); | 458 | dot = strrchr (lfinfo, '.'); |
| 462 | if (!at || !dot) | 459 | if (!at || !dot) |
| 463 | { | 460 | { |
| 464 | xfree (lfinfo); | 461 | xfree (lfinfo); |
| @@ -371,14 +371,8 @@ Symbols are also allowed; their print names are used instead. */) | |||
| 371 | return i1 < SCHARS (s2) ? Qt : Qnil; | 371 | return i1 < SCHARS (s2) ? Qt : Qnil; |
| 372 | } | 372 | } |
| 373 | 373 | ||
| 374 | #if __GNUC__ | 374 | static Lisp_Object concat (int nargs, Lisp_Object *args, |
| 375 | /* "gcc -O3" enables automatic function inlining, which optimizes out | 375 | enum Lisp_Type target_type, int last_special); |
| 376 | the arguments for the invocations of this function, whereas it | ||
| 377 | expects these values on the stack. */ | ||
| 378 | static Lisp_Object concat (int nargs, Lisp_Object *args, enum Lisp_Type target_type, int last_special) __attribute__((noinline)); | ||
| 379 | #else /* !__GNUC__ */ | ||
| 380 | static Lisp_Object concat (int nargs, Lisp_Object *args, enum Lisp_Type target_type, int last_special); | ||
| 381 | #endif | ||
| 382 | 376 | ||
| 383 | /* ARGSUSED */ | 377 | /* ARGSUSED */ |
| 384 | Lisp_Object | 378 | Lisp_Object |
diff --git a/src/font.c b/src/font.c index bf3c4b6c8c2..c72453d6702 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -1815,7 +1815,7 @@ font_unparse_gtkname (Lisp_Object font, struct frame *f, char *name, int nbytes) | |||
| 1815 | static int | 1815 | static int |
| 1816 | font_parse_name (char *name, Lisp_Object font) | 1816 | font_parse_name (char *name, Lisp_Object font) |
| 1817 | { | 1817 | { |
| 1818 | if (name[0] == '-' || index (name, '*') || index (name, '?')) | 1818 | if (name[0] == '-' || strchr (name, '*') || strchr (name, '?')) |
| 1819 | return font_parse_xlfd (name, font); | 1819 | return font_parse_xlfd (name, font); |
| 1820 | return font_parse_fcname (name, font); | 1820 | return font_parse_fcname (name, font); |
| 1821 | } | 1821 | } |
| @@ -1837,7 +1837,7 @@ font_parse_family_registry (Lisp_Object family, Lisp_Object registry, Lisp_Objec | |||
| 1837 | CHECK_STRING (family); | 1837 | CHECK_STRING (family); |
| 1838 | len = SBYTES (family); | 1838 | len = SBYTES (family); |
| 1839 | p0 = (char *) SDATA (family); | 1839 | p0 = (char *) SDATA (family); |
| 1840 | p1 = index (p0, '-'); | 1840 | p1 = strchr (p0, '-'); |
| 1841 | if (p1) | 1841 | if (p1) |
| 1842 | { | 1842 | { |
| 1843 | if ((*p0 != '*' && p1 - p0 > 0) | 1843 | if ((*p0 != '*' && p1 - p0 > 0) |
| @@ -1856,7 +1856,7 @@ font_parse_family_registry (Lisp_Object family, Lisp_Object registry, Lisp_Objec | |||
| 1856 | CHECK_STRING (registry); | 1856 | CHECK_STRING (registry); |
| 1857 | len = SBYTES (registry); | 1857 | len = SBYTES (registry); |
| 1858 | p0 = (char *) SDATA (registry); | 1858 | p0 = (char *) SDATA (registry); |
| 1859 | p1 = index (p0, '-'); | 1859 | p1 = strchr (p0, '-'); |
| 1860 | if (! p1) | 1860 | if (! p1) |
| 1861 | { | 1861 | { |
| 1862 | if (SDATA (registry)[len - 1] == '*') | 1862 | if (SDATA (registry)[len - 1] == '*') |
diff --git a/src/fontset.c b/src/fontset.c index 676e96fd88c..9a27fc3e36b 100644 --- a/src/fontset.c +++ b/src/fontset.c | |||
| @@ -1065,8 +1065,8 @@ static Lisp_Object Vcached_fontset_data; | |||
| 1065 | static Lisp_Object | 1065 | static Lisp_Object |
| 1066 | fontset_pattern_regexp (Lisp_Object pattern) | 1066 | fontset_pattern_regexp (Lisp_Object pattern) |
| 1067 | { | 1067 | { |
| 1068 | if (!index ((char *) SDATA (pattern), '*') | 1068 | if (!strchr ((char *) SDATA (pattern), '*') |
| 1069 | && !index ((char *) SDATA (pattern), '?')) | 1069 | && !strchr ((char *) SDATA (pattern), '?')) |
| 1070 | /* PATTERN does not contain any wild cards. */ | 1070 | /* PATTERN does not contain any wild cards. */ |
| 1071 | return Qnil; | 1071 | return Qnil; |
| 1072 | 1072 | ||
diff --git a/src/frame.c b/src/frame.c index 37d1579dd4d..cebec92c426 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -100,6 +100,7 @@ Lisp_Object Qgeometry; /* Not used */ | |||
| 100 | Lisp_Object Qheight, Qwidth; | 100 | Lisp_Object Qheight, Qwidth; |
| 101 | Lisp_Object Qleft, Qright; | 101 | Lisp_Object Qleft, Qright; |
| 102 | Lisp_Object Qicon_left, Qicon_top, Qicon_type, Qicon_name; | 102 | Lisp_Object Qicon_left, Qicon_top, Qicon_type, Qicon_name; |
| 103 | Lisp_Object Qtooltip; | ||
| 103 | Lisp_Object Qinternal_border_width; | 104 | Lisp_Object Qinternal_border_width; |
| 104 | Lisp_Object Qmouse_color; | 105 | Lisp_Object Qmouse_color; |
| 105 | Lisp_Object Qminibuffer; | 106 | Lisp_Object Qminibuffer; |
| @@ -326,6 +327,8 @@ make_frame (int mini_p) | |||
| 326 | f->n_tool_bar_items = 0; | 327 | f->n_tool_bar_items = 0; |
| 327 | f->left_fringe_width = f->right_fringe_width = 0; | 328 | f->left_fringe_width = f->right_fringe_width = 0; |
| 328 | f->fringe_cols = 0; | 329 | f->fringe_cols = 0; |
| 330 | f->menu_bar_lines = 0; | ||
| 331 | f->tool_bar_lines = 0; | ||
| 329 | f->scroll_bar_actual_width = 0; | 332 | f->scroll_bar_actual_width = 0; |
| 330 | f->border_width = 0; | 333 | f->border_width = 0; |
| 331 | f->internal_border_width = 0; | 334 | f->internal_border_width = 0; |
| @@ -550,6 +553,7 @@ make_initial_frame (void) | |||
| 550 | 553 | ||
| 551 | FRAME_CAN_HAVE_SCROLL_BARS (f) = 0; | 554 | FRAME_CAN_HAVE_SCROLL_BARS (f) = 0; |
| 552 | FRAME_VERTICAL_SCROLL_BAR_TYPE (f) = vertical_scroll_bar_none; | 555 | FRAME_VERTICAL_SCROLL_BAR_TYPE (f) = vertical_scroll_bar_none; |
| 556 | FRAME_MENU_BAR_LINES(f) = NILP (Vmenu_bar_mode) ? 0 : 1; | ||
| 553 | 557 | ||
| 554 | #ifdef CANNOT_DUMP | 558 | #ifdef CANNOT_DUMP |
| 555 | if (!noninteractive) | 559 | if (!noninteractive) |
| @@ -600,6 +604,7 @@ make_terminal_frame (struct terminal *terminal) | |||
| 600 | 604 | ||
| 601 | FRAME_CAN_HAVE_SCROLL_BARS (f) = 0; | 605 | FRAME_CAN_HAVE_SCROLL_BARS (f) = 0; |
| 602 | FRAME_VERTICAL_SCROLL_BAR_TYPE (f) = vertical_scroll_bar_none; | 606 | FRAME_VERTICAL_SCROLL_BAR_TYPE (f) = vertical_scroll_bar_none; |
| 607 | FRAME_MENU_BAR_LINES(f) = NILP (Vmenu_bar_mode) ? 0 : 1; | ||
| 603 | 608 | ||
| 604 | /* Set the top frame to the newly created frame. */ | 609 | /* Set the top frame to the newly created frame. */ |
| 605 | if (FRAMEP (FRAME_TTY (f)->top_frame) | 610 | if (FRAMEP (FRAME_TTY (f)->top_frame) |
| @@ -1298,7 +1303,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force) | |||
| 1298 | struct frame *sf = SELECTED_FRAME (); | 1303 | struct frame *sf = SELECTED_FRAME (); |
| 1299 | struct kboard *kb; | 1304 | struct kboard *kb; |
| 1300 | 1305 | ||
| 1301 | int minibuffer_selected; | 1306 | int minibuffer_selected, tooltip_frame; |
| 1302 | 1307 | ||
| 1303 | if (EQ (frame, Qnil)) | 1308 | if (EQ (frame, Qnil)) |
| 1304 | { | 1309 | { |
| @@ -1350,13 +1355,15 @@ delete_frame (Lisp_Object frame, Lisp_Object force) | |||
| 1350 | } | 1355 | } |
| 1351 | } | 1356 | } |
| 1352 | 1357 | ||
| 1358 | tooltip_frame = !NILP (Fframe_parameter (frame, intern ("tooltip"))); | ||
| 1359 | |||
| 1353 | /* Run `delete-frame-functions' unless FORCE is `noelisp' or | 1360 | /* Run `delete-frame-functions' unless FORCE is `noelisp' or |
| 1354 | frame is a tooltip. FORCE is set to `noelisp' when handling | 1361 | frame is a tooltip. FORCE is set to `noelisp' when handling |
| 1355 | a disconnect from the terminal, so we don't dare call Lisp | 1362 | a disconnect from the terminal, so we don't dare call Lisp |
| 1356 | code. */ | 1363 | code. */ |
| 1357 | if (NILP (Vrun_hooks) || !NILP (Fframe_parameter (frame, intern ("tooltip")))) | 1364 | if (NILP (Vrun_hooks) || tooltip_frame) |
| 1358 | ; | 1365 | ; |
| 1359 | if (EQ (force, Qnoelisp)) | 1366 | else if (EQ (force, Qnoelisp)) |
| 1360 | pending_funcalls | 1367 | pending_funcalls |
| 1361 | = Fcons (list3 (Qrun_hook_with_args, Qdelete_frame_functions, frame), | 1368 | = Fcons (list3 (Qrun_hook_with_args, Qdelete_frame_functions, frame), |
| 1362 | pending_funcalls); | 1369 | pending_funcalls); |
| @@ -1602,7 +1609,8 @@ delete_frame (Lisp_Object frame, Lisp_Object force) | |||
| 1602 | } | 1609 | } |
| 1603 | 1610 | ||
| 1604 | /* Cause frame titles to update--necessary if we now have just one frame. */ | 1611 | /* Cause frame titles to update--necessary if we now have just one frame. */ |
| 1605 | update_mode_lines = 1; | 1612 | if (!tooltip_frame) |
| 1613 | update_mode_lines = 1; | ||
| 1606 | 1614 | ||
| 1607 | return Qnil; | 1615 | return Qnil; |
| 1608 | } | 1616 | } |
| @@ -4320,6 +4328,8 @@ syms_of_frame (void) | |||
| 4320 | staticpro (&Qicon_left); | 4328 | staticpro (&Qicon_left); |
| 4321 | Qicon_top = intern_c_string ("icon-top"); | 4329 | Qicon_top = intern_c_string ("icon-top"); |
| 4322 | staticpro (&Qicon_top); | 4330 | staticpro (&Qicon_top); |
| 4331 | Qtooltip = intern_c_string ("tooltip"); | ||
| 4332 | staticpro (&Qtooltip); | ||
| 4323 | Qleft = intern_c_string ("left"); | 4333 | Qleft = intern_c_string ("left"); |
| 4324 | staticpro (&Qleft); | 4334 | staticpro (&Qleft); |
| 4325 | Qright = intern_c_string ("right"); | 4335 | Qright = intern_c_string ("right"); |
diff --git a/src/fringe.c b/src/fringe.c index 50d5a5c9747..399779009dc 100644 --- a/src/fringe.c +++ b/src/fringe.c | |||
| @@ -555,23 +555,26 @@ draw_fringe_bitmap_1 (struct window *w, struct glyph_row *row, int left_p, int o | |||
| 555 | struct fringe_bitmap *fb; | 555 | struct fringe_bitmap *fb; |
| 556 | int period; | 556 | int period; |
| 557 | int face_id = DEFAULT_FACE_ID; | 557 | int face_id = DEFAULT_FACE_ID; |
| 558 | int offset, header_line_height; | ||
| 558 | 559 | ||
| 559 | p.cursor_p = 0; | ||
| 560 | p.overlay_p = (overlay & 1) == 1; | 560 | p.overlay_p = (overlay & 1) == 1; |
| 561 | p.cursor_p = (overlay & 2) == 2; | 561 | p.cursor_p = (overlay & 2) == 2; |
| 562 | 562 | ||
| 563 | if (which != NO_FRINGE_BITMAP) | 563 | if (which != NO_FRINGE_BITMAP) |
| 564 | { | 564 | { |
| 565 | offset = 0; | ||
| 565 | } | 566 | } |
| 566 | else if (left_p) | 567 | else if (left_p) |
| 567 | { | 568 | { |
| 568 | which = row->left_fringe_bitmap; | 569 | which = row->left_fringe_bitmap; |
| 569 | face_id = row->left_fringe_face_id; | 570 | face_id = row->left_fringe_face_id; |
| 571 | offset = row->left_fringe_offset; | ||
| 570 | } | 572 | } |
| 571 | else | 573 | else |
| 572 | { | 574 | { |
| 573 | which = row->right_fringe_bitmap; | 575 | which = row->right_fringe_bitmap; |
| 574 | face_id = row->right_fringe_face_id; | 576 | face_id = row->right_fringe_face_id; |
| 577 | offset = row->right_fringe_offset; | ||
| 575 | } | 578 | } |
| 576 | 579 | ||
| 577 | if (face_id == DEFAULT_FACE_ID) | 580 | if (face_id == DEFAULT_FACE_ID) |
| @@ -591,7 +594,7 @@ draw_fringe_bitmap_1 (struct window *w, struct glyph_row *row, int left_p, int o | |||
| 591 | period = fb->period; | 594 | period = fb->period; |
| 592 | 595 | ||
| 593 | /* Convert row to frame coordinates. */ | 596 | /* Convert row to frame coordinates. */ |
| 594 | p.y = WINDOW_TO_FRAME_PIXEL_Y (w, row->y); | 597 | p.y = WINDOW_TO_FRAME_PIXEL_Y (w, row->y) + offset; |
| 595 | 598 | ||
| 596 | p.which = which; | 599 | p.which = which; |
| 597 | p.bits = fb->bits; | 600 | p.bits = fb->bits; |
| @@ -600,9 +603,19 @@ draw_fringe_bitmap_1 (struct window *w, struct glyph_row *row, int left_p, int o | |||
| 600 | p.h = fb->height; | 603 | p.h = fb->height; |
| 601 | p.dh = (period > 0 ? (p.y % period) : 0); | 604 | p.dh = (period > 0 ? (p.y % period) : 0); |
| 602 | p.h -= p.dh; | 605 | p.h -= p.dh; |
| 603 | /* Clip bitmap if too high. */ | 606 | |
| 604 | if (p.h > row->height) | 607 | /* Adjust y to the offset in the row to start drawing the bitmap. */ |
| 605 | p.h = row->height; | 608 | switch (fb->align) |
| 609 | { | ||
| 610 | case ALIGN_BITMAP_CENTER: | ||
| 611 | p.y += (row->height - p.h) / 2; | ||
| 612 | break; | ||
| 613 | case ALIGN_BITMAP_BOTTOM: | ||
| 614 | p.y += (row->visible_height - p.h); | ||
| 615 | break; | ||
| 616 | case ALIGN_BITMAP_TOP: | ||
| 617 | break; | ||
| 618 | } | ||
| 606 | 619 | ||
| 607 | p.face = FACE_FROM_ID (f, face_id); | 620 | p.face = FACE_FROM_ID (f, face_id); |
| 608 | 621 | ||
| @@ -618,6 +631,9 @@ draw_fringe_bitmap_1 (struct window *w, struct glyph_row *row, int left_p, int o | |||
| 618 | /* Clear left fringe if no bitmap to draw or if bitmap doesn't fill | 631 | /* Clear left fringe if no bitmap to draw or if bitmap doesn't fill |
| 619 | the fringe. */ | 632 | the fringe. */ |
| 620 | p.bx = -1; | 633 | p.bx = -1; |
| 634 | header_line_height = WINDOW_HEADER_LINE_HEIGHT (w); | ||
| 635 | p.by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, row->y)); | ||
| 636 | p.ny = row->visible_height; | ||
| 621 | if (left_p) | 637 | if (left_p) |
| 622 | { | 638 | { |
| 623 | int wd = WINDOW_LEFT_FRINGE_WIDTH (w); | 639 | int wd = WINDOW_LEFT_FRINGE_WIDTH (w); |
| @@ -628,7 +644,7 @@ draw_fringe_bitmap_1 (struct window *w, struct glyph_row *row, int left_p, int o | |||
| 628 | p.wd = wd; | 644 | p.wd = wd; |
| 629 | p.x = x - p.wd - (wd - p.wd) / 2; | 645 | p.x = x - p.wd - (wd - p.wd) / 2; |
| 630 | 646 | ||
| 631 | if (p.wd < wd || row->height > p.h) | 647 | if (p.wd < wd || p.y > p.by || p.y + p.h < p.by + p.ny) |
| 632 | { | 648 | { |
| 633 | /* If W has a vertical border to its left, don't draw over it. */ | 649 | /* If W has a vertical border to its left, don't draw over it. */ |
| 634 | wd -= ((!WINDOW_LEFTMOST_P (w) | 650 | wd -= ((!WINDOW_LEFTMOST_P (w) |
| @@ -650,35 +666,13 @@ draw_fringe_bitmap_1 (struct window *w, struct glyph_row *row, int left_p, int o | |||
| 650 | p.x = x + (wd - p.wd) / 2; | 666 | p.x = x + (wd - p.wd) / 2; |
| 651 | /* Clear right fringe if no bitmap to draw of if bitmap doesn't fill | 667 | /* Clear right fringe if no bitmap to draw of if bitmap doesn't fill |
| 652 | the fringe. */ | 668 | the fringe. */ |
| 653 | if (p.wd < wd || row->height > p.h) | 669 | if (p.wd < wd || p.y > p.by || p.y + p.h < p.by + p.ny) |
| 654 | { | 670 | { |
| 655 | p.bx = x; | 671 | p.bx = x; |
| 656 | p.nx = wd; | 672 | p.nx = wd; |
| 657 | } | 673 | } |
| 658 | } | 674 | } |
| 659 | 675 | ||
| 660 | if (p.bx >= 0) | ||
| 661 | { | ||
| 662 | int header_line_height = WINDOW_HEADER_LINE_HEIGHT (w); | ||
| 663 | |||
| 664 | p.by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, row->y)); | ||
| 665 | p.ny = row->visible_height; | ||
| 666 | } | ||
| 667 | |||
| 668 | /* Adjust y to the offset in the row to start drawing the bitmap. */ | ||
| 669 | switch (fb->align) | ||
| 670 | { | ||
| 671 | case ALIGN_BITMAP_CENTER: | ||
| 672 | p.y += (row->height - p.h) / 2; | ||
| 673 | break; | ||
| 674 | case ALIGN_BITMAP_BOTTOM: | ||
| 675 | p.h = fb->height; | ||
| 676 | p.y += (row->visible_height - p.h); | ||
| 677 | break; | ||
| 678 | case ALIGN_BITMAP_TOP: | ||
| 679 | break; | ||
| 680 | } | ||
| 681 | |||
| 682 | FRAME_RIF (f)->draw_fringe_bitmap (w, row, &p); | 676 | FRAME_RIF (f)->draw_fringe_bitmap (w, row, &p); |
| 683 | } | 677 | } |
| 684 | 678 | ||
| @@ -892,7 +886,7 @@ draw_window_fringes (struct window *w, int no_fringe) | |||
| 892 | struct glyph_row *row; | 886 | struct glyph_row *row; |
| 893 | int yb = window_text_bottom_y (w); | 887 | int yb = window_text_bottom_y (w); |
| 894 | int nrows = w->current_matrix->nrows; | 888 | int nrows = w->current_matrix->nrows; |
| 895 | int y = 0, rn; | 889 | int y, rn; |
| 896 | int updated = 0; | 890 | int updated = 0; |
| 897 | 891 | ||
| 898 | if (w->pseudo_window_p) | 892 | if (w->pseudo_window_p) |
| @@ -904,7 +898,7 @@ draw_window_fringes (struct window *w, int no_fringe) | |||
| 904 | || WINDOW_RIGHT_FRINGE_WIDTH (w) == 0)) | 898 | || WINDOW_RIGHT_FRINGE_WIDTH (w) == 0)) |
| 905 | updated++; | 899 | updated++; |
| 906 | 900 | ||
| 907 | for (y = 0, rn = 0, row = w->current_matrix->rows; | 901 | for (y = w->vscroll, rn = 0, row = w->current_matrix->rows; |
| 908 | y < yb && rn < nrows; | 902 | y < yb && rn < nrows; |
| 909 | y += row->height, ++row, ++rn) | 903 | y += row->height, ++row, ++rn) |
| 910 | { | 904 | { |
| @@ -938,6 +932,9 @@ update_window_fringes (struct window *w, int keep_current_p) | |||
| 938 | Lisp_Object ind = Qnil; | 932 | Lisp_Object ind = Qnil; |
| 939 | #define MAX_BITMAP_CACHE (8*4) | 933 | #define MAX_BITMAP_CACHE (8*4) |
| 940 | int bitmap_cache[MAX_BITMAP_CACHE]; | 934 | int bitmap_cache[MAX_BITMAP_CACHE]; |
| 935 | int top_ind_rn, bot_ind_rn; | ||
| 936 | int top_ind_min_y, bot_ind_max_y; | ||
| 937 | int top_row_ends_at_zv_p, bot_row_ends_at_zv_p; | ||
| 941 | 938 | ||
| 942 | if (w->pseudo_window_p) | 939 | if (w->pseudo_window_p) |
| 943 | return 0; | 940 | return 0; |
| @@ -966,11 +963,10 @@ update_window_fringes (struct window *w, int keep_current_p) | |||
| 966 | boundary_top = boundary_bot = Qleft; | 963 | boundary_top = boundary_bot = Qleft; |
| 967 | } | 964 | } |
| 968 | 965 | ||
| 966 | top_ind_rn = bot_ind_rn = -1; | ||
| 969 | if (!NILP (ind)) | 967 | if (!NILP (ind)) |
| 970 | { | 968 | { |
| 971 | int done_top = 0, done_bot = 0; | 969 | for (y = w->vscroll, rn = 0; |
| 972 | |||
| 973 | for (y = 0, rn = 0; | ||
| 974 | y < yb && rn < nrows; | 970 | y < yb && rn < nrows; |
| 975 | y += row->height, ++rn) | 971 | y += row->height, ++rn) |
| 976 | { | 972 | { |
| @@ -991,31 +987,25 @@ update_window_fringes (struct window *w, int keep_current_p) | |||
| 991 | 987 | ||
| 992 | if (!row->mode_line_p) | 988 | if (!row->mode_line_p) |
| 993 | { | 989 | { |
| 994 | if (!done_top) | 990 | if (top_ind_rn < 0 && row->visible_height > 0) |
| 995 | { | 991 | { |
| 996 | if (MATRIX_ROW_START_CHARPOS (row) <= BUF_BEGV (XBUFFER (w->buffer)) | 992 | if (MATRIX_ROW_START_CHARPOS (row) <= BUF_BEGV (XBUFFER (w->buffer)) |
| 997 | && !MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P (w, row)) | 993 | && !MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P (w, row)) |
| 998 | row->indicate_bob_p = !NILP (boundary_top); | 994 | row->indicate_bob_p = !NILP (boundary_top); |
| 999 | else | 995 | else |
| 1000 | row->indicate_top_line_p = !NILP (arrow_top); | 996 | row->indicate_top_line_p = !NILP (arrow_top); |
| 1001 | done_top = 1; | 997 | top_ind_rn = rn; |
| 1002 | } | 998 | } |
| 1003 | 999 | ||
| 1004 | if (!done_bot) | 1000 | if (bot_ind_rn < 0) |
| 1005 | { | 1001 | { |
| 1006 | if (MATRIX_ROW_END_CHARPOS (row) >= BUF_ZV (XBUFFER (w->buffer)) | 1002 | if (MATRIX_ROW_END_CHARPOS (row) >= BUF_ZV (XBUFFER (w->buffer)) |
| 1007 | && !MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P (w, row)) | 1003 | && !MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P (w, row)) |
| 1008 | row->indicate_eob_p = !NILP (boundary_bot), done_bot = 1; | 1004 | row->indicate_eob_p = !NILP (boundary_bot), bot_ind_rn = rn; |
| 1009 | else if (y + row->height >= yb) | 1005 | else if (y + row->height >= yb) |
| 1010 | row->indicate_bottom_line_p = !NILP (arrow_bot), done_bot = 1; | 1006 | row->indicate_bottom_line_p = !NILP (arrow_bot), bot_ind_rn = rn; |
| 1011 | } | 1007 | } |
| 1012 | } | 1008 | } |
| 1013 | |||
| 1014 | if (indicate_bob_p != row->indicate_bob_p | ||
| 1015 | || indicate_top_line_p != row->indicate_top_line_p | ||
| 1016 | || indicate_eob_p != row->indicate_eob_p | ||
| 1017 | || indicate_bottom_line_p != row->indicate_bottom_line_p) | ||
| 1018 | row->redraw_fringe_bitmaps_p = 1; | ||
| 1019 | } | 1009 | } |
| 1020 | } | 1010 | } |
| 1021 | 1011 | ||
| @@ -1039,12 +1029,139 @@ update_window_fringes (struct window *w, int keep_current_p) | |||
| 1039 | get_logical_fringe_bitmap (w, which, 1, partial_p))) | 1029 | get_logical_fringe_bitmap (w, which, 1, partial_p))) |
| 1040 | 1030 | ||
| 1041 | 1031 | ||
| 1042 | for (y = 0, rn = 0; | 1032 | /* Extend top-aligned top indicator (or bottom-aligned bottom |
| 1033 | indicator) to adjacent rows if it doesn't fit in one row. */ | ||
| 1034 | top_ind_min_y = bot_ind_max_y = -1; | ||
| 1035 | if (top_ind_rn >= 0) | ||
| 1036 | { | ||
| 1037 | int bn = NO_FRINGE_BITMAP; | ||
| 1038 | |||
| 1039 | row = w->desired_matrix->rows + top_ind_rn; | ||
| 1040 | if (!row->enabled_p) | ||
| 1041 | row = w->current_matrix->rows + top_ind_rn; | ||
| 1042 | |||
| 1043 | top_row_ends_at_zv_p = row->ends_at_zv_p; | ||
| 1044 | if (row->indicate_bob_p) | ||
| 1045 | { | ||
| 1046 | if (EQ (boundary_top, Qleft)) | ||
| 1047 | bn = ((row->indicate_eob_p && EQ (boundary_bot, Qleft)) | ||
| 1048 | ? LEFT_FRINGE (1, Qtop_bottom, row->ends_at_zv_p) | ||
| 1049 | : LEFT_FRINGE (2, Qtop, 0)); | ||
| 1050 | else | ||
| 1051 | bn = ((row->indicate_eob_p && EQ (boundary_bot, Qright)) | ||
| 1052 | ? RIGHT_FRINGE (1, Qtop_bottom, row->ends_at_zv_p) | ||
| 1053 | : RIGHT_FRINGE (2, Qtop, 0)); | ||
| 1054 | } | ||
| 1055 | else if (row->indicate_top_line_p) | ||
| 1056 | { | ||
| 1057 | if (EQ (arrow_top, Qleft)) | ||
| 1058 | bn = LEFT_FRINGE (6, Qup, 0); | ||
| 1059 | else | ||
| 1060 | bn = RIGHT_FRINGE (6, Qup, 0); | ||
| 1061 | } | ||
| 1062 | |||
| 1063 | if (bn != NO_FRINGE_BITMAP) | ||
| 1064 | { | ||
| 1065 | struct fringe_bitmap *fb; | ||
| 1066 | |||
| 1067 | fb = fringe_bitmaps[bn]; | ||
| 1068 | if (fb == NULL) | ||
| 1069 | fb = &standard_bitmaps[bn < MAX_STANDARD_FRINGE_BITMAPS | ||
| 1070 | ? bn : UNDEF_FRINGE_BITMAP]; | ||
| 1071 | if (fb->align == ALIGN_BITMAP_TOP && fb->period == 0) | ||
| 1072 | { | ||
| 1073 | struct glyph_row *row1; | ||
| 1074 | int top_ind_max_y; | ||
| 1075 | |||
| 1076 | top_ind_min_y = WINDOW_HEADER_LINE_HEIGHT (w); | ||
| 1077 | top_ind_max_y = top_ind_min_y + fb->height; | ||
| 1078 | if (top_ind_max_y > yb) | ||
| 1079 | top_ind_max_y = yb; | ||
| 1080 | |||
| 1081 | for (y = row->y + row->height, rn = top_ind_rn + 1; | ||
| 1082 | y < top_ind_max_y && rn < nrows; | ||
| 1083 | y += row1->height, rn++) | ||
| 1084 | { | ||
| 1085 | if (bot_ind_rn >= 0 && rn >= bot_ind_rn) | ||
| 1086 | break; | ||
| 1087 | |||
| 1088 | row1 = w->desired_matrix->rows + rn; | ||
| 1089 | if (!row1->enabled_p) | ||
| 1090 | row1 = w->current_matrix->rows + rn; | ||
| 1091 | |||
| 1092 | row1->indicate_bob_p = row->indicate_bob_p; | ||
| 1093 | row1->indicate_top_line_p = row->indicate_top_line_p; | ||
| 1094 | } | ||
| 1095 | } | ||
| 1096 | } | ||
| 1097 | } | ||
| 1098 | if (bot_ind_rn >= 0) | ||
| 1099 | { | ||
| 1100 | int bn = NO_FRINGE_BITMAP; | ||
| 1101 | |||
| 1102 | row = w->desired_matrix->rows + bot_ind_rn; | ||
| 1103 | if (!row->enabled_p) | ||
| 1104 | row = w->current_matrix->rows + bot_ind_rn; | ||
| 1105 | |||
| 1106 | bot_row_ends_at_zv_p = row->ends_at_zv_p; | ||
| 1107 | if (row->indicate_eob_p) | ||
| 1108 | { | ||
| 1109 | if (EQ (boundary_bot, Qleft)) | ||
| 1110 | bn = LEFT_FRINGE (3, Qbottom, row->ends_at_zv_p); | ||
| 1111 | else | ||
| 1112 | bn = RIGHT_FRINGE (3, Qbottom, row->ends_at_zv_p); | ||
| 1113 | } | ||
| 1114 | else if (row->indicate_bottom_line_p) | ||
| 1115 | { | ||
| 1116 | if (EQ (arrow_bot, Qleft)) | ||
| 1117 | bn = LEFT_FRINGE (7, Qdown, 0); | ||
| 1118 | else | ||
| 1119 | bn = RIGHT_FRINGE (7, Qdown, 0); | ||
| 1120 | } | ||
| 1121 | |||
| 1122 | if (bn != NO_FRINGE_BITMAP) | ||
| 1123 | { | ||
| 1124 | struct fringe_bitmap *fb; | ||
| 1125 | |||
| 1126 | fb = fringe_bitmaps[bn]; | ||
| 1127 | if (fb == NULL) | ||
| 1128 | fb = &standard_bitmaps[bn < MAX_STANDARD_FRINGE_BITMAPS | ||
| 1129 | ? bn : UNDEF_FRINGE_BITMAP]; | ||
| 1130 | if (fb->align == ALIGN_BITMAP_BOTTOM && fb->period == 0) | ||
| 1131 | { | ||
| 1132 | struct glyph_row *row1; | ||
| 1133 | int bot_ind_min_y; | ||
| 1134 | |||
| 1135 | bot_ind_max_y = row->y + row->visible_height; | ||
| 1136 | bot_ind_min_y = bot_ind_max_y - fb->height; | ||
| 1137 | if (bot_ind_min_y < WINDOW_HEADER_LINE_HEIGHT (w)) | ||
| 1138 | bot_ind_min_y = WINDOW_HEADER_LINE_HEIGHT (w); | ||
| 1139 | |||
| 1140 | for (y = row->y, rn = bot_ind_rn - 1; | ||
| 1141 | y >= bot_ind_min_y && rn >= 0; | ||
| 1142 | y -= row1->height, rn--) | ||
| 1143 | { | ||
| 1144 | if (top_ind_rn >= 0 && rn <= top_ind_rn) | ||
| 1145 | break; | ||
| 1146 | |||
| 1147 | row1 = w->desired_matrix->rows + rn; | ||
| 1148 | if (!row1->enabled_p) | ||
| 1149 | row1 = w->current_matrix->rows + rn; | ||
| 1150 | |||
| 1151 | row1->indicate_eob_p = row->indicate_eob_p; | ||
| 1152 | row1->indicate_bottom_line_p = row->indicate_bottom_line_p; | ||
| 1153 | } | ||
| 1154 | } | ||
| 1155 | } | ||
| 1156 | } | ||
| 1157 | |||
| 1158 | for (y = w->vscroll, rn = 0; | ||
| 1043 | y < yb && rn < nrows; | 1159 | y < yb && rn < nrows; |
| 1044 | y += row->height, rn++) | 1160 | y += row->height, rn++) |
| 1045 | { | 1161 | { |
| 1046 | int left, right; | 1162 | int left, right; |
| 1047 | unsigned left_face_id, right_face_id; | 1163 | unsigned left_face_id, right_face_id; |
| 1164 | int left_offset, right_offset; | ||
| 1048 | 1165 | ||
| 1049 | row = w->desired_matrix->rows + rn; | 1166 | row = w->desired_matrix->rows + rn; |
| 1050 | cur = w->current_matrix->rows + rn; | 1167 | cur = w->current_matrix->rows + rn; |
| @@ -1052,6 +1169,7 @@ update_window_fringes (struct window *w, int keep_current_p) | |||
| 1052 | row = cur; | 1169 | row = cur; |
| 1053 | 1170 | ||
| 1054 | left_face_id = right_face_id = DEFAULT_FACE_ID; | 1171 | left_face_id = right_face_id = DEFAULT_FACE_ID; |
| 1172 | left_offset = right_offset = 0; | ||
| 1055 | 1173 | ||
| 1056 | /* Decide which bitmap to draw in the left fringe. */ | 1174 | /* Decide which bitmap to draw in the left fringe. */ |
| 1057 | if (WINDOW_LEFT_FRINGE_WIDTH (w) == 0) | 1175 | if (WINDOW_LEFT_FRINGE_WIDTH (w) == 0) |
| @@ -1065,20 +1183,35 @@ update_window_fringes (struct window *w, int keep_current_p) | |||
| 1065 | || (row->reversed_p && row->truncated_on_right_p)) | 1183 | || (row->reversed_p && row->truncated_on_right_p)) |
| 1066 | left = LEFT_FRINGE(0, Qtruncation, 0); | 1184 | left = LEFT_FRINGE(0, Qtruncation, 0); |
| 1067 | else if (row->indicate_bob_p && EQ (boundary_top, Qleft)) | 1185 | else if (row->indicate_bob_p && EQ (boundary_top, Qleft)) |
| 1068 | left = ((row->indicate_eob_p && EQ (boundary_bot, Qleft)) | 1186 | { |
| 1069 | ? LEFT_FRINGE (1, Qtop_bottom, row->ends_at_zv_p) | 1187 | left = ((row->indicate_eob_p && EQ (boundary_bot, Qleft)) |
| 1070 | : LEFT_FRINGE (2, Qtop, 0)); | 1188 | ? LEFT_FRINGE (1, Qtop_bottom, top_row_ends_at_zv_p) |
| 1189 | : LEFT_FRINGE (2, Qtop, 0)); | ||
| 1190 | if (top_ind_min_y >= 0) | ||
| 1191 | left_offset = top_ind_min_y - row->y; | ||
| 1192 | } | ||
| 1071 | else if (row->indicate_eob_p && EQ (boundary_bot, Qleft)) | 1193 | else if (row->indicate_eob_p && EQ (boundary_bot, Qleft)) |
| 1072 | left = LEFT_FRINGE (3, Qbottom, row->ends_at_zv_p); | 1194 | { |
| 1073 | else if ((!row->reversed_p && MATRIX_ROW_CONTINUATION_LINE_P (row)) | 1195 | left = LEFT_FRINGE (3, Qbottom, bot_row_ends_at_zv_p); |
| 1074 | || (row->reversed_p && row->continued_p)) | 1196 | if (bot_ind_max_y >= 0) |
| 1197 | left_offset = bot_ind_max_y - (row->y + row->visible_height); | ||
| 1198 | } | ||
| 1199 | else if (MATRIX_ROW_CONTINUATION_LINE_P (row)) | ||
| 1075 | left = LEFT_FRINGE (4, Qcontinuation, 0); | 1200 | left = LEFT_FRINGE (4, Qcontinuation, 0); |
| 1076 | else if (row->indicate_empty_line_p && EQ (empty_pos, Qleft)) | 1201 | else if (row->indicate_empty_line_p && EQ (empty_pos, Qleft)) |
| 1077 | left = LEFT_FRINGE (5, Qempty_line, 0); | 1202 | left = LEFT_FRINGE (5, Qempty_line, 0); |
| 1078 | else if (row->indicate_top_line_p && EQ (arrow_top, Qleft)) | 1203 | else if (row->indicate_top_line_p && EQ (arrow_top, Qleft)) |
| 1079 | left = LEFT_FRINGE (6, Qup, 0); | 1204 | { |
| 1205 | left = LEFT_FRINGE (6, Qup, 0); | ||
| 1206 | if (top_ind_min_y >= 0) | ||
| 1207 | left_offset = top_ind_min_y - row->y; | ||
| 1208 | } | ||
| 1080 | else if (row->indicate_bottom_line_p && EQ (arrow_bot, Qleft)) | 1209 | else if (row->indicate_bottom_line_p && EQ (arrow_bot, Qleft)) |
| 1081 | left = LEFT_FRINGE (7, Qdown, 0); | 1210 | { |
| 1211 | left = LEFT_FRINGE (7, Qdown, 0); | ||
| 1212 | if (bot_ind_max_y >= 0) | ||
| 1213 | left_offset = bot_ind_max_y - (row->y + row->visible_height); | ||
| 1214 | } | ||
| 1082 | else | 1215 | else |
| 1083 | left = NO_FRINGE_BITMAP; | 1216 | left = NO_FRINGE_BITMAP; |
| 1084 | 1217 | ||
| @@ -1094,18 +1227,33 @@ update_window_fringes (struct window *w, int keep_current_p) | |||
| 1094 | || (row->reversed_p && row->truncated_on_left_p)) | 1227 | || (row->reversed_p && row->truncated_on_left_p)) |
| 1095 | right = RIGHT_FRINGE (0, Qtruncation, 0); | 1228 | right = RIGHT_FRINGE (0, Qtruncation, 0); |
| 1096 | else if (row->indicate_bob_p && EQ (boundary_top, Qright)) | 1229 | else if (row->indicate_bob_p && EQ (boundary_top, Qright)) |
| 1097 | right = ((row->indicate_eob_p && EQ (boundary_bot, Qright)) | 1230 | { |
| 1098 | ? RIGHT_FRINGE (1, Qtop_bottom, row->ends_at_zv_p) | 1231 | right = ((row->indicate_eob_p && EQ (boundary_bot, Qright)) |
| 1099 | : RIGHT_FRINGE (2, Qtop, 0)); | 1232 | ? RIGHT_FRINGE (1, Qtop_bottom, top_row_ends_at_zv_p) |
| 1233 | : RIGHT_FRINGE (2, Qtop, 0)); | ||
| 1234 | if (top_ind_min_y >= 0) | ||
| 1235 | right_offset = top_ind_min_y - row->y; | ||
| 1236 | } | ||
| 1100 | else if (row->indicate_eob_p && EQ (boundary_bot, Qright)) | 1237 | else if (row->indicate_eob_p && EQ (boundary_bot, Qright)) |
| 1101 | right = RIGHT_FRINGE (3, Qbottom, row->ends_at_zv_p); | 1238 | { |
| 1102 | else if ((!row->reversed_p && row->continued_p) | 1239 | right = RIGHT_FRINGE (3, Qbottom, bot_row_ends_at_zv_p); |
| 1103 | || (row->reversed_p && MATRIX_ROW_CONTINUATION_LINE_P (row))) | 1240 | if (bot_ind_max_y >= 0) |
| 1241 | right_offset = bot_ind_max_y - (row->y + row->visible_height); | ||
| 1242 | } | ||
| 1243 | else if (row->continued_p) | ||
| 1104 | right = RIGHT_FRINGE (4, Qcontinuation, 0); | 1244 | right = RIGHT_FRINGE (4, Qcontinuation, 0); |
| 1105 | else if (row->indicate_top_line_p && EQ (arrow_top, Qright)) | 1245 | else if (row->indicate_top_line_p && EQ (arrow_top, Qright)) |
| 1106 | right = RIGHT_FRINGE (6, Qup, 0); | 1246 | { |
| 1247 | right = RIGHT_FRINGE (6, Qup, 0); | ||
| 1248 | if (top_ind_min_y >= 0) | ||
| 1249 | right_offset = top_ind_min_y - row->y; | ||
| 1250 | } | ||
| 1107 | else if (row->indicate_bottom_line_p && EQ (arrow_bot, Qright)) | 1251 | else if (row->indicate_bottom_line_p && EQ (arrow_bot, Qright)) |
| 1108 | right = RIGHT_FRINGE (7, Qdown, 0); | 1252 | { |
| 1253 | right = RIGHT_FRINGE (7, Qdown, 0); | ||
| 1254 | if (bot_ind_max_y >= 0) | ||
| 1255 | right_offset = bot_ind_max_y - (row->y + row->visible_height); | ||
| 1256 | } | ||
| 1109 | else if (row->indicate_empty_line_p && EQ (empty_pos, Qright)) | 1257 | else if (row->indicate_empty_line_p && EQ (empty_pos, Qright)) |
| 1110 | right = RIGHT_FRINGE (5, Qempty_line, 0); | 1258 | right = RIGHT_FRINGE (5, Qempty_line, 0); |
| 1111 | else | 1259 | else |
| @@ -1118,6 +1266,8 @@ update_window_fringes (struct window *w, int keep_current_p) | |||
| 1118 | || right != cur->right_fringe_bitmap | 1266 | || right != cur->right_fringe_bitmap |
| 1119 | || left_face_id != cur->left_fringe_face_id | 1267 | || left_face_id != cur->left_fringe_face_id |
| 1120 | || right_face_id != cur->right_fringe_face_id | 1268 | || right_face_id != cur->right_fringe_face_id |
| 1269 | || left_offset != cur->left_fringe_offset | ||
| 1270 | || right_offset != cur->right_fringe_offset | ||
| 1121 | || cur->redraw_fringe_bitmaps_p) | 1271 | || cur->redraw_fringe_bitmaps_p) |
| 1122 | { | 1272 | { |
| 1123 | redraw_p = row->redraw_fringe_bitmaps_p = 1; | 1273 | redraw_p = row->redraw_fringe_bitmaps_p = 1; |
| @@ -1128,6 +1278,8 @@ update_window_fringes (struct window *w, int keep_current_p) | |||
| 1128 | cur->right_fringe_bitmap = right; | 1278 | cur->right_fringe_bitmap = right; |
| 1129 | cur->left_fringe_face_id = left_face_id; | 1279 | cur->left_fringe_face_id = left_face_id; |
| 1130 | cur->right_fringe_face_id = right_face_id; | 1280 | cur->right_fringe_face_id = right_face_id; |
| 1281 | cur->left_fringe_offset = left_offset; | ||
| 1282 | cur->right_fringe_offset = right_offset; | ||
| 1131 | } | 1283 | } |
| 1132 | } | 1284 | } |
| 1133 | 1285 | ||
| @@ -1144,9 +1296,8 @@ update_window_fringes (struct window *w, int keep_current_p) | |||
| 1144 | row->right_fringe_bitmap = right; | 1296 | row->right_fringe_bitmap = right; |
| 1145 | row->left_fringe_face_id = left_face_id; | 1297 | row->left_fringe_face_id = left_face_id; |
| 1146 | row->right_fringe_face_id = right_face_id; | 1298 | row->right_fringe_face_id = right_face_id; |
| 1147 | 1299 | row->left_fringe_offset = left_offset; | |
| 1148 | if (rn > 0 && row->redraw_fringe_bitmaps_p) | 1300 | row->right_fringe_offset = right_offset; |
| 1149 | row[-1].redraw_fringe_bitmaps_p = cur[-1].redraw_fringe_bitmaps_p = 1; | ||
| 1150 | } | 1301 | } |
| 1151 | 1302 | ||
| 1152 | return redraw_p && !keep_current_p; | 1303 | return redraw_p && !keep_current_p; |
diff --git a/src/image.c b/src/image.c index 064278eebbc..6e75921414b 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -1053,6 +1053,10 @@ free_image (struct frame *f, struct image *img) | |||
| 1053 | /* Free resources, then free IMG. */ | 1053 | /* Free resources, then free IMG. */ |
| 1054 | img->type->free (f, img); | 1054 | img->type->free (f, img); |
| 1055 | xfree (img); | 1055 | xfree (img); |
| 1056 | |||
| 1057 | /* As display glyphs may still be referring to the image ID, we | ||
| 1058 | must garbage the frame (Bug#6426). */ | ||
| 1059 | SET_FRAME_GARBAGED (f); | ||
| 1056 | } | 1060 | } |
| 1057 | } | 1061 | } |
| 1058 | 1062 | ||
diff --git a/src/insdel.c b/src/insdel.c index 8c6e8f6364d..8b0b2f7ab01 100644 --- a/src/insdel.c +++ b/src/insdel.c | |||
| @@ -1628,7 +1628,7 @@ replace_range (EMACS_INT from, EMACS_INT to, Lisp_Object new, | |||
| 1628 | void | 1628 | void |
| 1629 | replace_range_2 (EMACS_INT from, EMACS_INT from_byte, | 1629 | replace_range_2 (EMACS_INT from, EMACS_INT from_byte, |
| 1630 | EMACS_INT to, EMACS_INT to_byte, | 1630 | EMACS_INT to, EMACS_INT to_byte, |
| 1631 | char *ins, EMACS_INT inschars, EMACS_INT insbytes, | 1631 | const char *ins, EMACS_INT inschars, EMACS_INT insbytes, |
| 1632 | int markers) | 1632 | int markers) |
| 1633 | { | 1633 | { |
| 1634 | EMACS_INT nbytes_del, nchars_del; | 1634 | EMACS_INT nbytes_del, nchars_del; |
diff --git a/src/keyboard.c b/src/keyboard.c index 6ea0b90b9b4..bf3a01fc481 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -42,7 +42,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 42 | #include "puresize.h" | 42 | #include "puresize.h" |
| 43 | #include "systime.h" | 43 | #include "systime.h" |
| 44 | #include "atimer.h" | 44 | #include "atimer.h" |
| 45 | #include <setjmp.h> | 45 | #include "process.h" |
| 46 | #include <errno.h> | 46 | #include <errno.h> |
| 47 | 47 | ||
| 48 | #ifdef HAVE_GTK_AND_PTHREAD | 48 | #ifdef HAVE_GTK_AND_PTHREAD |
| @@ -1238,7 +1238,7 @@ cmd_error (Lisp_Object data) | |||
| 1238 | string. */ | 1238 | string. */ |
| 1239 | 1239 | ||
| 1240 | void | 1240 | void |
| 1241 | cmd_error_internal (Lisp_Object data, char *context) | 1241 | cmd_error_internal (Lisp_Object data, const char *context) |
| 1242 | { | 1242 | { |
| 1243 | struct frame *sf = SELECTED_FRAME (); | 1243 | struct frame *sf = SELECTED_FRAME (); |
| 1244 | 1244 | ||
| @@ -9000,48 +9000,48 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9000 | int dont_downcase_last, int can_return_switch_frame, | 9000 | int dont_downcase_last, int can_return_switch_frame, |
| 9001 | int fix_current_buffer) | 9001 | int fix_current_buffer) |
| 9002 | { | 9002 | { |
| 9003 | volatile Lisp_Object from_string; | 9003 | Lisp_Object from_string; |
| 9004 | volatile int count = SPECPDL_INDEX (); | 9004 | int count = SPECPDL_INDEX (); |
| 9005 | 9005 | ||
| 9006 | /* How many keys there are in the current key sequence. */ | 9006 | /* How many keys there are in the current key sequence. */ |
| 9007 | volatile int t; | 9007 | int t; |
| 9008 | 9008 | ||
| 9009 | /* The length of the echo buffer when we started reading, and | 9009 | /* The length of the echo buffer when we started reading, and |
| 9010 | the length of this_command_keys when we started reading. */ | 9010 | the length of this_command_keys when we started reading. */ |
| 9011 | volatile int echo_start; | 9011 | int echo_start; |
| 9012 | volatile int keys_start; | 9012 | int keys_start; |
| 9013 | 9013 | ||
| 9014 | /* The number of keymaps we're scanning right now, and the number of | 9014 | /* The number of keymaps we're scanning right now, and the number of |
| 9015 | keymaps we have allocated space for. */ | 9015 | keymaps we have allocated space for. */ |
| 9016 | volatile int nmaps; | 9016 | int nmaps; |
| 9017 | volatile int nmaps_allocated = 0; | 9017 | int nmaps_allocated = 0; |
| 9018 | 9018 | ||
| 9019 | /* defs[0..nmaps-1] are the definitions of KEYBUF[0..t-1] in | 9019 | /* defs[0..nmaps-1] are the definitions of KEYBUF[0..t-1] in |
| 9020 | the current keymaps. */ | 9020 | the current keymaps. */ |
| 9021 | Lisp_Object *volatile defs = NULL; | 9021 | Lisp_Object *defs = NULL; |
| 9022 | 9022 | ||
| 9023 | /* submaps[0..nmaps-1] are the prefix definitions of KEYBUF[0..t-1] | 9023 | /* submaps[0..nmaps-1] are the prefix definitions of KEYBUF[0..t-1] |
| 9024 | in the current keymaps, or nil where it is not a prefix. */ | 9024 | in the current keymaps, or nil where it is not a prefix. */ |
| 9025 | Lisp_Object *volatile submaps = NULL; | 9025 | Lisp_Object *submaps = NULL; |
| 9026 | 9026 | ||
| 9027 | /* The local map to start out with at start of key sequence. */ | 9027 | /* The local map to start out with at start of key sequence. */ |
| 9028 | volatile Lisp_Object orig_local_map; | 9028 | Lisp_Object orig_local_map; |
| 9029 | 9029 | ||
| 9030 | /* The map from the `keymap' property to start out with at start of | 9030 | /* The map from the `keymap' property to start out with at start of |
| 9031 | key sequence. */ | 9031 | key sequence. */ |
| 9032 | volatile Lisp_Object orig_keymap; | 9032 | Lisp_Object orig_keymap; |
| 9033 | 9033 | ||
| 9034 | /* 1 if we have already considered switching to the local-map property | 9034 | /* 1 if we have already considered switching to the local-map property |
| 9035 | of the place where a mouse click occurred. */ | 9035 | of the place where a mouse click occurred. */ |
| 9036 | volatile int localized_local_map = 0; | 9036 | int localized_local_map = 0; |
| 9037 | 9037 | ||
| 9038 | /* The index in submaps[] of the first keymap that has a binding for | 9038 | /* The index in submaps[] of the first keymap that has a binding for |
| 9039 | this key sequence. In other words, the lowest i such that | 9039 | this key sequence. In other words, the lowest i such that |
| 9040 | submaps[i] is non-nil. */ | 9040 | submaps[i] is non-nil. */ |
| 9041 | volatile int first_binding; | 9041 | int first_binding; |
| 9042 | /* Index of the first key that has no binding. | 9042 | /* Index of the first key that has no binding. |
| 9043 | It is useless to try fkey.start larger than that. */ | 9043 | It is useless to try fkey.start larger than that. */ |
| 9044 | volatile int first_unbound; | 9044 | int first_unbound; |
| 9045 | 9045 | ||
| 9046 | /* If t < mock_input, then KEYBUF[t] should be read as the next | 9046 | /* If t < mock_input, then KEYBUF[t] should be read as the next |
| 9047 | input key. | 9047 | input key. |
| @@ -9056,7 +9056,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9056 | restart_sequence; the loop will read keys from keybuf up until | 9056 | restart_sequence; the loop will read keys from keybuf up until |
| 9057 | mock_input, thus rebuilding the state; and then it will resume | 9057 | mock_input, thus rebuilding the state; and then it will resume |
| 9058 | reading characters from the keyboard. */ | 9058 | reading characters from the keyboard. */ |
| 9059 | volatile int mock_input = 0; | 9059 | int mock_input = 0; |
| 9060 | 9060 | ||
| 9061 | /* If the sequence is unbound in submaps[], then | 9061 | /* If the sequence is unbound in submaps[], then |
| 9062 | keybuf[fkey.start..fkey.end-1] is a prefix in Vfunction_key_map, | 9062 | keybuf[fkey.start..fkey.end-1] is a prefix in Vfunction_key_map, |
| @@ -9066,28 +9066,28 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9066 | should hold off until t reaches them. We do this when we've just | 9066 | should hold off until t reaches them. We do this when we've just |
| 9067 | recognized a function key, to avoid searching for the function | 9067 | recognized a function key, to avoid searching for the function |
| 9068 | key's again in Vfunction_key_map. */ | 9068 | key's again in Vfunction_key_map. */ |
| 9069 | volatile keyremap fkey; | 9069 | keyremap fkey; |
| 9070 | 9070 | ||
| 9071 | /* Likewise, for key_translation_map and input-decode-map. */ | 9071 | /* Likewise, for key_translation_map and input-decode-map. */ |
| 9072 | volatile keyremap keytran, indec; | 9072 | keyremap keytran, indec; |
| 9073 | 9073 | ||
| 9074 | /* Non-zero if we are trying to map a key by changing an upper-case | 9074 | /* Non-zero if we are trying to map a key by changing an upper-case |
| 9075 | letter to lower case, or a shifted function key to an unshifted | 9075 | letter to lower case, or a shifted function key to an unshifted |
| 9076 | one. */ | 9076 | one. */ |
| 9077 | volatile int shift_translated = 0; | 9077 | int shift_translated = 0; |
| 9078 | 9078 | ||
| 9079 | /* If we receive a `switch-frame' or `select-window' event in the middle of | 9079 | /* If we receive a `switch-frame' or `select-window' event in the middle of |
| 9080 | a key sequence, we put it off for later. | 9080 | a key sequence, we put it off for later. |
| 9081 | While we're reading, we keep the event here. */ | 9081 | While we're reading, we keep the event here. */ |
| 9082 | volatile Lisp_Object delayed_switch_frame; | 9082 | Lisp_Object delayed_switch_frame; |
| 9083 | 9083 | ||
| 9084 | /* See the comment below... */ | 9084 | /* See the comment below... */ |
| 9085 | #if defined (GOBBLE_FIRST_EVENT) | 9085 | #if defined (GOBBLE_FIRST_EVENT) |
| 9086 | Lisp_Object first_event; | 9086 | Lisp_Object first_event; |
| 9087 | #endif | 9087 | #endif |
| 9088 | 9088 | ||
| 9089 | volatile Lisp_Object original_uppercase; | 9089 | Lisp_Object original_uppercase; |
| 9090 | volatile int original_uppercase_position = -1; | 9090 | int original_uppercase_position = -1; |
| 9091 | 9091 | ||
| 9092 | /* Gets around Microsoft compiler limitations. */ | 9092 | /* Gets around Microsoft compiler limitations. */ |
| 9093 | int dummyflag = 0; | 9093 | int dummyflag = 0; |
| @@ -9095,7 +9095,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9095 | struct buffer *starting_buffer; | 9095 | struct buffer *starting_buffer; |
| 9096 | 9096 | ||
| 9097 | /* List of events for which a fake prefix key has been generated. */ | 9097 | /* List of events for which a fake prefix key has been generated. */ |
| 9098 | volatile Lisp_Object fake_prefixed_keys = Qnil; | 9098 | Lisp_Object fake_prefixed_keys = Qnil; |
| 9099 | 9099 | ||
| 9100 | #if defined (GOBBLE_FIRST_EVENT) | 9100 | #if defined (GOBBLE_FIRST_EVENT) |
| 9101 | int junk; | 9101 | int junk; |
| @@ -9252,13 +9252,13 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9252 | (say, a mouse click on the mode line which is being treated | 9252 | (say, a mouse click on the mode line which is being treated |
| 9253 | as [mode-line (mouse-...)], then we backtrack to this point | 9253 | as [mode-line (mouse-...)], then we backtrack to this point |
| 9254 | of keybuf. */ | 9254 | of keybuf. */ |
| 9255 | volatile int last_real_key_start; | 9255 | int last_real_key_start; |
| 9256 | 9256 | ||
| 9257 | /* These variables are analogous to echo_start and keys_start; | 9257 | /* These variables are analogous to echo_start and keys_start; |
| 9258 | while those allow us to restart the entire key sequence, | 9258 | while those allow us to restart the entire key sequence, |
| 9259 | echo_local_start and keys_local_start allow us to throw away | 9259 | echo_local_start and keys_local_start allow us to throw away |
| 9260 | just one key. */ | 9260 | just one key. */ |
| 9261 | volatile int echo_local_start, keys_local_start, local_first_binding; | 9261 | int echo_local_start, keys_local_start, local_first_binding; |
| 9262 | 9262 | ||
| 9263 | eassert (indec.end == t || (indec.end > t && indec.end <= mock_input)); | 9263 | eassert (indec.end == t || (indec.end > t && indec.end <= mock_input)); |
| 9264 | eassert (indec.start <= indec.end); | 9264 | eassert (indec.start <= indec.end); |
diff --git a/src/keyboard.h b/src/keyboard.h index 98c735023d7..a6eb750c373 100644 --- a/src/keyboard.h +++ b/src/keyboard.h | |||
| @@ -468,7 +468,6 @@ extern void clear_waiting_for_input (void); | |||
| 468 | extern void swallow_events (int); | 468 | extern void swallow_events (int); |
| 469 | extern int help_char_p (Lisp_Object); | 469 | extern int help_char_p (Lisp_Object); |
| 470 | extern void quit_throw_to_read_char (void) NO_RETURN; | 470 | extern void quit_throw_to_read_char (void) NO_RETURN; |
| 471 | extern void cmd_error_internal (Lisp_Object, char *); | ||
| 472 | extern int lucid_event_type_list_p (Lisp_Object); | 471 | extern int lucid_event_type_list_p (Lisp_Object); |
| 473 | extern void kbd_buffer_store_event (struct input_event *); | 472 | extern void kbd_buffer_store_event (struct input_event *); |
| 474 | extern void kbd_buffer_store_event_hold (struct input_event *, | 473 | extern void kbd_buffer_store_event_hold (struct input_event *, |
diff --git a/src/keymap.c b/src/keymap.c index 1245caf3b9b..40005a51008 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -1126,11 +1126,13 @@ DEFUN ("define-key", Fdefine_key, Sdefine_key, 3, 3, 0, | |||
| 1126 | doc: /* In KEYMAP, define key sequence KEY as DEF. | 1126 | doc: /* In KEYMAP, define key sequence KEY as DEF. |
| 1127 | KEYMAP is a keymap. | 1127 | KEYMAP is a keymap. |
| 1128 | 1128 | ||
| 1129 | KEY is a string or a vector of symbols and characters meaning a | 1129 | KEY is a string or a vector of symbols and characters, representing a |
| 1130 | sequence of keystrokes and events. Non-ASCII characters with codes | 1130 | sequence of keystrokes and events. Non-ASCII characters with codes |
| 1131 | above 127 (such as ISO Latin-1) can be included if you use a vector. | 1131 | above 127 (such as ISO Latin-1) can be represented by vectors. |
| 1132 | Using [t] for KEY creates a default definition, which applies to any | 1132 | Two types of vector have special meanings: |
| 1133 | event type that has no other definition in this keymap. | 1133 | [remap COMMAND] remaps any key binding for COMMAND. |
| 1134 | [t] creates a default definition, which applies to any event with no | ||
| 1135 | other definition in KEYMAP. | ||
| 1134 | 1136 | ||
| 1135 | DEF is anything that can be a key's definition: | 1137 | DEF is anything that can be a key's definition: |
| 1136 | nil (means key is undefined in this keymap), | 1138 | nil (means key is undefined in this keymap), |
diff --git a/src/lisp.h b/src/lisp.h index 02c9ed03e13..656e8fbb624 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -21,6 +21,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 21 | #ifndef EMACS_LISP_H | 21 | #ifndef EMACS_LISP_H |
| 22 | #define EMACS_LISP_H | 22 | #define EMACS_LISP_H |
| 23 | 23 | ||
| 24 | #include <stdarg.h> | ||
| 25 | #include <stddef.h> | ||
| 26 | |||
| 24 | /* Use the configure flag --enable-checking[=LIST] to enable various | 27 | /* Use the configure flag --enable-checking[=LIST] to enable various |
| 25 | types of run time checks for Lisp objects. */ | 28 | types of run time checks for Lisp objects. */ |
| 26 | 29 | ||
| @@ -782,13 +785,6 @@ struct Lisp_String | |||
| 782 | unsigned char *data; | 785 | unsigned char *data; |
| 783 | }; | 786 | }; |
| 784 | 787 | ||
| 785 | #ifdef offsetof | ||
| 786 | #define OFFSETOF(type,field) offsetof(type,field) | ||
| 787 | #else | ||
| 788 | #define OFFSETOF(type,field) \ | ||
| 789 | ((int)((char*)&((type*)0)->field - (char*)0)) | ||
| 790 | #endif | ||
| 791 | |||
| 792 | struct Lisp_Vector | 788 | struct Lisp_Vector |
| 793 | { | 789 | { |
| 794 | EMACS_UINT size; | 790 | EMACS_UINT size; |
| @@ -799,7 +795,7 @@ struct Lisp_Vector | |||
| 799 | /* If a struct is made to look like a vector, this macro returns the length | 795 | /* If a struct is made to look like a vector, this macro returns the length |
| 800 | of the shortest vector that would hold that struct. */ | 796 | of the shortest vector that would hold that struct. */ |
| 801 | #define VECSIZE(type) ((sizeof (type) \ | 797 | #define VECSIZE(type) ((sizeof (type) \ |
| 802 | - OFFSETOF (struct Lisp_Vector, contents[0]) \ | 798 | - offsetof (struct Lisp_Vector, contents[0]) \ |
| 803 | + sizeof(Lisp_Object) - 1) /* round up */ \ | 799 | + sizeof(Lisp_Object) - 1) /* round up */ \ |
| 804 | / sizeof (Lisp_Object)) | 800 | / sizeof (Lisp_Object)) |
| 805 | 801 | ||
| @@ -807,7 +803,7 @@ struct Lisp_Vector | |||
| 807 | at the end and we need to compute the number of Lisp_Object fields (the | 803 | at the end and we need to compute the number of Lisp_Object fields (the |
| 808 | ones that the GC needs to trace). */ | 804 | ones that the GC needs to trace). */ |
| 809 | #define PSEUDOVECSIZE(type, nonlispfield) \ | 805 | #define PSEUDOVECSIZE(type, nonlispfield) \ |
| 810 | ((OFFSETOF(type, nonlispfield) - OFFSETOF(struct Lisp_Vector, contents[0])) \ | 806 | ((offsetof(type, nonlispfield) - offsetof(struct Lisp_Vector, contents[0])) \ |
| 811 | / sizeof (Lisp_Object)) | 807 | / sizeof (Lisp_Object)) |
| 812 | 808 | ||
| 813 | /* A char-table is a kind of vectorlike, with contents are like a | 809 | /* A char-table is a kind of vectorlike, with contents are like a |
| @@ -2614,7 +2610,7 @@ extern void adjust_markers_for_delete (EMACS_INT, EMACS_INT, | |||
| 2614 | EMACS_INT, EMACS_INT); | 2610 | EMACS_INT, EMACS_INT); |
| 2615 | extern void replace_range (EMACS_INT, EMACS_INT, Lisp_Object, int, int, int); | 2611 | extern void replace_range (EMACS_INT, EMACS_INT, Lisp_Object, int, int, int); |
| 2616 | extern void replace_range_2 (EMACS_INT, EMACS_INT, EMACS_INT, EMACS_INT, | 2612 | extern void replace_range_2 (EMACS_INT, EMACS_INT, EMACS_INT, EMACS_INT, |
| 2617 | char *, EMACS_INT, EMACS_INT, int); | 2613 | const char *, EMACS_INT, EMACS_INT, int); |
| 2618 | extern void syms_of_insdel (void); | 2614 | extern void syms_of_insdel (void); |
| 2619 | 2615 | ||
| 2620 | /* Defined in dispnew.c */ | 2616 | /* Defined in dispnew.c */ |
| @@ -2648,16 +2644,16 @@ extern void restore_message (void); | |||
| 2648 | extern Lisp_Object current_message (void); | 2644 | extern Lisp_Object current_message (void); |
| 2649 | extern void set_message (const char *s, Lisp_Object, int, int); | 2645 | extern void set_message (const char *s, Lisp_Object, int, int); |
| 2650 | extern void clear_message (int, int); | 2646 | extern void clear_message (int, int); |
| 2651 | extern void message (/* char *, ... */); | 2647 | extern void message (const char *, ...); |
| 2652 | extern void message_nolog (/* char *, ... */); | 2648 | extern void message_nolog (const char *, ...); |
| 2653 | extern void message1 (char *); | 2649 | extern void message1 (const char *); |
| 2654 | extern void message1_nolog (char *); | 2650 | extern void message1_nolog (const char *); |
| 2655 | extern void message2 (const char *, int, int); | 2651 | extern void message2 (const char *, int, int); |
| 2656 | extern void message2_nolog (const char *, int, int); | 2652 | extern void message2_nolog (const char *, int, int); |
| 2657 | extern void message3 (Lisp_Object, int, int); | 2653 | extern void message3 (Lisp_Object, int, int); |
| 2658 | extern void message3_nolog (Lisp_Object, int, int); | 2654 | extern void message3_nolog (Lisp_Object, int, int); |
| 2659 | extern void message_dolog (const char *, int, int, int); | 2655 | extern void message_dolog (const char *, int, int, int); |
| 2660 | extern void message_with_string (char *, Lisp_Object, int); | 2656 | extern void message_with_string (const char *, Lisp_Object, int); |
| 2661 | extern void message_log_maybe_newline (void); | 2657 | extern void message_log_maybe_newline (void); |
| 2662 | extern void update_echo_area (void); | 2658 | extern void update_echo_area (void); |
| 2663 | extern void truncate_echo_area (int); | 2659 | extern void truncate_echo_area (int); |
| @@ -2678,14 +2674,14 @@ extern int pos_visible_p (struct window *, int, int *, | |||
| 2678 | extern void syms_of_xsettings (void); | 2674 | extern void syms_of_xsettings (void); |
| 2679 | 2675 | ||
| 2680 | /* Defined in vm-limit.c. */ | 2676 | /* Defined in vm-limit.c. */ |
| 2681 | extern void memory_warnings (POINTER_TYPE *, void (*warnfun) (char*)); | 2677 | extern void memory_warnings (POINTER_TYPE *, void (*warnfun) (const char *)); |
| 2682 | 2678 | ||
| 2683 | /* Defined in alloc.c */ | 2679 | /* Defined in alloc.c */ |
| 2684 | extern void check_pure_size (void); | 2680 | extern void check_pure_size (void); |
| 2685 | extern void allocate_string_data (struct Lisp_String *, int, int); | 2681 | extern void allocate_string_data (struct Lisp_String *, int, int); |
| 2686 | extern void reset_malloc_hooks (void); | 2682 | extern void reset_malloc_hooks (void); |
| 2687 | extern void uninterrupt_malloc (void); | 2683 | extern void uninterrupt_malloc (void); |
| 2688 | extern void malloc_warning (char *); | 2684 | extern void malloc_warning (const char *); |
| 2689 | extern void memory_full (void) NO_RETURN; | 2685 | extern void memory_full (void) NO_RETURN; |
| 2690 | extern void buffer_memory_full (void) NO_RETURN; | 2686 | extern void buffer_memory_full (void) NO_RETURN; |
| 2691 | extern int survives_gc_p (Lisp_Object); | 2687 | extern int survives_gc_p (Lisp_Object); |
| @@ -2789,16 +2785,17 @@ extern Lisp_Object Qexternal_debugging_output; | |||
| 2789 | extern void temp_output_buffer_setup (const char *); | 2785 | extern void temp_output_buffer_setup (const char *); |
| 2790 | extern int print_level, print_escape_newlines; | 2786 | extern int print_level, print_escape_newlines; |
| 2791 | extern Lisp_Object Qprint_escape_newlines; | 2787 | extern Lisp_Object Qprint_escape_newlines; |
| 2792 | extern void write_string (char *, int); | 2788 | extern void write_string (const char *, int); |
| 2793 | extern void write_string_1 (char *, int, Lisp_Object); | 2789 | extern void write_string_1 (const char *, int, Lisp_Object); |
| 2794 | extern void print_error_message (Lisp_Object, Lisp_Object, char *, Lisp_Object); | 2790 | extern void print_error_message (Lisp_Object, Lisp_Object, const char *, |
| 2791 | Lisp_Object); | ||
| 2795 | extern Lisp_Object internal_with_output_to_temp_buffer | 2792 | extern Lisp_Object internal_with_output_to_temp_buffer |
| 2796 | (const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object); | 2793 | (const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object); |
| 2797 | extern void float_to_string (unsigned char *, double); | 2794 | extern void float_to_string (unsigned char *, double); |
| 2798 | extern void syms_of_print (void); | 2795 | extern void syms_of_print (void); |
| 2799 | 2796 | ||
| 2800 | /* Defined in doprnt.c */ | 2797 | /* Defined in doprnt.c */ |
| 2801 | extern int doprnt (char *, int, char *, char *, int, char **); | 2798 | extern int doprnt (char *, int, const char *, const char *, va_list); |
| 2802 | 2799 | ||
| 2803 | /* Defined in lread.c */ | 2800 | /* Defined in lread.c */ |
| 2804 | extern Lisp_Object Qvariable_documentation, Qstandard_input; | 2801 | extern Lisp_Object Qvariable_documentation, Qstandard_input; |
| @@ -2817,7 +2814,7 @@ EXFUN (Feval_region, 4); | |||
| 2817 | extern Lisp_Object check_obarray (Lisp_Object); | 2814 | extern Lisp_Object check_obarray (Lisp_Object); |
| 2818 | extern Lisp_Object intern (const char *); | 2815 | extern Lisp_Object intern (const char *); |
| 2819 | extern Lisp_Object intern_c_string (const char *); | 2816 | extern Lisp_Object intern_c_string (const char *); |
| 2820 | extern Lisp_Object make_symbol (char *); | 2817 | extern Lisp_Object make_symbol (const char *); |
| 2821 | extern Lisp_Object oblookup (Lisp_Object, const char *, int, int); | 2818 | extern Lisp_Object oblookup (Lisp_Object, const char *, int, int); |
| 2822 | #define LOADHIST_ATTACH(x) \ | 2819 | #define LOADHIST_ATTACH(x) \ |
| 2823 | do { \ | 2820 | do { \ |
| @@ -2827,10 +2824,10 @@ extern Lisp_Object Vcurrent_load_list; | |||
| 2827 | extern Lisp_Object Vload_history, Vload_suffixes, Vload_file_rep_suffixes; | 2824 | extern Lisp_Object Vload_history, Vload_suffixes, Vload_file_rep_suffixes; |
| 2828 | extern int openp (Lisp_Object, Lisp_Object, Lisp_Object, | 2825 | extern int openp (Lisp_Object, Lisp_Object, Lisp_Object, |
| 2829 | Lisp_Object *, Lisp_Object); | 2826 | Lisp_Object *, Lisp_Object); |
| 2830 | extern int isfloat_string (char *, int); | 2827 | extern int isfloat_string (const char *, int); |
| 2831 | extern void map_obarray (Lisp_Object, void (*) (Lisp_Object, Lisp_Object), | 2828 | extern void map_obarray (Lisp_Object, void (*) (Lisp_Object, Lisp_Object), |
| 2832 | Lisp_Object); | 2829 | Lisp_Object); |
| 2833 | extern void dir_warning (char *, Lisp_Object); | 2830 | extern void dir_warning (const char *, Lisp_Object); |
| 2834 | extern void close_load_descs (void); | 2831 | extern void close_load_descs (void); |
| 2835 | extern void init_obarray (void); | 2832 | extern void init_obarray (void); |
| 2836 | extern void init_lread (void); | 2833 | extern void init_lread (void); |
| @@ -2883,7 +2880,7 @@ extern void xsignal0 (Lisp_Object) NO_RETURN; | |||
| 2883 | extern void xsignal1 (Lisp_Object, Lisp_Object) NO_RETURN; | 2880 | extern void xsignal1 (Lisp_Object, Lisp_Object) NO_RETURN; |
| 2884 | extern void xsignal2 (Lisp_Object, Lisp_Object, Lisp_Object) NO_RETURN; | 2881 | extern void xsignal2 (Lisp_Object, Lisp_Object, Lisp_Object) NO_RETURN; |
| 2885 | extern void xsignal3 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object) NO_RETURN; | 2882 | extern void xsignal3 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object) NO_RETURN; |
| 2886 | extern void signal_error (char *, Lisp_Object) NO_RETURN; | 2883 | extern void signal_error (const char *, Lisp_Object) NO_RETURN; |
| 2887 | EXFUN (Fautoload, 5); | 2884 | EXFUN (Fautoload, 5); |
| 2888 | EXFUN (Fcommandp, 2); | 2885 | EXFUN (Fcommandp, 2); |
| 2889 | EXFUN (Feval, 1); | 2886 | EXFUN (Feval, 1); |
| @@ -2910,7 +2907,7 @@ extern Lisp_Object internal_condition_case_n (Lisp_Object (*) (int, Lisp_Object | |||
| 2910 | extern void specbind (Lisp_Object, Lisp_Object); | 2907 | extern void specbind (Lisp_Object, Lisp_Object); |
| 2911 | extern void record_unwind_protect (Lisp_Object (*) (Lisp_Object), Lisp_Object); | 2908 | extern void record_unwind_protect (Lisp_Object (*) (Lisp_Object), Lisp_Object); |
| 2912 | extern Lisp_Object unbind_to (int, Lisp_Object); | 2909 | extern Lisp_Object unbind_to (int, Lisp_Object); |
| 2913 | extern void error (/* char *, ... */) NO_RETURN; | 2910 | extern void error (const char *, ...) NO_RETURN; |
| 2914 | extern void do_autoload (Lisp_Object, Lisp_Object); | 2911 | extern void do_autoload (Lisp_Object, Lisp_Object); |
| 2915 | extern Lisp_Object un_autoload (Lisp_Object); | 2912 | extern Lisp_Object un_autoload (Lisp_Object); |
| 2916 | EXFUN (Ffetch_bytecode, 1); | 2913 | EXFUN (Ffetch_bytecode, 1); |
| @@ -2949,7 +2946,7 @@ EXFUN (Fbolp, 0); | |||
| 2949 | EXFUN (Fbobp, 0); | 2946 | EXFUN (Fbobp, 0); |
| 2950 | EXFUN (Fformat, MANY); | 2947 | EXFUN (Fformat, MANY); |
| 2951 | EXFUN (Fmessage, MANY); | 2948 | EXFUN (Fmessage, MANY); |
| 2952 | extern Lisp_Object format2 (char *, Lisp_Object, Lisp_Object); | 2949 | extern Lisp_Object format2 (const char *, Lisp_Object, Lisp_Object); |
| 2953 | EXFUN (Fbuffer_substring, 2); | 2950 | EXFUN (Fbuffer_substring, 2); |
| 2954 | EXFUN (Fbuffer_string, 0); | 2951 | EXFUN (Fbuffer_string, 0); |
| 2955 | extern Lisp_Object save_excursion_save (void); | 2952 | extern Lisp_Object save_excursion_save (void); |
| @@ -2975,7 +2972,7 @@ EXFUN (Fdelete_field, 1); | |||
| 2975 | EXFUN (Ffield_beginning, 3); | 2972 | EXFUN (Ffield_beginning, 3); |
| 2976 | EXFUN (Ffield_end, 3); | 2973 | EXFUN (Ffield_end, 3); |
| 2977 | EXFUN (Ffield_string_no_properties, 1); | 2974 | EXFUN (Ffield_string_no_properties, 1); |
| 2978 | extern void set_time_zone_rule (char *); | 2975 | extern void set_time_zone_rule (const char *); |
| 2979 | 2976 | ||
| 2980 | /* Defined in buffer.c */ | 2977 | /* Defined in buffer.c */ |
| 2981 | extern int mouse_face_overlay_overlaps (Lisp_Object); | 2978 | extern int mouse_face_overlay_overlaps (Lisp_Object); |
| @@ -3175,7 +3172,7 @@ extern int detect_input_pending (void); | |||
| 3175 | extern int detect_input_pending_ignore_squeezables (void); | 3172 | extern int detect_input_pending_ignore_squeezables (void); |
| 3176 | extern int detect_input_pending_run_timers (int); | 3173 | extern int detect_input_pending_run_timers (int); |
| 3177 | extern void safe_run_hooks (Lisp_Object); | 3174 | extern void safe_run_hooks (Lisp_Object); |
| 3178 | extern void cmd_error_internal (Lisp_Object, char *); | 3175 | extern void cmd_error_internal (Lisp_Object, const char *); |
| 3179 | extern Lisp_Object command_loop_1 (void); | 3176 | extern Lisp_Object command_loop_1 (void); |
| 3180 | extern Lisp_Object recursive_edit_1 (void); | 3177 | extern Lisp_Object recursive_edit_1 (void); |
| 3181 | extern void record_auto_save (void); | 3178 | extern void record_auto_save (void); |
| @@ -3239,7 +3236,7 @@ extern void frames_bury_buffer (Lisp_Object); | |||
| 3239 | extern void syms_of_frame (void); | 3236 | extern void syms_of_frame (void); |
| 3240 | 3237 | ||
| 3241 | /* Defined in emacs.c */ | 3238 | /* Defined in emacs.c */ |
| 3242 | extern Lisp_Object decode_env_path (char *, char *); | 3239 | extern Lisp_Object decode_env_path (const char *, const char *); |
| 3243 | extern Lisp_Object Vinvocation_name, Vinvocation_directory; | 3240 | extern Lisp_Object Vinvocation_name, Vinvocation_directory; |
| 3244 | extern Lisp_Object Vbefore_init_time, Vafter_init_time; | 3241 | extern Lisp_Object Vbefore_init_time, Vafter_init_time; |
| 3245 | extern Lisp_Object Vinstallation_directory; | 3242 | extern Lisp_Object Vinstallation_directory; |
| @@ -3525,7 +3522,7 @@ extern void xfree (POINTER_TYPE *); | |||
| 3525 | 3522 | ||
| 3526 | extern char *xstrdup (const char *); | 3523 | extern char *xstrdup (const char *); |
| 3527 | 3524 | ||
| 3528 | extern char *egetenv (char *); | 3525 | extern char *egetenv (const char *); |
| 3529 | 3526 | ||
| 3530 | /* Set up the name of the machine we're running on. */ | 3527 | /* Set up the name of the machine we're running on. */ |
| 3531 | extern void init_system_name (void); | 3528 | extern void init_system_name (void); |
diff --git a/src/lread.c b/src/lread.c index 42925f8ac09..79214936f4c 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -2316,28 +2316,28 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2316 | /* This is repetitive but fast and simple. */ | 2316 | /* This is repetitive but fast and simple. */ |
| 2317 | params[param_count] = QCsize; | 2317 | params[param_count] = QCsize; |
| 2318 | params[param_count+1] = Fplist_get (tmp, Qsize); | 2318 | params[param_count+1] = Fplist_get (tmp, Qsize); |
| 2319 | if (!NILP (params[param_count+1])) | 2319 | if (!NILP (params[param_count + 1])) |
| 2320 | param_count+=2; | 2320 | param_count += 2; |
| 2321 | 2321 | ||
| 2322 | params[param_count] = QCtest; | 2322 | params[param_count] = QCtest; |
| 2323 | params[param_count+1] = Fplist_get (tmp, Qtest); | 2323 | params[param_count+1] = Fplist_get (tmp, Qtest); |
| 2324 | if (!NILP (params[param_count+1])) | 2324 | if (!NILP (params[param_count + 1])) |
| 2325 | param_count+=2; | 2325 | param_count += 2; |
| 2326 | 2326 | ||
| 2327 | params[param_count] = QCweakness; | 2327 | params[param_count] = QCweakness; |
| 2328 | params[param_count+1] = Fplist_get (tmp, Qweakness); | 2328 | params[param_count+1] = Fplist_get (tmp, Qweakness); |
| 2329 | if (!NILP (params[param_count+1])) | 2329 | if (!NILP (params[param_count + 1])) |
| 2330 | param_count+=2; | 2330 | param_count += 2; |
| 2331 | 2331 | ||
| 2332 | params[param_count] = QCrehash_size; | 2332 | params[param_count] = QCrehash_size; |
| 2333 | params[param_count+1] = Fplist_get (tmp, Qrehash_size); | 2333 | params[param_count+1] = Fplist_get (tmp, Qrehash_size); |
| 2334 | if (!NILP (params[param_count+1])) | 2334 | if (!NILP (params[param_count + 1])) |
| 2335 | param_count+=2; | 2335 | param_count += 2; |
| 2336 | 2336 | ||
| 2337 | params[param_count] = QCrehash_threshold; | 2337 | params[param_count] = QCrehash_threshold; |
| 2338 | params[param_count+1] = Fplist_get (tmp, Qrehash_threshold); | 2338 | params[param_count+1] = Fplist_get (tmp, Qrehash_threshold); |
| 2339 | if (!NILP (params[param_count+1])) | 2339 | if (!NILP (params[param_count + 1])) |
| 2340 | param_count+=2; | 2340 | param_count += 2; |
| 2341 | 2341 | ||
| 2342 | /* This is the hashtable data. */ | 2342 | /* This is the hashtable data. */ |
| 2343 | data = Fplist_get (tmp, Qdata); | 2343 | data = Fplist_get (tmp, Qdata); |
| @@ -2358,6 +2358,8 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2358 | 2358 | ||
| 2359 | return ht; | 2359 | return ht; |
| 2360 | } | 2360 | } |
| 2361 | UNREAD (c); | ||
| 2362 | invalid_syntax ("#", 1); | ||
| 2361 | } | 2363 | } |
| 2362 | if (c == '^') | 2364 | if (c == '^') |
| 2363 | { | 2365 | { |
| @@ -2723,7 +2725,7 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2723 | 2725 | ||
| 2724 | ok = (next_next_char <= 040 | 2726 | ok = (next_next_char <= 040 |
| 2725 | || (next_next_char < 0200 | 2727 | || (next_next_char < 0200 |
| 2726 | && (index ("\"';([#?", next_next_char) | 2728 | && (strchr ("\"';([#?", next_next_char) |
| 2727 | || (!first_in_list && next_next_char == '`') | 2729 | || (!first_in_list && next_next_char == '`') |
| 2728 | || (new_backquote_flag && next_next_char == ',')))); | 2730 | || (new_backquote_flag && next_next_char == ',')))); |
| 2729 | } | 2731 | } |
| @@ -2731,7 +2733,7 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2731 | { | 2733 | { |
| 2732 | ok = (next_char <= 040 | 2734 | ok = (next_char <= 040 |
| 2733 | || (next_char < 0200 | 2735 | || (next_char < 0200 |
| 2734 | && (index ("\"';()[]#?", next_char) | 2736 | && (strchr ("\"';()[]#?", next_char) |
| 2735 | || (!first_in_list && next_char == '`') | 2737 | || (!first_in_list && next_char == '`') |
| 2736 | || (new_backquote_flag && next_char == ',')))); | 2738 | || (new_backquote_flag && next_char == ',')))); |
| 2737 | } | 2739 | } |
| @@ -2876,7 +2878,7 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2876 | 2878 | ||
| 2877 | if (next_char <= 040 | 2879 | if (next_char <= 040 |
| 2878 | || (next_char < 0200 | 2880 | || (next_char < 0200 |
| 2879 | && (index ("\"';([#?", next_char) | 2881 | && (strchr ("\"';([#?", next_char) |
| 2880 | || (!first_in_list && next_char == '`') | 2882 | || (!first_in_list && next_char == '`') |
| 2881 | || (new_backquote_flag && next_char == ',')))) | 2883 | || (new_backquote_flag && next_char == ',')))) |
| 2882 | { | 2884 | { |
| @@ -2903,7 +2905,7 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2903 | while (c > 040 | 2905 | while (c > 040 |
| 2904 | && c != 0x8a0 /* NBSP */ | 2906 | && c != 0x8a0 /* NBSP */ |
| 2905 | && (c >= 0200 | 2907 | && (c >= 0200 |
| 2906 | || (!index ("\"';()[]#", c) | 2908 | || (!strchr ("\"';()[]#", c) |
| 2907 | && !(!first_in_list && c == '`') | 2909 | && !(!first_in_list && c == '`') |
| 2908 | && !(new_backquote_flag && c == ',')))) | 2910 | && !(new_backquote_flag && c == ',')))) |
| 2909 | { | 2911 | { |
| @@ -3188,11 +3190,10 @@ substitute_in_interval (INTERVAL interval, Lisp_Object arg) | |||
| 3188 | #define EXP_INT 16 | 3190 | #define EXP_INT 16 |
| 3189 | 3191 | ||
| 3190 | int | 3192 | int |
| 3191 | isfloat_string (register char *cp, int ignore_trailing) | 3193 | isfloat_string (const char *cp, int ignore_trailing) |
| 3192 | { | 3194 | { |
| 3193 | register int state; | 3195 | int state; |
| 3194 | 3196 | const char *start = cp; | |
| 3195 | char *start = cp; | ||
| 3196 | 3197 | ||
| 3197 | state = 0; | 3198 | state = 0; |
| 3198 | if (*cp == '+' || *cp == '-') | 3199 | if (*cp == '+' || *cp == '-') |
| @@ -3243,7 +3244,8 @@ isfloat_string (register char *cp, int ignore_trailing) | |||
| 3243 | } | 3244 | } |
| 3244 | 3245 | ||
| 3245 | return ((ignore_trailing | 3246 | return ((ignore_trailing |
| 3246 | || (*cp == 0) || (*cp == ' ') || (*cp == '\t') || (*cp == '\n') || (*cp == '\r') || (*cp == '\f')) | 3247 | || *cp == 0 || *cp == ' ' || *cp == '\t' || *cp == '\n' |
| 3248 | || *cp == '\r' || *cp == '\f') | ||
| 3247 | && (state == (LEAD_INT|DOT_CHAR|TRAIL_INT) | 3249 | && (state == (LEAD_INT|DOT_CHAR|TRAIL_INT) |
| 3248 | || state == (DOT_CHAR|TRAIL_INT) | 3250 | || state == (DOT_CHAR|TRAIL_INT) |
| 3249 | || state == (LEAD_INT|E_CHAR|EXP_INT) | 3251 | || state == (LEAD_INT|E_CHAR|EXP_INT) |
| @@ -3586,13 +3588,13 @@ intern_c_string (const char *str) | |||
| 3586 | /* Create an uninterned symbol with name STR. */ | 3588 | /* Create an uninterned symbol with name STR. */ |
| 3587 | 3589 | ||
| 3588 | Lisp_Object | 3590 | Lisp_Object |
| 3589 | make_symbol (char *str) | 3591 | make_symbol (const char *str) |
| 3590 | { | 3592 | { |
| 3591 | int len = strlen (str); | 3593 | int len = strlen (str); |
| 3592 | 3594 | ||
| 3593 | return Fmake_symbol ((!NILP (Vpurify_flag) | 3595 | return Fmake_symbol (!NILP (Vpurify_flag) |
| 3594 | ? make_pure_string (str, len, len, 0) | 3596 | ? make_pure_string (str, len, len, 0) |
| 3595 | : make_string (str, len))); | 3597 | : make_string (str, len)); |
| 3596 | } | 3598 | } |
| 3597 | 3599 | ||
| 3598 | DEFUN ("intern", Fintern, Sintern, 1, 2, 0, | 3600 | DEFUN ("intern", Fintern, Sintern, 1, 2, 0, |
| @@ -4168,7 +4170,7 @@ init_lread (void) | |||
| 4168 | does not exist. Print it on stderr and put it in *Messages*. */ | 4170 | does not exist. Print it on stderr and put it in *Messages*. */ |
| 4169 | 4171 | ||
| 4170 | void | 4172 | void |
| 4171 | dir_warning (char *format, Lisp_Object dirname) | 4173 | dir_warning (const char *format, Lisp_Object dirname) |
| 4172 | { | 4174 | { |
| 4173 | char *buffer | 4175 | char *buffer |
| 4174 | = (char *) alloca (SCHARS (dirname) + strlen (format) + 5); | 4176 | = (char *) alloca (SCHARS (dirname) + strlen (format) + 5); |
diff --git a/src/msdos.c b/src/msdos.c index 668243ef422..8bfdce22fcd 100644 --- a/src/msdos.c +++ b/src/msdos.c | |||
| @@ -2074,10 +2074,6 @@ IT_set_frame_parameters (struct frame *f, Lisp_Object alist) | |||
| 2074 | unsigned long orig_fg, orig_bg; | 2074 | unsigned long orig_fg, orig_bg; |
| 2075 | Lisp_Object frame_bg, frame_fg; | 2075 | Lisp_Object frame_bg, frame_fg; |
| 2076 | struct tty_display_info *tty = FRAME_TTY (f); | 2076 | struct tty_display_info *tty = FRAME_TTY (f); |
| 2077 | extern Lisp_Object Qmenu_bar_lines; | ||
| 2078 | extern Lisp_Object Vmenu_bar_mode; | ||
| 2079 | int menu_bar_lines_defined = | ||
| 2080 | !NILP (Fassq (Qmenu_bar_lines, Vdefault_frame_alist)); | ||
| 2081 | 2077 | ||
| 2082 | /* If we are creating a new frame, begin with the original screen colors | 2078 | /* If we are creating a new frame, begin with the original screen colors |
| 2083 | used for the initial frame. */ | 2079 | used for the initial frame. */ |
| @@ -2116,8 +2112,6 @@ IT_set_frame_parameters (struct frame *f, Lisp_Object alist) | |||
| 2116 | 2112 | ||
| 2117 | if (EQ (prop, Qreverse)) | 2113 | if (EQ (prop, Qreverse)) |
| 2118 | reverse = EQ (val, Qt); | 2114 | reverse = EQ (val, Qt); |
| 2119 | else if (!menu_bar_lines_defined && EQ (prop, Qmenu_bar_lines)) | ||
| 2120 | menu_bar_lines_defined = 1; | ||
| 2121 | } | 2115 | } |
| 2122 | 2116 | ||
| 2123 | if (tty->termscript && reverse) | 2117 | if (tty->termscript && reverse) |
| @@ -2217,18 +2211,6 @@ IT_set_frame_parameters (struct frame *f, Lisp_Object alist) | |||
| 2217 | store_frame_param (f, prop, val); | 2211 | store_frame_param (f, prop, val); |
| 2218 | } | 2212 | } |
| 2219 | 2213 | ||
| 2220 | /* If menu-bar-lines is neither in the frame parameters nor in | ||
| 2221 | default-frame-alist, set it according to menu-bar-mode. */ | ||
| 2222 | if (!menu_bar_lines_defined) | ||
| 2223 | { | ||
| 2224 | store_frame_param (f, Qmenu_bar_lines, | ||
| 2225 | NILP (Vmenu_bar_mode) | ||
| 2226 | ? make_number (0) : make_number (1)); | ||
| 2227 | if (tty->termscript) | ||
| 2228 | fprintf (tty->termscript, "<MENU BAR LINES DEFAULTED: %d\n", | ||
| 2229 | !NILP (Vmenu_bar_mode)); | ||
| 2230 | } | ||
| 2231 | |||
| 2232 | /* If they specified "reverse", but not the colors, we need to swap | 2214 | /* If they specified "reverse", but not the colors, we need to swap |
| 2233 | the current frame colors. */ | 2215 | the current frame colors. */ |
| 2234 | if (reverse) | 2216 | if (reverse) |
| @@ -4719,13 +4701,6 @@ abort (void) | |||
| 4719 | } | 4701 | } |
| 4720 | #endif | 4702 | #endif |
| 4721 | 4703 | ||
| 4722 | /* The following variables are required so that cus-start.el won't | ||
| 4723 | complain about unbound variables. */ | ||
| 4724 | #ifndef subprocesses | ||
| 4725 | /* Nonzero means delete a process right away if it exits (process.c). */ | ||
| 4726 | static int delete_exited_processes; | ||
| 4727 | #endif | ||
| 4728 | |||
| 4729 | void | 4704 | void |
| 4730 | syms_of_msdos (void) | 4705 | syms_of_msdos (void) |
| 4731 | { | 4706 | { |
| @@ -4744,12 +4719,6 @@ This variable is used only by MS-DOS terminals. */); | |||
| 4744 | Vdos_unsupported_char_glyph = make_number ('\177'); | 4719 | Vdos_unsupported_char_glyph = make_number ('\177'); |
| 4745 | 4720 | ||
| 4746 | #endif | 4721 | #endif |
| 4747 | #ifndef subprocesses | ||
| 4748 | DEFVAR_BOOL ("delete-exited-processes", &delete_exited_processes, | ||
| 4749 | doc: /* *Non-nil means delete processes immediately when they exit. | ||
| 4750 | A value of nil means don't delete them until `list-processes' is run. */); | ||
| 4751 | delete_exited_processes = 0; | ||
| 4752 | #endif | ||
| 4753 | 4722 | ||
| 4754 | defsubr (&Srecent_doskeys); | 4723 | defsubr (&Srecent_doskeys); |
| 4755 | defsubr (&Smsdos_long_file_names); | 4724 | defsubr (&Smsdos_long_file_names); |
diff --git a/src/nsterm.m b/src/nsterm.m index 62f1c0bcd57..58245f4aebf 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -2177,20 +2177,7 @@ ns_draw_fringe_bitmap (struct window *w, struct glyph_row *row, | |||
| 2177 | 2177 | ||
| 2178 | /* Must clip because of partially visible lines. */ | 2178 | /* Must clip because of partially visible lines. */ |
| 2179 | rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y); | 2179 | rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y); |
| 2180 | if (p->y < rowY) | 2180 | ns_clip_to_row (w, row, -1, YES); |
| 2181 | { | ||
| 2182 | /* Adjust position of "bottom aligned" bitmap on partially | ||
| 2183 | visible last row. */ | ||
| 2184 | int oldY = row->y; | ||
| 2185 | int oldVH = row->visible_height; | ||
| 2186 | row->visible_height = p->h; | ||
| 2187 | row->y -= rowY - p->y; | ||
| 2188 | ns_clip_to_row (w, row, -1, NO); | ||
| 2189 | row->y = oldY; | ||
| 2190 | row->visible_height = oldVH; | ||
| 2191 | } | ||
| 2192 | else | ||
| 2193 | ns_clip_to_row (w, row, -1, YES); | ||
| 2194 | 2181 | ||
| 2195 | if (p->bx >= 0 && !p->overlay_p) | 2182 | if (p->bx >= 0 && !p->overlay_p) |
| 2196 | { | 2183 | { |
diff --git a/src/print.c b/src/print.c index 0a0e6c7452c..97f6494678f 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -540,7 +540,7 @@ PRINTCHARFUN defaults to the value of `standard-output' (which see). */) | |||
| 540 | Do not use this on the contents of a Lisp string. */ | 540 | Do not use this on the contents of a Lisp string. */ |
| 541 | 541 | ||
| 542 | void | 542 | void |
| 543 | write_string (char *data, int size) | 543 | write_string (const char *data, int size) |
| 544 | { | 544 | { |
| 545 | PRINTDECLARE; | 545 | PRINTDECLARE; |
| 546 | Lisp_Object printcharfun; | 546 | Lisp_Object printcharfun; |
| @@ -557,7 +557,7 @@ write_string (char *data, int size) | |||
| 557 | Do not use this on the contents of a Lisp string. */ | 557 | Do not use this on the contents of a Lisp string. */ |
| 558 | 558 | ||
| 559 | void | 559 | void |
| 560 | write_string_1 (char *data, int size, Lisp_Object printcharfun) | 560 | write_string_1 (const char *data, int size, Lisp_Object printcharfun) |
| 561 | { | 561 | { |
| 562 | PRINTDECLARE; | 562 | PRINTDECLARE; |
| 563 | 563 | ||
| @@ -1007,7 +1007,8 @@ error message is constructed. */) | |||
| 1007 | CALLER is the Lisp function inside which the error was signaled. */ | 1007 | CALLER is the Lisp function inside which the error was signaled. */ |
| 1008 | 1008 | ||
| 1009 | void | 1009 | void |
| 1010 | print_error_message (Lisp_Object data, Lisp_Object stream, char *context, Lisp_Object caller) | 1010 | print_error_message (Lisp_Object data, Lisp_Object stream, const char *context, |
| 1011 | Lisp_Object caller) | ||
| 1011 | { | 1012 | { |
| 1012 | Lisp_Object errname, errmsg, file_error, tail; | 1013 | Lisp_Object errname, errmsg, file_error, tail; |
| 1013 | struct gcpro gcpro1; | 1014 | struct gcpro gcpro1; |
diff --git a/src/process.c b/src/process.c index 1eefae1adc9..0fec550ad8f 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -21,17 +21,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 21 | 21 | ||
| 22 | #include <config.h> | 22 | #include <config.h> |
| 23 | #include <signal.h> | 23 | #include <signal.h> |
| 24 | |||
| 25 | /* This file is split into two parts by the following preprocessor | ||
| 26 | conditional. The 'then' clause contains all of the support for | ||
| 27 | asynchronous subprocesses. The 'else' clause contains stub | ||
| 28 | versions of some of the asynchronous subprocess routines that are | ||
| 29 | often called elsewhere in Emacs, so we don't have to #ifdef the | ||
| 30 | sections that call them. */ | ||
| 31 | |||
| 32 | |||
| 33 | #ifdef subprocesses | ||
| 34 | |||
| 35 | #include <stdio.h> | 24 | #include <stdio.h> |
| 36 | #include <errno.h> | 25 | #include <errno.h> |
| 37 | #include <setjmp.h> | 26 | #include <setjmp.h> |
| @@ -51,6 +40,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 51 | #endif | 40 | #endif |
| 52 | #include <fcntl.h> | 41 | #include <fcntl.h> |
| 53 | 42 | ||
| 43 | /* Only MS-DOS does not define `subprocesses'. */ | ||
| 44 | #ifdef subprocesses | ||
| 45 | |||
| 54 | #ifdef HAVE_SOCKETS /* TCP connection support, if kernel can do it */ | 46 | #ifdef HAVE_SOCKETS /* TCP connection support, if kernel can do it */ |
| 55 | #include <sys/socket.h> | 47 | #include <sys/socket.h> |
| 56 | #include <netdb.h> | 48 | #include <netdb.h> |
| @@ -101,6 +93,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 101 | #include <resolv.h> | 93 | #include <resolv.h> |
| 102 | #endif | 94 | #endif |
| 103 | 95 | ||
| 96 | #endif /* subprocesses */ | ||
| 97 | |||
| 104 | #include "lisp.h" | 98 | #include "lisp.h" |
| 105 | #include "systime.h" | 99 | #include "systime.h" |
| 106 | #include "systty.h" | 100 | #include "systty.h" |
| @@ -119,11 +113,16 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 119 | #include "dispextern.h" | 113 | #include "dispextern.h" |
| 120 | #include "composite.h" | 114 | #include "composite.h" |
| 121 | #include "atimer.h" | 115 | #include "atimer.h" |
| 116 | #include "sysselect.h" | ||
| 117 | #include "syssignal.h" | ||
| 118 | #include "syswait.h" | ||
| 122 | 119 | ||
| 123 | #if defined (USE_GTK) || defined (HAVE_GCONF) | 120 | #if defined (USE_GTK) || defined (HAVE_GCONF) |
| 124 | #include "xgselect.h" | 121 | #include "xgselect.h" |
| 125 | #endif /* defined (USE_GTK) || defined (HAVE_GCONF) */ | 122 | #endif /* defined (USE_GTK) || defined (HAVE_GCONF) */ |
| 126 | 123 | ||
| 124 | #ifdef subprocesses | ||
| 125 | |||
| 127 | Lisp_Object Qprocessp; | 126 | Lisp_Object Qprocessp; |
| 128 | Lisp_Object Qrun, Qstop, Qsignal; | 127 | Lisp_Object Qrun, Qstop, Qsignal; |
| 129 | Lisp_Object Qopen, Qclosed, Qconnect, Qfailed, Qlisten; | 128 | Lisp_Object Qopen, Qclosed, Qconnect, Qfailed, Qlisten; |
| @@ -135,7 +134,7 @@ Lisp_Object Qipv6; | |||
| 135 | Lisp_Object QCport, QCspeed, QCprocess; | 134 | Lisp_Object QCport, QCspeed, QCprocess; |
| 136 | Lisp_Object QCbytesize, QCstopbits, QCparity, Qodd, Qeven; | 135 | Lisp_Object QCbytesize, QCstopbits, QCparity, Qodd, Qeven; |
| 137 | Lisp_Object QCflowcontrol, Qhw, Qsw, QCsummary; | 136 | Lisp_Object QCflowcontrol, Qhw, Qsw, QCsummary; |
| 138 | Lisp_Object QCname, QCbuffer, QChost, QCservice, QCtype; | 137 | Lisp_Object QCbuffer, QChost, QCservice; |
| 139 | Lisp_Object QClocal, QCremote, QCcoding; | 138 | Lisp_Object QClocal, QCremote, QCcoding; |
| 140 | Lisp_Object QCserver, QCnowait, QCnoquery, QCstop; | 139 | Lisp_Object QCserver, QCnowait, QCnoquery, QCstop; |
| 141 | Lisp_Object QCsentinel, QClog, QCoptions, QCplist; | 140 | Lisp_Object QCsentinel, QClog, QCoptions, QCplist; |
| @@ -151,11 +150,6 @@ extern Lisp_Object QCfamily; | |||
| 151 | /* QCfilter is defined in keyboard.c. */ | 150 | /* QCfilter is defined in keyboard.c. */ |
| 152 | extern Lisp_Object QCfilter; | 151 | extern Lisp_Object QCfilter; |
| 153 | 152 | ||
| 154 | Lisp_Object Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname, Qtpgid; | ||
| 155 | Lisp_Object Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcstime; | ||
| 156 | Lisp_Object Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs; | ||
| 157 | Lisp_Object Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtime, Qctime; | ||
| 158 | |||
| 159 | #ifdef HAVE_SOCKETS | 153 | #ifdef HAVE_SOCKETS |
| 160 | #define NETCONN_P(p) (EQ (XPROCESS (p)->type, Qnetwork)) | 154 | #define NETCONN_P(p) (EQ (XPROCESS (p)->type, Qnetwork)) |
| 161 | #define NETCONN1_P(p) (EQ ((p)->type, Qnetwork)) | 155 | #define NETCONN1_P(p) (EQ ((p)->type, Qnetwork)) |
| @@ -178,10 +172,6 @@ Lisp_Object Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtime, Qctime; | |||
| 178 | #define SIGCHLD SIGCLD | 172 | #define SIGCHLD SIGCLD |
| 179 | #endif /* SIGCLD */ | 173 | #endif /* SIGCLD */ |
| 180 | 174 | ||
| 181 | #include "syssignal.h" | ||
| 182 | |||
| 183 | #include "syswait.h" | ||
| 184 | |||
| 185 | extern char *get_operating_system_release (void); | 175 | extern char *get_operating_system_release (void); |
| 186 | 176 | ||
| 187 | /* Serial processes require termios or Windows. */ | 177 | /* Serial processes require termios or Windows. */ |
| @@ -282,9 +272,6 @@ static Lisp_Object Vprocess_adaptive_read_buffering; | |||
| 282 | #define process_output_delay_count 0 | 272 | #define process_output_delay_count 0 |
| 283 | #endif | 273 | #endif |
| 284 | 274 | ||
| 285 | |||
| 286 | #include "sysselect.h" | ||
| 287 | |||
| 288 | static int keyboard_bit_set (SELECT_TYPE *); | 275 | static int keyboard_bit_set (SELECT_TYPE *); |
| 289 | static void deactivate_process (Lisp_Object); | 276 | static void deactivate_process (Lisp_Object); |
| 290 | static void status_notify (struct Lisp_Process *); | 277 | static void status_notify (struct Lisp_Process *); |
| @@ -300,16 +287,29 @@ static void create_pty (Lisp_Object); | |||
| 300 | static Lisp_Object get_process (register Lisp_Object name); | 287 | static Lisp_Object get_process (register Lisp_Object name); |
| 301 | static void exec_sentinel (Lisp_Object proc, Lisp_Object reason); | 288 | static void exec_sentinel (Lisp_Object proc, Lisp_Object reason); |
| 302 | 289 | ||
| 303 | extern int timers_run; | 290 | #endif /* subprocesses */ |
| 304 | |||
| 305 | /* Mask of bits indicating the descriptors that we wait for input on. */ | ||
| 306 | 291 | ||
| 307 | static SELECT_TYPE input_wait_mask; | 292 | extern int timers_run; |
| 308 | 293 | ||
| 294 | Lisp_Object Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname, Qtpgid; | ||
| 295 | Lisp_Object Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcstime; | ||
| 296 | Lisp_Object Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs; | ||
| 297 | Lisp_Object Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtime, Qctime; | ||
| 298 | Lisp_Object QCname, QCtype; | ||
| 299 | |||
| 309 | /* Non-zero if keyboard input is on hold, zero otherwise. */ | 300 | /* Non-zero if keyboard input is on hold, zero otherwise. */ |
| 310 | 301 | ||
| 311 | static int kbd_is_on_hold; | 302 | static int kbd_is_on_hold; |
| 312 | 303 | ||
| 304 | /* Nonzero means delete a process right away if it exits. */ | ||
| 305 | static int delete_exited_processes; | ||
| 306 | |||
| 307 | #ifdef subprocesses | ||
| 308 | |||
| 309 | /* Mask of bits indicating the descriptors that we wait for input on. */ | ||
| 310 | |||
| 311 | static SELECT_TYPE input_wait_mask; | ||
| 312 | |||
| 313 | /* Mask that excludes keyboard input descriptor(s). */ | 313 | /* Mask that excludes keyboard input descriptor(s). */ |
| 314 | 314 | ||
| 315 | static SELECT_TYPE non_keyboard_wait_mask; | 315 | static SELECT_TYPE non_keyboard_wait_mask; |
| @@ -333,9 +333,9 @@ static SELECT_TYPE connect_wait_mask; | |||
| 333 | static int num_pending_connects; | 333 | static int num_pending_connects; |
| 334 | 334 | ||
| 335 | #define IF_NON_BLOCKING_CONNECT(s) s | 335 | #define IF_NON_BLOCKING_CONNECT(s) s |
| 336 | #else | 336 | #else /* NON_BLOCKING_CONNECT */ |
| 337 | #define IF_NON_BLOCKING_CONNECT(s) | 337 | #define IF_NON_BLOCKING_CONNECT(s) |
| 338 | #endif | 338 | #endif /* NON_BLOCKING_CONNECT */ |
| 339 | 339 | ||
| 340 | /* The largest descriptor currently in use for a process object. */ | 340 | /* The largest descriptor currently in use for a process object. */ |
| 341 | static int max_process_desc; | 341 | static int max_process_desc; |
| @@ -346,9 +346,6 @@ static int max_keyboard_desc; | |||
| 346 | /* The largest descriptor currently in use for gpm mouse input. */ | 346 | /* The largest descriptor currently in use for gpm mouse input. */ |
| 347 | static int max_gpm_desc; | 347 | static int max_gpm_desc; |
| 348 | 348 | ||
| 349 | /* Nonzero means delete a process right away if it exits. */ | ||
| 350 | static int delete_exited_processes; | ||
| 351 | |||
| 352 | /* Indexed by descriptor, gives the process (if any) for that descriptor */ | 349 | /* Indexed by descriptor, gives the process (if any) for that descriptor */ |
| 353 | Lisp_Object chan_process[MAXDESC]; | 350 | Lisp_Object chan_process[MAXDESC]; |
| 354 | 351 | ||
| @@ -695,26 +692,6 @@ DEFUN ("get-process", Fget_process, Sget_process, 1, 1, 0, | |||
| 695 | return Fcdr (Fassoc (name, Vprocess_alist)); | 692 | return Fcdr (Fassoc (name, Vprocess_alist)); |
| 696 | } | 693 | } |
| 697 | 694 | ||
| 698 | DEFUN ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0, | ||
| 699 | doc: /* Return the (or a) process associated with BUFFER. | ||
| 700 | BUFFER may be a buffer or the name of one. */) | ||
| 701 | (register Lisp_Object buffer) | ||
| 702 | { | ||
| 703 | register Lisp_Object buf, tail, proc; | ||
| 704 | |||
| 705 | if (NILP (buffer)) return Qnil; | ||
| 706 | buf = Fget_buffer (buffer); | ||
| 707 | if (NILP (buf)) return Qnil; | ||
| 708 | |||
| 709 | for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail)) | ||
| 710 | { | ||
| 711 | proc = Fcdr (XCAR (tail)); | ||
| 712 | if (PROCESSP (proc) && EQ (XPROCESS (proc)->buffer, buf)) | ||
| 713 | return proc; | ||
| 714 | } | ||
| 715 | return Qnil; | ||
| 716 | } | ||
| 717 | |||
| 718 | /* This is how commands for the user decode process arguments. It | 695 | /* This is how commands for the user decode process arguments. It |
| 719 | accepts a process, a process name, a buffer, a buffer name, or nil. | 696 | accepts a process, a process name, a buffer, a buffer name, or nil. |
| 720 | Buffers denote the first process in the buffer, and nil denotes the | 697 | Buffers denote the first process in the buffer, and nil denotes the |
| @@ -1096,19 +1073,6 @@ for the process which will run. */) | |||
| 1096 | return flag; | 1073 | return flag; |
| 1097 | } | 1074 | } |
| 1098 | 1075 | ||
| 1099 | DEFUN ("process-inherit-coding-system-flag", | ||
| 1100 | Fprocess_inherit_coding_system_flag, Sprocess_inherit_coding_system_flag, | ||
| 1101 | 1, 1, 0, | ||
| 1102 | doc: /* Return the value of inherit-coding-system flag for PROCESS. | ||
| 1103 | If this flag is t, `buffer-file-coding-system' of the buffer | ||
| 1104 | associated with PROCESS will inherit the coding system used to decode | ||
| 1105 | the process output. */) | ||
| 1106 | (register Lisp_Object process) | ||
| 1107 | { | ||
| 1108 | CHECK_PROCESS (process); | ||
| 1109 | return XPROCESS (process)->inherit_coding_system_flag ? Qt : Qnil; | ||
| 1110 | } | ||
| 1111 | |||
| 1112 | DEFUN ("set-process-query-on-exit-flag", | 1076 | DEFUN ("set-process-query-on-exit-flag", |
| 1113 | Fset_process_query_on_exit_flag, Sset_process_query_on_exit_flag, | 1077 | Fset_process_query_on_exit_flag, Sset_process_query_on_exit_flag, |
| 1114 | 2, 2, 0, | 1078 | 2, 2, 0, |
| @@ -2299,7 +2263,7 @@ conv_sockaddr_to_lisp (struct sockaddr *sa, int len) | |||
| 2299 | /* Workaround for a bug in getsockname on BSD: Names bound to | 2263 | /* Workaround for a bug in getsockname on BSD: Names bound to |
| 2300 | sockets in the UNIX domain are inaccessible; getsockname returns | 2264 | sockets in the UNIX domain are inaccessible; getsockname returns |
| 2301 | a zero length name. */ | 2265 | a zero length name. */ |
| 2302 | if (len < OFFSETOF (struct sockaddr, sa_family) + sizeof (sa->sa_family)) | 2266 | if (len < offsetof (struct sockaddr, sa_family) + sizeof (sa->sa_family)) |
| 2303 | return empty_unibyte_string; | 2267 | return empty_unibyte_string; |
| 2304 | 2268 | ||
| 2305 | switch (sa->sa_family) | 2269 | switch (sa->sa_family) |
| @@ -2339,7 +2303,7 @@ conv_sockaddr_to_lisp (struct sockaddr *sa, int len) | |||
| 2339 | } | 2303 | } |
| 2340 | #endif | 2304 | #endif |
| 2341 | default: | 2305 | default: |
| 2342 | len -= OFFSETOF (struct sockaddr, sa_family) + sizeof (sa->sa_family); | 2306 | len -= offsetof (struct sockaddr, sa_family) + sizeof (sa->sa_family); |
| 2343 | address = Fcons (make_number (sa->sa_family), | 2307 | address = Fcons (make_number (sa->sa_family), |
| 2344 | Fmake_vector (make_number (len), Qnil)); | 2308 | Fmake_vector (make_number (len), Qnil)); |
| 2345 | p = XVECTOR (XCDR (address)); | 2309 | p = XVECTOR (XCDR (address)); |
| @@ -6474,28 +6438,6 @@ process has been transmitted to the serial port. */) | |||
| 6474 | } | 6438 | } |
| 6475 | return process; | 6439 | return process; |
| 6476 | } | 6440 | } |
| 6477 | |||
| 6478 | /* Kill all processes associated with `buffer'. | ||
| 6479 | If `buffer' is nil, kill all processes */ | ||
| 6480 | |||
| 6481 | void | ||
| 6482 | kill_buffer_processes (Lisp_Object buffer) | ||
| 6483 | { | ||
| 6484 | Lisp_Object tail, proc; | ||
| 6485 | |||
| 6486 | for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail)) | ||
| 6487 | { | ||
| 6488 | proc = XCDR (XCAR (tail)); | ||
| 6489 | if (PROCESSP (proc) | ||
| 6490 | && (NILP (buffer) || EQ (XPROCESS (proc)->buffer, buffer))) | ||
| 6491 | { | ||
| 6492 | if (NETCONN_P (proc) || SERIALCONN_P (proc)) | ||
| 6493 | Fdelete_process (proc); | ||
| 6494 | else if (XPROCESS (proc)->infd >= 0) | ||
| 6495 | process_send_signal (proc, SIGHUP, Qnil, 1); | ||
| 6496 | } | ||
| 6497 | } | ||
| 6498 | } | ||
| 6499 | 6441 | ||
| 6500 | /* On receipt of a signal that a child status has changed, loop asking | 6442 | /* On receipt of a signal that a child status has changed, loop asking |
| 6501 | about children with changed statuses until the system says there | 6443 | about children with changed statuses until the system says there |
| @@ -6960,29 +6902,6 @@ DEFUN ("process-filter-multibyte-p", Fprocess_filter_multibyte_p, | |||
| 6960 | 6902 | ||
| 6961 | 6903 | ||
| 6962 | 6904 | ||
| 6963 | /* Stop reading input from keyboard sources. */ | ||
| 6964 | |||
| 6965 | void | ||
| 6966 | hold_keyboard_input (void) | ||
| 6967 | { | ||
| 6968 | kbd_is_on_hold = 1; | ||
| 6969 | } | ||
| 6970 | |||
| 6971 | /* Resume reading input from keyboard sources. */ | ||
| 6972 | |||
| 6973 | void | ||
| 6974 | unhold_keyboard_input (void) | ||
| 6975 | { | ||
| 6976 | kbd_is_on_hold = 0; | ||
| 6977 | } | ||
| 6978 | |||
| 6979 | /* Return non-zero if keyboard input is on hold, zero otherwise. */ | ||
| 6980 | |||
| 6981 | int | ||
| 6982 | kbd_on_hold_p (void) | ||
| 6983 | { | ||
| 6984 | return kbd_is_on_hold; | ||
| 6985 | } | ||
| 6986 | 6905 | ||
| 6987 | /* Add DESC to the set of keyboard input descriptors. */ | 6906 | /* Add DESC to the set of keyboard input descriptors. */ |
| 6988 | 6907 | ||
| @@ -7060,6 +6979,326 @@ keyboard_bit_set (fd_set *mask) | |||
| 7060 | 6979 | ||
| 7061 | return 0; | 6980 | return 0; |
| 7062 | } | 6981 | } |
| 6982 | |||
| 6983 | #else /* not subprocesses */ | ||
| 6984 | |||
| 6985 | /* Defined on msdos.c. */ | ||
| 6986 | extern int sys_select (int, SELECT_TYPE *, SELECT_TYPE *, SELECT_TYPE *, | ||
| 6987 | EMACS_TIME *); | ||
| 6988 | |||
| 6989 | /* Implementation of wait_reading_process_output, assuming that there | ||
| 6990 | are no subprocesses. Used only by the MS-DOS build. | ||
| 6991 | |||
| 6992 | Wait for timeout to elapse and/or keyboard input to be available. | ||
| 6993 | |||
| 6994 | time_limit is: | ||
| 6995 | timeout in seconds, or | ||
| 6996 | zero for no limit, or | ||
| 6997 | -1 means gobble data immediately available but don't wait for any. | ||
| 6998 | |||
| 6999 | read_kbd is a Lisp_Object: | ||
| 7000 | 0 to ignore keyboard input, or | ||
| 7001 | 1 to return when input is available, or | ||
| 7002 | -1 means caller will actually read the input, so don't throw to | ||
| 7003 | the quit handler. | ||
| 7004 | |||
| 7005 | see full version for other parameters. We know that wait_proc will | ||
| 7006 | always be NULL, since `subprocesses' isn't defined. | ||
| 7007 | |||
| 7008 | do_display != 0 means redisplay should be done to show subprocess | ||
| 7009 | output that arrives. | ||
| 7010 | |||
| 7011 | Return true if we received input from any process. */ | ||
| 7012 | |||
| 7013 | int | ||
| 7014 | wait_reading_process_output (time_limit, microsecs, read_kbd, do_display, | ||
| 7015 | wait_for_cell, wait_proc, just_wait_proc) | ||
| 7016 | int time_limit, microsecs, read_kbd, do_display; | ||
| 7017 | Lisp_Object wait_for_cell; | ||
| 7018 | struct Lisp_Process *wait_proc; | ||
| 7019 | int just_wait_proc; | ||
| 7020 | { | ||
| 7021 | register int nfds; | ||
| 7022 | EMACS_TIME end_time, timeout; | ||
| 7023 | SELECT_TYPE waitchannels; | ||
| 7024 | int xerrno; | ||
| 7025 | |||
| 7026 | /* What does time_limit really mean? */ | ||
| 7027 | if (time_limit || microsecs) | ||
| 7028 | { | ||
| 7029 | EMACS_GET_TIME (end_time); | ||
| 7030 | EMACS_SET_SECS_USECS (timeout, time_limit, microsecs); | ||
| 7031 | EMACS_ADD_TIME (end_time, end_time, timeout); | ||
| 7032 | } | ||
| 7033 | |||
| 7034 | /* Turn off periodic alarms (in case they are in use) | ||
| 7035 | and then turn off any other atimers, | ||
| 7036 | because the select emulator uses alarms. */ | ||
| 7037 | stop_polling (); | ||
| 7038 | turn_on_atimers (0); | ||
| 7039 | |||
| 7040 | while (1) | ||
| 7041 | { | ||
| 7042 | int timeout_reduced_for_timers = 0; | ||
| 7043 | |||
| 7044 | /* If calling from keyboard input, do not quit | ||
| 7045 | since we want to return C-g as an input character. | ||
| 7046 | Otherwise, do pending quit if requested. */ | ||
| 7047 | if (read_kbd >= 0) | ||
| 7048 | QUIT; | ||
| 7049 | |||
| 7050 | /* Exit now if the cell we're waiting for became non-nil. */ | ||
| 7051 | if (! NILP (wait_for_cell) && ! NILP (XCAR (wait_for_cell))) | ||
| 7052 | break; | ||
| 7053 | |||
| 7054 | /* Compute time from now till when time limit is up */ | ||
| 7055 | /* Exit if already run out */ | ||
| 7056 | if (time_limit == -1) | ||
| 7057 | { | ||
| 7058 | /* -1 specified for timeout means | ||
| 7059 | gobble output available now | ||
| 7060 | but don't wait at all. */ | ||
| 7061 | |||
| 7062 | EMACS_SET_SECS_USECS (timeout, 0, 0); | ||
| 7063 | } | ||
| 7064 | else if (time_limit || microsecs) | ||
| 7065 | { | ||
| 7066 | EMACS_GET_TIME (timeout); | ||
| 7067 | EMACS_SUB_TIME (timeout, end_time, timeout); | ||
| 7068 | if (EMACS_TIME_NEG_P (timeout)) | ||
| 7069 | break; | ||
| 7070 | } | ||
| 7071 | else | ||
| 7072 | { | ||
| 7073 | EMACS_SET_SECS_USECS (timeout, 100000, 0); | ||
| 7074 | } | ||
| 7075 | |||
| 7076 | /* If our caller will not immediately handle keyboard events, | ||
| 7077 | run timer events directly. | ||
| 7078 | (Callers that will immediately read keyboard events | ||
| 7079 | call timer_delay on their own.) */ | ||
| 7080 | if (NILP (wait_for_cell)) | ||
| 7081 | { | ||
| 7082 | EMACS_TIME timer_delay; | ||
| 7083 | |||
| 7084 | do | ||
| 7085 | { | ||
| 7086 | int old_timers_run = timers_run; | ||
| 7087 | timer_delay = timer_check (1); | ||
| 7088 | if (timers_run != old_timers_run && do_display) | ||
| 7089 | /* We must retry, since a timer may have requeued itself | ||
| 7090 | and that could alter the time delay. */ | ||
| 7091 | redisplay_preserve_echo_area (14); | ||
| 7092 | else | ||
| 7093 | break; | ||
| 7094 | } | ||
| 7095 | while (!detect_input_pending ()); | ||
| 7096 | |||
| 7097 | /* If there is unread keyboard input, also return. */ | ||
| 7098 | if (read_kbd != 0 | ||
| 7099 | && requeued_events_pending_p ()) | ||
| 7100 | break; | ||
| 7101 | |||
| 7102 | if (! EMACS_TIME_NEG_P (timer_delay) && time_limit != -1) | ||
| 7103 | { | ||
| 7104 | EMACS_TIME difference; | ||
| 7105 | EMACS_SUB_TIME (difference, timer_delay, timeout); | ||
| 7106 | if (EMACS_TIME_NEG_P (difference)) | ||
| 7107 | { | ||
| 7108 | timeout = timer_delay; | ||
| 7109 | timeout_reduced_for_timers = 1; | ||
| 7110 | } | ||
| 7111 | } | ||
| 7112 | } | ||
| 7113 | |||
| 7114 | /* Cause C-g and alarm signals to take immediate action, | ||
| 7115 | and cause input available signals to zero out timeout. */ | ||
| 7116 | if (read_kbd < 0) | ||
| 7117 | set_waiting_for_input (&timeout); | ||
| 7118 | |||
| 7119 | /* Wait till there is something to do. */ | ||
| 7120 | |||
| 7121 | if (! read_kbd && NILP (wait_for_cell)) | ||
| 7122 | FD_ZERO (&waitchannels); | ||
| 7123 | else | ||
| 7124 | FD_SET (0, &waitchannels); | ||
| 7125 | |||
| 7126 | /* If a frame has been newly mapped and needs updating, | ||
| 7127 | reprocess its display stuff. */ | ||
| 7128 | if (frame_garbaged && do_display) | ||
| 7129 | { | ||
| 7130 | clear_waiting_for_input (); | ||
| 7131 | redisplay_preserve_echo_area (15); | ||
| 7132 | if (read_kbd < 0) | ||
| 7133 | set_waiting_for_input (&timeout); | ||
| 7134 | } | ||
| 7135 | |||
| 7136 | if (read_kbd && detect_input_pending ()) | ||
| 7137 | { | ||
| 7138 | nfds = 0; | ||
| 7139 | FD_ZERO (&waitchannels); | ||
| 7140 | } | ||
| 7141 | else | ||
| 7142 | nfds = select (1, &waitchannels, (SELECT_TYPE *)0, (SELECT_TYPE *)0, | ||
| 7143 | &timeout); | ||
| 7144 | |||
| 7145 | xerrno = errno; | ||
| 7146 | |||
| 7147 | /* Make C-g and alarm signals set flags again */ | ||
| 7148 | clear_waiting_for_input (); | ||
| 7149 | |||
| 7150 | /* If we woke up due to SIGWINCH, actually change size now. */ | ||
| 7151 | do_pending_window_change (0); | ||
| 7152 | |||
| 7153 | if (time_limit && nfds == 0 && ! timeout_reduced_for_timers) | ||
| 7154 | /* We waited the full specified time, so return now. */ | ||
| 7155 | break; | ||
| 7156 | |||
| 7157 | if (nfds == -1) | ||
| 7158 | { | ||
| 7159 | /* If the system call was interrupted, then go around the | ||
| 7160 | loop again. */ | ||
| 7161 | if (xerrno == EINTR) | ||
| 7162 | FD_ZERO (&waitchannels); | ||
| 7163 | else | ||
| 7164 | error ("select error: %s", emacs_strerror (xerrno)); | ||
| 7165 | } | ||
| 7166 | |||
| 7167 | /* Check for keyboard input */ | ||
| 7168 | |||
| 7169 | if (read_kbd | ||
| 7170 | && detect_input_pending_run_timers (do_display)) | ||
| 7171 | { | ||
| 7172 | swallow_events (do_display); | ||
| 7173 | if (detect_input_pending_run_timers (do_display)) | ||
| 7174 | break; | ||
| 7175 | } | ||
| 7176 | |||
| 7177 | /* If there is unread keyboard input, also return. */ | ||
| 7178 | if (read_kbd | ||
| 7179 | && requeued_events_pending_p ()) | ||
| 7180 | break; | ||
| 7181 | |||
| 7182 | /* If wait_for_cell. check for keyboard input | ||
| 7183 | but don't run any timers. | ||
| 7184 | ??? (It seems wrong to me to check for keyboard | ||
| 7185 | input at all when wait_for_cell, but the code | ||
| 7186 | has been this way since July 1994. | ||
| 7187 | Try changing this after version 19.31.) */ | ||
| 7188 | if (! NILP (wait_for_cell) | ||
| 7189 | && detect_input_pending ()) | ||
| 7190 | { | ||
| 7191 | swallow_events (do_display); | ||
| 7192 | if (detect_input_pending ()) | ||
| 7193 | break; | ||
| 7194 | } | ||
| 7195 | |||
| 7196 | /* Exit now if the cell we're waiting for became non-nil. */ | ||
| 7197 | if (! NILP (wait_for_cell) && ! NILP (XCAR (wait_for_cell))) | ||
| 7198 | break; | ||
| 7199 | } | ||
| 7200 | |||
| 7201 | start_polling (); | ||
| 7202 | |||
| 7203 | return 0; | ||
| 7204 | } | ||
| 7205 | |||
| 7206 | #endif /* not subprocesses */ | ||
| 7207 | |||
| 7208 | /* The following functions are needed even if async subprocesses are | ||
| 7209 | not supported. Some of them are no-op stubs in that case. */ | ||
| 7210 | |||
| 7211 | DEFUN ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0, | ||
| 7212 | doc: /* Return the (or a) process associated with BUFFER. | ||
| 7213 | BUFFER may be a buffer or the name of one. */) | ||
| 7214 | (register Lisp_Object buffer) | ||
| 7215 | { | ||
| 7216 | #ifdef subprocesses | ||
| 7217 | register Lisp_Object buf, tail, proc; | ||
| 7218 | |||
| 7219 | if (NILP (buffer)) return Qnil; | ||
| 7220 | buf = Fget_buffer (buffer); | ||
| 7221 | if (NILP (buf)) return Qnil; | ||
| 7222 | |||
| 7223 | for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail)) | ||
| 7224 | { | ||
| 7225 | proc = Fcdr (XCAR (tail)); | ||
| 7226 | if (PROCESSP (proc) && EQ (XPROCESS (proc)->buffer, buf)) | ||
| 7227 | return proc; | ||
| 7228 | } | ||
| 7229 | #endif /* subprocesses */ | ||
| 7230 | return Qnil; | ||
| 7231 | } | ||
| 7232 | |||
| 7233 | DEFUN ("process-inherit-coding-system-flag", | ||
| 7234 | Fprocess_inherit_coding_system_flag, Sprocess_inherit_coding_system_flag, | ||
| 7235 | 1, 1, 0, | ||
| 7236 | doc: /* Return the value of inherit-coding-system flag for PROCESS. | ||
| 7237 | If this flag is t, `buffer-file-coding-system' of the buffer | ||
| 7238 | associated with PROCESS will inherit the coding system used to decode | ||
| 7239 | the process output. */) | ||
| 7240 | (register Lisp_Object process) | ||
| 7241 | { | ||
| 7242 | #ifdef subprocesses | ||
| 7243 | CHECK_PROCESS (process); | ||
| 7244 | return XPROCESS (process)->inherit_coding_system_flag ? Qt : Qnil; | ||
| 7245 | #else | ||
| 7246 | /* Ignore the argument and return the value of | ||
| 7247 | inherit-process-coding-system. */ | ||
| 7248 | return inherit_process_coding_system ? Qt : Qnil; | ||
| 7249 | #endif | ||
| 7250 | } | ||
| 7251 | |||
| 7252 | /* Kill all processes associated with `buffer'. | ||
| 7253 | If `buffer' is nil, kill all processes */ | ||
| 7254 | |||
| 7255 | void | ||
| 7256 | kill_buffer_processes (Lisp_Object buffer) | ||
| 7257 | { | ||
| 7258 | #ifdef subprocesses | ||
| 7259 | Lisp_Object tail, proc; | ||
| 7260 | |||
| 7261 | for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail)) | ||
| 7262 | { | ||
| 7263 | proc = XCDR (XCAR (tail)); | ||
| 7264 | if (PROCESSP (proc) | ||
| 7265 | && (NILP (buffer) || EQ (XPROCESS (proc)->buffer, buffer))) | ||
| 7266 | { | ||
| 7267 | if (NETCONN_P (proc) || SERIALCONN_P (proc)) | ||
| 7268 | Fdelete_process (proc); | ||
| 7269 | else if (XPROCESS (proc)->infd >= 0) | ||
| 7270 | process_send_signal (proc, SIGHUP, Qnil, 1); | ||
| 7271 | } | ||
| 7272 | } | ||
| 7273 | #else /* subprocesses */ | ||
| 7274 | /* Since we have no subprocesses, this does nothing. */ | ||
| 7275 | #endif /* subprocesses */ | ||
| 7276 | } | ||
| 7277 | |||
| 7278 | /* Stop reading input from keyboard sources. */ | ||
| 7279 | |||
| 7280 | void | ||
| 7281 | hold_keyboard_input (void) | ||
| 7282 | { | ||
| 7283 | kbd_is_on_hold = 1; | ||
| 7284 | } | ||
| 7285 | |||
| 7286 | /* Resume reading input from keyboard sources. */ | ||
| 7287 | |||
| 7288 | void | ||
| 7289 | unhold_keyboard_input (void) | ||
| 7290 | { | ||
| 7291 | kbd_is_on_hold = 0; | ||
| 7292 | } | ||
| 7293 | |||
| 7294 | /* Return non-zero if keyboard input is on hold, zero otherwise. */ | ||
| 7295 | |||
| 7296 | int | ||
| 7297 | kbd_on_hold_p (void) | ||
| 7298 | { | ||
| 7299 | return kbd_is_on_hold; | ||
| 7300 | } | ||
| 7301 | |||
| 7063 | 7302 | ||
| 7064 | /* Enumeration of and access to system processes a-la ps(1). */ | 7303 | /* Enumeration of and access to system processes a-la ps(1). */ |
| 7065 | 7304 | ||
| @@ -7129,10 +7368,12 @@ integer or floating point values. | |||
| 7129 | { | 7368 | { |
| 7130 | return system_process_attributes (pid); | 7369 | return system_process_attributes (pid); |
| 7131 | } | 7370 | } |
| 7371 | |||
| 7132 | 7372 | ||
| 7133 | void | 7373 | void |
| 7134 | init_process (void) | 7374 | init_process (void) |
| 7135 | { | 7375 | { |
| 7376 | #ifdef subprocesses | ||
| 7136 | register int i; | 7377 | register int i; |
| 7137 | 7378 | ||
| 7138 | inhibit_sentinels = 0; | 7379 | inhibit_sentinels = 0; |
| @@ -7231,11 +7472,15 @@ init_process (void) | |||
| 7231 | } | 7472 | } |
| 7232 | } | 7473 | } |
| 7233 | #endif | 7474 | #endif |
| 7475 | #endif /* subprocesses */ | ||
| 7476 | kbd_is_on_hold = 0; | ||
| 7234 | } | 7477 | } |
| 7235 | 7478 | ||
| 7236 | void | 7479 | void |
| 7237 | syms_of_process (void) | 7480 | syms_of_process (void) |
| 7238 | { | 7481 | { |
| 7482 | #ifdef subprocesses | ||
| 7483 | |||
| 7239 | Qprocessp = intern_c_string ("processp"); | 7484 | Qprocessp = intern_c_string ("processp"); |
| 7240 | staticpro (&Qprocessp); | 7485 | staticpro (&Qprocessp); |
| 7241 | Qrun = intern_c_string ("run"); | 7486 | Qrun = intern_c_string ("run"); |
| @@ -7306,17 +7551,12 @@ syms_of_process (void) | |||
| 7306 | staticpro (&Qnetwork); | 7551 | staticpro (&Qnetwork); |
| 7307 | Qserial = intern_c_string ("serial"); | 7552 | Qserial = intern_c_string ("serial"); |
| 7308 | staticpro (&Qserial); | 7553 | staticpro (&Qserial); |
| 7309 | |||
| 7310 | QCname = intern_c_string (":name"); | ||
| 7311 | staticpro (&QCname); | ||
| 7312 | QCbuffer = intern_c_string (":buffer"); | 7554 | QCbuffer = intern_c_string (":buffer"); |
| 7313 | staticpro (&QCbuffer); | 7555 | staticpro (&QCbuffer); |
| 7314 | QChost = intern_c_string (":host"); | 7556 | QChost = intern_c_string (":host"); |
| 7315 | staticpro (&QChost); | 7557 | staticpro (&QChost); |
| 7316 | QCservice = intern_c_string (":service"); | 7558 | QCservice = intern_c_string (":service"); |
| 7317 | staticpro (&QCservice); | 7559 | staticpro (&QCservice); |
| 7318 | QCtype = intern_c_string (":type"); | ||
| 7319 | staticpro (&QCtype); | ||
| 7320 | QClocal = intern_c_string (":local"); | 7560 | QClocal = intern_c_string (":local"); |
| 7321 | staticpro (&QClocal); | 7561 | staticpro (&QClocal); |
| 7322 | QCremote = intern_c_string (":remote"); | 7562 | QCremote = intern_c_string (":remote"); |
| @@ -7348,6 +7588,13 @@ syms_of_process (void) | |||
| 7348 | staticpro (&deleted_pid_list); | 7588 | staticpro (&deleted_pid_list); |
| 7349 | #endif | 7589 | #endif |
| 7350 | 7590 | ||
| 7591 | #endif /* subprocesses */ | ||
| 7592 | |||
| 7593 | QCname = intern_c_string (":name"); | ||
| 7594 | staticpro (&QCname); | ||
| 7595 | QCtype = intern_c_string (":type"); | ||
| 7596 | staticpro (&QCtype); | ||
| 7597 | |||
| 7351 | Qeuid = intern_c_string ("euid"); | 7598 | Qeuid = intern_c_string ("euid"); |
| 7352 | staticpro (&Qeuid); | 7599 | staticpro (&Qeuid); |
| 7353 | Qegid = intern_c_string ("egid"); | 7600 | Qegid = intern_c_string ("egid"); |
| @@ -7417,6 +7664,7 @@ A value of nil means don't delete them until `list-processes' is run. */); | |||
| 7417 | 7664 | ||
| 7418 | delete_exited_processes = 1; | 7665 | delete_exited_processes = 1; |
| 7419 | 7666 | ||
| 7667 | #ifdef subprocesses | ||
| 7420 | DEFVAR_LISP ("process-connection-type", &Vprocess_connection_type, | 7668 | DEFVAR_LISP ("process-connection-type", &Vprocess_connection_type, |
| 7421 | doc: /* Control type of device used to communicate with subprocesses. | 7669 | doc: /* Control type of device used to communicate with subprocesses. |
| 7422 | Values are nil to use a pipe, or t or `pty' to use a pty. | 7670 | Values are nil to use a pipe, or t or `pty' to use a pty. |
| @@ -7441,7 +7689,6 @@ The variable takes effect when `start-process' is called. */); | |||
| 7441 | 7689 | ||
| 7442 | defsubr (&Sprocessp); | 7690 | defsubr (&Sprocessp); |
| 7443 | defsubr (&Sget_process); | 7691 | defsubr (&Sget_process); |
| 7444 | defsubr (&Sget_buffer_process); | ||
| 7445 | defsubr (&Sdelete_process); | 7692 | defsubr (&Sdelete_process); |
| 7446 | defsubr (&Sprocess_status); | 7693 | defsubr (&Sprocess_status); |
| 7447 | defsubr (&Sprocess_exit_status); | 7694 | defsubr (&Sprocess_exit_status); |
| @@ -7458,7 +7705,6 @@ The variable takes effect when `start-process' is called. */); | |||
| 7458 | defsubr (&Sprocess_sentinel); | 7705 | defsubr (&Sprocess_sentinel); |
| 7459 | defsubr (&Sset_process_window_size); | 7706 | defsubr (&Sset_process_window_size); |
| 7460 | defsubr (&Sset_process_inherit_coding_system_flag); | 7707 | defsubr (&Sset_process_inherit_coding_system_flag); |
| 7461 | defsubr (&Sprocess_inherit_coding_system_flag); | ||
| 7462 | defsubr (&Sset_process_query_on_exit_flag); | 7708 | defsubr (&Sset_process_query_on_exit_flag); |
| 7463 | defsubr (&Sprocess_query_on_exit_flag); | 7709 | defsubr (&Sprocess_query_on_exit_flag); |
| 7464 | defsubr (&Sprocess_contact); | 7710 | defsubr (&Sprocess_contact); |
| @@ -7505,474 +7751,8 @@ The variable takes effect when `start-process' is called. */); | |||
| 7505 | defsubr (&Sprocess_coding_system); | 7751 | defsubr (&Sprocess_coding_system); |
| 7506 | defsubr (&Sset_process_filter_multibyte); | 7752 | defsubr (&Sset_process_filter_multibyte); |
| 7507 | defsubr (&Sprocess_filter_multibyte_p); | 7753 | defsubr (&Sprocess_filter_multibyte_p); |
| 7508 | defsubr (&Slist_system_processes); | ||
| 7509 | defsubr (&Sprocess_attributes); | ||
| 7510 | } | ||
| 7511 | |||
| 7512 | |||
| 7513 | #else /* not subprocesses */ | ||
| 7514 | 7754 | ||
| 7515 | #include <sys/types.h> | 7755 | #endif /* subprocesses */ |
| 7516 | #include <errno.h> | ||
| 7517 | #include <sys/stat.h> | ||
| 7518 | #include <stdlib.h> | ||
| 7519 | #include <fcntl.h> | ||
| 7520 | #include <setjmp.h> | ||
| 7521 | #ifdef HAVE_UNISTD_H | ||
| 7522 | #include <unistd.h> | ||
| 7523 | #endif | ||
| 7524 | |||
| 7525 | #include "lisp.h" | ||
| 7526 | #include "systime.h" | ||
| 7527 | #include "character.h" | ||
| 7528 | #include "coding.h" | ||
| 7529 | #include "termopts.h" | ||
| 7530 | #include "sysselect.h" | ||
| 7531 | |||
| 7532 | extern int frame_garbaged; | ||
| 7533 | |||
| 7534 | extern EMACS_TIME timer_check (); | ||
| 7535 | extern int timers_run; | ||
| 7536 | |||
| 7537 | Lisp_Object QCtype, QCname; | ||
| 7538 | |||
| 7539 | Lisp_Object Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname, Qtpgid; | ||
| 7540 | Lisp_Object Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcstime; | ||
| 7541 | Lisp_Object Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs; | ||
| 7542 | Lisp_Object Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtime, Qctime; | ||
| 7543 | |||
| 7544 | /* Non-zero if keyboard input is on hold, zero otherwise. */ | ||
| 7545 | static int kbd_is_on_hold; | ||
| 7546 | |||
| 7547 | /* As described above, except assuming that there are no subprocesses: | ||
| 7548 | |||
| 7549 | Wait for timeout to elapse and/or keyboard input to be available. | ||
| 7550 | |||
| 7551 | time_limit is: | ||
| 7552 | timeout in seconds, or | ||
| 7553 | zero for no limit, or | ||
| 7554 | -1 means gobble data immediately available but don't wait for any. | ||
| 7555 | |||
| 7556 | read_kbd is a Lisp_Object: | ||
| 7557 | 0 to ignore keyboard input, or | ||
| 7558 | 1 to return when input is available, or | ||
| 7559 | -1 means caller will actually read the input, so don't throw to | ||
| 7560 | the quit handler. | ||
| 7561 | |||
| 7562 | see full version for other parameters. We know that wait_proc will | ||
| 7563 | always be NULL, since `subprocesses' isn't defined. | ||
| 7564 | |||
| 7565 | do_display != 0 means redisplay should be done to show subprocess | ||
| 7566 | output that arrives. | ||
| 7567 | |||
| 7568 | Return true if we received input from any process. */ | ||
| 7569 | |||
| 7570 | int | ||
| 7571 | wait_reading_process_output (time_limit, microsecs, read_kbd, do_display, | ||
| 7572 | wait_for_cell, wait_proc, just_wait_proc) | ||
| 7573 | int time_limit, microsecs, read_kbd, do_display; | ||
| 7574 | Lisp_Object wait_for_cell; | ||
| 7575 | struct Lisp_Process *wait_proc; | ||
| 7576 | int just_wait_proc; | ||
| 7577 | { | ||
| 7578 | register int nfds; | ||
| 7579 | EMACS_TIME end_time, timeout; | ||
| 7580 | SELECT_TYPE waitchannels; | ||
| 7581 | int xerrno; | ||
| 7582 | |||
| 7583 | /* What does time_limit really mean? */ | ||
| 7584 | if (time_limit || microsecs) | ||
| 7585 | { | ||
| 7586 | EMACS_GET_TIME (end_time); | ||
| 7587 | EMACS_SET_SECS_USECS (timeout, time_limit, microsecs); | ||
| 7588 | EMACS_ADD_TIME (end_time, end_time, timeout); | ||
| 7589 | } | ||
| 7590 | |||
| 7591 | /* Turn off periodic alarms (in case they are in use) | ||
| 7592 | and then turn off any other atimers, | ||
| 7593 | because the select emulator uses alarms. */ | ||
| 7594 | stop_polling (); | ||
| 7595 | turn_on_atimers (0); | ||
| 7596 | |||
| 7597 | while (1) | ||
| 7598 | { | ||
| 7599 | int timeout_reduced_for_timers = 0; | ||
| 7600 | |||
| 7601 | /* If calling from keyboard input, do not quit | ||
| 7602 | since we want to return C-g as an input character. | ||
| 7603 | Otherwise, do pending quit if requested. */ | ||
| 7604 | if (read_kbd >= 0) | ||
| 7605 | QUIT; | ||
| 7606 | |||
| 7607 | /* Exit now if the cell we're waiting for became non-nil. */ | ||
| 7608 | if (! NILP (wait_for_cell) && ! NILP (XCAR (wait_for_cell))) | ||
| 7609 | break; | ||
| 7610 | |||
| 7611 | /* Compute time from now till when time limit is up */ | ||
| 7612 | /* Exit if already run out */ | ||
| 7613 | if (time_limit == -1) | ||
| 7614 | { | ||
| 7615 | /* -1 specified for timeout means | ||
| 7616 | gobble output available now | ||
| 7617 | but don't wait at all. */ | ||
| 7618 | |||
| 7619 | EMACS_SET_SECS_USECS (timeout, 0, 0); | ||
| 7620 | } | ||
| 7621 | else if (time_limit || microsecs) | ||
| 7622 | { | ||
| 7623 | EMACS_GET_TIME (timeout); | ||
| 7624 | EMACS_SUB_TIME (timeout, end_time, timeout); | ||
| 7625 | if (EMACS_TIME_NEG_P (timeout)) | ||
| 7626 | break; | ||
| 7627 | } | ||
| 7628 | else | ||
| 7629 | { | ||
| 7630 | EMACS_SET_SECS_USECS (timeout, 100000, 0); | ||
| 7631 | } | ||
| 7632 | |||
| 7633 | /* If our caller will not immediately handle keyboard events, | ||
| 7634 | run timer events directly. | ||
| 7635 | (Callers that will immediately read keyboard events | ||
| 7636 | call timer_delay on their own.) */ | ||
| 7637 | if (NILP (wait_for_cell)) | ||
| 7638 | { | ||
| 7639 | EMACS_TIME timer_delay; | ||
| 7640 | |||
| 7641 | do | ||
| 7642 | { | ||
| 7643 | int old_timers_run = timers_run; | ||
| 7644 | timer_delay = timer_check (1); | ||
| 7645 | if (timers_run != old_timers_run && do_display) | ||
| 7646 | /* We must retry, since a timer may have requeued itself | ||
| 7647 | and that could alter the time delay. */ | ||
| 7648 | redisplay_preserve_echo_area (14); | ||
| 7649 | else | ||
| 7650 | break; | ||
| 7651 | } | ||
| 7652 | while (!detect_input_pending ()); | ||
| 7653 | |||
| 7654 | /* If there is unread keyboard input, also return. */ | ||
| 7655 | if (read_kbd != 0 | ||
| 7656 | && requeued_events_pending_p ()) | ||
| 7657 | break; | ||
| 7658 | |||
| 7659 | if (! EMACS_TIME_NEG_P (timer_delay) && time_limit != -1) | ||
| 7660 | { | ||
| 7661 | EMACS_TIME difference; | ||
| 7662 | EMACS_SUB_TIME (difference, timer_delay, timeout); | ||
| 7663 | if (EMACS_TIME_NEG_P (difference)) | ||
| 7664 | { | ||
| 7665 | timeout = timer_delay; | ||
| 7666 | timeout_reduced_for_timers = 1; | ||
| 7667 | } | ||
| 7668 | } | ||
| 7669 | } | ||
| 7670 | |||
| 7671 | /* Cause C-g and alarm signals to take immediate action, | ||
| 7672 | and cause input available signals to zero out timeout. */ | ||
| 7673 | if (read_kbd < 0) | ||
| 7674 | set_waiting_for_input (&timeout); | ||
| 7675 | |||
| 7676 | /* Wait till there is something to do. */ | ||
| 7677 | |||
| 7678 | if (! read_kbd && NILP (wait_for_cell)) | ||
| 7679 | FD_ZERO (&waitchannels); | ||
| 7680 | else | ||
| 7681 | FD_SET (0, &waitchannels); | ||
| 7682 | |||
| 7683 | /* If a frame has been newly mapped and needs updating, | ||
| 7684 | reprocess its display stuff. */ | ||
| 7685 | if (frame_garbaged && do_display) | ||
| 7686 | { | ||
| 7687 | clear_waiting_for_input (); | ||
| 7688 | redisplay_preserve_echo_area (15); | ||
| 7689 | if (read_kbd < 0) | ||
| 7690 | set_waiting_for_input (&timeout); | ||
| 7691 | } | ||
| 7692 | |||
| 7693 | if (read_kbd && detect_input_pending ()) | ||
| 7694 | { | ||
| 7695 | nfds = 0; | ||
| 7696 | FD_ZERO (&waitchannels); | ||
| 7697 | } | ||
| 7698 | else | ||
| 7699 | nfds = select (1, &waitchannels, (SELECT_TYPE *)0, (SELECT_TYPE *)0, | ||
| 7700 | &timeout); | ||
| 7701 | |||
| 7702 | xerrno = errno; | ||
| 7703 | |||
| 7704 | /* Make C-g and alarm signals set flags again */ | ||
| 7705 | clear_waiting_for_input (); | ||
| 7706 | |||
| 7707 | /* If we woke up due to SIGWINCH, actually change size now. */ | ||
| 7708 | do_pending_window_change (0); | ||
| 7709 | |||
| 7710 | if (time_limit && nfds == 0 && ! timeout_reduced_for_timers) | ||
| 7711 | /* We waited the full specified time, so return now. */ | ||
| 7712 | break; | ||
| 7713 | |||
| 7714 | if (nfds == -1) | ||
| 7715 | { | ||
| 7716 | /* If the system call was interrupted, then go around the | ||
| 7717 | loop again. */ | ||
| 7718 | if (xerrno == EINTR) | ||
| 7719 | FD_ZERO (&waitchannels); | ||
| 7720 | else | ||
| 7721 | error ("select error: %s", emacs_strerror (xerrno)); | ||
| 7722 | } | ||
| 7723 | #ifdef SOLARIS2 | ||
| 7724 | else if (nfds > 0 && (waitchannels & 1) && interrupt_input) | ||
| 7725 | /* System sometimes fails to deliver SIGIO. */ | ||
| 7726 | kill (getpid (), SIGIO); | ||
| 7727 | #endif | ||
| 7728 | #ifdef SIGIO | ||
| 7729 | if (read_kbd && interrupt_input && (waitchannels & 1)) | ||
| 7730 | kill (getpid (), SIGIO); | ||
| 7731 | #endif | ||
| 7732 | |||
| 7733 | /* Check for keyboard input */ | ||
| 7734 | |||
| 7735 | if (read_kbd | ||
| 7736 | && detect_input_pending_run_timers (do_display)) | ||
| 7737 | { | ||
| 7738 | swallow_events (do_display); | ||
| 7739 | if (detect_input_pending_run_timers (do_display)) | ||
| 7740 | break; | ||
| 7741 | } | ||
| 7742 | |||
| 7743 | /* If there is unread keyboard input, also return. */ | ||
| 7744 | if (read_kbd | ||
| 7745 | && requeued_events_pending_p ()) | ||
| 7746 | break; | ||
| 7747 | |||
| 7748 | /* If wait_for_cell. check for keyboard input | ||
| 7749 | but don't run any timers. | ||
| 7750 | ??? (It seems wrong to me to check for keyboard | ||
| 7751 | input at all when wait_for_cell, but the code | ||
| 7752 | has been this way since July 1994. | ||
| 7753 | Try changing this after version 19.31.) */ | ||
| 7754 | if (! NILP (wait_for_cell) | ||
| 7755 | && detect_input_pending ()) | ||
| 7756 | { | ||
| 7757 | swallow_events (do_display); | ||
| 7758 | if (detect_input_pending ()) | ||
| 7759 | break; | ||
| 7760 | } | ||
| 7761 | |||
| 7762 | /* Exit now if the cell we're waiting for became non-nil. */ | ||
| 7763 | if (! NILP (wait_for_cell) && ! NILP (XCAR (wait_for_cell))) | ||
| 7764 | break; | ||
| 7765 | } | ||
| 7766 | |||
| 7767 | start_polling (); | ||
| 7768 | |||
| 7769 | return 0; | ||
| 7770 | } | ||
| 7771 | |||
| 7772 | |||
| 7773 | /* Don't confuse make-docfile by having two doc strings for this function. | ||
| 7774 | make-docfile does not pay attention to #if, for good reason! */ | ||
| 7775 | DEFUN ("get-buffer-process", Fget_buffer_process, Sget_buffer_process, 1, 1, 0, | ||
| 7776 | 0) | ||
| 7777 | (register Lisp_Object name) | ||
| 7778 | { | ||
| 7779 | return Qnil; | ||
| 7780 | } | ||
| 7781 | |||
| 7782 | /* Don't confuse make-docfile by having two doc strings for this function. | ||
| 7783 | make-docfile does not pay attention to #if, for good reason! */ | ||
| 7784 | DEFUN ("process-inherit-coding-system-flag", | ||
| 7785 | Fprocess_inherit_coding_system_flag, Sprocess_inherit_coding_system_flag, | ||
| 7786 | 1, 1, 0, | ||
| 7787 | 0) | ||
| 7788 | (register Lisp_Object process) | ||
| 7789 | { | ||
| 7790 | /* Ignore the argument and return the value of | ||
| 7791 | inherit-process-coding-system. */ | ||
| 7792 | return inherit_process_coding_system ? Qt : Qnil; | ||
| 7793 | } | ||
| 7794 | |||
| 7795 | /* Kill all processes associated with `buffer'. | ||
| 7796 | If `buffer' is nil, kill all processes. | ||
| 7797 | Since we have no subprocesses, this does nothing. */ | ||
| 7798 | |||
| 7799 | void | ||
| 7800 | kill_buffer_processes (buffer) | ||
| 7801 | Lisp_Object buffer; | ||
| 7802 | { | ||
| 7803 | } | ||
| 7804 | |||
| 7805 | |||
| 7806 | /* Stop reading input from keyboard sources. */ | ||
| 7807 | |||
| 7808 | void | ||
| 7809 | hold_keyboard_input (void) | ||
| 7810 | { | ||
| 7811 | kbd_is_on_hold = 1; | ||
| 7812 | } | ||
| 7813 | |||
| 7814 | /* Resume reading input from keyboard sources. */ | ||
| 7815 | |||
| 7816 | void | ||
| 7817 | unhold_keyboard_input (void) | ||
| 7818 | { | ||
| 7819 | kbd_is_on_hold = 0; | ||
| 7820 | } | ||
| 7821 | |||
| 7822 | /* Return non-zero if keyboard input is on hold, zero otherwise. */ | ||
| 7823 | |||
| 7824 | int | ||
| 7825 | kbd_on_hold_p (void) | ||
| 7826 | { | ||
| 7827 | return kbd_is_on_hold; | ||
| 7828 | } | ||
| 7829 | |||
| 7830 | DEFUN ("list-system-processes", Flist_system_processes, Slist_system_processes, | ||
| 7831 | 0, 0, 0, | ||
| 7832 | doc: /* Return a list of numerical process IDs of all running processes. | ||
| 7833 | If this functionality is unsupported, return nil. | ||
| 7834 | |||
| 7835 | See `process-attributes' for getting attributes of a process given its ID. */) | ||
| 7836 | (void) | ||
| 7837 | { | ||
| 7838 | return list_system_processes (); | ||
| 7839 | } | ||
| 7840 | |||
| 7841 | DEFUN ("process-attributes", Fprocess_attributes, | ||
| 7842 | Sprocess_attributes, 1, 1, 0, | ||
| 7843 | doc: /* Return attributes of the process given by its PID, a number. | ||
| 7844 | |||
| 7845 | Value is an alist where each element is a cons cell of the form | ||
| 7846 | |||
| 7847 | \(KEY . VALUE) | ||
| 7848 | |||
| 7849 | If this functionality is unsupported, the value is nil. | ||
| 7850 | |||
| 7851 | See `list-system-processes' for getting a list of all process IDs. | ||
| 7852 | |||
| 7853 | The KEYs of the attributes that this function may return are listed | ||
| 7854 | below, together with the type of the associated VALUE (in parentheses). | ||
| 7855 | Not all platforms support all of these attributes; unsupported | ||
| 7856 | attributes will not appear in the returned alist. | ||
| 7857 | Unless explicitly indicated otherwise, numbers can have either | ||
| 7858 | integer or floating point values. | ||
| 7859 | |||
| 7860 | euid -- Effective user User ID of the process (number) | ||
| 7861 | user -- User name corresponding to euid (string) | ||
| 7862 | egid -- Effective user Group ID of the process (number) | ||
| 7863 | group -- Group name corresponding to egid (string) | ||
| 7864 | comm -- Command name (executable name only) (string) | ||
| 7865 | state -- Process state code, such as "S", "R", or "T" (string) | ||
| 7866 | ppid -- Parent process ID (number) | ||
| 7867 | pgrp -- Process group ID (number) | ||
| 7868 | sess -- Session ID, i.e. process ID of session leader (number) | ||
| 7869 | ttname -- Controlling tty name (string) | ||
| 7870 | tpgid -- ID of foreground process group on the process's tty (number) | ||
| 7871 | minflt -- number of minor page faults (number) | ||
| 7872 | majflt -- number of major page faults (number) | ||
| 7873 | cminflt -- cumulative number of minor page faults (number) | ||
| 7874 | cmajflt -- cumulative number of major page faults (number) | ||
| 7875 | utime -- user time used by the process, in the (HIGH LOW USEC) format | ||
| 7876 | stime -- system time used by the process, in the (HIGH LOW USEC) format | ||
| 7877 | time -- sum of utime and stime, in the (HIGH LOW USEC) format | ||
| 7878 | cutime -- user time used by the process and its children, (HIGH LOW USEC) | ||
| 7879 | cstime -- system time used by the process and its children, (HIGH LOW USEC) | ||
| 7880 | ctime -- sum of cutime and cstime, in the (HIGH LOW USEC) format | ||
| 7881 | pri -- priority of the process (number) | ||
| 7882 | nice -- nice value of the process (number) | ||
| 7883 | thcount -- process thread count (number) | ||
| 7884 | start -- time the process started, in the (HIGH LOW USEC) format | ||
| 7885 | vsize -- virtual memory size of the process in KB's (number) | ||
| 7886 | rss -- resident set size of the process in KB's (number) | ||
| 7887 | etime -- elapsed time the process is running, in (HIGH LOW USEC) format | ||
| 7888 | pcpu -- percents of CPU time used by the process (floating-point number) | ||
| 7889 | pmem -- percents of total physical memory used by process's resident set | ||
| 7890 | (floating-point number) | ||
| 7891 | args -- command line which invoked the process (string). */) | ||
| 7892 | ( Lisp_Object pid) | ||
| 7893 | { | ||
| 7894 | return system_process_attributes (pid); | ||
| 7895 | } | ||
| 7896 | |||
| 7897 | void | ||
| 7898 | init_process () | ||
| 7899 | { | ||
| 7900 | kbd_is_on_hold = 0; | ||
| 7901 | } | ||
| 7902 | |||
| 7903 | void | ||
| 7904 | syms_of_process () | ||
| 7905 | { | ||
| 7906 | QCtype = intern_c_string (":type"); | ||
| 7907 | staticpro (&QCtype); | ||
| 7908 | QCname = intern_c_string (":name"); | ||
| 7909 | staticpro (&QCname); | ||
| 7910 | QCtype = intern_c_string (":type"); | ||
| 7911 | staticpro (&QCtype); | ||
| 7912 | QCname = intern_c_string (":name"); | ||
| 7913 | staticpro (&QCname); | ||
| 7914 | Qeuid = intern_c_string ("euid"); | ||
| 7915 | staticpro (&Qeuid); | ||
| 7916 | Qegid = intern_c_string ("egid"); | ||
| 7917 | staticpro (&Qegid); | ||
| 7918 | Quser = intern_c_string ("user"); | ||
| 7919 | staticpro (&Quser); | ||
| 7920 | Qgroup = intern_c_string ("group"); | ||
| 7921 | staticpro (&Qgroup); | ||
| 7922 | Qcomm = intern_c_string ("comm"); | ||
| 7923 | staticpro (&Qcomm); | ||
| 7924 | Qstate = intern_c_string ("state"); | ||
| 7925 | staticpro (&Qstate); | ||
| 7926 | Qppid = intern_c_string ("ppid"); | ||
| 7927 | staticpro (&Qppid); | ||
| 7928 | Qpgrp = intern_c_string ("pgrp"); | ||
| 7929 | staticpro (&Qpgrp); | ||
| 7930 | Qsess = intern_c_string ("sess"); | ||
| 7931 | staticpro (&Qsess); | ||
| 7932 | Qttname = intern_c_string ("ttname"); | ||
| 7933 | staticpro (&Qttname); | ||
| 7934 | Qtpgid = intern_c_string ("tpgid"); | ||
| 7935 | staticpro (&Qtpgid); | ||
| 7936 | Qminflt = intern_c_string ("minflt"); | ||
| 7937 | staticpro (&Qminflt); | ||
| 7938 | Qmajflt = intern_c_string ("majflt"); | ||
| 7939 | staticpro (&Qmajflt); | ||
| 7940 | Qcminflt = intern_c_string ("cminflt"); | ||
| 7941 | staticpro (&Qcminflt); | ||
| 7942 | Qcmajflt = intern_c_string ("cmajflt"); | ||
| 7943 | staticpro (&Qcmajflt); | ||
| 7944 | Qutime = intern_c_string ("utime"); | ||
| 7945 | staticpro (&Qutime); | ||
| 7946 | Qstime = intern_c_string ("stime"); | ||
| 7947 | staticpro (&Qstime); | ||
| 7948 | Qtime = intern_c_string ("time"); | ||
| 7949 | staticpro (&Qtime); | ||
| 7950 | Qcutime = intern_c_string ("cutime"); | ||
| 7951 | staticpro (&Qcutime); | ||
| 7952 | Qcstime = intern_c_string ("cstime"); | ||
| 7953 | staticpro (&Qcstime); | ||
| 7954 | Qctime = intern_c_string ("ctime"); | ||
| 7955 | staticpro (&Qctime); | ||
| 7956 | Qpri = intern_c_string ("pri"); | ||
| 7957 | staticpro (&Qpri); | ||
| 7958 | Qnice = intern_c_string ("nice"); | ||
| 7959 | staticpro (&Qnice); | ||
| 7960 | Qthcount = intern_c_string ("thcount"); | ||
| 7961 | staticpro (&Qthcount); | ||
| 7962 | Qstart = intern_c_string ("start"); | ||
| 7963 | staticpro (&Qstart); | ||
| 7964 | Qvsize = intern_c_string ("vsize"); | ||
| 7965 | staticpro (&Qvsize); | ||
| 7966 | Qrss = intern_c_string ("rss"); | ||
| 7967 | staticpro (&Qrss); | ||
| 7968 | Qetime = intern_c_string ("etime"); | ||
| 7969 | staticpro (&Qetime); | ||
| 7970 | Qpcpu = intern_c_string ("pcpu"); | ||
| 7971 | staticpro (&Qpcpu); | ||
| 7972 | Qpmem = intern_c_string ("pmem"); | ||
| 7973 | staticpro (&Qpmem); | ||
| 7974 | Qargs = intern_c_string ("args"); | ||
| 7975 | staticpro (&Qargs); | ||
| 7976 | 7756 | ||
| 7977 | defsubr (&Sget_buffer_process); | 7757 | defsubr (&Sget_buffer_process); |
| 7978 | defsubr (&Sprocess_inherit_coding_system_flag); | 7758 | defsubr (&Sprocess_inherit_coding_system_flag); |
| @@ -7980,8 +7760,5 @@ syms_of_process () | |||
| 7980 | defsubr (&Sprocess_attributes); | 7760 | defsubr (&Sprocess_attributes); |
| 7981 | } | 7761 | } |
| 7982 | 7762 | ||
| 7983 | |||
| 7984 | #endif /* not subprocesses */ | ||
| 7985 | |||
| 7986 | /* arch-tag: 3706c011-7b9a-4117-bd4f-59e7f701a4c4 | 7763 | /* arch-tag: 3706c011-7b9a-4117-bd4f-59e7f701a4c4 |
| 7987 | (do not change this comment) */ | 7764 | (do not change this comment) */ |
diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h index dd0e1bea9ad..ee841041edb 100644 --- a/src/s/hpux10-20.h +++ b/src/s/hpux10-20.h | |||
| @@ -146,9 +146,5 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 146 | /* No underscore please. */ | 146 | /* No underscore please. */ |
| 147 | #define LDAV_SYMBOL "avenrun" | 147 | #define LDAV_SYMBOL "avenrun" |
| 148 | 148 | ||
| 149 | /* On USG systems these have different names. */ | ||
| 150 | #define index strchr | ||
| 151 | #define rindex strrchr | ||
| 152 | |||
| 153 | /* arch-tag: 8d8dcbf1-ca9b-48a1-94be-b750de18a5c6 | 149 | /* arch-tag: 8d8dcbf1-ca9b-48a1-94be-b750de18a5c6 |
| 154 | (do not change this comment) */ | 150 | (do not change this comment) */ |
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h index df9929f6823..a87e22b338c 100644 --- a/src/s/ms-w32.h +++ b/src/s/ms-w32.h | |||
| @@ -274,8 +274,6 @@ typedef int pid_t; | |||
| 274 | #define pclose _pclose | 274 | #define pclose _pclose |
| 275 | #define umask _umask | 275 | #define umask _umask |
| 276 | #define utimbuf _utimbuf | 276 | #define utimbuf _utimbuf |
| 277 | #define index strchr | ||
| 278 | #define rindex strrchr | ||
| 279 | #define strdup _strdup | 277 | #define strdup _strdup |
| 280 | #define strupr _strupr | 278 | #define strupr _strupr |
| 281 | #define strnicmp _strnicmp | 279 | #define strnicmp _strnicmp |
diff --git a/src/s/usg5-4.h b/src/s/usg5-4.h index e667ffdc106..b92a5bbb450 100644 --- a/src/s/usg5-4.h +++ b/src/s/usg5-4.h | |||
| @@ -50,14 +50,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 50 | #define _setjmp setjmp | 50 | #define _setjmp setjmp |
| 51 | #define _longjmp longjmp | 51 | #define _longjmp longjmp |
| 52 | 52 | ||
| 53 | /* On USG systems these have different names. */ | ||
| 54 | #ifndef HAVE_INDEX | ||
| 55 | #define index strchr | ||
| 56 | #endif /* ! defined (HAVE_INDEX) */ | ||
| 57 | #ifndef HAVE_RINDEX | ||
| 58 | #define rindex strrchr | ||
| 59 | #endif /* ! defined (HAVE_RINDEX) */ | ||
| 60 | |||
| 61 | /* The docs for system V/386 suggest v.3 has sigpause, so let's try it. */ | 53 | /* The docs for system V/386 suggest v.3 has sigpause, so let's try it. */ |
| 62 | #define HAVE_SYSV_SIGPAUSE | 54 | #define HAVE_SYSV_SIGPAUSE |
| 63 | 55 | ||
diff --git a/src/sysdep.c b/src/sysdep.c index daca9d12510..e45664a8bd6 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -1555,7 +1555,7 @@ init_system_name (void) | |||
| 1555 | #ifndef CANNOT_DUMP | 1555 | #ifndef CANNOT_DUMP |
| 1556 | if (initialized) | 1556 | if (initialized) |
| 1557 | #endif /* not CANNOT_DUMP */ | 1557 | #endif /* not CANNOT_DUMP */ |
| 1558 | if (! index (hostname, '.')) | 1558 | if (! strchr (hostname, '.')) |
| 1559 | { | 1559 | { |
| 1560 | int count; | 1560 | int count; |
| 1561 | #ifdef HAVE_GETADDRINFO | 1561 | #ifdef HAVE_GETADDRINFO |
| @@ -1584,7 +1584,7 @@ init_system_name (void) | |||
| 1584 | while (it) | 1584 | while (it) |
| 1585 | { | 1585 | { |
| 1586 | char *fqdn = it->ai_canonname; | 1586 | char *fqdn = it->ai_canonname; |
| 1587 | if (fqdn && index (fqdn, '.') | 1587 | if (fqdn && strchr (fqdn, '.') |
| 1588 | && strcmp (fqdn, "localhost.localdomain") != 0) | 1588 | && strcmp (fqdn, "localhost.localdomain") != 0) |
| 1589 | break; | 1589 | break; |
| 1590 | it = it->ai_next; | 1590 | it = it->ai_next; |
| @@ -1620,13 +1620,13 @@ init_system_name (void) | |||
| 1620 | { | 1620 | { |
| 1621 | char *fqdn = (char *) hp->h_name; | 1621 | char *fqdn = (char *) hp->h_name; |
| 1622 | 1622 | ||
| 1623 | if (!index (fqdn, '.')) | 1623 | if (!strchr (fqdn, '.')) |
| 1624 | { | 1624 | { |
| 1625 | /* We still don't have a fully qualified domain name. | 1625 | /* We still don't have a fully qualified domain name. |
| 1626 | Try to find one in the list of alternate names */ | 1626 | Try to find one in the list of alternate names */ |
| 1627 | char **alias = hp->h_aliases; | 1627 | char **alias = hp->h_aliases; |
| 1628 | while (*alias | 1628 | while (*alias |
| 1629 | && (!index (*alias, '.') | 1629 | && (!strchr (*alias, '.') |
| 1630 | || !strcmp (*alias, "localhost.localdomain"))) | 1630 | || !strcmp (*alias, "localhost.localdomain"))) |
| 1631 | alias++; | 1631 | alias++; |
| 1632 | if (*alias) | 1632 | if (*alias) |
diff --git a/src/vm-limit.c b/src/vm-limit.c index cb42f78701b..aca0e0afb47 100644 --- a/src/vm-limit.c +++ b/src/vm-limit.c | |||
| @@ -42,7 +42,7 @@ static enum warnlevel warnlevel; | |||
| 42 | 42 | ||
| 43 | /* Function to call to issue a warning; | 43 | /* Function to call to issue a warning; |
| 44 | 0 means don't issue them. */ | 44 | 0 means don't issue them. */ |
| 45 | static void (*warn_function) (char *); | 45 | static void (*warn_function) (const char *); |
| 46 | 46 | ||
| 47 | /* Start of data space; can be changed by calling malloc_init. */ | 47 | /* Start of data space; can be changed by calling malloc_init. */ |
| 48 | static POINTER data_space_start; | 48 | static POINTER data_space_start; |
| @@ -289,7 +289,7 @@ start_of_data (void) | |||
| 289 | WARNFUN specifies the function to call to issue a warning. */ | 289 | WARNFUN specifies the function to call to issue a warning. */ |
| 290 | 290 | ||
| 291 | void | 291 | void |
| 292 | memory_warnings (POINTER start, void (*warnfun) (char *)) | 292 | memory_warnings (POINTER start, void (*warnfun) (const char *)) |
| 293 | { | 293 | { |
| 294 | extern void (* __after_morecore_hook) (void); /* From gmalloc.c */ | 294 | extern void (* __after_morecore_hook) (void); /* From gmalloc.c */ |
| 295 | 295 | ||
diff --git a/src/w32fns.c b/src/w32fns.c index 916aea28eea..c1791f2bf3e 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -288,10 +288,15 @@ unsigned int msh_mousewheel = 0; | |||
| 288 | #define MENU_FREE_DELAY 1000 | 288 | #define MENU_FREE_DELAY 1000 |
| 289 | static unsigned menu_free_timer = 0; | 289 | static unsigned menu_free_timer = 0; |
| 290 | 290 | ||
| 291 | /* In dispnew.c */ | ||
| 292 | |||
| 293 | extern Lisp_Object Vwindow_system_version; | ||
| 294 | |||
| 291 | /* The below are defined in frame.c. */ | 295 | /* The below are defined in frame.c. */ |
| 292 | 296 | ||
| 293 | extern Lisp_Object Vmenu_bar_mode, Vtool_bar_mode; | 297 | extern Lisp_Object Vmenu_bar_mode, Vtool_bar_mode; |
| 294 | extern Lisp_Object Vwindow_system_version; | 298 | extern Lisp_Object Vwindow_system_version; |
| 299 | extern Lisp_Object Qtooltip; | ||
| 295 | 300 | ||
| 296 | #ifdef GLYPH_DEBUG | 301 | #ifdef GLYPH_DEBUG |
| 297 | int image_cache_refcount, dpyinfo_refcount; | 302 | int image_cache_refcount, dpyinfo_refcount; |
| @@ -5476,9 +5481,8 @@ x_create_tip_frame (struct w32_display_info *dpyinfo, | |||
| 5476 | change_frame_size (f, height, width, 1, 0, 0); | 5481 | change_frame_size (f, height, width, 1, 0, 0); |
| 5477 | 5482 | ||
| 5478 | /* Add `tooltip' frame parameter's default value. */ | 5483 | /* Add `tooltip' frame parameter's default value. */ |
| 5479 | if (NILP (Fframe_parameter (frame, intern ("tooltip")))) | 5484 | if (NILP (Fframe_parameter (frame, Qtooltip))) |
| 5480 | Fmodify_frame_parameters (frame, Fcons (Fcons (intern ("tooltip"), Qt), | 5485 | Fmodify_frame_parameters (frame, Fcons (Fcons (Qtooltip, Qt), Qnil)); |
| 5481 | Qnil)); | ||
| 5482 | 5486 | ||
| 5483 | /* Set up faces after all frame parameters are known. This call | 5487 | /* Set up faces after all frame parameters are known. This call |
| 5484 | also merges in face attributes specified for new frames. | 5488 | also merges in face attributes specified for new frames. |
diff --git a/src/w32term.c b/src/w32term.c index 7ace4b01f95..9db533eb5e9 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -737,7 +737,6 @@ w32_draw_fringe_bitmap (struct window *w, struct glyph_row *row, | |||
| 737 | struct frame *f = XFRAME (WINDOW_FRAME (w)); | 737 | struct frame *f = XFRAME (WINDOW_FRAME (w)); |
| 738 | HDC hdc; | 738 | HDC hdc; |
| 739 | struct face *face = p->face; | 739 | struct face *face = p->face; |
| 740 | int rowY; | ||
| 741 | 740 | ||
| 742 | hdc = get_frame_dc (f); | 741 | hdc = get_frame_dc (f); |
| 743 | 742 | ||
| @@ -796,21 +795,7 @@ w32_draw_fringe_bitmap (struct window *w, struct glyph_row *row, | |||
| 796 | } | 795 | } |
| 797 | 796 | ||
| 798 | /* Must clip because of partially visible lines. */ | 797 | /* Must clip because of partially visible lines. */ |
| 799 | rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y); | 798 | w32_clip_to_row (w, row, -1, hdc); |
| 800 | if (p->y < rowY) | ||
| 801 | { | ||
| 802 | /* Adjust position of "bottom aligned" bitmap on partially | ||
| 803 | visible last row. */ | ||
| 804 | int oldY = row->y; | ||
| 805 | int oldVH = row->visible_height; | ||
| 806 | row->visible_height = p->h; | ||
| 807 | row->y -= rowY - p->y; | ||
| 808 | w32_clip_to_row (w, row, -1, hdc); | ||
| 809 | row->y = oldY; | ||
| 810 | row->visible_height = oldVH; | ||
| 811 | } | ||
| 812 | else | ||
| 813 | w32_clip_to_row (w, row, -1, hdc); | ||
| 814 | 799 | ||
| 815 | if (p->which && p->which < max_fringe_bmp) | 800 | if (p->which && p->which < max_fringe_bmp) |
| 816 | { | 801 | { |
diff --git a/src/xdisp.c b/src/xdisp.c index d145e7bd9f6..b68425da743 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -6625,6 +6625,7 @@ static int | |||
| 6625 | next_element_from_image (struct it *it) | 6625 | next_element_from_image (struct it *it) |
| 6626 | { | 6626 | { |
| 6627 | it->what = IT_IMAGE; | 6627 | it->what = IT_IMAGE; |
| 6628 | it->ignore_overlay_strings_at_pos_p = 0; | ||
| 6628 | return 1; | 6629 | return 1; |
| 6629 | } | 6630 | } |
| 6630 | 6631 | ||
| @@ -8412,7 +8413,7 @@ message3_nolog (Lisp_Object m, int nbytes, int multibyte) | |||
| 8412 | that was alloca'd. */ | 8413 | that was alloca'd. */ |
| 8413 | 8414 | ||
| 8414 | void | 8415 | void |
| 8415 | message1 (char *m) | 8416 | message1 (const char *m) |
| 8416 | { | 8417 | { |
| 8417 | message2 (m, (m ? strlen (m) : 0), 0); | 8418 | message2 (m, (m ? strlen (m) : 0), 0); |
| 8418 | } | 8419 | } |
| @@ -8421,7 +8422,7 @@ message1 (char *m) | |||
| 8421 | /* The non-logging counterpart of message1. */ | 8422 | /* The non-logging counterpart of message1. */ |
| 8422 | 8423 | ||
| 8423 | void | 8424 | void |
| 8424 | message1_nolog (char *m) | 8425 | message1_nolog (const char *m) |
| 8425 | { | 8426 | { |
| 8426 | message2_nolog (m, (m ? strlen (m) : 0), 0); | 8427 | message2_nolog (m, (m ? strlen (m) : 0), 0); |
| 8427 | } | 8428 | } |
| @@ -8430,7 +8431,7 @@ message1_nolog (char *m) | |||
| 8430 | which gets replaced with STRING. */ | 8431 | which gets replaced with STRING. */ |
| 8431 | 8432 | ||
| 8432 | void | 8433 | void |
| 8433 | message_with_string (char *m, Lisp_Object string, int log) | 8434 | message_with_string (const char *m, Lisp_Object string, int log) |
| 8434 | { | 8435 | { |
| 8435 | CHECK_STRING (string); | 8436 | CHECK_STRING (string); |
| 8436 | 8437 | ||
| @@ -8493,9 +8494,8 @@ message_with_string (char *m, Lisp_Object string, int log) | |||
| 8493 | /* Dump an informative message to the minibuf. If M is 0, clear out | 8494 | /* Dump an informative message to the minibuf. If M is 0, clear out |
| 8494 | any existing message, and let the mini-buffer text show through. */ | 8495 | any existing message, and let the mini-buffer text show through. */ |
| 8495 | 8496 | ||
| 8496 | /* VARARGS 1 */ | 8497 | static void |
| 8497 | void | 8498 | vmessage (const char *m, va_list ap) |
| 8498 | message (char *m, EMACS_INT a1, EMACS_INT a2, EMACS_INT a3) | ||
| 8499 | { | 8499 | { |
| 8500 | if (noninteractive) | 8500 | if (noninteractive) |
| 8501 | { | 8501 | { |
| @@ -8504,7 +8504,7 @@ message (char *m, EMACS_INT a1, EMACS_INT a2, EMACS_INT a3) | |||
| 8504 | if (noninteractive_need_newline) | 8504 | if (noninteractive_need_newline) |
| 8505 | putc ('\n', stderr); | 8505 | putc ('\n', stderr); |
| 8506 | noninteractive_need_newline = 0; | 8506 | noninteractive_need_newline = 0; |
| 8507 | fprintf (stderr, m, a1, a2, a3); | 8507 | vfprintf (stderr, m, ap); |
| 8508 | if (cursor_in_echo_area == 0) | 8508 | if (cursor_in_echo_area == 0) |
| 8509 | fprintf (stderr, "\n"); | 8509 | fprintf (stderr, "\n"); |
| 8510 | fflush (stderr); | 8510 | fflush (stderr); |
| @@ -8532,13 +8532,9 @@ message (char *m, EMACS_INT a1, EMACS_INT a2, EMACS_INT a3) | |||
| 8532 | if (m) | 8532 | if (m) |
| 8533 | { | 8533 | { |
| 8534 | int len; | 8534 | int len; |
| 8535 | char *a[3]; | ||
| 8536 | a[0] = (char *) a1; | ||
| 8537 | a[1] = (char *) a2; | ||
| 8538 | a[2] = (char *) a3; | ||
| 8539 | 8535 | ||
| 8540 | len = doprnt (FRAME_MESSAGE_BUF (f), | 8536 | len = doprnt (FRAME_MESSAGE_BUF (f), |
| 8541 | FRAME_MESSAGE_BUF_SIZE (f), m, (char *)0, 3, a); | 8537 | FRAME_MESSAGE_BUF_SIZE (f), m, (char *)0, ap); |
| 8542 | 8538 | ||
| 8543 | message2 (FRAME_MESSAGE_BUF (f), len, 0); | 8539 | message2 (FRAME_MESSAGE_BUF (f), len, 0); |
| 8544 | } | 8540 | } |
| @@ -8552,17 +8548,29 @@ message (char *m, EMACS_INT a1, EMACS_INT a2, EMACS_INT a3) | |||
| 8552 | } | 8548 | } |
| 8553 | } | 8549 | } |
| 8554 | 8550 | ||
| 8551 | void | ||
| 8552 | message (const char *m, ...) | ||
| 8553 | { | ||
| 8554 | va_list ap; | ||
| 8555 | va_start (ap, m); | ||
| 8556 | vmessage (m, ap); | ||
| 8557 | va_end (ap); | ||
| 8558 | } | ||
| 8559 | |||
| 8555 | 8560 | ||
| 8556 | /* The non-logging version of message. */ | 8561 | /* The non-logging version of message. */ |
| 8557 | 8562 | ||
| 8558 | void | 8563 | void |
| 8559 | message_nolog (char *m, EMACS_INT a1, EMACS_INT a2, EMACS_INT a3) | 8564 | message_nolog (const char *m, ...) |
| 8560 | { | 8565 | { |
| 8561 | Lisp_Object old_log_max; | 8566 | Lisp_Object old_log_max; |
| 8567 | va_list ap; | ||
| 8568 | va_start (ap, m); | ||
| 8562 | old_log_max = Vmessage_log_max; | 8569 | old_log_max = Vmessage_log_max; |
| 8563 | Vmessage_log_max = Qnil; | 8570 | Vmessage_log_max = Qnil; |
| 8564 | message (m, a1, a2, a3); | 8571 | vmessage (m, ap); |
| 8565 | Vmessage_log_max = old_log_max; | 8572 | Vmessage_log_max = old_log_max; |
| 8573 | va_end (ap); | ||
| 8566 | } | 8574 | } |
| 8567 | 8575 | ||
| 8568 | 8576 | ||
diff --git a/src/xfaces.c b/src/xfaces.c index 520546c42b1..ad436f06202 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -5605,6 +5605,7 @@ realize_face (struct face_cache *cache, Lisp_Object *attrs, int former_face_id) | |||
| 5605 | struct face *former_face = cache->faces_by_id[former_face_id]; | 5605 | struct face *former_face = cache->faces_by_id[former_face_id]; |
| 5606 | uncache_face (cache, former_face); | 5606 | uncache_face (cache, former_face); |
| 5607 | free_realized_face (cache->f, former_face); | 5607 | free_realized_face (cache->f, former_face); |
| 5608 | SET_FRAME_GARBAGED (cache->f); | ||
| 5608 | } | 5609 | } |
| 5609 | 5610 | ||
| 5610 | if (FRAME_WINDOW_P (cache->f)) | 5611 | if (FRAME_WINDOW_P (cache->f)) |
| @@ -6790,10 +6791,10 @@ Each element is of the form: | |||
| 6790 | (FACE REPLACEMENT...), | 6791 | (FACE REPLACEMENT...), |
| 6791 | 6792 | ||
| 6792 | which causes display of the face FACE to use REPLACEMENT... instead. | 6793 | which causes display of the face FACE to use REPLACEMENT... instead. |
| 6793 | REPLACEMENT... is interpreted the same way the value of a `face' text | 6794 | REPLACEMENT... is interpreted the same way as the value of a `face' |
| 6794 | property is: it may be (1) A face name, (2) A list of face names, (3) A | 6795 | text property: it may be (1) A face name, (2) A list of face names, |
| 6795 | property-list of face attribute/value pairs, or (4) A list of face names | 6796 | (3) A property-list of face attribute/value pairs, or (4) A list of |
| 6796 | intermixed with lists containing face attribute/value pairs. | 6797 | face names or lists containing face attribute/value pairs. |
| 6797 | 6798 | ||
| 6798 | Multiple entries in REPLACEMENT... are merged together to form the final | 6799 | Multiple entries in REPLACEMENT... are merged together to form the final |
| 6799 | result, with faces or attributes earlier in the list taking precedence | 6800 | result, with faces or attributes earlier in the list taking precedence |
| @@ -6817,7 +6818,11 @@ face definitions. For instance, the mode my-mode could define a face | |||
| 6817 | `my-mode-default', and then in the mode setup function, do: | 6818 | `my-mode-default', and then in the mode setup function, do: |
| 6818 | 6819 | ||
| 6819 | (set (make-local-variable 'face-remapping-alist) | 6820 | (set (make-local-variable 'face-remapping-alist) |
| 6820 | '((default my-mode-default)))). */); | 6821 | '((default my-mode-default)))). |
| 6822 | |||
| 6823 | Because Emacs normally only redraws screen areas when the underlying | ||
| 6824 | buffer contents change, you may need to call `redraw-display' after | ||
| 6825 | changing this variable for it to take effect. */); | ||
| 6821 | Vface_remapping_alist = Qnil; | 6826 | Vface_remapping_alist = Qnil; |
| 6822 | 6827 | ||
| 6823 | DEFVAR_LISP ("face-font-rescale-alist", &Vface_font_rescale_alist, | 6828 | DEFVAR_LISP ("face-font-rescale-alist", &Vface_font_rescale_alist, |
diff --git a/src/xfns.c b/src/xfns.c index 3f4f32bbb2c..5a96598eaee 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -205,6 +205,7 @@ extern Lisp_Object Vsystem_name; | |||
| 205 | /* The below are defined in frame.c. */ | 205 | /* The below are defined in frame.c. */ |
| 206 | 206 | ||
| 207 | extern Lisp_Object Vmenu_bar_mode, Vtool_bar_mode; | 207 | extern Lisp_Object Vmenu_bar_mode, Vtool_bar_mode; |
| 208 | extern Lisp_Object Qtooltip; | ||
| 208 | 209 | ||
| 209 | #if GLYPH_DEBUG | 210 | #if GLYPH_DEBUG |
| 210 | int image_cache_refcount, dpyinfo_refcount; | 211 | int image_cache_refcount, dpyinfo_refcount; |
| @@ -2450,6 +2451,7 @@ x_window (f, window_prompting, minibuffer_only) | |||
| 2450 | XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++; | 2451 | XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++; |
| 2451 | XtSetArg (al[ac], XtNdepth, FRAME_X_DISPLAY_INFO (f)->n_planes); ac++; | 2452 | XtSetArg (al[ac], XtNdepth, FRAME_X_DISPLAY_INFO (f)->n_planes); ac++; |
| 2452 | XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++; | 2453 | XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++; |
| 2454 | XtSetArg (al[ac], XtNborderWidth, 0); ac++; | ||
| 2453 | XtSetValues (pane_widget, al, ac); | 2455 | XtSetValues (pane_widget, al, ac); |
| 2454 | f->output_data.x->column_widget = pane_widget; | 2456 | f->output_data.x->column_widget = pane_widget; |
| 2455 | 2457 | ||
| @@ -2465,6 +2467,7 @@ x_window (f, window_prompting, minibuffer_only) | |||
| 2465 | XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++; | 2467 | XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++; |
| 2466 | XtSetArg (al[ac], XtNdepth, FRAME_X_DISPLAY_INFO (f)->n_planes); ac++; | 2468 | XtSetArg (al[ac], XtNdepth, FRAME_X_DISPLAY_INFO (f)->n_planes); ac++; |
| 2467 | XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++; | 2469 | XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++; |
| 2470 | XtSetArg (al[ac], XtNborderWidth, 0); ac++; | ||
| 2468 | frame_widget = XtCreateWidget (f->namebuf, emacsFrameClass, pane_widget, | 2471 | frame_widget = XtCreateWidget (f->namebuf, emacsFrameClass, pane_widget, |
| 2469 | al, ac); | 2472 | al, ac); |
| 2470 | 2473 | ||
| @@ -4002,7 +4005,7 @@ select_visual (struct x_display_info *dpyinfo) | |||
| 4002 | XVisualInfo vinfo; | 4005 | XVisualInfo vinfo; |
| 4003 | 4006 | ||
| 4004 | strcpy (s, SDATA (value)); | 4007 | strcpy (s, SDATA (value)); |
| 4005 | dash = index (s, '-'); | 4008 | dash = strchr (s, '-'); |
| 4006 | if (dash) | 4009 | if (dash) |
| 4007 | { | 4010 | { |
| 4008 | dpyinfo->n_planes = atoi (dash + 1); | 4011 | dpyinfo->n_planes = atoi (dash + 1); |
| @@ -4845,9 +4848,8 @@ x_create_tip_frame (struct x_display_info *dpyinfo, Lisp_Object parms, Lisp_Obje | |||
| 4845 | change_frame_size (f, height, width, 1, 0, 0); | 4848 | change_frame_size (f, height, width, 1, 0, 0); |
| 4846 | 4849 | ||
| 4847 | /* Add `tooltip' frame parameter's default value. */ | 4850 | /* Add `tooltip' frame parameter's default value. */ |
| 4848 | if (NILP (Fframe_parameter (frame, intern ("tooltip")))) | 4851 | if (NILP (Fframe_parameter (frame, Qtooltip))) |
| 4849 | Fmodify_frame_parameters (frame, Fcons (Fcons (intern ("tooltip"), Qt), | 4852 | Fmodify_frame_parameters (frame, Fcons (Fcons (Qtooltip, Qt), Qnil)); |
| 4850 | Qnil)); | ||
| 4851 | 4853 | ||
| 4852 | /* FIXME - can this be done in a similar way to normal frames? | 4854 | /* FIXME - can this be done in a similar way to normal frames? |
| 4853 | http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg00641.html */ | 4855 | http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg00641.html */ |
diff --git a/src/xmenu.c b/src/xmenu.c index 431ef58e0b1..93a40792aec 100644 --- a/src/xmenu.c +++ b/src/xmenu.c | |||
| @@ -676,6 +676,14 @@ x_activate_menubar (FRAME_PTR f) | |||
| 676 | set_frame_menubar (f, 0, 1); | 676 | set_frame_menubar (f, 0, 1); |
| 677 | BLOCK_INPUT; | 677 | BLOCK_INPUT; |
| 678 | #ifdef USE_GTK | 678 | #ifdef USE_GTK |
| 679 | /* If we click outside any menu item, the menu bar still grabs. | ||
| 680 | So we send Press and the Release. If outside, grab is released. | ||
| 681 | If on a menu item, it is popped up normally. | ||
| 682 | PutBack is like a stack, so we put back in reverse order. */ | ||
| 683 | f->output_data.x->saved_menu_event->type = ButtonRelease; | ||
| 684 | XPutBackEvent (f->output_data.x->display_info->display, | ||
| 685 | f->output_data.x->saved_menu_event); | ||
| 686 | f->output_data.x->saved_menu_event->type = ButtonPress; | ||
| 679 | XPutBackEvent (f->output_data.x->display_info->display, | 687 | XPutBackEvent (f->output_data.x->display_info->display, |
| 680 | f->output_data.x->saved_menu_event); | 688 | f->output_data.x->saved_menu_event); |
| 681 | popup_activated_flag = 1; | 689 | popup_activated_flag = 1; |
| @@ -1285,6 +1293,9 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p) | |||
| 1285 | } | 1293 | } |
| 1286 | 1294 | ||
| 1287 | { | 1295 | { |
| 1296 | if (f->output_data.x->menubar_widget) | ||
| 1297 | XtRealizeWidget (f->output_data.x->menubar_widget); | ||
| 1298 | |||
| 1288 | int menubar_size | 1299 | int menubar_size |
| 1289 | = (f->output_data.x->menubar_widget | 1300 | = (f->output_data.x->menubar_widget |
| 1290 | ? (f->output_data.x->menubar_widget->core.height | 1301 | ? (f->output_data.x->menubar_widget->core.height |
| @@ -1385,7 +1396,7 @@ free_frame_menubar (f) | |||
| 1385 | XtVaSetValues (f->output_data.x->widget, XtNx, x0, XtNy, y0, NULL); | 1396 | XtVaSetValues (f->output_data.x->widget, XtNx, x0, XtNy, y0, NULL); |
| 1386 | } | 1397 | } |
| 1387 | #endif | 1398 | #endif |
| 1388 | 1399 | x_set_window_size (f, 0, FRAME_COLS (f), FRAME_LINES (f)); | |
| 1389 | UNBLOCK_INPUT; | 1400 | UNBLOCK_INPUT; |
| 1390 | } | 1401 | } |
| 1391 | } | 1402 | } |
diff --git a/src/xterm.c b/src/xterm.c index d1bf9eaa5ea..3ec0636fc60 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -753,24 +753,9 @@ x_draw_fringe_bitmap (struct window *w, struct glyph_row *row, struct draw_fring | |||
| 753 | Window window = FRAME_X_WINDOW (f); | 753 | Window window = FRAME_X_WINDOW (f); |
| 754 | GC gc = f->output_data.x->normal_gc; | 754 | GC gc = f->output_data.x->normal_gc; |
| 755 | struct face *face = p->face; | 755 | struct face *face = p->face; |
| 756 | int rowY; | ||
| 757 | 756 | ||
| 758 | /* Must clip because of partially visible lines. */ | 757 | /* Must clip because of partially visible lines. */ |
| 759 | rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y); | 758 | x_clip_to_row (w, row, -1, gc); |
| 760 | if (p->y < rowY) | ||
| 761 | { | ||
| 762 | /* Adjust position of "bottom aligned" bitmap on partially | ||
| 763 | visible last row. */ | ||
| 764 | int oldY = row->y; | ||
| 765 | int oldVH = row->visible_height; | ||
| 766 | row->visible_height = p->h; | ||
| 767 | row->y -= rowY - p->y; | ||
| 768 | x_clip_to_row (w, row, -1, gc); | ||
| 769 | row->y = oldY; | ||
| 770 | row->visible_height = oldVH; | ||
| 771 | } | ||
| 772 | else | ||
| 773 | x_clip_to_row (w, row, -1, gc); | ||
| 774 | 759 | ||
| 775 | if (!p->overlay_p) | 760 | if (!p->overlay_p) |
| 776 | { | 761 | { |