aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--autogen/config.in4
-rwxr-xr-xautogen/configure10
-rw-r--r--configure.ac14
-rw-r--r--lib/getopt_.h570
-rw-r--r--lisp/ChangeLog78
-rw-r--r--lisp/autorevert.el25
-rw-r--r--lisp/calc/calc.el8
-rw-r--r--lisp/comint.el2
-rw-r--r--lisp/emacs-lisp/edebug.el8
-rw-r--r--lisp/emacs-lisp/trace.el14
-rw-r--r--lisp/ffap.el20
-rw-r--r--lisp/font-lock.el4
-rw-r--r--lisp/gnus/ChangeLog8
-rw-r--r--lisp/gnus/gnus-start.el2
-rw-r--r--lisp/gnus/gnus-sum.el2
-rw-r--r--lisp/help-mode.el2
-rw-r--r--lisp/info.el2
-rw-r--r--lisp/international/mule.el2
-rw-r--r--lisp/isearch.el4
-rw-r--r--lisp/misearch.el2
-rw-r--r--lisp/newcomment.el3
-rw-r--r--lisp/printing.el10
-rw-r--r--lisp/progmodes/cc-fonts.el12
-rw-r--r--lisp/progmodes/compile.el5
-rw-r--r--lisp/progmodes/etags.el7
-rw-r--r--lisp/progmodes/gdb-mi.el8
-rw-r--r--lisp/progmodes/js.el37
-rw-r--r--lisp/ps-print.el16
-rw-r--r--lisp/server.el4
-rw-r--r--lisp/simple.el16
-rw-r--r--lisp/textmodes/flyspell.el7
-rw-r--r--lisp/textmodes/ispell.el4
-rw-r--r--lisp/textmodes/sgml-mode.el2
-rw-r--r--lisp/vc/compare-w.el6
-rw-r--r--lisp/vc/diff.el2
-rw-r--r--lisp/vc/log-edit.el15
-rw-r--r--lisp/vc/vc-bzr.el19
-rw-r--r--lisp/whitespace.el8
-rw-r--r--src/ChangeLog23
-rw-r--r--src/alloc.c5
-rw-r--r--src/editfns.c1
-rw-r--r--src/indent.c4
-rw-r--r--src/insdel.c4
-rw-r--r--src/keyboard.c6
-rw-r--r--src/lisp.h6
-rw-r--r--src/window.c5
47 files changed, 583 insertions, 444 deletions
diff --git a/ChangeLog b/ChangeLog
index 2298c21a7fa..f306aefbd1b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
12013-01-12 Paul Eggert <eggert@cs.ucla.edu>
2
3 Enable conservative stack scanning for all architectures.
4 Suggested by Stefan Monnier in
5 <http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00183.html>.
6 * configure.ac (GC_MARK_STACK): Remove.
7
82013-01-11 Paul Eggert <eggert@cs.ucla.edu>
9
10 * lib/getopt_.h: Remove trailing CRs that crept in.
11
12013-01-11 Eli Zaretskii <eliz@gnu.org> 122013-01-11 Eli Zaretskii <eliz@gnu.org>
2 13
3 * lib/getopt_.h: Regenerate. 14 * lib/getopt_.h: Regenerate.
diff --git a/autogen/config.in b/autogen/config.in
index 68f2c426ffa..b02b1fe462a 100644
--- a/autogen/config.in
+++ b/autogen/config.in
@@ -160,10 +160,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
160/* Mark a secondary stack, like the register stack on the ia64. */ 160/* Mark a secondary stack, like the register stack on the ia64. */
161#undef GC_MARK_SECONDARY_STACK 161#undef GC_MARK_SECONDARY_STACK
162 162
163/* Define to GC_USE_GCPROS_AS_BEFORE if conservative garbage collection is not
164 known to work. */
165#undef GC_MARK_STACK
166
167/* Define if setjmp is known to save all registers relevant for conservative 163/* Define if setjmp is known to save all registers relevant for conservative
168 garbage collection in the jmp_buf. */ 164 garbage collection in the jmp_buf. */
169#undef GC_SETJMP_WORKS 165#undef GC_SETJMP_WORKS
diff --git a/autogen/configure b/autogen/configure
index e1df418eede..750e8a8087d 100755
--- a/autogen/configure
+++ b/autogen/configure
@@ -15707,14 +15707,7 @@ esac
15707 15707
15708 15708
15709 15709
15710
15711
15712case $opsys in 15710case $opsys in
15713 aix4-2 | hpux* | unixware)
15714 $as_echo "#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE" >>confdefs.h
15715
15716 ;;
15717
15718 gnu-linux | gnu-kfreebsd ) 15711 gnu-linux | gnu-kfreebsd )
15719 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 15712 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15720/* end confdefs.h. */ 15713/* end confdefs.h. */
@@ -15739,9 +15732,6 @@ _ACEOF
15739if ac_fn_c_try_cpp "$LINENO"; then : 15732if ac_fn_c_try_cpp "$LINENO"; then :
15740 $as_echo "#define GC_SETJMP_WORKS 1" >>confdefs.h 15733 $as_echo "#define GC_SETJMP_WORKS 1" >>confdefs.h
15741 15734
15742else
15743 $as_echo "#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE" >>confdefs.h
15744
15745fi 15735fi
15746rm -f conftest.err conftest.$ac_ext 15736rm -f conftest.err conftest.$ac_ext
15747 ;; 15737 ;;
diff --git a/configure.ac b/configure.ac
index a6b544e86d3..30c1ae075da 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3838,22 +3838,13 @@ case $opsys in
3838esac 3838esac
3839 3839
3840 3840
3841dnl These won't be used automatically yet. We also need to know, at least, 3841dnl This won't be used automatically yet. We also need to know, at least,
3842dnl that the stack is continuous. 3842dnl that the stack is continuous.
3843AH_TEMPLATE(GC_SETJMP_WORKS, [Define if setjmp is known to save all 3843AH_TEMPLATE(GC_SETJMP_WORKS, [Define if setjmp is known to save all
3844 registers relevant for conservative garbage collection in the jmp_buf.]) 3844 registers relevant for conservative garbage collection in the jmp_buf.])
3845 3845
3846AH_TEMPLATE(GC_MARK_STACK, [Define to GC_USE_GCPROS_AS_BEFORE if
3847 conservative garbage collection is not known to work.])
3848
3849 3846
3850case $opsys in 3847case $opsys in
3851 aix4-2 | hpux* | unixware)
3852 dnl Conservative garbage collection has not been tested, so for now
3853 dnl play it safe and stick with the old-fashioned way of marking.
3854 AC_DEFINE(GC_MARK_STACK, [GC_USE_GCPROS_AS_BEFORE])
3855 ;;
3856
3857 dnl Not all the architectures are tested, but there are Debian packages 3848 dnl Not all the architectures are tested, but there are Debian packages
3858 dnl for SCM and/or Guile on them, so the technique must work. See also 3849 dnl for SCM and/or Guile on them, so the technique must work. See also
3859 dnl comments in alloc.c concerning setjmp and gcc. 3850 dnl comments in alloc.c concerning setjmp and gcc.
@@ -3868,8 +3859,7 @@ case $opsys in
3868#else 3859#else
3869# error "setjmp not known to work on this arch" 3860# error "setjmp not known to work on this arch"
3870#endif 3861#endif
3871 ]], [[]])], AC_DEFINE(GC_SETJMP_WORKS, 1), 3862 ]], [[]])], AC_DEFINE(GC_SETJMP_WORKS, 1))
3872 AC_DEFINE(GC_MARK_STACK, [GC_USE_GCPROS_AS_BEFORE]) )
3873 ;; 3863 ;;
3874esac 3864esac
3875 3865
diff --git a/lib/getopt_.h b/lib/getopt_.h
index 10edb73f417..dd958138b22 100644
--- a/lib/getopt_.h
+++ b/lib/getopt_.h
@@ -1,285 +1,285 @@
1/* Declarations for getopt. 1/* Declarations for getopt.
2 Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2013 Free Software 2 Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2013 Free Software
3 Foundation, Inc. 3 Foundation, Inc.
4 This file is part of the GNU C Library. 4 This file is part of the GNU C Library.
5 5
6 This program is free software: you can redistribute it and/or modify 6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or 8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version. 9 (at your option) any later version.
10 10
11 This program is distributed in the hope that it will be useful, 11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 17 along with this program. If not, see <http://www.gnu.org/licenses/>. */
18 18
19#ifndef _GL_GETOPT_H 19#ifndef _GL_GETOPT_H
20 20
21#if __GNUC__ >= 3 21#if __GNUC__ >= 3
22#pragma GCC system_header 22#pragma GCC system_header
23#endif 23#endif
24 24
25 25
26/* The include_next requires a split double-inclusion guard. We must 26/* The include_next requires a split double-inclusion guard. We must
27 also inform the replacement unistd.h to not recursively use 27 also inform the replacement unistd.h to not recursively use
28 <getopt.h>; our definitions will be present soon enough. */ 28 <getopt.h>; our definitions will be present soon enough. */
29#if HAVE_GETOPT_H 29#if HAVE_GETOPT_H
30# define _GL_SYSTEM_GETOPT 30# define _GL_SYSTEM_GETOPT
31# ifndef __GNUC__ 31# ifndef __GNUC__
32# include <next_getopt.h> 32# include <next_getopt.h>
33# else 33# else
34# include_next <getopt.h> 34# include_next <getopt.h>
35# endif 35# endif
36# undef _GL_SYSTEM_GETOPT 36# undef _GL_SYSTEM_GETOPT
37#endif 37#endif
38 38
39#ifndef _GL_GETOPT_H 39#ifndef _GL_GETOPT_H
40 40
41#ifndef __need_getopt 41#ifndef __need_getopt
42# define _GL_GETOPT_H 1 42# define _GL_GETOPT_H 1
43#endif 43#endif
44 44
45/* Standalone applications should #define __GETOPT_PREFIX to an 45/* Standalone applications should #define __GETOPT_PREFIX to an
46 identifier that prefixes the external functions and variables 46 identifier that prefixes the external functions and variables
47 defined in this header. When this happens, include the 47 defined in this header. When this happens, include the
48 headers that might declare getopt so that they will not cause 48 headers that might declare getopt so that they will not cause
49 confusion if included after this file (if the system had <getopt.h>, 49 confusion if included after this file (if the system had <getopt.h>,
50 we have already included it). Then systematically rename 50 we have already included it). Then systematically rename
51 identifiers so that they do not collide with the system functions 51 identifiers so that they do not collide with the system functions
52 and variables. Renaming avoids problems with some compilers and 52 and variables. Renaming avoids problems with some compilers and
53 linkers. */ 53 linkers. */
54#if defined __GETOPT_PREFIX && !defined __need_getopt 54#if defined __GETOPT_PREFIX && !defined __need_getopt
55# if !HAVE_GETOPT_H 55# if !HAVE_GETOPT_H
56# define __need_system_stdlib_h 56# define __need_system_stdlib_h
57# include <stdlib.h> 57# include <stdlib.h>
58# undef __need_system_stdlib_h 58# undef __need_system_stdlib_h
59# include <stdio.h> 59# include <stdio.h>
60# include <unistd.h> 60# include <unistd.h>
61# endif 61# endif
62# undef __need_getopt 62# undef __need_getopt
63# undef getopt 63# undef getopt
64# undef getopt_long 64# undef getopt_long
65# undef getopt_long_only 65# undef getopt_long_only
66# undef optarg 66# undef optarg
67# undef opterr 67# undef opterr
68# undef optind 68# undef optind
69# undef optopt 69# undef optopt
70# undef option 70# undef option
71# define __GETOPT_CONCAT(x, y) x ## y 71# define __GETOPT_CONCAT(x, y) x ## y
72# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y) 72# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
73# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y) 73# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
74# define getopt __GETOPT_ID (getopt) 74# define getopt __GETOPT_ID (getopt)
75# define getopt_long __GETOPT_ID (getopt_long) 75# define getopt_long __GETOPT_ID (getopt_long)
76# define getopt_long_only __GETOPT_ID (getopt_long_only) 76# define getopt_long_only __GETOPT_ID (getopt_long_only)
77# define optarg __GETOPT_ID (optarg) 77# define optarg __GETOPT_ID (optarg)
78# define opterr __GETOPT_ID (opterr) 78# define opterr __GETOPT_ID (opterr)
79# define optind __GETOPT_ID (optind) 79# define optind __GETOPT_ID (optind)
80# define optopt __GETOPT_ID (optopt) 80# define optopt __GETOPT_ID (optopt)
81# define option __GETOPT_ID (option) 81# define option __GETOPT_ID (option)
82# define _getopt_internal __GETOPT_ID (getopt_internal) 82# define _getopt_internal __GETOPT_ID (getopt_internal)
83#endif 83#endif
84 84
85/* Standalone applications get correct prototypes for getopt_long and 85/* Standalone applications get correct prototypes for getopt_long and
86 getopt_long_only; they declare "char **argv". libc uses prototypes 86 getopt_long_only; they declare "char **argv". libc uses prototypes
87 with "char *const *argv" that are incorrect because getopt_long and 87 with "char *const *argv" that are incorrect because getopt_long and
88 getopt_long_only can permute argv; this is required for backward 88 getopt_long_only can permute argv; this is required for backward
89 compatibility (e.g., for LSB 2.0.1). 89 compatibility (e.g., for LSB 2.0.1).
90 90
91 This used to be '#if defined __GETOPT_PREFIX && !defined __need_getopt', 91 This used to be '#if defined __GETOPT_PREFIX && !defined __need_getopt',
92 but it caused redefinition warnings if both unistd.h and getopt.h were 92 but it caused redefinition warnings if both unistd.h and getopt.h were
93 included, since unistd.h includes getopt.h having previously defined 93 included, since unistd.h includes getopt.h having previously defined
94 __need_getopt. 94 __need_getopt.
95 95
96 The only place where __getopt_argv_const is used is in definitions 96 The only place where __getopt_argv_const is used is in definitions
97 of getopt_long and getopt_long_only below, but these are visible 97 of getopt_long and getopt_long_only below, but these are visible
98 only if __need_getopt is not defined, so it is quite safe to rewrite 98 only if __need_getopt is not defined, so it is quite safe to rewrite
99 the conditional as follows: 99 the conditional as follows:
100*/ 100*/
101#if !defined __need_getopt 101#if !defined __need_getopt
102# if defined __GETOPT_PREFIX 102# if defined __GETOPT_PREFIX
103# define __getopt_argv_const /* empty */ 103# define __getopt_argv_const /* empty */
104# else 104# else
105# define __getopt_argv_const const 105# define __getopt_argv_const const
106# endif 106# endif
107#endif 107#endif
108 108
109/* If __GNU_LIBRARY__ is not already defined, either we are being used 109/* If __GNU_LIBRARY__ is not already defined, either we are being used
110 standalone, or this is the first header included in the source file. 110 standalone, or this is the first header included in the source file.
111 If we are being used with glibc, we need to include <features.h>, but 111 If we are being used with glibc, we need to include <features.h>, but
112 that does not exist if we are standalone. So: if __GNU_LIBRARY__ is 112 that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
113 not defined, include <ctype.h>, which will pull in <features.h> for us 113 not defined, include <ctype.h>, which will pull in <features.h> for us
114 if it's from glibc. (Why ctype.h? It's guaranteed to exist and it 114 if it's from glibc. (Why ctype.h? It's guaranteed to exist and it
115 doesn't flood the namespace with stuff the way some other headers do.) */ 115 doesn't flood the namespace with stuff the way some other headers do.) */
116#if !defined __GNU_LIBRARY__ 116#if !defined __GNU_LIBRARY__
117# include <ctype.h> 117# include <ctype.h>
118#endif 118#endif
119 119
120#ifndef __THROW 120#ifndef __THROW
121# ifndef __GNUC_PREREQ 121# ifndef __GNUC_PREREQ
122# define __GNUC_PREREQ(maj, min) (0) 122# define __GNUC_PREREQ(maj, min) (0)
123# endif 123# endif
124# if defined __cplusplus && __GNUC_PREREQ (2,8) 124# if defined __cplusplus && __GNUC_PREREQ (2,8)
125# define __THROW throw () 125# define __THROW throw ()
126# else 126# else
127# define __THROW 127# define __THROW
128# endif 128# endif
129#endif 129#endif
130 130
131/* The definition of _GL_ARG_NONNULL is copied here. */ 131/* The definition of _GL_ARG_NONNULL is copied here. */
132/* A C macro for declaring that specific arguments must not be NULL. 132/* A C macro for declaring that specific arguments must not be NULL.
133 Copyright (C) 2009-2013 Free Software Foundation, Inc. 133 Copyright (C) 2009-2013 Free Software Foundation, Inc.
134 134
135 This program is free software: you can redistribute it and/or modify it 135 This program is free software: you can redistribute it and/or modify it
136 under the terms of the GNU General Public License as published 136 under the terms of the GNU General Public License as published
137 by the Free Software Foundation; either version 3 of the License, or 137 by the Free Software Foundation; either version 3 of the License, or
138 (at your option) any later version. 138 (at your option) any later version.
139 139
140 This program is distributed in the hope that it will be useful, 140 This program is distributed in the hope that it will be useful,
141 but WITHOUT ANY WARRANTY; without even the implied warranty of 141 but WITHOUT ANY WARRANTY; without even the implied warranty of
142 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 142 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
143 General Public License for more details. 143 General Public License for more details.
144 144
145 You should have received a copy of the GNU General Public License 145 You should have received a copy of the GNU General Public License
146 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 146 along with this program. If not, see <http://www.gnu.org/licenses/>. */
147 147
148/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools 148/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
149 that the values passed as arguments n, ..., m must be non-NULL pointers. 149 that the values passed as arguments n, ..., m must be non-NULL pointers.
150 n = 1 stands for the first argument, n = 2 for the second argument etc. */ 150 n = 1 stands for the first argument, n = 2 for the second argument etc. */
151#ifndef _GL_ARG_NONNULL 151#ifndef _GL_ARG_NONNULL
152# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 152# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
153# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) 153# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
154# else 154# else
155# define _GL_ARG_NONNULL(params) 155# define _GL_ARG_NONNULL(params)
156# endif 156# endif
157#endif 157#endif
158 158
159#ifdef __cplusplus 159#ifdef __cplusplus
160extern "C" { 160extern "C" {
161#endif 161#endif
162 162
163/* For communication from 'getopt' to the caller. 163/* For communication from 'getopt' to the caller.
164 When 'getopt' finds an option that takes an argument, 164 When 'getopt' finds an option that takes an argument,
165 the argument value is returned here. 165 the argument value is returned here.
166 Also, when 'ordering' is RETURN_IN_ORDER, 166 Also, when 'ordering' is RETURN_IN_ORDER,
167 each non-option ARGV-element is returned here. */ 167 each non-option ARGV-element is returned here. */
168 168
169extern char *optarg; 169extern char *optarg;
170 170
171/* Index in ARGV of the next element to be scanned. 171/* Index in ARGV of the next element to be scanned.
172 This is used for communication to and from the caller 172 This is used for communication to and from the caller
173 and for communication between successive calls to 'getopt'. 173 and for communication between successive calls to 'getopt'.
174 174
175 On entry to 'getopt', zero means this is the first call; initialize. 175 On entry to 'getopt', zero means this is the first call; initialize.
176 176
177 When 'getopt' returns -1, this is the index of the first of the 177 When 'getopt' returns -1, this is the index of the first of the
178 non-option elements that the caller should itself scan. 178 non-option elements that the caller should itself scan.
179 179
180 Otherwise, 'optind' communicates from one call to the next 180 Otherwise, 'optind' communicates from one call to the next
181 how much of ARGV has been scanned so far. */ 181 how much of ARGV has been scanned so far. */
182 182
183extern int optind; 183extern int optind;
184 184
185/* Callers store zero here to inhibit the error message 'getopt' prints 185/* Callers store zero here to inhibit the error message 'getopt' prints
186 for unrecognized options. */ 186 for unrecognized options. */
187 187
188extern int opterr; 188extern int opterr;
189 189
190/* Set to an option character which was unrecognized. */ 190/* Set to an option character which was unrecognized. */
191 191
192extern int optopt; 192extern int optopt;
193 193
194#ifndef __need_getopt 194#ifndef __need_getopt
195/* Describe the long-named options requested by the application. 195/* Describe the long-named options requested by the application.
196 The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector 196 The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
197 of 'struct option' terminated by an element containing a name which is 197 of 'struct option' terminated by an element containing a name which is
198 zero. 198 zero.
199 199
200 The field 'has_arg' is: 200 The field 'has_arg' is:
201 no_argument (or 0) if the option does not take an argument, 201 no_argument (or 0) if the option does not take an argument,
202 required_argument (or 1) if the option requires an argument, 202 required_argument (or 1) if the option requires an argument,
203 optional_argument (or 2) if the option takes an optional argument. 203 optional_argument (or 2) if the option takes an optional argument.
204 204
205 If the field 'flag' is not NULL, it points to a variable that is set 205 If the field 'flag' is not NULL, it points to a variable that is set
206 to the value given in the field 'val' when the option is found, but 206 to the value given in the field 'val' when the option is found, but
207 left unchanged if the option is not found. 207 left unchanged if the option is not found.
208 208
209 To have a long-named option do something other than set an 'int' to 209 To have a long-named option do something other than set an 'int' to
210 a compiled-in constant, such as set a value from 'optarg', set the 210 a compiled-in constant, such as set a value from 'optarg', set the
211 option's 'flag' field to zero and its 'val' field to a nonzero 211 option's 'flag' field to zero and its 'val' field to a nonzero
212 value (the equivalent single-letter option character, if there is 212 value (the equivalent single-letter option character, if there is
213 one). For long options that have a zero 'flag' field, 'getopt' 213 one). For long options that have a zero 'flag' field, 'getopt'
214 returns the contents of the 'val' field. */ 214 returns the contents of the 'val' field. */
215 215
216# if !GNULIB_defined_struct_option 216# if !GNULIB_defined_struct_option
217struct option 217struct option
218{ 218{
219 const char *name; 219 const char *name;
220 /* has_arg can't be an enum because some compilers complain about 220 /* has_arg can't be an enum because some compilers complain about
221 type mismatches in all the code that assumes it is an int. */ 221 type mismatches in all the code that assumes it is an int. */
222 int has_arg; 222 int has_arg;
223 int *flag; 223 int *flag;
224 int val; 224 int val;
225}; 225};
226# define GNULIB_defined_struct_option 1 226# define GNULIB_defined_struct_option 1
227# endif 227# endif
228 228
229/* Names for the values of the 'has_arg' field of 'struct option'. */ 229/* Names for the values of the 'has_arg' field of 'struct option'. */
230 230
231# define no_argument 0 231# define no_argument 0
232# define required_argument 1 232# define required_argument 1
233# define optional_argument 2 233# define optional_argument 2
234#endif /* need getopt */ 234#endif /* need getopt */
235 235
236 236
237/* Get definitions and prototypes for functions to process the 237/* Get definitions and prototypes for functions to process the
238 arguments in ARGV (ARGC of them, minus the program name) for 238 arguments in ARGV (ARGC of them, minus the program name) for
239 options given in OPTS. 239 options given in OPTS.
240 240
241 Return the option character from OPTS just read. Return -1 when 241 Return the option character from OPTS just read. Return -1 when
242 there are no more options. For unrecognized options, or options 242 there are no more options. For unrecognized options, or options
243 missing arguments, 'optopt' is set to the option letter, and '?' is 243 missing arguments, 'optopt' is set to the option letter, and '?' is
244 returned. 244 returned.
245 245
246 The OPTS string is a list of characters which are recognized option 246 The OPTS string is a list of characters which are recognized option
247 letters, optionally followed by colons, specifying that that letter 247 letters, optionally followed by colons, specifying that that letter
248 takes an argument, to be placed in 'optarg'. 248 takes an argument, to be placed in 'optarg'.
249 249
250 If a letter in OPTS is followed by two colons, its argument is 250 If a letter in OPTS is followed by two colons, its argument is
251 optional. This behavior is specific to the GNU 'getopt'. 251 optional. This behavior is specific to the GNU 'getopt'.
252 252
253 The argument '--' causes premature termination of argument 253 The argument '--' causes premature termination of argument
254 scanning, explicitly telling 'getopt' that there are no more 254 scanning, explicitly telling 'getopt' that there are no more
255 options. 255 options.
256 256
257 If OPTS begins with '-', then non-option arguments are treated as 257 If OPTS begins with '-', then non-option arguments are treated as
258 arguments to the option '\1'. This behavior is specific to the GNU 258 arguments to the option '\1'. This behavior is specific to the GNU
259 'getopt'. If OPTS begins with '+', or POSIXLY_CORRECT is set in 259 'getopt'. If OPTS begins with '+', or POSIXLY_CORRECT is set in
260 the environment, then do not permute arguments. */ 260 the environment, then do not permute arguments. */
261 261
262extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) 262extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
263 __THROW _GL_ARG_NONNULL ((2, 3)); 263 __THROW _GL_ARG_NONNULL ((2, 3));
264 264
265#ifndef __need_getopt 265#ifndef __need_getopt
266extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv, 266extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
267 const char *__shortopts, 267 const char *__shortopts,
268 const struct option *__longopts, int *__longind) 268 const struct option *__longopts, int *__longind)
269 __THROW _GL_ARG_NONNULL ((2, 3)); 269 __THROW _GL_ARG_NONNULL ((2, 3));
270extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv, 270extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
271 const char *__shortopts, 271 const char *__shortopts,
272 const struct option *__longopts, int *__longind) 272 const struct option *__longopts, int *__longind)
273 __THROW _GL_ARG_NONNULL ((2, 3)); 273 __THROW _GL_ARG_NONNULL ((2, 3));
274 274
275#endif 275#endif
276 276
277#ifdef __cplusplus 277#ifdef __cplusplus
278} 278}
279#endif 279#endif
280 280
281/* Make sure we later can get all the definitions and declarations. */ 281/* Make sure we later can get all the definitions and declarations. */
282#undef __need_getopt 282#undef __need_getopt
283 283
284#endif /* _GL_GETOPT_H */ 284#endif /* _GL_GETOPT_H */
285#endif /* _GL_GETOPT_H */ 285#endif /* _GL_GETOPT_H */
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7eef2c80382..7723528c886 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,10 +1,84 @@
12013-01-12 Michael Albinus <michael.albinus@gmx.de>
2
3 * autorevert.el (auto-revert-notify-watch-descriptor): Give it
4 `permanent-local' property.
5 (auto-revert-notify-handler): Use `file-equal-p'.
6
72013-01-12 Eli Zaretskii <eliz@gnu.org>
8
9 * autorevert.el (auto-revert-notify-handler): Fix filtering of
10 file notification by ACTION. For filtering by file name, compare
11 only the non-directory part of the file name.
12
132013-01-12 Stefan Monnier <monnier@iro.umontreal.ca>
14
15 * autorevert.el: Use cl-lib instead of cl.
16
17 * vc/vc-bzr.el (vc-bzr--sanitize-header): New function (bug#13307).
18 (vc-bzr-checkin): Use it.
19 * vc/log-edit.el (log-edit-extract-headers): Don't presume FUNCTION
20 will preserve match-data.
21
222013-01-11 Felix H. Dahlke <fhd@ubercode.de>
23
24 * progmodes/js.el: Fix multiline declarations's indentation (bug#8576).
25 (js--declaration-keyword-re): New var.
26 (js--multi-line-declaration-indentation): New function.
27 (js--proper-indentation): Use it.
28
292013-01-11 Aaron S. Hawley <Aaron.Hawley@vtinfo.com>
30
31 * calc/calc.el (calc-highlight-selections-with-faces)
32 (calc-dispatch):
33 * comint.el (comint-history-isearch-message):
34 * emacs-lisp/edebug.el (edebug-read, edebug-eval-defun):
35 * ffap.el (ffap-string-at-point-region, ffap-next)
36 (ffap-string-at-point, ffap-string-around)
37 (ffap-copy-string-as-kill, ffap-highlight-overlay)
38 (ffap-literally):
39 * font-lock.el (font-lock-keywords-alist)
40 (font-lock-removed-keywords-alist):
41 * help-mode.el (help-xref-symbol-regexp):
42 * info.el (Info-find-emacs-command-nodes):
43 * international/mule.el (add-to-coding-system-list):
44 * isearch.el (isearch-message-function, isearch-fail-pos):
45 * misearch.el (multi-isearch-next-buffer-function):
46 * newcomment.el (comment-box):
47 * printing.el (pr-txt-printer-alist, pr-ps-printer-alist)
48 (pr-setting-database):
49 * progmodes/cc-fonts.el (c-font-lock-keywords-3)
50 (c++-font-lock-keywords-3, objc-font-lock-keywords-3)
51 (java-font-lock-keywords-3, idl-font-lock-keywords-3)
52 (pike-font-lock-keywords-3):
53 * progmodes/compile.el (compile):
54 * progmodes/etags.el (tags-table-files)
55 (tags-table-files-function, tags-included-tables-function):
56 * progmodes/gdb-mi.el (gdb, gdb-setup-windows)
57 (gdb-restore-windows):
58 * ps-print.el (ps-even-or-odd-pages, ps-spool-buffer-with-faces)
59 (ps-n-up-filling-database):
60 * server.el (server-buffer, server-log):
61 * simple.el (newline, delete-backward-char, delete-forward-char)
62 (minibuffer-history-isearch-message, kill-line, track-eol)
63 (temporary-goal-column):
64 * textmodes/flyspell.el (flyspell-mark-duplications-flag)
65 (flyspell-default-deplacement-commands):
66 * textmodes/ispell.el (ispell-accept-output):
67 * textmodes/sgml-mode.el (html-tag-help):
68 * vc/compare-w.el (compare-ignore-whitespace)
69 (compare-ignore-case, compare-windows-dehighlight):
70 * vc/diff.el (diff):
71 * whitespace.el (whitespace-point)
72 (whitespace-font-lock-refontify, whitespace-bob-marker)
73 (whitespace-eob-marker): Fix ambiguous doc string cross-reference(s).
74
12013-01-11 Michael Albinus <michael.albinus@gmx.de> 752013-01-11 Michael Albinus <michael.albinus@gmx.de>
2 76
3 * autorevert.el (top): Require 'cl in order to pacify byte compiler. 77 * autorevert.el (top): Require 'cl in order to pacify byte compiler.
4 (auto-revert-notify-rm-watch): Ignore errors. 78 (auto-revert-notify-rm-watch): Ignore errors.
5 (auto-revert-notify-add-watch): Ignore errors. Use '(modify) for 79 (auto-revert-notify-add-watch): Ignore errors. Use '(modify) for
6 inotify, and '(size last-write-time) for w32notify. Set 80 inotify, and '(size last-write-time) for w32notify.
7 buffer-local `auto-revert-use-notify' to nil when adding a file 81 Set buffer-local `auto-revert-use-notify' to nil when adding a file
8 watch fails - this is a fallback to the file modification check. 82 watch fails - this is a fallback to the file modification check.
9 (auto-revert-notify-event-p, auto-revert-notify-event-descriptor) 83 (auto-revert-notify-event-p, auto-revert-notify-event-descriptor)
10 (auto-revert-notify-event-action) 84 (auto-revert-notify-event-action)
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index e78cecf0cc2..c9180482cd9 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -97,7 +97,7 @@
97 97
98;; Dependencies: 98;; Dependencies:
99 99
100(eval-when-compile (require 'cl)) 100(eval-when-compile (require 'cl-lib))
101(require 'timer) 101(require 'timer)
102 102
103;; Custom Group: 103;; Custom Group:
@@ -311,7 +311,7 @@ Hash key is a watch descriptor, hash value is the corresponding buffer.")
311 311
312(defvar auto-revert-notify-watch-descriptor nil 312(defvar auto-revert-notify-watch-descriptor nil
313 "The file watch descriptor active for the current buffer.") 313 "The file watch descriptor active for the current buffer.")
314(make-variable-buffer-local 'auto-revert-notify-watch-descriptor) 314(put 'auto-revert-notify-watch-descriptor 'permanent-local t)
315 315
316(defvar auto-revert-notify-modified-p nil 316(defvar auto-revert-notify-modified-p nil
317 "Non-nil when file has been modified on the file system. 317 "Non-nil when file has been modified on the file system.
@@ -527,17 +527,18 @@ will use an up-to-date value of `auto-revert-interval'"
527 (ignore-errors 527 (ignore-errors
528 ;; Check, that event is meant for us. 528 ;; Check, that event is meant for us.
529 ;; TODO: Filter events which stop watching, like `move' or `removed'. 529 ;; TODO: Filter events which stop watching, like `move' or `removed'.
530 (assert descriptor) 530 (cl-assert descriptor)
531 (when (featurep 'inotify) (assert (memq 'modify descriptor))) 531 (when (featurep 'inotify) (cl-assert (memq 'modify action)))
532 (when (featurep 'w32notify) (assert (eq 'modified descriptor))) 532 (when (featurep 'w32notify) (cl-assert (eq 'modified action)))
533 (assert (bufferp buffer)) 533 (cl-assert (bufferp buffer))
534 (when (stringp file)
535 (assert (string-equal
536 (directory-file-name file)
537 (directory-file-name (buffer-file-name buffer)))))
538
539 ;; Mark buffer modified.
540 (with-current-buffer buffer 534 (with-current-buffer buffer
535 (when (and (stringp file) (stringp buffer-file-name))
536 ;; w32notify returns the basename of the file without its
537 ;; leading directories; inotify returns its full absolute
538 ;; file name.
539 (cl-assert (file-equal-p file buffer-file-name)))
540
541 ;; Mark buffer modified.
541 (setq auto-revert-notify-modified-p t)))))) 542 (setq auto-revert-notify-modified-p t))))))
542 543
543(defun auto-revert-active-p () 544(defun auto-revert-active-p ()
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index 6f51be4b89b..c35e7650254 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -435,9 +435,9 @@ when converting units."
435(defcustom calc-highlight-selections-with-faces 435(defcustom calc-highlight-selections-with-faces
436 nil 436 nil
437 "If non-nil, use a separate face to indicate selected sub-formulas. 437 "If non-nil, use a separate face to indicate selected sub-formulas.
438If `calc-show-selections' is non-nil, then selected sub-formulas are shown 438If option `calc-show-selections' is non-nil, then selected sub-formulas are
439by displaying the rest of the formula in `calc-nonselected-face'. 439shown by displaying the rest of the formula in `calc-nonselected-face'.
440If `calc-show-selections' is nil, then selected sub-formulas are shown 440If option `calc-show-selections' is nil, then selected sub-formulas are shown
441by displaying the sub-formula in `calc-selected-face'." 441by displaying the sub-formula in `calc-selected-face'."
442 :version "24.1" 442 :version "24.1"
443 :group 'calc 443 :group 'calc
@@ -1183,7 +1183,7 @@ Used by `calc-user-invocation'.")
1183 1183
1184;;;###autoload 1184;;;###autoload
1185(defun calc-dispatch (&optional arg) 1185(defun calc-dispatch (&optional arg)
1186 "Invoke the GNU Emacs Calculator. See `calc-dispatch-help' for details." 1186 "Invoke the GNU Emacs Calculator. See \\[calc-dispatch-help] for details."
1187 (interactive "P") 1187 (interactive "P")
1188; (sit-for echo-keystrokes) 1188; (sit-for echo-keystrokes)
1189 (condition-case err ; look for other keys bound to calc-dispatch 1189 (condition-case err ; look for other keys bound to calc-dispatch
diff --git a/lisp/comint.el b/lisp/comint.el
index 42ac08a9ecc..21bd732b43c 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -1521,7 +1521,7 @@ Intended to be added to `isearch-mode-hook' in `comint-mode'."
1521If there are no search errors, this function displays an overlay with 1521If there are no search errors, this function displays an overlay with
1522the Isearch prompt which replaces the original comint prompt. 1522the Isearch prompt which replaces the original comint prompt.
1523Otherwise, it displays the standard Isearch message returned from 1523Otherwise, it displays the standard Isearch message returned from
1524`isearch-message'." 1524the function `isearch-message'."
1525 (if (not (and isearch-success (not isearch-error))) 1525 (if (not (and isearch-success (not isearch-error)))
1526 ;; Use standard function `isearch-message' when not in comint prompt, 1526 ;; Use standard function `isearch-message' when not in comint prompt,
1527 ;; or search fails, or has an error (like incomplete regexp). 1527 ;; or search fails, or has an error (like incomplete regexp).
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 4dba081322f..4cbd02a6e0d 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -469,8 +469,8 @@ STREAM or the value of `standard-input' may be:
469 469
470This version, from Edebug, maybe instruments the expression. But the 470This version, from Edebug, maybe instruments the expression. But the
471STREAM must be the current buffer to do so. Whether it instruments is 471STREAM must be the current buffer to do so. Whether it instruments is
472also dependent on the values of `edebug-all-defs' and 472also dependent on the values of the option `edebug-all-defs' and
473`edebug-all-forms'." 473the option `edebug-all-forms'."
474 (or stream (setq stream standard-input)) 474 (or stream (setq stream standard-input))
475 (if (eq stream (current-buffer)) 475 (if (eq stream (current-buffer))
476 (edebug-read-and-maybe-wrap-form) 476 (edebug-read-and-maybe-wrap-form)
@@ -492,8 +492,8 @@ similarly. Reinitialize the face according to `defface' specification.
492 492
493With a prefix argument, instrument the code for Edebug. 493With a prefix argument, instrument the code for Edebug.
494 494
495Setting `edebug-all-defs' to a non-nil value reverses the meaning of 495Setting option `edebug-all-defs' to a non-nil value reverses the meaning
496the prefix argument. Code is then instrumented when this function is 496of the prefix argument. Code is then instrumented when this function is
497invoked without a prefix argument 497invoked without a prefix argument
498 498
499If acting on a `defun' for FUNCTION, and the function was instrumented, 499If acting on a `defun' for FUNCTION, and the function was instrumented,
diff --git a/lisp/emacs-lisp/trace.el b/lisp/emacs-lisp/trace.el
index 7a9eb3e1b28..fb1b995be2b 100644
--- a/lisp/emacs-lisp/trace.el
+++ b/lisp/emacs-lisp/trace.el
@@ -167,6 +167,8 @@ some global variables)."
167 (mapconcat 'char-to-string (make-string (1- level) ?|) " ") 167 (mapconcat 'char-to-string (make-string (1- level) ?|) " ")
168 (if (> level 1) " " "") 168 (if (> level 1) " " "")
169 level 169 level
170 ;; FIXME: Make it so we can click the function name to jump to its
171 ;; definition and/or untrace it.
170 (cons function args) 172 (cons function args)
171 context))) 173 context)))
172 174
@@ -275,16 +277,8 @@ To untrace a function, use `untrace-function' or `untrace-all'."
275;;;###autoload 277;;;###autoload
276(defun trace-function-background (function &optional buffer context) 278(defun trace-function-background (function &optional buffer context)
277 "Traces FUNCTION with trace output going quietly to BUFFER. 279 "Traces FUNCTION with trace output going quietly to BUFFER.
278When this tracing is enabled, every call to FUNCTION writes 280Like `trace-function-foreground' but without popping up the trace BUFFER or
279a Lisp-style trace message (showing the arguments and return value) 281changing the window configuration."
280into BUFFER. This function generates advice to trace FUNCTION
281and activates it together with any other advice there might be.
282The trace output goes to BUFFER quietly, without changing
283the window or buffer configuration.
284
285BUFFER defaults to `trace-buffer'.
286
287To untrace a function, use `untrace-function' or `untrace-all'."
288 (interactive (trace--read-args "Trace function in background: ")) 282 (interactive (trace--read-args "Trace function in background: "))
289 (trace-function-internal function buffer t context)) 283 (trace-function-internal function buffer t context))
290 284
diff --git a/lisp/ffap.el b/lisp/ffap.el
index dfb559f3f0d..c5b0784e5a2 100644
--- a/lisp/ffap.el
+++ b/lisp/ffap.el
@@ -321,7 +321,7 @@ disable FFAP most of the time."
321 "Last value returned by `ffap-next-guess'.") 321 "Last value returned by `ffap-next-guess'.")
322 322
323(defvar ffap-string-at-point-region '(1 1) 323(defvar ffap-string-at-point-region '(1 1)
324 "List (BEG END), last region returned by `ffap-string-at-point'.") 324 "List (BEG END), last region returned by the function `ffap-string-at-point'.")
325 325
326(defun ffap-next-guess (&optional back lim) 326(defun ffap-next-guess (&optional back lim)
327 "Move point to next file or URL, and return it as a string. 327 "Move point to next file or URL, and return it as a string.
@@ -346,7 +346,7 @@ Optional argument BACK says to search backwards.
346Optional argument WRAP says to try wrapping around if necessary. 346Optional argument WRAP says to try wrapping around if necessary.
347Interactively: use a single prefix to search backwards, 347Interactively: use a single prefix to search backwards,
348double prefix to wrap forward, triple to wrap backwards. 348double prefix to wrap forward, triple to wrap backwards.
349Actual search is done by `ffap-next-guess'." 349Actual search is done by the function `ffap-next-guess'."
350 (interactive 350 (interactive
351 (cdr (assq (prefix-numeric-value current-prefix-arg) 351 (cdr (assq (prefix-numeric-value current-prefix-arg)
352 '((1) (4 t) (16 nil t) (64 t t))))) 352 '((1) (4 t) (16 nil t) (64 t t)))))
@@ -1028,14 +1028,14 @@ If a given RFC isn't in these then `ffap-rfc-path' is offered."
1028 "Alist of \(MODE CHARS BEG END\), where MODE is a symbol, 1028 "Alist of \(MODE CHARS BEG END\), where MODE is a symbol,
1029possibly a major-mode name, or one of the symbol 1029possibly a major-mode name, or one of the symbol
1030`file', `url', `machine', and `nocolon'. 1030`file', `url', `machine', and `nocolon'.
1031`ffap-string-at-point' uses the data fields as follows: 1031Function `ffap-string-at-point' uses the data fields as follows:
10321. find a maximal string of CHARS around point, 10321. find a maximal string of CHARS around point,
10332. strip BEG chars before point from the beginning, 10332. strip BEG chars before point from the beginning,
10343. Strip END chars after point from the end.") 10343. Strip END chars after point from the end.")
1035 1035
1036(defvar ffap-string-at-point nil 1036(defvar ffap-string-at-point nil
1037 ;; Added at suggestion of RHOGEE (for ff-paths), 7/24/95. 1037 ;; Added at suggestion of RHOGEE (for ff-paths), 7/24/95.
1038 "Last string returned by `ffap-string-at-point'.") 1038 "Last string returned by the function `ffap-string-at-point'.")
1039 1039
1040(defun ffap-string-at-point (&optional mode) 1040(defun ffap-string-at-point (&optional mode)
1041 "Return a string of characters from around point. 1041 "Return a string of characters from around point.
@@ -1043,7 +1043,8 @@ MODE (defaults to value of `major-mode') is a symbol used to look up string
1043syntax parameters in `ffap-string-at-point-mode-alist'. 1043syntax parameters in `ffap-string-at-point-mode-alist'.
1044If MODE is not found, we use `file' instead of MODE. 1044If MODE is not found, we use `file' instead of MODE.
1045If the region is active, return a string from the region. 1045If the region is active, return a string from the region.
1046Sets `ffap-string-at-point' and `ffap-string-at-point-region'." 1046Sets the variable `ffap-string-at-point' and the variable
1047`ffap-string-at-point-region'."
1047 (let* ((args 1048 (let* ((args
1048 (cdr 1049 (cdr
1049 (or (assq (or mode major-mode) ffap-string-at-point-mode-alist) 1050 (or (assq (or mode major-mode) ffap-string-at-point-mode-alist)
@@ -1068,7 +1069,8 @@ Sets `ffap-string-at-point' and `ffap-string-at-point-region'."
1068 1069
1069(defun ffap-string-around () 1070(defun ffap-string-around ()
1070 ;; Sometimes useful to decide how to treat a string. 1071 ;; Sometimes useful to decide how to treat a string.
1071 "Return string of two chars around last `ffap-string-at-point'. 1072 "Return string of two chars around last result of function
1073`ffap-string-at-point'.
1072Assumes the buffer has not changed." 1074Assumes the buffer has not changed."
1073 (save-excursion 1075 (save-excursion
1074 (format "%c%c" 1076 (format "%c%c"
@@ -1082,7 +1084,7 @@ Assumes the buffer has not changed."
1082 1084
1083(defun ffap-copy-string-as-kill (&optional mode) 1085(defun ffap-copy-string-as-kill (&optional mode)
1084 ;; Requested by MCOOK. Useful? 1086 ;; Requested by MCOOK. Useful?
1085 "Call `ffap-string-at-point', and copy result to `kill-ring'." 1087 "Call function `ffap-string-at-point', and copy result to `kill-ring'."
1086 (interactive) 1088 (interactive)
1087 (let ((str (ffap-string-at-point mode))) 1089 (let ((str (ffap-string-at-point mode)))
1088 (if (equal "" str) 1090 (if (equal "" str)
@@ -1364,7 +1366,7 @@ which may actually result in an URL rather than a filename."
1364 :version "22.1") 1366 :version "22.1")
1365 1367
1366(defvar ffap-highlight-overlay nil 1368(defvar ffap-highlight-overlay nil
1367 "Overlay used by `ffap-highlight'.") 1369 "Overlay used by function `ffap-highlight'.")
1368 1370
1369(defun ffap-highlight (&optional remove) 1371(defun ffap-highlight (&optional remove)
1370 "If `ffap-highlight' is set, highlight the guess in this buffer. 1372 "If `ffap-highlight' is set, highlight the guess in this buffer.
@@ -1734,7 +1736,7 @@ Only intended for interactive use."
1734 (call-interactively 'ffap))) 1736 (call-interactively 'ffap)))
1735 1737
1736(defun ffap-literally () 1738(defun ffap-literally ()
1737 "Like `ffap' and `find-file-literally'. 1739 "Like `ffap' and command `find-file-literally'.
1738Only intended for interactive use." 1740Only intended for interactive use."
1739 (interactive) 1741 (interactive)
1740 (let ((ffap-file-finder 'find-file-literally)) 1742 (let ((ffap-file-finder 'find-file-literally))
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index 7a2577eabbb..f714eaab233 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -469,7 +469,7 @@ optimized.")
469 "Alist of additional `font-lock-keywords' elements for major modes. 469 "Alist of additional `font-lock-keywords' elements for major modes.
470 470
471Each element has the form (MODE KEYWORDS . HOW). 471Each element has the form (MODE KEYWORDS . HOW).
472`font-lock-set-defaults' adds the elements in the list KEYWORDS to 472Function `font-lock-set-defaults' adds the elements in the list KEYWORDS to
473`font-lock-keywords' when Font Lock is turned on in major mode MODE. 473`font-lock-keywords' when Font Lock is turned on in major mode MODE.
474 474
475If HOW is nil, KEYWORDS are added at the beginning of 475If HOW is nil, KEYWORDS are added at the beginning of
@@ -484,7 +484,7 @@ This is normally set via `font-lock-add-keywords' and
484(defvar font-lock-removed-keywords-alist nil 484(defvar font-lock-removed-keywords-alist nil
485 "Alist of `font-lock-keywords' elements to be removed for major modes. 485 "Alist of `font-lock-keywords' elements to be removed for major modes.
486 486
487Each element has the form (MODE . KEYWORDS). `font-lock-set-defaults' 487Each element has the form (MODE . KEYWORDS). Function `font-lock-set-defaults'
488removes the elements in the list KEYWORDS from `font-lock-keywords' 488removes the elements in the list KEYWORDS from `font-lock-keywords'
489when Font Lock is turned on in major mode MODE. 489when Font Lock is turned on in major mode MODE.
490 490
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 0cea790792f..44dbf060e49 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,11 @@
12013-01-11 Aaron S. Hawley <Aaron.Hawley@vtinfo.com>
2
3 * gnus-start.el (gnus-check-new-newsgroups): Fix ambiguous doc string
4 cross-reference(s).
5
6 * gnus-sum.el (gnus-summary-newsgroup-prefix): Fix ambiguous doc string
7 cross-reference(s).
8
12013-01-11 Dmitry Antipov <dmantipov@yandex.ru> 92013-01-11 Dmitry Antipov <dmantipov@yandex.ru>
2 10
3 * gnus-art.el (gnus-mime-display-security): Use point-min-marker 11 * gnus-art.el (gnus-mime-display-security): Use point-min-marker
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index 42cc284a0ad..aa8b6bf2703 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -110,7 +110,7 @@ ask the servers (primary, secondary, and archive servers) to list new
110groups since the last time it checked: 110groups since the last time it checked:
111 1. This variable is `ask-server'. 111 1. This variable is `ask-server'.
112 2. This variable is a list of select methods (see below). 112 2. This variable is a list of select methods (see below).
113 3. `gnus-read-active-file' is nil or `some'. 113 3. Option `gnus-read-active-file' is nil or `some'.
114 4. A prefix argument is given to `gnus-find-new-newsgroups' interactively. 114 4. A prefix argument is given to `gnus-find-new-newsgroups' interactively.
115 115
116Thus, if this variable is `ask-server' or a list of select methods or 116Thus, if this variable is `ask-server' or a list of select methods or
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 49b7e5930f6..14597f031e1 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -1167,7 +1167,7 @@ using `gnus-ignored-from-addresses'."
1167 1167
1168(defcustom gnus-summary-newsgroup-prefix "=> " 1168(defcustom gnus-summary-newsgroup-prefix "=> "
1169 "*String prefixed to the Newsgroup field in the summary 1169 "*String prefixed to the Newsgroup field in the summary
1170line when using `gnus-ignored-from-addresses'." 1170line when using the option `gnus-ignored-from-addresses'."
1171 :version "22.1" 1171 :version "22.1"
1172 :group 'gnus-summary 1172 :group 'gnus-summary
1173 :type 'string) 1173 :type 'string)
diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index 662f431d3c3..b5aca1a4445 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -322,7 +322,7 @@ Commands:
322 322
323(defconst help-xref-symbol-regexp 323(defconst help-xref-symbol-regexp
324 (purecopy (concat "\\(\\<\\(\\(variable\\|option\\)\\|" ; Link to var 324 (purecopy (concat "\\(\\<\\(\\(variable\\|option\\)\\|" ; Link to var
325 "\\(function\\|command\\)\\|" ; Link to function 325 "\\(function\\|command\\|call\\)\\|" ; Link to function
326 "\\(face\\)\\|" ; Link to face 326 "\\(face\\)\\|" ; Link to face
327 "\\(symbol\\|program\\|property\\)\\|" ; Don't link 327 "\\(symbol\\|program\\|property\\)\\|" ; Don't link
328 "\\(source \\(?:code \\)?\\(?:of\\|for\\)\\)\\)" 328 "\\(source \\(?:code \\)?\\(?:of\\|for\\)\\)\\)"
diff --git a/lisp/info.el b/lisp/info.el
index 48ad00c9f28..e230ed0f82c 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -4313,7 +4313,7 @@ If the element is just a file name, the file name also serves as the prefix.")
4313The `info-file' property of COMMAND says which Info manual to search. 4313The `info-file' property of COMMAND says which Info manual to search.
4314If COMMAND has no property, the variable `Info-file-list-for-emacs' 4314If COMMAND has no property, the variable `Info-file-list-for-emacs'
4315defines heuristics for which Info manual to try. 4315defines heuristics for which Info manual to try.
4316The locations are of the format used in `Info-history', i.e. 4316The locations are of the format used in the variable `Info-history', i.e.
4317\(FILENAME NODENAME BUFFERPOS), where BUFFERPOS is the line number 4317\(FILENAME NODENAME BUFFERPOS), where BUFFERPOS is the line number
4318in the first element of the returned list (which is treated specially in 4318in the first element of the returned list (which is treated specially in
4319`Info-goto-emacs-command-node'), and 0 for the rest elements of a list." 4319`Info-goto-emacs-command-node'), and 0 for the rest elements of a list."
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 6fa589a9622..995df2fb9a7 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -891,7 +891,7 @@ or one is an alias of the other."
891 (and (vectorp eol-type-1) (vectorp eol-type-2))))))) 891 (and (vectorp eol-type-1) (vectorp eol-type-2)))))))
892 892
893(defun add-to-coding-system-list (coding-system) 893(defun add-to-coding-system-list (coding-system)
894 "Add CODING-SYSTEM to `coding-system-list' while keeping it sorted." 894 "Add CODING-SYSTEM to variable `coding-system-list' while keeping it sorted."
895 (if (or (null coding-system-list) 895 (if (or (null coding-system-list)
896 (coding-system-lessp coding-system (car coding-system-list))) 896 (coding-system-lessp coding-system (car coding-system-list)))
897 (setq coding-system-list (cons coding-system coding-system-list)) 897 (setq coding-system-list (cons coding-system coding-system-list))
diff --git a/lisp/isearch.el b/lisp/isearch.el
index b13881b208b..e16e3840d0d 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -176,7 +176,7 @@ is non-nil if the user quits the search.")
176 176
177(defvar isearch-message-function nil 177(defvar isearch-message-function nil
178 "Function to call to display the search prompt. 178 "Function to call to display the search prompt.
179If nil, use `isearch-message'.") 179If nil, use function `isearch-message'.")
180 180
181(defvar isearch-wrap-function nil 181(defvar isearch-wrap-function nil
182 "Function to call to wrap the search when search is failed. 182 "Function to call to wrap the search when search is failed.
@@ -1101,7 +1101,7 @@ nonincremental search instead via `isearch-edit-string'."
1101 1101
1102(defun isearch-fail-pos (&optional msg) 1102(defun isearch-fail-pos (&optional msg)
1103 "Return position of first mismatch in search string, or nil if none. 1103 "Return position of first mismatch in search string, or nil if none.
1104If MSG is non-nil, use `isearch-message', otherwise `isearch-string'." 1104If MSG is non-nil, use variable `isearch-message', otherwise `isearch-string'."
1105 (let ((cmds isearch-cmds) 1105 (let ((cmds isearch-cmds)
1106 (curr-msg (if msg isearch-message isearch-string)) 1106 (curr-msg (if msg isearch-message isearch-string))
1107 succ-msg) 1107 succ-msg)
diff --git a/lisp/misearch.el b/lisp/misearch.el
index 2584f8df77b..0c4cd4ea323 100644
--- a/lisp/misearch.el
+++ b/lisp/misearch.el
@@ -73,7 +73,7 @@ end of the search space).
73The first argument of this function is the current buffer where the 73The first argument of this function is the current buffer where the
74search is currently searching. It defines the base buffer relative to 74search is currently searching. It defines the base buffer relative to
75which this function should find the next buffer. When the isearch 75which this function should find the next buffer. When the isearch
76direction is backward (when `isearch-forward' is nil), this function 76direction is backward (when option `isearch-forward' is nil), this function
77should return the previous buffer to search. 77should return the previous buffer to search.
78 78
79If the second argument of this function WRAP is non-nil, then it 79If the second argument of this function WRAP is non-nil, then it
diff --git a/lisp/newcomment.el b/lisp/newcomment.el
index d55feaa3c1a..bcb5f721ae8 100644
--- a/lisp/newcomment.el
+++ b/lisp/newcomment.el
@@ -1206,7 +1206,8 @@ changed with `comment-style'."
1206(defun comment-box (beg end &optional arg) 1206(defun comment-box (beg end &optional arg)
1207 "Comment out the BEG .. END region, putting it inside a box. 1207 "Comment out the BEG .. END region, putting it inside a box.
1208The numeric prefix ARG specifies how many characters to add to begin- and 1208The numeric prefix ARG specifies how many characters to add to begin- and
1209end- comment markers additionally to what `comment-add' already specifies." 1209end- comment markers additionally to what variable `comment-add' already
1210specifies."
1210 (interactive "*r\np") 1211 (interactive "*r\np")
1211 (comment-normalize-vars) 1212 (comment-normalize-vars)
1212 (let ((comment-style (if (cadr (assoc comment-style comment-styles)) 1213 (let ((comment-style (if (cadr (assoc comment-style comment-styles))
diff --git a/lisp/printing.el b/lisp/printing.el
index a8eed066a15..bf50aa8f679 100644
--- a/lisp/printing.el
+++ b/lisp/printing.el
@@ -1800,7 +1800,7 @@ The alist element has the form:
1800Where: 1800Where:
1801 1801
1802SYMBOL It's a symbol to identify a text printer. It's for 1802SYMBOL It's a symbol to identify a text printer. It's for
1803 `pr-txt-name' variable setting and for menu selection. 1803 setting option `pr-txt-name' and for menu selection.
1804 Examples: 1804 Examples:
1805 'prt_06a 1805 'prt_06a
1806 'my_printer 1806 'my_printer
@@ -1951,7 +1951,7 @@ The alist element has the form:
1951Where: 1951Where:
1952 1952
1953SYMBOL It's a symbol to identify a PostScript printer. It's for 1953SYMBOL It's a symbol to identify a PostScript printer. It's for
1954 `pr-ps-name' variable setting and for menu selection. 1954 setting option `pr-ps-name' and for menu selection.
1955 Examples: 1955 Examples:
1956 'prt_06a 1956 'prt_06a
1957 'my_printer 1957 'my_printer
@@ -2935,9 +2935,9 @@ INHERITS Specify the inheritance for SYMBOL group. It's a symbol name
2935 2935
2936 The example above has two setting groups: no-duplex and 2936 The example above has two setting groups: no-duplex and
2937 no-duplex-and-landscape. When setting no-duplex is activated 2937 no-duplex-and-landscape. When setting no-duplex is activated
2938 through `inherits-from:' (see `pr-ps-utility', `pr-mode-alist' 2938 through `inherits-from:' (see option `pr-ps-utility',
2939 and `pr-ps-printer-alist'), the variables pr-file-duplex and 2939 `pr-mode-alist' and `pr-ps-printer-alist'), the variables
2940 pr-file-tumble are both set to nil. 2940 pr-file-duplex and pr-file-tumble are both set to nil.
2941 2941
2942 Now when setting no-duplex-and-landscape is activated through 2942 Now when setting no-duplex-and-landscape is activated through
2943 `inherits-from:', the variable pr-file-landscape is set to nil 2943 `inherits-from:', the variable pr-file-landscape is set to nil
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index 376edcdc76b..f6c47f5bb4d 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -2049,7 +2049,7 @@ styles specified by `c-doc-comment-style'.")
2049 2049
2050(defconst c-font-lock-keywords-3 (c-lang-const c-matchers-3 c) 2050(defconst c-font-lock-keywords-3 (c-lang-const c-matchers-3 c)
2051 "Accurate normal font locking for C mode. 2051 "Accurate normal font locking for C mode.
2052Like `c-font-lock-keywords-2' but detects declarations in a more 2052Like the variable `c-font-lock-keywords-2' but detects declarations in a more
2053accurate way that works in most cases for arbitrary types without the 2053accurate way that works in most cases for arbitrary types without the
2054need for `c-font-lock-extra-types'.") 2054need for `c-font-lock-extra-types'.")
2055 2055
@@ -2207,7 +2207,7 @@ styles specified by `c-doc-comment-style'.")
2207 2207
2208(defconst c++-font-lock-keywords-3 (c-lang-const c-matchers-3 c++) 2208(defconst c++-font-lock-keywords-3 (c-lang-const c-matchers-3 c++)
2209 "Accurate normal font locking for C++ mode. 2209 "Accurate normal font locking for C++ mode.
2210Like `c++-font-lock-keywords-2' but detects declarations in a more 2210Like the variable `c++-font-lock-keywords-2' but detects declarations in a more
2211accurate way that works in most cases for arbitrary types without the 2211accurate way that works in most cases for arbitrary types without the
2212need for `c++-font-lock-extra-types'.") 2212need for `c++-font-lock-extra-types'.")
2213 2213
@@ -2313,7 +2313,7 @@ comment styles specified by `c-doc-comment-style'.")
2313 2313
2314(defconst objc-font-lock-keywords-3 (c-lang-const c-matchers-3 objc) 2314(defconst objc-font-lock-keywords-3 (c-lang-const c-matchers-3 objc)
2315 "Accurate normal font locking for Objective-C mode. 2315 "Accurate normal font locking for Objective-C mode.
2316Like `objc-font-lock-keywords-2' but detects declarations in a more 2316Like the variable `objc-font-lock-keywords-2' but detects declarations in a more
2317accurate way that works in most cases for arbitrary types without the 2317accurate way that works in most cases for arbitrary types without the
2318need for `objc-font-lock-extra-types'.") 2318need for `objc-font-lock-extra-types'.")
2319 2319
@@ -2356,7 +2356,7 @@ comment styles specified by `c-doc-comment-style'.")
2356 2356
2357(defconst java-font-lock-keywords-3 (c-lang-const c-matchers-3 java) 2357(defconst java-font-lock-keywords-3 (c-lang-const c-matchers-3 java)
2358 "Accurate normal font locking for Java mode. 2358 "Accurate normal font locking for Java mode.
2359Like `java-font-lock-keywords-2' but detects declarations in a more 2359Like variable `java-font-lock-keywords-2' but detects declarations in a more
2360accurate way that works in most cases for arbitrary types without the 2360accurate way that works in most cases for arbitrary types without the
2361need for `java-font-lock-extra-types'.") 2361need for `java-font-lock-extra-types'.")
2362 2362
@@ -2389,7 +2389,7 @@ styles specified by `c-doc-comment-style'.")
2389 2389
2390(defconst idl-font-lock-keywords-3 (c-lang-const c-matchers-3 idl) 2390(defconst idl-font-lock-keywords-3 (c-lang-const c-matchers-3 idl)
2391 "Accurate normal font locking for CORBA IDL mode. 2391 "Accurate normal font locking for CORBA IDL mode.
2392Like `idl-font-lock-keywords-2' but detects declarations in a more 2392Like the variable `idl-font-lock-keywords-2' but detects declarations in a more
2393accurate way that works in most cases for arbitrary types without the 2393accurate way that works in most cases for arbitrary types without the
2394need for `idl-font-lock-extra-types'.") 2394need for `idl-font-lock-extra-types'.")
2395 2395
@@ -2422,7 +2422,7 @@ comment styles specified by `c-doc-comment-style'.")
2422 2422
2423(defconst pike-font-lock-keywords-3 (c-lang-const c-matchers-3 pike) 2423(defconst pike-font-lock-keywords-3 (c-lang-const c-matchers-3 pike)
2424 "Accurate normal font locking for Pike mode. 2424 "Accurate normal font locking for Pike mode.
2425Like `pike-font-lock-keywords-2' but detects declarations in a more 2425Like the variable `pike-font-lock-keywords-2' but detects declarations in a more
2426accurate way that works in most cases for arbitrary types without the 2426accurate way that works in most cases for arbitrary types without the
2427need for `pike-font-lock-extra-types'.") 2427need for `pike-font-lock-extra-types'.")
2428 2428
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index f6c43e2c392..4e1cd4a24e3 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1427,8 +1427,9 @@ and move to the source code that caused it.
1427If optional second arg COMINT is t the buffer will be in Comint mode with 1427If optional second arg COMINT is t the buffer will be in Comint mode with
1428`compilation-shell-minor-mode'. 1428`compilation-shell-minor-mode'.
1429 1429
1430Interactively, prompts for the command if `compilation-read-command' is 1430Interactively, prompts for the command if the variable
1431non-nil; otherwise uses `compile-command'. With prefix arg, always prompts. 1431`compilation-read-command' is non-nil; otherwise uses`compile-command'.
1432With prefix arg, always prompts.
1432Additionally, with universal prefix arg, compilation buffer will be in 1433Additionally, with universal prefix arg, compilation buffer will be in
1433comint mode, i.e. interactive. 1434comint mode, i.e. interactive.
1434 1435
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 81dc31792c3..92f9447652e 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -199,7 +199,8 @@ Pop back to the last location with \\[negative-argument] \\[find-tag].")
199 199
200(defvar tags-table-files nil 200(defvar tags-table-files nil
201 "List of file names covered by current tags table. 201 "List of file names covered by current tags table.
202nil means it has not yet been computed; use `tags-table-files' to do so.") 202nil means it has not yet been computed;
203use function `tags-table-files' to do so.")
203 204
204(defvar tags-completion-table nil 205(defvar tags-completion-table nil
205 "Obarray of tag names defined in current tags table.") 206 "Obarray of tag names defined in current tags table.")
@@ -224,7 +225,7 @@ of the format-parsing tags function variables if successful.")
224One optional argument, a boolean specifying to return complete path (nil) or 225One optional argument, a boolean specifying to return complete path (nil) or
225relative path (non-nil).") 226relative path (non-nil).")
226(defvar tags-table-files-function nil 227(defvar tags-table-files-function nil
227 "Function to do the work of `tags-table-files' (which see).") 228 "Function to do the work of function `tags-table-files' (which see).")
228(defvar tags-completion-table-function nil 229(defvar tags-completion-table-function nil
229 "Function to build the `tags-completion-table'.") 230 "Function to build the `tags-completion-table'.")
230(defvar snarf-tag-function nil 231(defvar snarf-tag-function nil
@@ -251,7 +252,7 @@ One argument, the tag info returned by `snarf-tag-function'.")
251(defvar tags-apropos-function nil 252(defvar tags-apropos-function nil
252 "Function to do the work of `tags-apropos' (which see).") 253 "Function to do the work of `tags-apropos' (which see).")
253(defvar tags-included-tables-function nil 254(defvar tags-included-tables-function nil
254 "Function to do the work of `tags-included-tables' (which see).") 255 "Function to do the work of function `tags-included-tables' (which see).")
255(defvar verify-tags-table-function nil 256(defvar verify-tags-table-function nil
256 "Function to return t if current buffer contains valid tags file.") 257 "Function to return t if current buffer contains valid tags file.")
257 258
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index fc3d336cf99..90c7cfc5008 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -607,12 +607,12 @@ executable followed by command-line options. The command-line
607options should include \"-i=mi\" to use gdb's MI text interface. 607options should include \"-i=mi\" to use gdb's MI text interface.
608Note that the old \"--annotate\" option is no longer supported. 608Note that the old \"--annotate\" option is no longer supported.
609 609
610If `gdb-many-windows' is nil (the default value) then gdb just 610If option `gdb-many-windows' is nil (the default value) then gdb just
611pops up the GUD buffer unless `gdb-show-main' is t. In this case 611pops up the GUD buffer unless `gdb-show-main' is t. In this case
612it starts with two windows: one displaying the GUD buffer and the 612it starts with two windows: one displaying the GUD buffer and the
613other with the source file with the main routine of the inferior. 613other with the source file with the main routine of the inferior.
614 614
615If `gdb-many-windows' is t, regardless of the value of 615If option `gdb-many-windows' is t, regardless of the value of
616`gdb-show-main', the layout below will appear. Keybindings are 616`gdb-show-main', the layout below will appear. Keybindings are
617shown in some of the buffers. 617shown in some of the buffers.
618 618
@@ -4069,7 +4069,7 @@ window is dedicated."
4069 (set-window-dedicated-p window t)) 4069 (set-window-dedicated-p window t))
4070 4070
4071(defun gdb-setup-windows () 4071(defun gdb-setup-windows ()
4072 "Layout the window pattern for `gdb-many-windows'." 4072 "Layout the window pattern for option `gdb-many-windows'."
4073 (gdb-get-buffer-create 'gdb-locals-buffer) 4073 (gdb-get-buffer-create 'gdb-locals-buffer)
4074 (gdb-get-buffer-create 'gdb-stack-buffer) 4074 (gdb-get-buffer-create 'gdb-stack-buffer)
4075 (gdb-get-buffer-create 'gdb-breakpoints-buffer) 4075 (gdb-get-buffer-create 'gdb-breakpoints-buffer)
@@ -4120,7 +4120,7 @@ of the debugged program. Non-nil means display the layout shown for
4120 4120
4121(defun gdb-restore-windows () 4121(defun gdb-restore-windows ()
4122 "Restore the basic arrangement of windows used by gdb. 4122 "Restore the basic arrangement of windows used by gdb.
4123This arrangement depends on the value of `gdb-many-windows'." 4123This arrangement depends on the value of option `gdb-many-windows'."
4124 (interactive) 4124 (interactive)
4125 (switch-to-buffer gud-comint-buffer) ;Select the right window and frame. 4125 (switch-to-buffer gud-comint-buffer) ;Select the right window and frame.
4126 (delete-other-windows) 4126 (delete-other-windows)
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 683b3927ae3..96e6039a8c2 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -1680,12 +1680,15 @@ This performs fontification according to `js--class-styles'."
1680 "each")) 1680 "each"))
1681 "Regexp matching keywords optionally followed by an opening brace.") 1681 "Regexp matching keywords optionally followed by an opening brace.")
1682 1682
1683(defconst js--declaration-keyword-re
1684 (regexp-opt '("var" "let" "const") 'words)
1685 "Regular expression matching variable declaration keywords.")
1686
1683(defconst js--indent-operator-re 1687(defconst js--indent-operator-re
1684 (concat "[-+*/%<>=&^|?:.]\\([^-+*/]\\|$\\)\\|" 1688 (concat "[-+*/%<>=&^|?:.]\\([^-+*/]\\|$\\)\\|"
1685 (js--regexp-opt-symbol '("in" "instanceof"))) 1689 (js--regexp-opt-symbol '("in" "instanceof")))
1686 "Regexp matching operators that affect indentation of continued expressions.") 1690 "Regexp matching operators that affect indentation of continued expressions.")
1687 1691
1688
1689(defun js--looking-at-operator-p () 1692(defun js--looking-at-operator-p ()
1690 "Return non-nil if point is on a JavaScript operator, other than a comma." 1693 "Return non-nil if point is on a JavaScript operator, other than a comma."
1691 (save-match-data 1694 (save-match-data
@@ -1764,6 +1767,37 @@ nil."
1764 (list (cons 'c js-comment-lineup-func)))) 1767 (list (cons 'c js-comment-lineup-func))))
1765 (c-get-syntactic-indentation (list (cons symbol anchor))))) 1768 (c-get-syntactic-indentation (list (cons symbol anchor)))))
1766 1769
1770(defun js--multi-line-declaration-indentation ()
1771 "Helper function for `js--proper-indentation'.
1772Return the proper indentation of the current line if it belongs to a declaration
1773statement spanning multiple lines; otherwise, return nil."
1774 (let (at-opening-bracket)
1775 (save-excursion
1776 (back-to-indentation)
1777 (when (not (looking-at js--declaration-keyword-re))
1778 (when (looking-at js--indent-operator-re)
1779 (goto-char (match-end 0)))
1780 (while (and (not at-opening-bracket)
1781 (not (bobp))
1782 (let ((pos (point)))
1783 (save-excursion
1784 (js--backward-syntactic-ws)
1785 (or (eq (char-before) ?,)
1786 (and (not (eq (char-before) ?\;))
1787 (prog2
1788 (skip-chars-backward "[[:punct:]]")
1789 (looking-at js--indent-operator-re)
1790 (js--backward-syntactic-ws))
1791 (not (eq (char-before) ?\;)))
1792 (and (>= pos (point-at-bol))
1793 (<= pos (point-at-eol)))))))
1794 (condition-case err
1795 (backward-sexp)
1796 (scan-error (setq at-opening-bracket t))))
1797 (when (looking-at js--declaration-keyword-re)
1798 (goto-char (match-end 0))
1799 (1+ (current-column)))))))
1800
1767(defun js--proper-indentation (parse-status) 1801(defun js--proper-indentation (parse-status)
1768 "Return the proper indentation for the current line." 1802 "Return the proper indentation for the current line."
1769 (save-excursion 1803 (save-excursion
@@ -1772,6 +1806,7 @@ nil."
1772 (js--get-c-offset 'c (nth 8 parse-status))) 1806 (js--get-c-offset 'c (nth 8 parse-status)))
1773 ((nth 8 parse-status) 0) ; inside string 1807 ((nth 8 parse-status) 0) ; inside string
1774 ((js--ctrl-statement-indentation)) 1808 ((js--ctrl-statement-indentation))
1809 ((js--multi-line-declaration-indentation))
1775 ((eq (char-after) ?#) 0) 1810 ((eq (char-after) ?#) 0)
1776 ((save-excursion (js--beginning-of-macro)) 4) 1811 ((save-excursion (js--beginning-of-macro)) 4)
1777 ((nth 1 parse-status) 1812 ((nth 1 parse-status)
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index 99f22df4107..f7c03c2de85 100644
--- a/lisp/ps-print.el
+++ b/lisp/ps-print.el
@@ -1959,13 +1959,13 @@ Valid values are:
1959 1959
1960Any other value is treated as nil. 1960Any other value is treated as nil.
1961 1961
1962If you set `ps-selected-pages' (see it for documentation), first the pages are 1962If you set option `ps-selected-pages', first the pages are
1963filtered by `ps-selected-pages' and then by `ps-even-or-odd-pages'. For 1963filtered by option `ps-selected-pages' and then by `ps-even-or-odd-pages'.
1964example, if we have: 1964For example, if we have:
1965 1965
1966 (setq ps-selected-pages '(1 4 (6 . 10) (12 . 16) 20)) 1966 (setq ps-selected-pages '(1 4 (6 . 10) (12 . 16) 20))
1967 1967
1968Combining with `ps-even-or-odd-pages' and `ps-n-up-printing', we have: 1968Combining with `ps-even-or-odd-pages' and option `ps-n-up-printing', we have:
1969 1969
1970`ps-n-up-printing' = 1: 1970`ps-n-up-printing' = 1:
1971 `ps-even-or-odd-pages' PAGES PRINTED 1971 `ps-even-or-odd-pages' PAGES PRINTED
@@ -3566,9 +3566,9 @@ Use the command `ps-despool' to send the spooled images to the printer."
3566;;;###autoload 3566;;;###autoload
3567(defun ps-spool-buffer-with-faces () 3567(defun ps-spool-buffer-with-faces ()
3568 "Generate and spool a PostScript image of the buffer. 3568 "Generate and spool a PostScript image of the buffer.
3569Like `ps-spool-buffer', but includes font, color, and underline information in 3569Like the command `ps-spool-buffer', but includes font, color, and underline
3570the generated image. This command works only if you are using a window system, 3570information in the generated image. This command works only if you are using
3571so it has a way to determine color values. 3571a window system, so it has a way to determine color values.
3572 3572
3573Use the command `ps-despool' to send the spooled images to the printer." 3573Use the command `ps-despool' to send the spooled images to the printer."
3574 (interactive) 3574 (interactive)
@@ -5369,7 +5369,7 @@ Each element has the following form:
5369 (KIND XCOL YCOL XLIN YLIN REPEAT END XSTART YSTART) 5369 (KIND XCOL YCOL XLIN YLIN REPEAT END XSTART YSTART)
5370 5370
5371Where: 5371Where:
5372KIND is a valid value of `ps-n-up-filling'. 5372KIND is a valid value of the variable `ps-n-up-filling'.
5373XCOL YCOL are the relative position for the next column. 5373XCOL YCOL are the relative position for the next column.
5374XLIN YLIN are the relative position for the beginning of next line. 5374XLIN YLIN are the relative position for the beginning of next line.
5375REPEAT is the number of repetitions for external loop. 5375REPEAT is the number of repetitions for external loop.
diff --git a/lisp/server.el b/lisp/server.el
index 03d4bfc33df..64224d2a310 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -361,7 +361,7 @@ Updates `server-clients'."
361 361
362(defconst server-buffer " *server*" 362(defconst server-buffer " *server*"
363 "Buffer used internally by Emacs's server. 363 "Buffer used internally by Emacs's server.
364One use is to log the I/O for debugging purposes (see `server-log'), 364One use is to log the I/O for debugging purposes (see option `server-log'),
365the other is to provide a current buffer in which the process filter can 365the other is to provide a current buffer in which the process filter can
366safely let-bind buffer-local variables like `default-directory'.") 366safely let-bind buffer-local variables like `default-directory'.")
367 367
@@ -369,7 +369,7 @@ safely let-bind buffer-local variables like `default-directory'.")
369 "If non-nil, log the server's inputs and outputs in the `server-buffer'.") 369 "If non-nil, log the server's inputs and outputs in the `server-buffer'.")
370 370
371(defun server-log (string &optional client) 371(defun server-log (string &optional client)
372 "If `server-log' is non-nil, log STRING to `server-buffer'. 372 "If option `server-log' is non-nil, log STRING to `server-buffer'.
373If CLIENT is non-nil, add a description of it to the logged message." 373If CLIENT is non-nil, add a description of it to the logged message."
374 (when server-log 374 (when server-log
375 (with-current-buffer (get-buffer-create server-buffer) 375 (with-current-buffer (get-buffer-create server-buffer)
diff --git a/lisp/simple.el b/lisp/simple.el
index dcd6d792acb..847c07a5c26 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -401,7 +401,7 @@ Other major modes are defined by comparison with this one."
401 401
402(defun newline (&optional arg) 402(defun newline (&optional arg)
403 "Insert a newline, and move to left margin of the new line if it's blank. 403 "Insert a newline, and move to left margin of the new line if it's blank.
404If `use-hard-newlines' is non-nil, the newline is marked with the 404If option `use-hard-newlines' is non-nil, the newline is marked with the
405text-property `hard'. 405text-property `hard'.
406With ARG, insert that many newlines. 406With ARG, insert that many newlines.
407Call `auto-fill-function' if the current column number is greater 407Call `auto-fill-function' if the current column number is greater
@@ -837,7 +837,7 @@ instead of deleted."
837 "Delete the previous N characters (following if N is negative). 837 "Delete the previous N characters (following if N is negative).
838If Transient Mark mode is enabled, the mark is active, and N is 1, 838If Transient Mark mode is enabled, the mark is active, and N is 1,
839delete the text in the region and deactivate the mark instead. 839delete the text in the region and deactivate the mark instead.
840To disable this, set `delete-active-region' to nil. 840To disable this, set option `delete-active-region' to nil.
841 841
842Optional second arg KILLFLAG, if non-nil, means to kill (save in 842Optional second arg KILLFLAG, if non-nil, means to kill (save in
843kill ring) instead of delete. Interactively, N is the prefix 843kill ring) instead of delete. Interactively, N is the prefix
@@ -873,7 +873,7 @@ the end of the line."
873 "Delete the following N characters (previous if N is negative). 873 "Delete the following N characters (previous if N is negative).
874If Transient Mark mode is enabled, the mark is active, and N is 1, 874If Transient Mark mode is enabled, the mark is active, and N is 1,
875delete the text in the region and deactivate the mark instead. 875delete the text in the region and deactivate the mark instead.
876To disable this, set `delete-active-region' to nil. 876To disable this, set variable `delete-active-region' to nil.
877 877
878Optional second arg KILLFLAG non-nil means to kill (save in kill 878Optional second arg KILLFLAG non-nil means to kill (save in kill
879ring) instead of delete. Interactively, N is the prefix arg, and 879ring) instead of delete. Interactively, N is the prefix arg, and
@@ -1778,7 +1778,7 @@ Intended to be added to `minibuffer-setup-hook'."
1778If there are no search errors, this function displays an overlay with 1778If there are no search errors, this function displays an overlay with
1779the isearch prompt which replaces the original minibuffer prompt. 1779the isearch prompt which replaces the original minibuffer prompt.
1780Otherwise, it displays the standard isearch message returned from 1780Otherwise, it displays the standard isearch message returned from
1781`isearch-message'." 1781the function `isearch-message'."
1782 (if (not (and (minibufferp) isearch-success (not isearch-error))) 1782 (if (not (and (minibufferp) isearch-success (not isearch-error)))
1783 ;; Use standard function `isearch-message' when not in the minibuffer, 1783 ;; Use standard function `isearch-message' when not in the minibuffer,
1784 ;; or search fails, or has an error (like incomplete regexp). 1784 ;; or search fails, or has an error (like incomplete regexp).
@@ -3805,7 +3805,7 @@ If `show-trailing-whitespace' is non-nil, this command will just
3805kill the rest of the current line, even if there are only 3805kill the rest of the current line, even if there are only
3806nonblanks there. 3806nonblanks there.
3807 3807
3808If `kill-whole-line' is non-nil, then this command kills the whole line 3808If option `kill-whole-line' is non-nil, then this command kills the whole line
3809including its terminating newline, when used at the beginning of a line 3809including its terminating newline, when used at the beginning of a line
3810with no argument. As a consequence, you can always kill a whole line 3810with no argument. As a consequence, you can always kill a whole line
3811by typing \\[move-beginning-of-line] \\[kill-line]. 3811by typing \\[move-beginning-of-line] \\[kill-line].
@@ -4575,13 +4575,13 @@ to use and more reliable (no dependence on goal column, etc.)."
4575 "Non-nil means vertical motion starting at end of line keeps to ends of lines. 4575 "Non-nil means vertical motion starting at end of line keeps to ends of lines.
4576This means moving to the end of each line moved onto. 4576This means moving to the end of each line moved onto.
4577The beginning of a blank line does not count as the end of a line. 4577The beginning of a blank line does not count as the end of a line.
4578This has no effect when `line-move-visual' is non-nil." 4578This has no effect when the variable `line-move-visual' is non-nil."
4579 :type 'boolean 4579 :type 'boolean
4580 :group 'editing-basics) 4580 :group 'editing-basics)
4581 4581
4582(defcustom goal-column nil 4582(defcustom goal-column nil
4583 "Semipermanent goal column for vertical motion, as set by \\[set-goal-column], or nil. 4583 "Semipermanent goal column for vertical motion, as set by \\[set-goal-column], or nil.
4584A non-nil setting overrides `line-move-visual', which see." 4584A non-nil setting overrides the variable `line-move-visual', which see."
4585 :type '(choice integer 4585 :type '(choice integer
4586 (const :tag "None" nil)) 4586 (const :tag "None" nil))
4587 :group 'editing-basics) 4587 :group 'editing-basics)
@@ -4592,7 +4592,7 @@ A non-nil setting overrides `line-move-visual', which see."
4592It is the column where point was at the start of the current run 4592It is the column where point was at the start of the current run
4593of vertical motion commands. 4593of vertical motion commands.
4594 4594
4595When moving by visual lines via `line-move-visual', it is a cons 4595When moving by visual lines via the function `line-move-visual', it is a cons
4596cell (COL . HSCROLL), where COL is the x-position, in pixels, 4596cell (COL . HSCROLL), where COL is the x-position, in pixels,
4597divided by the default column width, and HSCROLL is the number of 4597divided by the default column width, and HSCROLL is the number of
4598columns by which window is scrolled from left margin. 4598columns by which window is scrolled from left margin.
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index fe2f808c594..6ab3e3d3f16 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -63,7 +63,7 @@ Non-nil means use highlight, nil means use minibuffer messages."
63 "Non-nil means Flyspell reports a repeated word as an error. 63 "Non-nil means Flyspell reports a repeated word as an error.
64See `flyspell-mark-duplications-exceptions' to add exceptions to this rule. 64See `flyspell-mark-duplications-exceptions' to add exceptions to this rule.
65Detection of repeated words is not implemented in 65Detection of repeated words is not implemented in
66\"large\" regions; see `flyspell-large-region'." 66\"large\" regions; see variable `flyspell-large-region'."
67 :group 'flyspell 67 :group 'flyspell
68 :type 'boolean) 68 :type 'boolean)
69 69
@@ -145,9 +145,10 @@ whose length is specified by `flyspell-delay'."
145(defcustom flyspell-default-deplacement-commands 145(defcustom flyspell-default-deplacement-commands
146 '(next-line previous-line 146 '(next-line previous-line
147 handle-switch-frame handle-select-window 147 handle-switch-frame handle-select-window
148 scroll-up scroll-down) 148 scroll-up
149 scroll-down)
149 "The standard list of deplacement commands for Flyspell. 150 "The standard list of deplacement commands for Flyspell.
150See `flyspell-deplacement-commands'." 151See variable `flyspell-deplacement-commands'."
151 :group 'flyspell 152 :group 'flyspell
152 :version "21.1" 153 :version "21.1"
153 :type '(repeat (symbol))) 154 :type '(repeat (symbol)))
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 067ffdaa1f0..52e97b8248d 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -1594,8 +1594,8 @@ You can set this variable in hooks in your init file -- eg:
1594 1594
1595(defun ispell-accept-output (&optional timeout-secs timeout-msecs) 1595(defun ispell-accept-output (&optional timeout-secs timeout-msecs)
1596 "Wait for output from ispell process, or TIMEOUT-SECS and TIMEOUT-MSECS. 1596 "Wait for output from ispell process, or TIMEOUT-SECS and TIMEOUT-MSECS.
1597If asynchronous subprocesses are not supported, call `ispell-filter' and 1597If asynchronous subprocesses are not supported, call function `ispell-filter'
1598pass it the output of the last ispell invocation." 1598and pass it the output of the last ispell invocation."
1599 (if ispell-async-processp 1599 (if ispell-async-processp
1600 (accept-process-output ispell-process timeout-secs timeout-msecs) 1600 (accept-process-output ispell-process timeout-secs timeout-msecs)
1601 (if (null ispell-process) 1601 (if (null ispell-process)
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index a7e44402a26..b7288772034 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -1926,7 +1926,7 @@ This takes effect when first loading the library.")
1926 ("ul" . "Unordered list") 1926 ("ul" . "Unordered list")
1927 ("var" . "Math variable face") 1927 ("var" . "Math variable face")
1928 ("wbr" . "Enable <br> within <nobr>")) 1928 ("wbr" . "Enable <br> within <nobr>"))
1929 "Value of `sgml-tag-help' for HTML mode.") 1929 "Value of variable `sgml-tag-help' for HTML mode.")
1930 1930
1931(defvar outline-regexp) 1931(defvar outline-regexp)
1932(defvar outline-heading-end-regexp) 1932(defvar outline-heading-end-regexp)
diff --git a/lisp/vc/compare-w.el b/lisp/vc/compare-w.el
index 2423d322460..fa451ccbe20 100644
--- a/lisp/vc/compare-w.el
+++ b/lisp/vc/compare-w.el
@@ -53,13 +53,13 @@ whitespace is considered to match, and is skipped."
53 :group 'compare-windows) 53 :group 'compare-windows)
54 54
55(defcustom compare-ignore-whitespace nil 55(defcustom compare-ignore-whitespace nil
56 "Non-nil means `compare-windows' ignores whitespace." 56 "Non-nil means command `compare-windows' ignores whitespace."
57 :type 'boolean 57 :type 'boolean
58 :group 'compare-windows 58 :group 'compare-windows
59 :version "22.1") 59 :version "22.1")
60 60
61(defcustom compare-ignore-case nil 61(defcustom compare-ignore-case nil
62 "Non-nil means `compare-windows' ignores case differences." 62 "Non-nil means command `compare-windows' ignores case differences."
63 :type 'boolean 63 :type 'boolean
64 :group 'compare-windows) 64 :group 'compare-windows)
65 65
@@ -379,7 +379,7 @@ on third call it again advances points to the next difference and so on."
379 (delete-overlay compare-windows-overlay2))))) 379 (delete-overlay compare-windows-overlay2)))))
380 380
381(defun compare-windows-dehighlight () 381(defun compare-windows-dehighlight ()
382 "Remove highlighting created by `compare-windows-highlight'." 382 "Remove highlighting created by function `compare-windows-highlight'."
383 (interactive) 383 (interactive)
384 (remove-hook 'pre-command-hook 'compare-windows-dehighlight) 384 (remove-hook 'pre-command-hook 'compare-windows-dehighlight)
385 (mapc 'delete-overlay compare-windows-overlays1) 385 (mapc 'delete-overlay compare-windows-overlays1)
diff --git a/lisp/vc/diff.el b/lisp/vc/diff.el
index d0e496d2d21..8b4ff792969 100644
--- a/lisp/vc/diff.el
+++ b/lisp/vc/diff.el
@@ -86,7 +86,7 @@ exists. If NO-ASYNC is non-nil, call diff synchronously.
86 86
87When called interactively with a prefix argument, prompt 87When called interactively with a prefix argument, prompt
88interactively for diff switches. Otherwise, the switches 88interactively for diff switches. Otherwise, the switches
89specified in `diff-switches' are passed to the diff command." 89specified in the variable `diff-switches' are passed to the diff command."
90 (interactive 90 (interactive
91 (let* ((newf (if (and buffer-file-name (file-exists-p buffer-file-name)) 91 (let* ((newf (if (and buffer-file-name (file-exists-p buffer-file-name))
92 (read-file-name 92 (read-file-name
diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el
index f8e753772e4..dfc7eee81a6 100644
--- a/lisp/vc/log-edit.el
+++ b/lisp/vc/log-edit.el
@@ -953,13 +953,14 @@ line of MSG."
953 (while (re-search-forward (concat "^" (car header) 953 (while (re-search-forward (concat "^" (car header)
954 ":" log-edit-header-contents-regexp) 954 ":" log-edit-header-contents-regexp)
955 nil t) 955 nil t)
956 (if (eq t (cdr header)) 956 (let ((txt (match-string 1)))
957 (setq summary (match-string 1)) 957 (replace-match "" t t)
958 (if (functionp (cdr header)) 958 (if (eq t (cdr header))
959 (setq res (nconc res (funcall (cdr header) (match-string 1)))) 959 (setq summary txt)
960 (push (match-string 1) res) 960 (if (functionp (cdr header))
961 (push (or (cdr header) (car header)) res))) 961 (setq res (nconc res (funcall (cdr header) txt)))
962 (replace-match "" t t))) 962 (push txt res)
963 (push (or (cdr header) (car header)) res))))))
963 ;; Remove header separator if the header is empty. 964 ;; Remove header separator if the header is empty.
964 (widen) 965 (widen)
965 (goto-char (point-min)) 966 (goto-char (point-min))
diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el
index f436d300089..0968c83ae5f 100644
--- a/lisp/vc/vc-bzr.el
+++ b/lisp/vc/vc-bzr.el
@@ -620,15 +620,24 @@ or a superior directory.")
620 620
621(declare-function log-edit-extract-headers "log-edit" (headers string)) 621(declare-function log-edit-extract-headers "log-edit" (headers string))
622 622
623(defun vc-bzr--sanitize-header (arg)
624 ;; Newlines in --fixes (and probably other fields as well) trigger a nasty
625 ;; Bazaar bug; see https://bugs.launchpad.net/bzr/+bug/1094180.
626 (lambda (str) (list arg
627 (replace-regexp-in-string "\\`[ \t]+\\|[ \t]+\\'"
628 "" (replace-regexp-in-string
629 "\n[ \t]?" " " str)))))
630
623(defun vc-bzr-checkin (files rev comment) 631(defun vc-bzr-checkin (files rev comment)
624 "Check FILES in to bzr with log message COMMENT. 632 "Check FILES in to bzr with log message COMMENT.
625REV non-nil gets an error." 633REV non-nil gets an error."
626 (if rev (error "Can't check in a specific revision with bzr")) 634 (if rev (error "Can't check in a specific revision with bzr"))
627 (apply 'vc-bzr-command "commit" nil 0 635 (apply 'vc-bzr-command "commit" nil 0 files
628 files (cons "-m" (log-edit-extract-headers '(("Author" . "--author") 636 (cons "-m" (log-edit-extract-headers
629 ("Date" . "--commit-time") 637 `(("Author" . ,(vc-bzr--sanitize-header "--author"))
630 ("Fixes" . "--fixes")) 638 ("Date" . ,(vc-bzr--sanitize-header "--commit-time"))
631 comment)))) 639 ("Fixes" . ,(vc-bzr--sanitize-header "--fixes")))
640 comment))))
632 641
633(defun vc-bzr-find-revision (file rev buffer) 642(defun vc-bzr-find-revision (file rev buffer)
634 "Fetch revision REV of file FILE and put it into BUFFER." 643 "Fetch revision REV of file FILE and put it into BUFFER."
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index e2a726f4264..ed7edbc5a68 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -1271,19 +1271,19 @@ SYMBOL is a valid symbol associated with CHAR.
1271 1271
1272(defvar whitespace-point (point) 1272(defvar whitespace-point (point)
1273 "Used to save locally current point value. 1273 "Used to save locally current point value.
1274Used by `whitespace-trailing-regexp' function (which see).") 1274Used by function `whitespace-trailing-regexp' (which see).")
1275 1275
1276(defvar whitespace-font-lock-refontify nil 1276(defvar whitespace-font-lock-refontify nil
1277 "Used to save locally the font-lock refontify state. 1277 "Used to save locally the font-lock refontify state.
1278Used by `whitespace-post-command-hook' function (which see).") 1278Used by function `whitespace-post-command-hook' (which see).")
1279 1279
1280(defvar whitespace-bob-marker nil 1280(defvar whitespace-bob-marker nil
1281 "Used to save locally the bob marker value. 1281 "Used to save locally the bob marker value.
1282Used by `whitespace-post-command-hook' function (which see).") 1282Used by function `whitespace-post-command-hook' (which see).")
1283 1283
1284(defvar whitespace-eob-marker nil 1284(defvar whitespace-eob-marker nil
1285 "Used to save locally the eob marker value. 1285 "Used to save locally the eob marker value.
1286Used by `whitespace-post-command-hook' function (which see).") 1286Used by function `whitespace-post-command-hook' (which see).")
1287 1287
1288(defvar whitespace-buffer-changed nil 1288(defvar whitespace-buffer-changed nil
1289 "Used to indicate locally if buffer changed. 1289 "Used to indicate locally if buffer changed.
diff --git a/src/ChangeLog b/src/ChangeLog
index 13a1f1a3858..13b53e922ed 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,26 @@
12013-01-12 Dmitry Antipov <dmantipov@yandex.ru>
2
3 * indent.c (Fvertical_motion): Remove now-incorrect GCPROs
4 for old_charpos and old_bytepos.
5
62013-01-12 Paul Eggert <eggert@cs.ucla.edu>
7
8 Fix bug with set-time-zone-rule and LOCALTIME_CACHE (Bug#13415).
9 * editfns.c (set_time_zone_rule) [LOCALTIME_CACHE]:
10 Clear tzvalbuf_in_environ if this workaround is in effect.
11 Problem and fix reported by Kazuhiro Ito.
12
132013-01-11 Aaron S. Hawley <Aaron.Hawley@vtinfo.com>
14
15 * insdel.c (Fcombine_after_change_execute, syms_of_insdel): Fix
16 ambiguous doc string cross-reference(s).
17
18 * keyboard.c (Fcommand_execute, syms_of_keyboard): Fix ambiguous
19 doc string cross-reference(s).
20
21 * window.c (Fwindow_point, syms_of_window): Fix ambiguous doc
22 string cross-reference(s).
23
12013-01-11 Dmitry Antipov <dmantipov@yandex.ru> 242013-01-11 Dmitry Antipov <dmantipov@yandex.ru>
2 25
3 Avoid unnecessary byte position calculation for the gap movement. 26 Avoid unnecessary byte position calculation for the gap movement.
diff --git a/src/alloc.c b/src/alloc.c
index 8dc3f11e80a..b147aa20723 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -4446,11 +4446,6 @@ mark_memory (void *start, void *end)
4446 } 4446 }
4447} 4447}
4448 4448
4449/* setjmp will work with GCC unless NON_SAVING_SETJMP is defined in
4450 the GCC system configuration. In gcc 3.2, the only systems for
4451 which this is so are i386-sco5 non-ELF, i386-sysv3 (maybe included
4452 by others?) and ns32k-pc532-min. */
4453
4454#if !defined GC_SAVE_REGISTERS_ON_STACK && !defined GC_SETJMP_WORKS 4449#if !defined GC_SAVE_REGISTERS_ON_STACK && !defined GC_SETJMP_WORKS
4455 4450
4456static bool setjmp_tested_p; 4451static bool setjmp_tested_p;
diff --git a/src/editfns.c b/src/editfns.c
index 64269bab8df..bf19acb42a8 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -2188,6 +2188,7 @@ set_time_zone_rule (const char *tzstring)
2188 xputenv (set_time_zone_rule_tz[1]); 2188 xputenv (set_time_zone_rule_tz[1]);
2189 } 2189 }
2190 tzset (); 2190 tzset ();
2191 tzvalbuf_in_environ = 0;
2191#endif 2192#endif
2192 2193
2193 if (!tzstring) 2194 if (!tzstring)
diff --git a/src/indent.c b/src/indent.c
index 4a30c00dd27..45b6afbd395 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -1970,7 +1970,7 @@ whether or not it is currently displayed in some window. */)
1970 struct window *w; 1970 struct window *w;
1971 Lisp_Object old_buffer; 1971 Lisp_Object old_buffer;
1972 EMACS_INT old_charpos IF_LINT (= 0), old_bytepos IF_LINT (= 0); 1972 EMACS_INT old_charpos IF_LINT (= 0), old_bytepos IF_LINT (= 0);
1973 struct gcpro gcpro1, gcpro2, gcpro3; 1973 struct gcpro gcpro1;
1974 Lisp_Object lcols = Qnil; 1974 Lisp_Object lcols = Qnil;
1975 double cols IF_LINT (= 0); 1975 double cols IF_LINT (= 0);
1976 void *itdata = NULL; 1976 void *itdata = NULL;
@@ -1987,7 +1987,7 @@ whether or not it is currently displayed in some window. */)
1987 w = decode_live_window (window); 1987 w = decode_live_window (window);
1988 1988
1989 old_buffer = Qnil; 1989 old_buffer = Qnil;
1990 GCPRO3 (old_buffer, old_charpos, old_bytepos); 1990 GCPRO1 (old_buffer);
1991 if (XBUFFER (w->buffer) != current_buffer) 1991 if (XBUFFER (w->buffer) != current_buffer)
1992 { 1992 {
1993 /* Set the window's buffer temporarily to the current buffer. */ 1993 /* Set the window's buffer temporarily to the current buffer. */
diff --git a/src/insdel.c b/src/insdel.c
index c2a3cd42821..303247816ca 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -2084,7 +2084,7 @@ Fcombine_after_change_execute_1 (Lisp_Object val)
2084 2084
2085DEFUN ("combine-after-change-execute", Fcombine_after_change_execute, 2085DEFUN ("combine-after-change-execute", Fcombine_after_change_execute,
2086 Scombine_after_change_execute, 0, 0, 0, 2086 Scombine_after_change_execute, 0, 0, 0,
2087 doc: /* This function is for use internally in `combine-after-change-calls'. */) 2087 doc: /* This function is for use internally in the function `combine-after-change-calls'. */)
2088 (void) 2088 (void)
2089{ 2089{
2090 ptrdiff_t count = SPECPDL_INDEX (); 2090 ptrdiff_t count = SPECPDL_INDEX ();
@@ -2176,7 +2176,7 @@ syms_of_insdel (void)
2176 combine_after_change_buffer = Qnil; 2176 combine_after_change_buffer = Qnil;
2177 2177
2178 DEFVAR_LISP ("combine-after-change-calls", Vcombine_after_change_calls, 2178 DEFVAR_LISP ("combine-after-change-calls", Vcombine_after_change_calls,
2179 doc: /* Used internally by the `combine-after-change-calls' macro. */); 2179 doc: /* Used internally by the function `combine-after-change-calls' macro. */);
2180 Vcombine_after_change_calls = Qnil; 2180 Vcombine_after_change_calls = Qnil;
2181 2181
2182 DEFVAR_BOOL ("inhibit-modification-hooks", inhibit_modification_hooks, 2182 DEFVAR_BOOL ("inhibit-modification-hooks", inhibit_modification_hooks,
diff --git a/src/keyboard.c b/src/keyboard.c
index b74084f63e6..baa69a089b3 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -10189,7 +10189,7 @@ DEFUN ("command-execute", Fcommand_execute, Scommand_execute, 1, 4, 0,
10189 doc: /* Execute CMD as an editor command. 10189 doc: /* Execute CMD as an editor command.
10190CMD must be a symbol that satisfies the `commandp' predicate. 10190CMD must be a symbol that satisfies the `commandp' predicate.
10191Optional second arg RECORD-FLAG non-nil 10191Optional second arg RECORD-FLAG non-nil
10192means unconditionally put this command in `command-history'. 10192means unconditionally put this command in the variable `command-history'.
10193Otherwise, that is done only if an arg is read using the minibuffer. 10193Otherwise, that is done only if an arg is read using the minibuffer.
10194The argument KEYS specifies the value to use instead of (this-command-keys) 10194The argument KEYS specifies the value to use instead of (this-command-keys)
10195when reading the arguments; if it is nil, (this-command-keys) is used. 10195when reading the arguments; if it is nil, (this-command-keys) is used.
@@ -12078,8 +12078,8 @@ This takes effect only when Transient Mark mode is enabled. */);
12078 Vsaved_region_selection, 12078 Vsaved_region_selection,
12079 doc: /* Contents of active region prior to buffer modification. 12079 doc: /* Contents of active region prior to buffer modification.
12080If `select-active-regions' is non-nil, Emacs sets this to the 12080If `select-active-regions' is non-nil, Emacs sets this to the
12081text in the region before modifying the buffer. The next 12081text in the region before modifying the buffer. The next call to
12082`deactivate-mark' call uses this to set the window selection. */); 12082the function `deactivate-mark' uses this to set the window selection. */);
12083 Vsaved_region_selection = Qnil; 12083 Vsaved_region_selection = Qnil;
12084 12084
12085 DEFVAR_LISP ("selection-inhibit-update-commands", 12085 DEFVAR_LISP ("selection-inhibit-update-commands",
diff --git a/src/lisp.h b/src/lisp.h
index 16f9c89e3cd..d4d34ac19ba 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2222,8 +2222,12 @@ struct gcpro
2222 2 Mark the stack, and check that everything GCPRO'd is 2222 2 Mark the stack, and check that everything GCPRO'd is
2223 marked. 2223 marked.
2224 3 Mark using GCPRO's, mark stack last, and count how many 2224 3 Mark using GCPRO's, mark stack last, and count how many
2225 dead objects are kept alive. */ 2225 dead objects are kept alive.
2226 2226
2227 Formerly, method 0 was used. Currently, method 1 is used unless
2228 otherwise specified by hand when building, e.g.,
2229 "make CPPFLAGS='-DGC_MARK_STACK=GC_USE_GCPROS_AS_BEFORE'".
2230 Methods 2 and 3 are present mainly to debug the transition from 0 to 1. */
2227 2231
2228#define GC_USE_GCPROS_AS_BEFORE 0 2232#define GC_USE_GCPROS_AS_BEFORE 0
2229#define GC_MAKE_GCPROS_NOOPS 1 2233#define GC_MAKE_GCPROS_NOOPS 1
diff --git a/src/window.c b/src/window.c
index eafd6ef9e40..d38f4c10671 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1437,7 +1437,7 @@ window were selected.
1437 1437
1438Note that, when WINDOW is selected, the value returned is the same as 1438Note that, when WINDOW is selected, the value returned is the same as
1439that returned by `point' for WINDOW's buffer. It would be more strictly 1439that returned by `point' for WINDOW's buffer. It would be more strictly
1440correct to return the `top-level' value of `point', outside of any 1440correct to return the top-level value of `point', outside of any
1441`save-excursion' forms. But that is hard to define. */) 1441`save-excursion' forms. But that is hard to define. */)
1442 (Lisp_Object window) 1442 (Lisp_Object window)
1443{ 1443{
@@ -6797,7 +6797,8 @@ same combination.
6797 6797
6798Other values are reserved for future use. 6798Other values are reserved for future use.
6799 6799
6800This variable takes no effect if `window-combination-limit' is non-nil. */); 6800This variable takes no effect if the variable `window-combination-limit' is
6801non-nil. */);
6801 Vwindow_combination_resize = Qnil; 6802 Vwindow_combination_resize = Qnil;
6802 6803
6803 DEFVAR_LISP ("window-combination-limit", Vwindow_combination_limit, 6804 DEFVAR_LISP ("window-combination-limit", Vwindow_combination_limit,