* lisp/calendar/appt.el: Fix doc typo in previous.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
d2fc7e3d 12011-05-12 Drew Adams <drew.adams@oracle.com>
e531bdff
DA
2
3 * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655).
4
d2fc7e3d 52011-05-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7db47798
YM
6
7 * w32term.c (w32_draw_fringe_bitmap): Rename local vars `left' and
8 `width' to `bar_area_x' and `bar_area_width', respectively.
9 (x_scroll_run): Take account of fringe background extension.
10
11 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]: Rename
12 local vars `left' and `width' to `bar_area_x' and
13 `bar_area_width', respectively.
14 (x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe
15 background extension.
16
79b70037
GM
172011-05-10 Jim Meyering <meyering@redhat.com>
18
19 * xdisp.c (x_intersect_rectangles): Fix typo "the the -> the".
20
2f142cc5
JB
212011-05-10 Juanma Barranquero <lekktu@gmail.com>
22
23 * image.c (Finit_image_library): Return t for built-in image types,
24 like pbm and xbm. (Bug#8640)
25
57679c86
AS
262011-05-09 Andreas Schwab <schwab@linux-m68k.org>
27
28 * w32menu.c (set_frame_menubar): Fix submenu allocation.
29
888c9e86
EZ
302011-05-07 Eli Zaretskii <eliz@gnu.org>
31
b0512a1d
EZ
32 * w32console.c (Fset_screen_color): Doc fix.
33 (Fget_screen_color): New function.
34 (syms_of_ntterm): Defsubr it.
35
888c9e86
EZ
36 * callproc.c (call_process_cleanup): Don't close and unlink the
37 temporary file if Fcall_process didn't create it in the first
38 place.
39 (Fcall_process): Don't create tempfile if stdout of the child
40 process will be redirected to a file specified with `:file'.
41 Don't try to re-open tempfile in that case, and set fd[0] to -1 as
42 cue to call_process_cleanup not to close that handle.
43
4d3fcc8e
BK
442011-05-07 Ben Key <bkey76@gmail.com>
45
46 * makefile.w32-in: The bootstrap-temacs rule now makes use of
47 one of two shell specific rules, either bootstrap-temacs-CMD or
48 bootstrap-temacs-SH. The bootstrap-temacs-SH rule is identical
49 to the previous implementation of the bootstrap-temacs rule.
50 The bootstrap-temacs-CMD rule is similar to the previous
51 implementation of the bootstrap-temacs rule except that it
52 makes use of the ESC_CFLAGS variable instead of the CFLAGS
53 variable.
54
55 These changes, along with some changes to nt/configure.bat,
56 nt/gmake.defs, and nt/nmake.defs, are required to extend my
57 earlier fix to add support for --cflags and --ldflags options
58 that include quotes so that it works whether make uses cmd or
59 sh as the shell.
60
b4289b64
MA
612011-05-06 Michael Albinus <michael.albinus@gmx.de>
62
63 * dbusbind.c (QCdbus_type_unix_fd): Declare static.
64 (xd_remove_watch): Don't check QCdbus_type_unix_fd for SYMBOLP, it
65 is a constant.
66 (Fdbus_init_bus, xd_read_queued_messages): Bus can be a symbol or
67 a string. Handle both cases.
68 (Fdbus_call_method_asynchronously, Fdbus_register_signal)
69 (Fdbus_register_method): Use Qinvalid_function.
70
af4c0e28
JB
712011-05-06 Juanma Barranquero <lekktu@gmail.com>
72
73 * makefile.w32-in: Update dependencies.
74 (LISP_H): Add inttypes.h and stdin.h.
75 (PROCESS_H): Add unistd.h.
76
c51453d9
EZ
772011-05-06 Eli Zaretskii <eliz@gnu.org>
78
79 * lread.c: Include limits.h (fixes the MS-Windows build broken by
80 2011-05-06T07:13:19Z!eggert@cs.ucla.edu).
81
8ff0ac3c 822011-05-06 Paul Eggert <eggert@cs.ucla.edu>
c032b5f8 83
4c4b566b
PE
84 * image.c (Finit_image_library) [!HAVE_NTGUI]: Omit unused local.
85
aab2b9b5
PE
86 * term.c (vfatal): Remove stray call to va_end.
87 It's not needed and the C Standard doesn't allow it here anyway.
88
c378da0b
PE
89 Use C99's va_copy to avoid undefined behavior on x86-64 GNU/Linux.
90 * eval.c (verror): doprnt a copy of ap, not the original. (Bug#8545)
91
288b08c7
PE
92 * eval.c (verror): OK to create a string of up to MOST_POSITIVE_FIXNUM
93 bytes.
94
e3601888
PE
95 * term.c: Don't include <stdarg.h>, as <lisp.h> does that.
96
db6c0e74
PE
97 * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering.
98
dd5963ea
PE
99 * process.c (Fformat_network_address): Fix typo: args2 -> *args2.
100
88c9450f
PE
101 * xmenu.c (set_frame_menubar): Fix typo: int * -> int (3 times).
102
2f9442b8
PE
103 * coding.c (detect_coding_charset): Fix typo: * 2 -> *4 (Bug#8601).
104
c032b5f8
PE
105 * charset.h (struct charset.code_space): Now has 15 elements, not 16.
106 * charset.c (Fdefine_charset_internal): Don't initialize
107 charset.code_space[15]. The value was garbage, on hosts with
2d38271b 108 32-bit int (Bug#8600).
a108c10b
PE
109
110 * lread.c (read_integer): Be more consistent with string-to-number.
111 Use string_to_number to do the actual conversion; this avoids
112 rounding errors and fixes some other screwups. Without this fix,
113 for example, #x1fffffffffffffff was misread as -2305843009213693952.
114 (digit_to_number): Move earlier, for benefit of read_integer.
115 Return -1 if the digit is out of range for the base, -2 if it is
48e400f0 116 not a digit in any supported base. (Bug#8602)
a108c10b 117
ad5f9eea
PE
118 * doprnt.c (doprnt): Support arbitrary pI values, such as "I64".
119
aec1708a
PE
120 * dispnew.c (scrolling_window): Return 1 if we scrolled,
121 to match comment at start of function. This also removes a
122 GCC warning about overflow in a 32+64-bit port.
123
47be4ab5
PE
124 * lisp.h (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Simplify.
125
371cac43
PE
126 * dbusbind.c: Do not use XPNTR on a value that may be an integer.
127 Reported by Stefan Monnier in
128 <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00919.html>.
129 (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages): Use
130 SYMBOLP-guarded XSYMBOL, not XPNTR.
131
d01a7826
PE
132 * lisp.h (EMACS_INTPTR): Remove. All uses changed to intptr_t.
133 (EMACS_UINTPTR): Likewise, with uintptr_t.
134
7fd47d5c
PE
135 * lisp.h: Prefer 64-bit EMACS_INT if available.
136 (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Define to 64-bit
137 on 32-bit hosts that have 64-bit int, so that they can access
138 large files.
122b0c86
PE
139 However, temporarily disable this change unless the temporary
140 symbol WIDE_EMACS_INT is defined.
7fd47d5c 141
8727937b
PE
142 * lread.c, process.c: Do not include <inttypes.h>; lisp.h does it now.
143
8ac068ac
PE
144 Prefer intptr_t/uintptr_t for integers the same widths as pointers.
145 This removes an assumption that EMACS_INT and long are the same
146 width as pointers. The assumption is true for Emacs porting targets
147 now, but we want to make other targets possible.
148 * lisp.h: Include <inttypes.h>, for INTPTR_MAX, UINTPTR_MAX.
149 (EMACS_INTPTR, EMACS_UINTPTR): New macros.
150 In the rest of the code, change types of integers that hold casted
151 pointers to EMACS_INTPTR and EMACS_UINTPTR, systematically
152 replacing EMACS_INT, long, EMACS_UINT, and unsigned long.
153 (XTYPE): Don't cast arg to EMACS_UINT; normally is not needed.
154 (XSET): Cast type of XTYPE arg to EMACS_INTPTR; it is needed here.
155 No need to cast type when ORing.
156 (XPNTR): Return a value of type EMACS_INTPTR or EMACS_UINTPTR.
157 * alloc.c (lisp_align_malloc): Remove a no-longer-needed cast.
158 * doc.c (store_function_docstring): Use EMACS_INTPTR, so as not to
159 assume EMACS_INT is the same width as char *.
160 * gtkutil.c (xg_gtk_scroll_destroy, xg_tool_bar_button_cb):
161 (xg_tool_bar_callback, xg_tool_bar_help_callback, xg_make_tool_item):
162 Remove no-longer-needed casts.
163 (xg_create_scroll_bar, xg_tool_bar_button_cb, xg_tool_bar_callback):
164 (xg_tool_bar_help_callback, xg_make_tool_item):
165 Use EMACS_INTPTR to hold an integer
166 that will be cast to void *; this can avoid a GCC warning
167 if EMACS_INT is not the same width as void *.
168 * menu.c (find_and_call_menu_selection): Remove no-longer-needed cast.
169 * xdisp.c (display_echo_area_1, resize_mini_window_1):
170 (current_message_1, set_message_1):
171 Use a local to convert to proper width without a cast.
172 * xmenu.c (dialog_selection_callback): Likewise.
173
ede49d71
PE
174 * sysdep.c (get_random): Don't assume EMACS_INT is no wider than long.
175 Also, don't assume VALBITS / RAND_BITS is less than 5,
176 and don't rely on undefined behavior when shifting a 1 left into
177 the sign bit.
178 * lisp.h (get_random): Change signature to match.
179
2f30ecd0
PE
180 * lread.c (hash_string): Use size_t, not int, for hash computation.
181 Normally we prefer signed values; but hashing is special, because
182 it's better to use unsigned division on hash table sizes so that
183 the remainder is nonnegative. Also, size_t is the natural width
184 for hashing into memory. The previous code used 'int', which doesn't
185 retain enough info to hash well into very large tables.
186 (oblookup, oblookup_last_bucket_number, Funintern): Likewise.
187
2a866e7b
PE
188 * dbusbind.c: Don't possibly lose pointer info when converting.
189 (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages):
190 Use XPNTR rather than XHASH, so that the high-order bits of
191 the pointer aren't lost when converting through void *.
192
51639eac
PE
193 * eval.c (Fautoload): Don't double-shift a pointer.
194
92394119
PE
195 * fns.c (Frandom): Let EMACS_UINT be wider than unsigned long.
196
dbdb9a7c
JB
1972011-05-06 Juanma Barranquero <lekktu@gmail.com>
198
199 * gnutls.c (DEF_GNUTLS_FN):
200 * image.c (DEF_IMGLIB_FN): Make function pointers static.
201
db7a0b4f
AS
2022011-05-05 Andreas Schwab <schwab@linux-m68k.org>
203
204 * lread.c (lisp_file_lexically_bound_p): Stop scanning at end
205 marker. (Bug#8610)
206
f7ff1b0f 2072011-05-05 Eli Zaretskii <eliz@gnu.org>
fab624aa
EZ
208
209 * w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]:
210 New version that can reserve upto 2GB of heap space.
211
f7ff1b0f 2122011-05-05 Chong Yidong <cyd@stupidchicken.com>
45cb8994
CY
213
214 * nsfns.m (Fns_read_file_name): Doc fix (Bug#8534).
215
639c109b
TZ
2162011-05-05 Teodor Zlatanov <tzz@lifelogs.com>
217
218 * gnutls.c (fn_gnutls_certificate_set_x509_key_file): Add alias to
219 `gnutls_certificate_set_x509_key_file'.
220
d2127135
JB
2212011-05-05 Juanma Barranquero <lekktu@gmail.com>
222
223 * makefile.w32-in ($(BLD)/image.$(O), $(BLD)/process.$(O)):
224 Update dependencies.
225
e968f4f3
JB
2262011-05-04 Juanma Barranquero <lekktu@gmail.com>
227
228 * gnutls.h (emacs_gnutls_write, emacs_gnutls_read):
229 * gnutls.c (emacs_gnutls_write, emacs_gnutls_read):
230 Remove unused parameter `fildes'.
231 * process.c (read_process_output, send_process): Don't pass it.
232
84d358f0
JB
2332011-05-04 Juanma Barranquero <lekktu@gmail.com>
234
235 Fix previous change: the library cache is defined in w32.c.
236 * image.c (CACHE_IMAGE_TYPE) [!HAVE_NTGUI]: Define to noop.
237 (Finit_image_library): Wrap Vlibrary_cache on "#ifdef HAVE_NTGUI".
238
0898ca10
JB
2392011-05-04 Juanma Barranquero <lekktu@gmail.com>
240
241 Implement dynamic loading of GnuTLS on Windows.
242
243 * gnutls.h (GNUTLS_EMACS_ERROR_NOT_LOADED): New macro.
244 (emacs_gnutls_write, emacs_gnutls_read): Mark as extern.
245 (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno):
246 Declare.
247
248 * gnutls.c (Qgnutls_dll): Define.
249 (DEF_GNUTLS_FN, LOAD_GNUTLS_FN): New macros.
250 (gnutls_*): Declare function pointers.
251 (init_gnutls_functions): New function to initialize function pointers.
252 (emacs_gnutls_handshake, Fgnutls_error_string, Fgnutls_deinit)
253 (emacs_gnutls_global_init, Fgnutls_bye): Use function pointers.
254 (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno):
255 Wrappers for gnutls_record_check_pending and gnutls_transport_set_errno.
256 (emacs_gnutls_write, emacs_gnutls_read)
257 (emacs_gnutls_handle_error, Fgnutls_error_fatalp)
258 (Fgnutls_available_p): New function.
259 (Fgnutls_boot): Call Fgnutls_available_p. Use function pointers.
260 (syms_of_gnutls) <Qgnutls_dll>: Initialize and staticpro it.
261 (syms_of_gnutls) <Sgnutls_available_p>: defsubr it.
262
263 * image.c: Include w32.h.
264 (Vimage_type_cache): Delete.
265 (syms_of_image) <Vimage_type_cache>: Don't initialize and staticpro it.
266 (CACHE_IMAGE_TYPE, Finit_image_library): Use Vlibrary_cache instead.
267 (w32_delayed_load): Move to w32.c.
268
269 * w32.h (VlibraryCache, QCloaded_from, w32_delayed_load): Declare.
270
271 * w32.c (QCloaded_from, Vlibrary_cache): Define.
272 (w32_delayed_load): Move from image.c. When loading a library, record
273 its filename in the :loaded-from property of the library id.
274 (globals_of_w32) <QCloaded_from, Vlibrary_cache>:
275 Initialize and staticpro them.
276 (emacs_gnutls_pull, emacs_gnutls_push): Call emacs_gnutls_* functions.
277
278 * process.c: Include lisp.h before w32.h, not after.
279 (wait_reading_process_output): Call emacs_gnutls_record_check_pending
280 instead of gnutls_record_check_pending.
281
282 * callproc.c, emacs.c: Include lisp.h before w32.h, not after.
283
ff4de4aa
TZ
2842011-05-04 Teodor Zlatanov <tzz@lifelogs.com>
285
286 * gnutls.c (Fgnutls_boot): Support :keylist and :crlfiles options
287 instead of :keyfiles. Give GnuTLS the keylist and the CRL lists
288 as passed in.
289
abe95abb
JD
2902011-05-03 Jan Djärv <jan.h.d@swipnet.se>
291
292 * xterm.c (x_set_frame_alpha): Do not set property on anything
293 else than FRAME_X_OUTER_WINDOW (Bug#8608).
294
e16e55d4
JB
2952011-05-02 Juanma Barranquero <lekktu@gmail.com>
296
297 * sysdep.c (get_tty_size) [WINDOWSNT]: Implement. (Bug#8596)
298
bafcf6a5
JB
2992011-05-02 Juanma Barranquero <lekktu@gmail.com>
300
301 * gnutls.c (Qgnutls_log_level, Qgnutls_code, Qgnutls_anon)
302 (Qgnutls_x509pki, Qgnutls_e_interrupted, Qgnutls_e_again)
303 (Qgnutls_e_invalid_session, Qgnutls_e_not_ready_for_handshake)
304 (gnutls_global_initialized, Qgnutls_bootprop_priority)
305 (Qgnutls_bootprop_trustfiles, Qgnutls_bootprop_keyfiles)
306 (Qgnutls_bootprop_callbacks, Qgnutls_bootprop_loglevel)
307 (Qgnutls_bootprop_hostname, Qgnutls_bootprop_verify_flags)
308 (Qgnutls_bootprop_verify_error, Qgnutls_bootprop_verify_hostname_error)
309 (Qgnutls_bootprop_callbacks_verify): Make static.
310
e7a6747f
AS
3112011-05-01 Andreas Schwab <schwab@linux-m68k.org>
312
19ed11ba
AS
313 * callproc.c: Indentation fixup.
314
e7a6747f
AS
315 * sysdep.c (wait_for_termination_1): Make static.
316 (wait_for_termination, interruptible_wait_for_termination): Move
317 after wait_for_termination_1.
318
1ef14cb4
LMI
3192011-05-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
320
321 * sysdep.c (interruptible_wait_for_termination): New function
322 which is like wait_for_termination, but allows keyboard
323 interruptions.
324
325 * callproc.c (Fcall_process): Add (:file "file") as an option for
326 the STDOUT buffer.
327 (Fcall_process_region): Ditto.
328
330d880c
EZ
3292011-04-30 Eli Zaretskii <eliz@gnu.org>
330
8db90b73
EZ
331 * dosfns.c (Fint86, Fdos_memget, Fdos_memput): Use `ASIZE (FOO)'
332 rather than `XVECTOR (FOO)->size'.
333
330d880c
EZ
334 * process.c: Remove HAVE_INTTYPES_H condition from inclusion of
335 inttypes.h, as a gnulib replacement is used if it not available in
336 system headers.
337
15cbd324
EZ
3382011-04-21 Eli Zaretskii <eliz@gnu.org>
339
340 Lift the MOST_POSITIVE_FIXNUM/4 limitation on visited files.
341 * fileio.c (Finsert_file_contents): Don't limit file size to 1/4
342 of MOST_POSITIVE_FIXNUM. (Bug#8528)
343
344 * coding.c (coding_alloc_by_realloc): Error out if destination
345 will grow beyond MOST_POSITIVE_FIXNUM.
346 (decode_coding_emacs_mule): Abort if there isn't enough place in
347 charbuf for the composition carryover bytes. Reserve an extra
348 space for up to 2 characters produced in a loop.
349 (decode_coding_iso_2022): Abort if there isn't enough place in
350 charbuf for the composition carryover bytes.
351
3522011-04-21 Eli Zaretskii <eliz@gnu.org>
afda1437 353
ae940cca
EZ
354 * doprnt.c (doprnt) [!HAVE_LONG_LONG_INT]: Error out instead of
355 aborting when %lld or %lll format is passed.
356 [!HAVE_UNSIGNED_LONG_LONG_INT]: Error out instead of aborting when
357 %llo or %llx format is passed. (Bug#8545)
358
03ab8921
EZ
359 * window.c (window_scroll_line_based): Use a marker instead of
360 simple variables to record original value of point. (Bug#7952)
361
afda1437
EZ
362 * doprnt.c (doprnt): Fix the case where a multibyte sequence
363 produced by %s or %c overflows available buffer space. (Bug#8545)
364
f76dee0c
PE
3652011-04-28 Paul Eggert <eggert@cs.ucla.edu>
366
367 * doprnt.c (doprnt): Omit useless test; int overflow check (Bug#8545).
283cdbef 368 (SIZE_MAX): Move defn after all includes, as they might #define it.
f76dee0c 369
fdc5744d
JB
3702011-04-28 Juanma Barranquero <lekktu@gmail.com>
371
372 * w32.c (init_environment): Warn about defaulting HOME to C:\.
373
638f053a
JB
3742011-04-28 Juanma Barranquero <lekktu@gmail.com>
375
376 * keyboard.c (Qdelayed_warnings_hook): Define.
377 (command_loop_1): Run `delayed-warnings-hook'
378 if Vdelayed_warnings_list is non-nil.
379 (syms_of_keyboard) <delayed-warnings-hook>: DEFSYM it.
380 (syms_of_keyboard) <delayed-warnings-list>: DEFVAR_LISP it.
381
d178f871
EZ
3822011-04-28 Eli Zaretskii <eliz@gnu.org>
383
384 * doprnt.c (doprnt): Don't return value smaller than the buffer
385 size if the message was truncated. (Bug#8545).
386
b124fd93
JB
3872011-04-28 Juanma Barranquero <lekktu@gmail.com>
388
389 * w32fns.c (Fx_change_window_property, Fx_delete_window_property)
390 (Fx_window_property): #if-0 the whole functions, not just the bodies.
391
e810457d
PE
3922011-04-27 Paul Eggert <eggert@cs.ucla.edu>
393
394 * doprnt.c (doprnt): Support "ll" length modifier, for long long.
395
ea51cceb
JB
3962011-04-27 Juanma Barranquero <lekktu@gmail.com>
397
398 * makefile.w32-in: Update dependencies.
399
94dcfacf
EZ
4002011-04-27 Eli Zaretskii <eliz@gnu.org>
401
402 Improve `doprnt' and its usage. (Bug#8545)
403 * doprnt.c (doprnt): Make sure `format' is never accessed beyond
404 `format_end'. Remove support for %l as a conversion specifier.
405 Don't use xrealloc. Improve diagnostics when the %l size modifier
406 is used. Update the commentary.
407
408 * eval.c (verror): Simplify calculation of size_t.
409
410 * coding.c (Ffind_operation_coding_system): Fix diagnostic error
411 messages.
412
f61f41d7
PE
4132011-04-27 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
414
415 * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Adjust to aliasing
416 change.
417
96fb4434
PE
4182011-04-27 Paul Eggert <eggert@cs.ucla.edu>
419
420 * nsmenu.m: Replace all uses of XVECTOR with ASIZE and AREF.
421 This makes this file independent of the recent pseudovector change.
422
671875da 4232011-04-26 Paul Eggert <eggert@cs.ucla.edu>
eab3844f 424
69e9b5a3
PE
425 * keyboard.c (handle_user_signal): Fix pointer signedness problem.
426
b5f869a7 427 * gnutls.c (emacs_gnutls_handle_error): Remove unused local.
7754e151 428 (Fgnutls_boot): gnutls_certificate_verify_peers2 wants unsigned *.
8d4c3955 429 Remove unused local.
c8926152 430 (emacs_gnutls_write): Don't use uninitialized rtnval if nbyte <= 0.
080e5a8d 431
841a1577 432 * lisp.h: Fix a problem with aliasing and vector headers. (Bug#8546)
eab3844f
PE
433 GCC 4.6.0 optimizes based on type-based alias analysis. For
434 example, if b is of type struct buffer * and v of type struct
435 Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size
436 != &v->size, and therefore "v->size = 1; b->size = 2; return
437 v->size;" must therefore return 1. This assumption is incorrect
438 for Emacs, since it type-puns struct Lisp_Vector * with many other
439 types. To fix this problem, this patch adds a new type struct
f904488f 440 vectorlike_header that documents the constraints on layout of vectors
eab3844f
PE
441 and pseudovectors, and helps optimizing compilers not get fooled
442 by Emacs's type punning. It also adds the macros XSETTYPED_PVECTYPE
443 XSETTYPED_PSEUDOVECTOR, TYPED_PSEUDOVECTORP, for similar reasons.
f904488f
PE
444 * lisp.h (XSETTYPED_PVECTYPE): New macro, specifying the name of
445 the size member.
eab3844f
PE
446 (XSETPVECTYPE): Rewrite in terms of new macro.
447 (XSETPVECTYPESIZE): New macro, specifying both type and size.
448 This is a bit clearer, and further avoids the possibility of
449 undesirable aliasing.
450 (XSETTYPED_PSEUDOVECTOR): New macro, specifying the size.
f904488f 451 (XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR.
eab3844f
PE
452 (XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE,
453 since Lisp_Subr is a special case (no "next" field).
f904488f
PE
454 (ASIZE): Now uses header.size rather than size. All
455 previous uses of XVECTOR (foo)->size replaced to use this macro,
456 to avoid the hassle of writing XVECTOR (foo)->header.size.
457 (struct vectorlike_header): New type.
eab3844f
PE
458 (TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the
459 object, to help avoid aliasing.
460 (PSEUDOVECTORP): Rewrite in terms of TYPED_PSEUDOVECTORP.
461 (SUBRP): Likewise, since Lisp_Subr is a special case.
462 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table):
463 (struct Lisp_Sub_Char_Table, struct Lisp_Bool_Vector):
464 (struct Lisp_Hash_Table): Combine first two members into a single
f904488f 465 struct vectorlike_header member. All uses of "size" and "next" members
eab3844f
PE
466 changed to be "header.size" and "header.next".
467 * buffer.h (struct buffer): Likewise.
468 * font.h (struct font_spec, struct font_entity, struct font): Likewise.
469 * frame.h (struct frame): Likewise.
470 * process.h (struct Lisp_Process): Likewise.
471 * termhooks.h (struct terminal): Likewise.
472 * window.c (struct save_window_data, struct saved_window): Likewise.
473 * window.h (struct window): Likewise.
474 * alloc.c (allocate_buffer, Fmake_bool_vector, allocate_pseudovector):
475 Use XSETPVECTYPESIZE, not XSETPVECTYPE, to avoid aliasing problems.
476 * buffer.c (init_buffer_once): Likewise.
477 * lread.c (defsubr): Use XSETTYPED_PVECTYPE, since Lisp_Subr is a
478 special case.
479 * process.c (Fformat_network_address): Use local var for size,
480 for brevity.
481
0df1eac5
PE
482 * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
483
847ab9d1 484 Make the Lisp reader and string-to-float more consistent (Bug#8525)
452f4150
PE
485 * data.c (atof): Remove decl; no longer used or needed.
486 (digit_to_number): Move to lread.c.
487 (Fstring_to_number): Use new string_to_number function, to be
488 consistent with how the Lisp reader treats infinities and NaNs.
489 Do not assume that floating-point numbers represent EMACS_INT
490 without losing information; this is not true on most 64-bit hosts.
491 Avoid double-rounding errors, by insisting on integers when
492 parsing non-base-10 numbers, as the documentation specifies.
493 * lisp.h (string_to_number): New decl, replacing ...
494 (isfloat_string): Remove.
bc0a5c13 495 * lread.c: Include <inttypes.h>, for uintmax_t and strtoumax.
d78050d6 496 (read1): Do not accept +. and -. as integers; this
452f4150
PE
497 appears to have been a coding error. Similarly, do not accept
498 strings like +-1e0 as floating point numbers. Do not report
499 overflow for integer overflows unless the base is not 10 which
500 means we have no simple and reliable way to continue.
501 Break out the floating-point parsing into a new
502 function string_to_number, so that Fstring_to_number parses
503 floating point numbers consistently with the Lisp reader.
504 (digit_to_number): Moved here from data.c. Make it static inline.
505 (E_CHAR, EXP_INT): Remove, replacing with ...
506 (E_EXP): New macro, to solve the "1.0e+" problem mentioned below.
507 (string_to_number): New function, replacing isfloat_string.
508 This function checks for valid syntax and produces the resulting
509 Lisp float number too. Rework it so that string-to-number
bc0a5c13 510 no longer mishandles examples like "1.0e+". Use strtoumax,
d78050d6
PE
511 so that overflow for non-base-10 numbers is reported only when
512 there's no portable and simple way to convert to floating point.
452f4150 513
67769ffc
PE
514 * textprop.c (set_text_properties_1): Rewrite for clarity,
515 and to avoid GCC warning about integer overflow.
516
c20db43f
PE
517 * intervals.h (struct interval): Use EMACS_INT for members
518 where EMACS_UINT might cause problems. See
519 <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html>.
520 (CHECK_TOTAL_LENGTH): Remove cast to EMACS_INT; no longer needed.
521 * intervals.c (interval_deletion_adjustment): Now returns EMACS_INT.
522 All uses changed.
37aa2f85
PE
523 (offset_intervals): Tell GCC not to worry about length overflow
524 when negating a negative length.
c20db43f 525
2538aa2f
PE
526 * alloc.c (overrun_check_malloc, overrun_check_realloc): Now static.
527 (overrun_check_free): Likewise.
528
f2d3008d
PE
529 * alloc.c (SDATA_SIZE) [!GC_CHECK_STRING_BYTES]: Avoid runtime check
530 in the common case where SDATA_DATA_OFFSET is a multiple of Emacs
531 word size.
532
ec8df744
PE
533 * gnutls.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10.
534 (gnutls_make_error): Rename local to avoid shadowing.
535 (gnutls_emacs_global_deinit): ifdef out; not used.
536 (Fgnutls_boot): Use const for pointer to readonly storage.
537 Comment out unused local. Fix pointer signedness problems.
538
640ee02d
PE
539 * lread.c (openp): Don't stuff size_t into an 'int'.
540 Use <= on length, not < on length + 1, to avoid GCC 4.6.0 warning
541 about possible signed overflow.
542
6048fb2a
PE
543 * gtkutil.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10.
544 (GDK_KEY_g): Don't define if already defined.
545 (xg_prepare_tooltip): Avoid pointer signedness problem.
546 (xg_set_toolkit_scroll_bar_thumb): Redo to avoid two casts.
547
fa3c87e1
PE
548 * process.c (Fnetwork_interface_info): Avoid left-shift undefined
549 behavior with 1 << 31. GCC 4.6.0 warns about this on 32-bit hosts.
550
2172544b
PE
551 * xfns.c (Fx_window_property): Simplify a bit,
552 to make a bit faster and to avoid GCC 4.6.0 warning.
553 * xselect.c (x_get_window_property, x_handle_dnd_message): Likewise.
554
9b821a21
PE
555 * fns.c (internal_equal): Don't assume size_t fits in int.
556
3c616cfa
PE
557 * alloc.c (compact_small_strings): Tighten assertion a little.
558
c2982e87
PE
559 Replace pEd with more-general pI, and fix some printf arg casts.
560 * lisp.h (pI): New macro, generalizing old pEd macro to other
561 conversion specifiers. For example, use "...%"pI"d..." rather
562 than "...%"pEd"...".
563 (pEd): Remove. All uses replaced with similar uses of pI.
564 * src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h: Likewise.
565 * alloc.c (check_pure_size): Don't overflow by converting size to int.
566 * bidi.c (bidi_dump_cached_states): Use pI to avoid cast.
567 * data.c (Fnumber_to_string): Use pI instead of if-then-else-abort.
568 * dbusbind.c (xd_append_arg): Use pI to avoid cast.
569 (Fdbus_method_return_internal, Fdbus_method_error_internal): Likewise.
570 * font.c (font_unparse_xlfd): Avoid potential buffer overrun on
571 64-bit hosts.
572 (font_unparse_xlfd, font_unparse_fcname): Use pI to avoid casts.
573 * keyboard.c (record_char, modify_event_symbol): Use pI to avoid casts.
574 * print.c (safe_debug_print, print_object): Likewise.
575 (print_object): Don't overflow by converting EMACS_INT or EMACS_UINT
576 to int.
6f04d126
PE
577 Use pI instead of if-then-else-abort. Use %p to avoid casts,
578 avoiding the 0 flag, which is not portable.
c2982e87
PE
579 * process.c (Fmake_network_process): Use pI to avoid cast.
580 * region-cache.c (pp_cache): Likewise.
581 * xdisp.c (decode_mode_spec): Likewise.
582 * xrdb.c (x_load_resources) [USE_MOTIF]: Use pI to avoid undefined
583 behavior on 64-bit hosts with printf arg.
6f04d126 584 * xselect.c (x_queue_event): Use %p to avoid casts, avoiding 0 flag.
c2982e87
PE
585 (x_stop_queuing_selection_requests): Likewise.
586 (x_get_window_property): Don't truncate byte count to an 'int'
587 when tracing.
0b432f21 588
5e073ec7
PE
589 * frame.c (frame_name_fnn_p): Get rid of strtol, which isn't right
590 here, since it parses constructs like leading '-' and spaces,
591 which are not wanted; and it overflows with large numbers.
592 Instead, simply match F[0-9]+, which is what is wanted anyway.
593
36372bf9
PE
594 * alloc.c: Remove unportable assumptions about struct layout.
595 (SDATA_SELECTOR, SDATA_DATA_OFFSET): New macros.
596 (SDATA_OF_STRING, SDATA_SIZE, allocate_string_data):
597 (allocate_vectorlike, make_pure_vector): Use the new macros,
598 plus offsetof, to remove unportable assumptions about struct layout.
599 These assumptions hold on all porting targets that I know of, but
600 they are not guaranteed, they're easy to remove, and removing them
601 makes further changes easier.
602
0b432f21
PE
603 * alloc.c (BLOCK BYTES): Fix typo by changing "ablock" to "ablocks".
604 This doesn't fix a bug but makes the code clearer.
bfd1c781
PE
605 (string_overrun_cookie): Now const. Use initializers that
606 don't formally overflow signed char, to avoid warnings.
000098c1
PE
607 (allocate_string_data) [GC_CHECK_STRING_OVERRUN]: Fix typo that
608 can cause Emacs to crash when string overrun checking is enabled.
c7bda33c
PE
609 (allocate_buffer): Don't assume sizeof (struct buffer) is a
610 multiple of sizeof (EMACS_INT); it need not be, if
611 alignof(EMACS_INT) < sizeof (EMACS_INT).
d0f4e1f5 612 (check_sblock, check_string_bytes, check_string_free_list): Protoize.
0b432f21 613
895009e1
JB
6142011-04-26 Juanma Barranquero <lekktu@gmail.com>
615
616 * keyboard.c (QCrtl): Rename from Qrtl. All uses changed.
617
6a7a1b0b
TZ
6182011-04-26 Teodor Zlatanov <tzz@lifelogs.com>
619
620 * gnutls.c (emacs_gnutls_handshake): Return an error if we're not
b5f869a7 621 supposed to be handshaking. (Bug#8556)
6a7a1b0b
TZ
622 Reported by Paul Eggert <eggert@cs.ucla.edu>.
623
841a1577 6242011-04-26 Daniel Colascione <dan.colascione@gmail.com>
0438ce91
DC
625
626 * lisp.h (Qdebug): List symbol.
895009e1 627 * eval.c (Qdebug): Restore global linkage.
0438ce91
DC
628 * keyboard.c (debug-on-event): New variable.
629 (handle_user_signal): Break into debugger when debug-on-event
630 matches the current signal symbol.
631
f2d3ba6f
DN
6322011-04-25 Dan Nicolaescu <dann@ics.uci.edu>
633
634 * alloc.c (check_sblock, check_string_bytes)
635 (check_string_free_list): Convert to standard C.
636
42ce4c63
TZ
6372011-04-25 Teodor Zlatanov <tzz@lifelogs.com>
638
639 * w32.c (emacs_gnutls_push): Fix typo.
640
825cd63c
EZ
6412011-04-25 Eli Zaretskii <eliz@gnu.org>
642
fb11d64d
EZ
643 * gnutls.c (emacs_gnutls_handshake): Avoid compiler warnings about
644 "cast to pointer from integer of different size".
645
825cd63c
EZ
646 Improve doprnt and its use in verror. (Bug#8545)
647 * doprnt.c (doprnt): Document the set of format control sequences
648 supported by the function. Use SAFE_ALLOCA instead of always
649 using `alloca'.
650
651 * eval.c (verror): Don't limit the buffer size at size_max-1, that
652 is one byte too soon. Don't use xrealloc; instead xfree and
653 xmalloc anew.
654
e061a11b
TZ
6552011-04-24 Teodor Zlatanov <tzz@lifelogs.com>
656
657 * gnutls.h: Add GNUTLS_STAGE_CALLBACKS enum to denote we're in the
658 callbacks stage.
659
660 * gnutls.c: Renamed global_initialized to
661 gnutls_global_initialized. Added internals for the
662 :verify-hostname-error, :verify-error, and :verify-flags
663 parameters of `gnutls-boot' and documented those parameters in the
664 docstring. Start callback support.
665 (emacs_gnutls_handshake): Add Woe32 support. Retry handshake
666 unless a fatal error occured. Call gnutls_alert_send_appropriate
667 on error. Return error code.
668 (emacs_gnutls_write): Call emacs_gnutls_handle_error.
669 (emacs_gnutls_read): Likewise.
670 (Fgnutls_boot): Return handshake error code.
671 (emacs_gnutls_handle_error): New function.
672 (wsaerror_to_errno): Likewise.
673
674 * w32.h (emacs_gnutls_pull): Add prototype.
675 (emacs_gnutls_push): Likewise.
676
677 * w32.c (emacs_gnutls_pull): New function for GnuTLS on Woe32.
678 (emacs_gnutls_push): Likewise.
679
6802011-04-24 Claudio Bley <claudio.bley@gmail.com> (tiny change)
681
682 * process.c (wait_reading_process_output): Check if GnuTLS
683 buffered some data internally if no FDs are set for TLS
684 connections.
685
686 * makefile.w32-in (OBJ2): Add gnutls.$(O).
687 (LIBS): Link to USER_LIBS.
688 ($(BLD)/gnutls.$(0)): New target.
689
fa6996bc
EZ
6902011-04-24 Eli Zaretskii <eliz@gnu.org>
691
eb35682e
EZ
692 * xdisp.c (handle_single_display_spec): Rename the
693 display_replaced_before_p argument into display_replaced_p, to
694 make it consistent with the commentary. Fix typos in the
695 commentary.
696
e2ad650c
EZ
697 * textprop.c (syms_of_textprop): Remove dead code.
698 (copy_text_properties): Delete obsolete commentary about an
699 interface that was deleted long ago. Fix typos in the description
700 of arguments.
701
1b2de274
EZ
702 * msdos.c (XMenuActivate, XMenuAddSelection): Adjust argument list
703 to changes in oldXMenu/XMenu.h from 2011-04-16.
704 <menu_help_message, prev_menu_help_message>: Constify.
705 (IT_menu_make_room): menu->help_text is now `const char **';
706 adjust.
707
708 * msdos.h (XMenuActivate, XMenuAddSelection): Adjust prototypes
709 to changes in oldXMenu/XMenu.h from 2011-04-16.
710 (struct XMenu): Declare `help_text' `const char **'.
711
712 * xfaces.c <Qunspecified>: Make extern again.
713
714 * syntax.c: Include sys/types.h before including regex.h, as
715 required by Posix.
716
762b15be
EZ
717 * doc.c (get_doc_string): Improve the format passed to `error'.
718
719 * doprnt.c (doprnt): Improve commentary.
720
721 * term.c (init_tty) [MSDOS]: Fix 1st argument to maybe_fatal.
722
723 * Makefile.in (TAGS): Depend on $(M_FILE) and $(S_FILE), and scan
724 them with etags.
725
f1052e5d
EZ
726 * makefile.w32-in (globals.h): Add a dummy recipe, to make any
727 changes in globals.h immediately force recompilation.
762b15be
EZ
728 (TAGS): Depend on $(CURDIR)/m/intel386.h and
729 $(CURDIR)/s/ms-w32.h.
730 (TAGS-gmake): Scan $(CURDIR)/m/intel386.h and $(CURDIR)/s/ms-w32.h.
f1052e5d 731
fa6996bc
EZ
732 * character.c (Fchar_direction): Function deleted.
733 (syms_of_character): Don't defsubr it.
734 <char-direction-table>: Deleted.
735
e6c3da20
EZ
7362011-04-23 Eli Zaretskii <eliz@gnu.org>
737
738 Fix doprnt so it could be used again safely in `verror'. (Bug#8435)
739 * doprnt.c: Include limits.h.
740 (SIZE_MAX): New macro.
741 (doprnt): Return a size_t value. 2nd arg is now size_t. Many
742 local variables are now size_t instead of int or unsigned.
743 Improve overflow protection. Support `l' modifier for integer
744 conversions. Support %l conversion. Don't assume an EMACS_INT
745 argument for integer conversions and for %c.
746
747 * lisp.h (doprnt): Restore prototype.
748
749 * makefile.w32-in ($(BLD)/callint.$(O)): Depend on
750 $(SRC)/character.h.
751
752 * Makefile.in (base_obj): Add back doprnt.o.
753
754 * deps.mk (doprnt.o): Add back prerequisites.
755 (callint.o): Depend on character.h.
756
757 * eval.c (internal_lisp_condition_case): Include the handler
758 representation in the error message.
759 (verror): Call doprnt instead of vsnprintf. Fix an off-by-one bug
760 when breaking from the loop.
761
762 * xdisp.c (vmessage): Call doprnt instead of vsnprintf.
763
764 * callint.c (Fcall_interactively): When displaying error message
765 about invalid control letter, pass the character's codepoint, not
766 a pointer to its multibyte form. Improve display of the character
767 in octal and display also its hex code.
768
769 * character.c (char_string): Use %x to display the (unsigned)
770 codepoint of an invalid character, to avoid displaying a bogus
771 negative value.
772
773 * font.c (check_otf_features): Pass SDATA of SYMBOL_NAME to
774 `error', not SYMBOL_NAME itself.
775
776 * coding.c (Fencode_sjis_char, Fencode_big5_char): Use %c for
777 character arguments to `error'.
778
779 * charset.c (check_iso_charset_parameter): Fix incorrect argument
780 to `error' in error message about FINAL_CHAR argument. Make sure
781 FINAL_CHAR is a character, and use %c when it is passed as
782 argument to `error'.
783
4ffd0d6b 7842011-04-23 Eli Zaretskii <eliz@gnu.org>
97a93095
EZ
785
786 * s/ms-w32.h (localtime): Redirect to sys_localtime.
787
788 * w32.c: Include <time.h>.
789 (sys_localtime): New function.
790
4ffd0d6b 7912011-04-23 Chong Yidong <cyd@stupidchicken.com>
c17819f4
CY
792
793 * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451).
794
4ffd0d6b 795 * buffer.c (syms_of_buffer): Doc fix (Bug#6902).
aac0c6e3 796
4ffd0d6b 7972011-04-23 Samuel Thibault <sthibault@debian.org> (tiny change)
aac0c6e3 798
4ffd0d6b
GM
799 * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on
800 zombies (Bug#8467).
aac0c6e3 801
04c56954
EZ
8022011-04-19 Eli Zaretskii <eliz@gnu.org>
803
804 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of
805 gl_state.e_property when gl_state.object is Qt.
806
807 * insdel.c (make_gap_larger): Remove limitation of buffer size
808 to <= INT_MAX.
809
16a43933
CY
8102011-04-18 Chong Yidong <cyd@stupidchicken.com>
811
812 * xdisp.c (lookup_glyphless_char_display)
813 (produce_glyphless_glyph): Handle cons cell entry in
814 glyphless-char-display.
815 (Vglyphless_char_display): Document it.
816
817 * term.c (produce_glyphless_glyph): Handle cons cell entry in
818 glyphless-char-display.
819
4581706e
CY
8202011-04-17 Chong Yidong <cyd@stupidchicken.com>
821
822 * xdisp.c (get_next_display_element): Remove unnecessary ifdefs.
823
824 * termhooks.h (FRAME_WINDOW_P): Remove duplicated definitions.
825
826 * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): Add missing
827 definition for no-X builds.
828
4887c6e2 8292011-04-16 Paul Eggert <eggert@cs.ucla.edu>
764430a3 830
fd35b6f9
PE
831 Static checks with GCC 4.6.0 and non-default toolkits.
832
5c1ccb01
PE
833 * s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF): Protoize decl.
834
006c5daa
PE
835 * process.c (keyboard_bit_set): Define only if SIGIO.
836 (send_process_trap): Mark it with NO_RETURN if it doesn't return.
837 (send_process): Repair possible setjmp clobbering.
838
efc736d3
PE
839 * s/usg5-4-common.h (SETUP_SLAVE_PTY): Don't pass extra arg to 'fatal'.
840
4e2fe2e6
PE
841 * eval.c: Include <stdio.h>, for vsnprintf on non-GNU/Linux hosts.
842
f97334a2
PE
843 * data.c (arith_error): Mark with NO_RETURN if it doesn't return.
844
4e75f29d
PE
845 * alloc.c (bytes_used_when_full, SPARE_MEMORY, BYTES_USED):
846 Define only if needed.
847
90efadd1
PE
848 * sysdep.c (_FILE_OFFSET_BITS): Make this hack even uglier
849 by pacifying GCC about it. Maybe it's time to retire it?
875975e9 850 * xfaces.c (USG, __TIMEVAL__): Likewise.
90efadd1 851
3c647824
PE
852 * dispextern.h (struct redisplay_interface): Rename param
853 to avoid shadowing.
e264f262 854 * termhooks.h (struct terminal): Likewise.
761383f4 855 * xterm.c (xembed_send_message): Likewise.
3c647824 856
b58c5c4a
PE
857 * insdel.c (make_gap_smaller): Define only if
858 USE_MMAP_FOR_BUFFERS || REL_ALLOC || DOUG_LEA_MALLOC.
859
cad59032
PE
860 * keyboard.c (read_char): Make a var volatile so longjmp won't clobber
861 it.
862
c339dc2e
PE
863 * emacs.c (MAX_HEAP_BSS_DIFF, my_edata): Move to where they're used,
864 so that we aren't warned about unused symbols.
865
91a3e27b
PE
866 * xfns.c (Fx_file_dialog): Rename local to avoid shadowing.
867
399c71d3 868 * xdisp.c (x_produce_glyphs): Mark var as initialized (Bug#8512).
7a3fb125 869
8ffc96f5
PE
870 * xfns.c (x_real_positions): Mark locals as initialized.
871
eef9bc79
PE
872 * xmenu.c (xmenu_show): Don't use uninitialized vars.
873
098db9dd
PE
874 * xterm.c: Fix problems found by static analysis with other toolkits.
875 (toolkit_scroll_bar_interaction): Define and use only if USE_X_TOOLKIT.
dda3aedd
PE
876 (x_dispatch_event): Declare static if USE_GTK, and
877 define if USE_GTK || USE_X_TOOLKIT.
098db9dd 878 (SET_SAVED_BUTTON_EVENT): Define only if USE_X_TOOLKIT || USE_GTK.
dda3aedd 879 * xterm.h (x_dispatch_event): Extern only if USE_X_TOOLKIT.
841a1577
JB
880 * xterm.c, xterm.h (x_mouse_leave): Bring this function back, but only
881 if defined HAVE_MENUS && !defined USE_X_TOOLKIT && !defined USE_GTK.
098db9dd 882
eb18f6cc
PE
883 * xmenu.c (menu_help_callback): Pointer type fixes.
884 Use const pointers when pointing at readonly data. Avoid pointer
885 signedness clashes.
886 (FALSE): Remove unused macro.
887 (update_frame_menubar): Remove unused decl.
888
1fe72bf8
PE
889 * xfns.c (Fx_hide_tip): Move locals to avoid shadowing.
890
60d9e1db
PE
891 * menu.c (push_submenu_start, push_submenu_end): Do not define unless
892 USE_X_TOOLKIT || USE_GTK || HAVE_NS || defined HAVE_NTGUI.
893 (single_menu_item): Rename local to avoid shadowing.
894
39261c26
PE
895 * keyboard.c (make_lispy_event): Remove unused local var.
896
018c5e19
PE
897 * frame.c, frame.h (x_get_resource_string): Bring this back, but
898 only if HAVE_X_WINDOWS && !USE_X_TOOLKIT.
899
63d2b86e
PE
900 * bitmaps: Change bitmaps from unsigned char back to the X11
901 compatible char. Avoid the old compiler warnings about
902 out-of-range initializers by using, for example, '\xab' rather
903 than 0xab.
904
aefd87e1
PE
905 * xgselect.c (xgselect_initialize): Check vs interface
906 even if ! (defined (USE_GTK) || defined (HAVE_GCONF)).
907
bf501fb9
PE
908 * xmenu.c (xmenu_show): Rename parm to avoid shadowing.
909
e9829fdf
PE
910 * xterm.c (x_create_toolkit_scroll_bar): Use const * for pointers
911 to read-only memory.
912
1086c095
PE
913 * fns.c (vector): Remove; this old hack is no longer needed.
914
2baccd04 915 * xsmfns.c (create_client_leader_window): Rename shadowing arg.
401f10cb 916 Remove unused var.
dde42981 917 (gdk_x11_set_sm_client_id) [!USE_GTK]: Don't define.
2baccd04 918
72391843 919 * xrdb.c (x_load_resources): Omit unused local.
3565b346 920
436c16df 921 * xfns.c (free_frame_menubar, atof): Remove duplicate decls.
8a94ea33 922 (x_window): Rename locals to avoid shadowing.
dc5ddd85 923 (USG): Use the kludged USG macro, to pacify gcc.
436c16df 924
92bb796d 925 * xterm.c (x_alloc_nearest_color_for_widget): Remove; unused.
bbbef9e1 926 (x_term_init): Remove local to avoid shadowing.
92bb796d 927
764430a3 928 * xfns.c, xterm.c (_XEditResCheckMessages): Protoize decl.
4887c6e2
PE
929
930 * xdisp.c, dispextern.h (set_vertical_scroll_bar): Now extern if
931 USE_TOOLKIT_SCROLL_BARS && !USE_GTK, as xterm.c needs it then.
932
d1dfb56c
EZ
9332011-04-16 Eli Zaretskii <eliz@gnu.org>
934
c4354cb4
EZ
935 * gnutls.c (Fgnutls_boot): Don't pass Lisp_Object to `error'.
936
d1dfb56c
EZ
937 Fix regex.c, syntax.c and friends for buffers > 2GB.
938 * syntax.h (struct gl_state_s): Declare character position members
939 EMACS_INT.
940
941 * syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT.
942
943 * textprop.c (verify_interval_modification, interval_of): Declare
944 arguments EMACS_INT.
945
946 * intervals.c (adjust_intervals_for_insertion): Declare arguments
947 EMACS_INT.
948
949 * intervals.h (CHECK_TOTAL_LENGTH): Cast to EMACS_INT, not `int'.
950
951 * indent.c (Fvertical_motion): Local variable it_start is now
952 EMACS_INT.
953
954 * regex.c (re_match, re_match_2, re_match_2_internal)
955 (bcmp_translate, regcomp, regexec, print_double_string)
956 (group_in_compile_stack, re_search, re_search_2, regex_compile)
957 (re_compile_pattern, re_exec): Declare arguments and local
958 variables `size_t' and `ssize_t' and return values `regoff_t', as
959 appropriate.
960 (POP_FAILURE_REG_OR_COUNT) <pfreg>: Declare `long'.
961 (CHECK_INFINITE_LOOP) <failure>: Declare `ssize_t'.
962 <compile_stack_type>: `size' and `avail' are now `size_t'.
963
964 * regex.h <regoff_t>: Use ssize_t, not int.
965 (re_search, re_search_2, re_match, re_match_2): Arguments that
966 specify buffer/string position and length are now ssize_t and
967 size_t. Return type is regoff_t.
968
613052cd
BK
9692011-04-16 Ben Key <bkey76@gmail.com>
970
971 * nsfont.m: Fixed bugs in ns_get_family and
972 ns_descriptor_to_entity that were caused by using free to
973 deallocate memory blocks that were allocated by xmalloc (via
974 xstrdup). This caused Emacs to crash when compiled with
975 XMALLOC_OVERRUN_CHECK defined (when Emacs was configured with
976 --enable-checking=xmallocoverrun). xfree is now used to
977 deallocate these memory blocks.
978
4170f62f 9792011-04-15 Paul Eggert <eggert@cs.ucla.edu>
3e047f51 980
71b41406
PE
981 * sysdep.c (emacs_read): Remove unnecessary check vs MAX_RW_COUNT.
982
9587a89d
PE
983 emacs_write: Accept and return EMACS_INT for sizes.
984 See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html
985 et seq.
986 * gnutls.c, gnutls.h (emacs_gnutls_read, emacs_gnutls_write):
987 Accept and return EMACS_INT.
988 (emacs_gnutls_write): Return the number of bytes written on
989 partial writes.
990 * sysdep.c, lisp.h (emacs_read, emacs_write): Likewise.
273a5f82
PE
991 (emacs_read, emacs_write): Remove check for negative size, as the
992 Emacs source code has been audited now.
9587a89d
PE
993 * sysdep.c (MAX_RW_COUNT): New macro, to work around kernel bugs.
994 (emacs_read, emacs_write): Use it.
273a5f82
PE
995 * process.c (send_process): Adjust to the new signatures of
996 emacs_write and emacs_gnutls_write. Do not attempt to store
997 a byte offset into an 'int'; it might overflow.
9587a89d 998 See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00483.html
273a5f82 999
3e047f51
PE
1000 * sound.c: Don't assume sizes fit in 'int'.
1001 (struct sound_device.period_size, alsa_period_size):
9c3c56a7 1002 Return EMACS_INT, not int.
3e047f51 1003 (struct sound_device.write, vox_write, alsa_write):
9c3c56a7
PE
1004 Accept EMACS_INT, not int.
1005 (wav_play, au_play): Use EMACS_INT to store sizes and to
3e047f51
PE
1006 record read return values.
1007
cc39a9db
BK
10082011-04-15 Ben Key <bkey76@gmail.com>
1009
c9d0ec6d
JB
1010 * keyboard.c (Qundefined): Don't declare static since it is used
1011 in nsfns.m.
1012 * xfaces.c (Qbold, Qexpanded, Qitalic, Qcondensed): Don't declare
1013 static since they are used in nsfont.m.
cc39a9db 1014
6c60eb9f
SM
10152011-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
1016
1017 * process.c (Qprocessp): Don't declare static.
1018 * lisp.h (Qprocessp): Declare again.
1019
7990b61a
JB
10202011-04-15 Juanma Barranquero <lekktu@gmail.com>
1021
1022 * font.c (Qopentype): Don't make static (used from w32uniscribe.c).
1023
5d4cb038
PE
10242011-04-14 Paul Eggert <eggert@cs.ucla.edu>
1025
8bd7b830 1026 Improve C-level modularity by making more things 'static'.
cd64ea1d 1027
e3b27b31
PE
1028 Don't publish debugger-only interfaces to other modules.
1029 * lisp.h (safe_debug_print, debug_output_compilation_hack):
1030 (verify_bytepos, count_markers): Move decls to the only modules
1031 that need them.
1032 * region-cache.h (pp_cache): Likewise.
1033 * window.h (check_all_windows): Likewise.
1034 * marker.c, print.c, region-cache.c, window.c: Decls moved here.
1035
5d4cb038
PE
1036 * sysdep.c (croak): Now static, if
1037 defined TIOCNOTTY || defined USG5 || defined CYGWIN.
1038 * syssignal.h (croak): Declare only if not static.
69003fd8
PE
1039
1040 * alloc.c (refill_memory_reserve): Now static if
1041 !defined REL_ALLOC || defined SYSTEM_MALLOC.
1042 * lisp.h (refill_memory_reserve): Declare only if not static.
93ea6e8f 1043
e87b6180
PE
1044 * xsettings.c, xsettings.h (xsettings_get_system_normal_font):
1045 Define only if USE_LUCID.
1046
ac64929e
PE
1047 * xrdb.c (x_customization_string, x_rm_string): Now static.
1048
6f37259d
PE
1049 * xmenu.c (x_menu_wait_for_event): Export only if USE_MOTIF.
1050 * xterm.h (x_menu_wait_for_event): Declare only if USE_MOTIF.
1051
1683e3ab
PE
1052 * xdisp.c (draw_row_with_mouse_face): Now static.
1053 * dispextern.h (draw_row_with_mouse_fave): Remove decl.
1054
de9c2632
PE
1055 * window.h (check_all_windows): Mark externally visible.
1056
2b96acb7
PE
1057 * window.c (window_deletion_count): Now static.
1058
1059 * undo.c: Make symbols static if they're not exported.
1060 (last_undo_buffer, last_boundary_position, pending_boundary):
1061 Now static.
1062
50436f33
PE
1063 * textprop.c (interval_insert_behind_hooks): Now static.
1064 (interval_insert_in_front_hooks): Likewise.
1065
64520e5c
PE
1066 * term.c: Make symbols static if they're not exported.
1067 (tty_turn_off_highlight, get_tty_terminal, max_frame_cols):
1068 (max_frame_lines, tty_set_terminal_modes):
1069 (tty_reset_terminal_modes, tty_turn_off_highlight):
1070 (get_tty_terminal): Now static.
1071 (term_mouse_moveto): Do not define if HAVE_WINDOW_SYSTEM.
1072 * termhooks.h (term_mouse_moveto): Do not declare if
8bd7b830 1073 HAVE_WINDOW_SYSTEM.
64520e5c
PE
1074 * dispextern.h (tty_set_terminal_modes, tty_reset_terminal_modes):
1075 (tty_turn_off_highlight, get_tty_terminal): Remove decls.
1076
1fa53021
PE
1077 * sysdep.c: Make symbols static if they're not exported.
1078 (emacs_get_tty, emacs_set_tty, old_fcntl_flags, old_fcntl_owner):
1079 Now static.
1080 (sigprocmask_set, full_mask): Remove; unused.
1081 (wait_debugging): Mark as visible.
1082 * syssignal.h (SIGFULLMASK, full_mask): Remove decls.
1083 * systty.h (emacs_get_tty, emacs_set_tty): Remove decls.
1084
d4b43b22
PE
1085 * syntax.c (syntax_temp): Define only if !__GNUC__.
1086
b7c513d0
PE
1087 * sound.c (current_sound_device, current_sound): Now static.
1088
989b29ad
PE
1089 * search.c (searchbufs, searchbuf_head): Now static.
1090
13a55a78
PE
1091 * scroll.c (scroll_cost): Remove; unused.
1092 * dispextern.h (scroll_cost): Remove decl.
1093
de68a1fc
PE
1094 * region-cache.h (pp_cache): Mark as externally visible.
1095
40ccffa6
PE
1096 * process.c: Make symbols static if they're not exported.
1097 (process_tick, update_tick, create_process, chan_process):
1098 (Vprocess_alist, proc_buffered_char, datagram_access):
1099 (fd_callback_data, send_process_frame, process_sent_to): Now static.
1100 (deactivate_process): Mark defn as static, as well as decl.
1101 * lisp.h (create_process): Remove decl.
1102 * process.h (chan_process, Vprocess_alist): Remove decls.
1103
ad64fc97
PE
1104 * print.c: Make symbols static if they're not exported.
1105 (print_depth, new_backquote_output, being_printed, print_buffer):
1106 (print_buffer_size, print_buffer_pos, print_buffer_pos_byte):
1107 (print_interval, print_number_index, initial_stderr_stream):
1108 Now static.
1109 * lisp.h (Fprinc): Remove decl.
1110 (debug_output_compilation_hack): Mark as externally visible.
1111
adddb265
PE
1112 * sysdep.c (croak): Move decl from here to syssignal.h.
1113 * syssignal.h (croak): Put it here, so the API can be checked when
1114 'croak' is called from dissociate_if_controlling_tty.
1115
1717ede2
PE
1116 * minibuf.c: Make symbols static if they're not exported.
1117 (minibuf_save_list, choose_minibuf_frame): Now static.
1118 * lisp.h (choose_minibuf_frame): Remove decl.
1119
fa5fb2bc
PE
1120 * lisp.h (verify_bytepos, count_markers): Mark as externally visible.
1121
1e3890d1
PE
1122 * lread.c: Make symbols static if they're not exported.
1123 (read_objects, initial_obarray, oblookup_last_bucket_number):
1124 Now static.
1125 (make_symbol): Remove; unused.
1126 * lisp.h (initial_obarray, make_symbol): Remove decls.
1127
8a1414fa
PE
1128 * keyboard.c: Make symbols static if they're not exported.
1129 (single_kboard, recent_keys_index, total_keys, recent_keys):
1130 (this_command_key_count_reset, raw_keybuf, raw_keybuf_count):
1131 (this_single_command_key_start, echoing, last_auto_save):
1132 (read_key_sequence_cmd, dribble, recursive_edit_unwind):
1133 (command_loop, echo_now, keyboard_init_hook, help_char_p):
1134 (quit_throw_to_read_char, command_loop_2, top_level_1, poll_timer):
1135 (Vlispy_mouse_stem, double_click_count):
1136 Now static.
1137 (force_auto_save_soon): Define only if SIGDANGER.
1138 (ignore_mouse_drag_p): Now static if
1139 !defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS.
1140 (print_help): Remove; unused.
1141 (stop_character, last_timer_event): Mark as externally visible.
1142 * keyboard.h (ignore_mouse_drag_p): Declare only if
1143 defined HAVE_WINDOW_SYSTEM && !defined USE_GTK && !defined HAVE_NS.
1144 (echo_now, help_char_p, quit_throw_to_read_char): Remove decls.
1145 * lisp.h (echoing): Remove decl.
1146 (force_auto_save_soon): Declare only if SIGDANGER.
1147 * xdisp.c (redisplay_window): Simplify code, to make it more
1148 obvious that ignore_mouse_drag_p is not accessed if !defined
1149 USE_GTK && !defined HAVE_NS.
1150
93ea6e8f
PE
1151 * intervals.c: Make symbols static if they're not exported.
1152 (merge_properties_sticky, merge_interval_right, delete_interval):
1153 Now static.
1154 * intervals.h (merge_interval_right, delete_interval): Remove decls.
1155
77382fcc
PE
1156 * insdel.c: Make symbols static if they're not exported.
1157 However, leave prepare_to_modify_buffer alone. It's never
1158 called from outside this function, but that appears to be a bug.
1159 (combine_after_change_list, combine_after_change_buffer):
4889fc82 1160 (adjust_after_replace, signal_before_change): Now static.
77382fcc
PE
1161 (adjust_after_replace_noundo): Remove; unused.
1162 * lisp.h (adjust_after_replace, adjust_after_replace_noundo):
4889fc82 1163 (signal_before_change): Remove decls.
77382fcc 1164
9306c32e
PE
1165 * indent.c (val_compute_motion, val_vmotion): Now static.
1166
cd44d2eb
PE
1167 * image.c: Make symbols static if they're not exported.
1168 * dispextern.h (x_create_bitmap_from_xpm_data): Do not declare
1169 if USE_GTK.
1170 * image.c (x_create_bitmap_from_xpm_data): Do not define if USE_GTK.
1171 (xpm_color_cache, ct_table, ct_colors_allocated): Now static.
1172
ad9a7a06
PE
1173 * fringe.c (standard_bitmaps): Now static.
1174 (max_used_fringe_bitmap): Now static, unless HAVE_NS.
1175
81626931
PE
1176 * frame.c: Make symbols static if they're not exported.
1177 (x_report_frame_params, make_terminal_frame): Now static.
1178 (get_frame_param): Now static, unless HAVE_NS.
1179 (x_fullscreen_adjust): Define if WINDOWSNT, not if HAVE_WINDOW_SYSTEM.
1180 (x_get_resource_string): Remove; not used.
1181 * frame.h (make_terminal_frame, x_report_frame_params):
1182 (x_get_resource_string); Remove decls.
1183 (x_fullscreen_adjust): Declare only if WINDOWSNT.
1184 * lisp.h (get_frame_param): Declare only if HAVE_NS.
1185
239f9db9
PE
1186 * font.c, fontset.c: Make symbols static if they're not exported.
1187 * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): New macro.
1188 (FACE_SUITABLE_FOR_CHAR_P): Use it.
1189 * font.c (font_close_object): Now static.
1190 * font.h (font_close_object): Remove.
1191 * fontset.c (FONTSET_OBJLIST): Remove.
1192 (free_realized_fontset) #if-0 the body, which does nothing.
1193 (face_suitable_for_char_p): #if-0, as it's never called.
1194 * fontset.h (face_suitable_for_char_p): Remove decl.
1195 * xfaces.c (face_at_string_position): Use
1196 FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P,
1197 since 0 is always ASCII.
1198
dfcf3579
PE
1199 * fns.c (weak_hash_tables): Now static.
1200
5045092b
PE
1201 * fileio.c: Make symbols static if they're not exported.
1202 (auto_saving, auto_save_mode_bits, auto_save_error_occurred):
1203 (Vwrite_region_annotation_buffers): Now static.
1204
57a96f5c
PE
1205 * eval.c: Make symbols static if they're not exported.
1206 (backtrace_list, lisp_eval_depth, when_entered_debugger): Now static.
1207 * lisp.h (backtrace_list): Remove decl.
1208
35f08c38
PE
1209 * emacs.c: Make symbols static if they're not exported.
1210 (malloc_state_ptr, malloc_using_checking, syms_of_emacs):
1211 (fatal_error_code, fatal_error_signal_hook, standard_args):
1212 Now static.
1213 (fatal_error_signal): Now static, unless FLOAT_CATCH_SIGKILL.
1214 (DEFINE_DUMMY_FUNCTION): Mark function as externally visible.
1215 (__CTOR_LIST__, __DTOR_LIST__): Now externally visible.
1216 * lisp.h (fatal_error_signal_hook): Remove decl.
1217 (fatal_error_signal): Declare only if FLOAT_CATCH_SIGKILL.
1218
f44bd759
PE
1219 * editfns.c: Move a (normally-unused) function to its only use.
1220 * editfns.c, lisp.h (get_operating_system_release): Remove.
1221 * process.c (init_process) [DARWIN_OS]: Do it inline, as it is not
1222 worth the hassle of breaking this out.
1223
b532497d
PE
1224 * xterm.c: Make symbols static if they're not exported.
1225 (x_raise_frame, x_lower_frame, x_wm_set_window_state):
1226 (x_wm_set_icon_pixmap, x_initialize, XTread_socket_fake_io_error):
1227 (x_destroy_window, x_delete_display):
1228 Now static.
1229 (x_dispatch_event): Now static if ! (USE_MOTIF || USE_X_TOOLKIT).
1230 (x_mouse_leave): Remove; unused.
1231 * xterm.h (x_display_info_for_name, x_raise_frame, x_lower_frame):
1232 (x_destroy_window, x_wm_set_window_state, x_wm_set_icon_pixmap):
1233 (x_delete_display, x_initialize, x_set_border_pixel, x_screen_planes):
1234 Remove decls.
1235 (x_mouse_leave): Declare only if WINDOWSNT.
1236 (x_dispatch_event): Declare only if USE_MOTIF or USE_X_TOOLKIT.
1237 (xic_create_fontsetname): Declare only if HAVE_X_WINDOWS &&
1238 USE_X_TOOLKIT.
1239
1675728f
PE
1240 * ftxfont.c: Make symbols static if they're not exported.
1241 (ftxfont_driver): Export only if !defined HAVE_XFT && def8ined
1242 HAVE_FREETYPE.
1243 * font.h (ftxfont_driver): Likewise.
1244
e4cebfca
PE
1245 * xfns.c: Make symbols static if they're not exported.
1246 (x_last_font_name, x_display_info_for_name):
1247 (x_set_foreground_color, x_set_background_color, x_set_mouse_color):
1248 (x_set_cursor_color, x_set_border_pixel, x_set_border_color):
1249 (x_set_cursor_type, x_set_icon_type, x_set_icon_name):
1250 (x_set_scroll_bar_foreground, x_set_scroll_bar_background):
1251 (x_explicitly_set_name, x_set_title, xic_defaut_fontset, tip_timer):
1252 (last_show_tip_args): Now static.
1253 (xic_defaut_fontset, xic_create_fontsetname): Define only if
1254 defined HAVE_X_WINDOWS && defined USE_X_TOOLKIT
1255 (x_screen_planes): Remove; unused.
1256 * dispextern.h (x_screen_planes): Remove decl.
1257
5bf46f05
PE
1258 * dispnew.c: Make symbols static if they're not exported.
1259 * dispextern.h (redraw_garbaged_frames, scrolling):
1260 (increment_row_positions): Remove.
1261 * dispnew.c (new_glyph_matrix, increment_row_positions, scrolling):
1262 (delayed_size_change, glyph_matrix_count, glyph_pool_count):
1263 Now static.
1264 (redraw_garbaged_frames): Remove; unused.
1265
435f4c28
PE
1266 * xfaces.c: Make symbols static if they're not exported.
1267 * dispextern.h (ascii_face_of_lisp_face, free_realized_face):
1268 Remove decls.
1269 * xterm.h (defined_color): Remove decls.
1270 (x_free_dpy_colors): Declare only if USE_X_TOOLKIT.
1271 * xfaces.c (tty_suppress_bold_inverse_default_colors_p):
1272 (menu_face_changed_default, defined_color, free_realized_face):
1273 (x_free_dpy_colors): Define only if USE_X_TOOLKIT.
1274 (ascii_face_of_lisp_face): Remove; unused.
1275
8524aef3
PE
1276 * xdisp.c: Make symbols static if they're not exported.
1277 * dispextern.h (scratch_glyph_row, window_box_edges):
1278 (glyph_to_pixel_coords, set_cursor_from_row):
1279 (get_next_display_element, set_iterator_to_next):
1280 (highlight_trailing_whitespace, frame_to_window_pixel_xy):
1281 (show_mouse_face): Remove decls
1282 * frame.h (message_buf_print): Likewise.
1283 * lisp.h (pop_message, set_message, check_point_in_composition):
1284 Likewise.
1285 * xterm.h (set_vertical_scroll_bar): Likewise.
1286 * xdisp.c (list_of_error, Vmessage_stack, line_number_displayed):
1287 (message_buf_print, scratch_glyph_row, displayed_buffer):
1288 (set_iterator_to_next, pop_message, set_message, set_cursor_from_row):
1289 (get_next_display_element, show_mouse_face, window_box_edges):
1290 (frame_to_window_pixel_xy, check_point_in_composition):
1291 (set_vertical_scroll_bar, highlight_trailing_whitespace): Now static.
1292 (glyph_to_pixel_coords): Remove; unused.
1293
16390cd2
PE
1294 * dired.c (file_name_completion): Now static.
1295
1296 * dbusbind.c (xd_in_read_queued_messages): Now static.
1297
a25f4dfa
PE
1298 * lisp.h (circular_list_error, FOREACH): Remove; unused.
1299 * data.c (circular_list_error): Remove.
1300
14a9c8df
PE
1301 * commands.h (last_point_position, last_point_position_buffer):
1302 (last_point_position_window): Remove decls.
1303 * keyboard.c: Make these variables static.
1304
74ab6df5
PE
1305 * coding.h (coding, code_convert_region, encode_coding_gap): Remove
1306 decls.
1307 * coding.c (Vsjis_coding_system, Vbig5_coding_system):
1308 (iso_code_class, detect_coding, code_convert_region): Now static.
1309 (encode_coding_gap): Remove; unused.
1310
38dfbee1
PE
1311 * chartab.c (chartab_chars, chartab_bits): Now static.
1312
a2cb4e63
PE
1313 * charset.h (charset_iso_8859_1): Remove decl.
1314 * charset.c (charset_iso_8859_1, charset_emacs, map_charset_for_dump):
1315 Now static.
1316
127198fd
PE
1317 * ccl.h (check_ccl_update, Vccl_program_table): Remove decls.
1318 * ccl.c (Vccl_program_table): Now static.
1319 (check_ccl_update): Remove; unused.
1320
d85b608f
PE
1321 * category.c (SET_CATEGORY_SET, set_category_set): Move here.
1322 * category.h: ... from here.
1323 * category.c (check_category_table, set_category_set): Now static.
1324
31cd66f3
PE
1325 * casetab.c (Vascii_upcase_table, Vascii_eqv_table): Now static.
1326 * lisp.h: Remove these decls.
1327
c358e587
PE
1328 * buffer.c (buffer_count): Remove unused var.
1329
e78aecca
PE
1330 * bidi.c (bidi_dump_cached_states): Mark as externally visible,
1331 so that it's not optimized away.
1332 (bidi_ignore_explicit_marks_for_paragraph_level): Likewise.
1333 * dispextern.h (bidi_dump_cached_states): Remove, since it's
1334 exported only to the debugger.
1335
e192d7d3
PE
1336 * atimer.c (alarm_signal_handler, run_all_atimers): Now static.
1337 * atimer.h (run_all_atimers): Removed; not exported.
1338
92470028
PE
1339 font.c: Make copy_font_spec and merge_font_spec ordinary C functions.
1340 * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it
1341 was inaccessible from Lisp.
1342 (merge_font_spec): Likewise, renaming from Fmerge_font_spec.
1343 * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses.
1344
244ed907
PE
1345 alloc.c: Import and export fewer symbols, and remove unused items.
1346 * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING
1347 is defined.
1348 (suppress_checking): Add EXTERNALLY_VISIBLE attribute, so that
1349 it's not optimized away by whole-program optimization.
1350 (message_enable_multibyte, free_misc): Remove.
1351 (catchlist, handlerlist, mark_backtrace):
1352 Declare only if BYTE_MARK_STACK.
1353 (mark_byte_stack): Likewise, fixing a ifdef-vs-if typo.
1354 * alloc.c (pure): Export only if VIRT_ADDR_VARIES is defined.
1355 (message_enable_multibyte): Remove decl.
1356 (free_misc, interval_free_list, float_block, float_block_index):
1357 (n_float_blocks, float_free_list, cons_block, cons_block_index):
1358 (cons_free_list, last_marked_index):
1359 Now static.
1360 (suppress_checking, die): Define only if ENABLE_CHECKING is defined.
1361 * eval.c (catchlist, handlerlist): Export only if BYTE_MARK_STACK.
1362 (mark_backtrace): Define only if BYTE_MARK_STACK.
1363 * xdisp.c (message_enable_multibyte): Now static.
1364
61c2b50e 1365 Declare Lisp_Object Q* variables to be 'static' if not exported.
955cbe7b
PE
1366 This makes it easier for human readers (and static analyzers)
1367 to see whether these variables are used from other modules.
1368 * alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c:
1369 * ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c:
1370 * data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c:
1371 * font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c:
1372 * lread.c, macros.c, minibuf.c, print.c, process.c, search.c:
1373 * sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c:
1374 * xmenu.c, xselect.c:
1375 Declare Q* vars static if they are not used in other modules.
1376 * ccl.h, character.h, charset.h, coding.h, composite.h, font.h:
1377 * frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h:
1378 Remove decls of unexported vars.
1379 * keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro.
1380
95c82688
PE
1381 * lisp.h (DEFINE_FUNC): Make sname 'static'.
1382
16a97296
PE
1383 Make Emacs functions such as Fatom 'static' by default.
1384 This makes it easier for human readers (and static analyzers)
1385 to see whether these functions can be called from other modules.
1386 DEFUN now defines a static function. To make the function external
1387 so that it can be used in other C modules, use the new macro DEFUE.
8bd7b830
PE
1388 * lisp.h (Funibyte_char_to_multibyte, Fsyntax_table_p):
1389 (Finit_image_library):
16a97296
PE
1390 (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer):
1391 (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute):
1392 (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes):
1393 Remove decls, since these functions are now static.
1394 (Funintern, Fget_internal_run_time): New decls, since these functions
1395 were already external.
95c82688 1396
16a97296
PE
1397 * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c:
1398 * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c:
1399 * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c:
1400 * fns.c, font.c, fontset.c, frame.c, image.c, indent.c:
1401 * keyboard.c, keymap.c, lread.c:
1402 * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c:
1403 * syntax.c, term.c, terminal.c, textprop.c, undo.c:
1404 * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c:
1405 Mark functions with DEFUE instead of DEFUN,
1406 if they are used in other modules.
1407 * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward
1408 decls for now-static functions.
1409 * buffer.h (Fdelete_overlay): Remove decl.
1410 * callproc.c (Fgetenv_internal): Mark as internal.
1411 * composite.c (Fremove_list_of_text_properties): Remove decl.
1412 (Fcomposition_get_gstring): New forward static decl.
1413 * composite.h (Fcomposite_get_gstring): Remove decl.
1414 * dired.c (Ffile_attributes): New forward static decl.
1415 * doc.c (Fdocumntation_property): New forward static decl.
1416 * eval.c (Ffetch_bytecode): New forward static decl.
1417 (Funintern): Remove extern decl; now in .h file where it belongs.
1418 * fileio.c (Fmake_symbolic_link): New forward static decl.
1419 * image.c (Finit_image_library): New forward static decl.
1420 * insdel.c (Fcombine_after_change_execute): Make forward decl static.
1421 * intervals.h (Fprevious_property_change):
1422 (Fremove_list_of_text_properties): Remove decls.
1423 * keyboard.c (Fthis_command_keys): Remove decl.
1424 (Fcommand_execute): New forward static decl.
1425 * keymap.c (Flookup_key): New forward static decl.
1426 (Fcopy_keymap): Now static.
1427 * keymap.h (Flookup_key): Remove decl.
1428 * process.c (Fget_process): New forward static decl.
1429 (Fprocess_datagram_address): Mark as internal.
1430 * syntax.c (Fsyntax_table_p): New forward static decl.
1431 (skip_chars): Remove duplicate decl.
1432 * textprop.c (Fprevious_property_change): New forward static decl.
1433 * window.c (Fset_window_fringes, Fset_window_scroll_bars):
1434 Now internal.
1435 (Fset_window_margins, Fset_window_vscroll): New forward static decls.
1436 * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
1437
785bbd42
PE
1438 * editfns.c (Fformat): Remove unreachable code.
1439
8b913b57
AS
14402011-04-14 Andreas Schwab <schwab@linux-m68k.org>
1441
1442 * fileio.c (Finsert_file_contents): Fix typo in 2005-05-13
1443 change. (Bug#8496)
1444
a6744a35
EZ
14452011-04-13 Eli Zaretskii <eliz@gnu.org>
1446
1447 * xdisp.c (handle_invisible_prop): Don't call bidi_paragraph_init
1448 when at ZV. (Bug#8487)
1449
e7974947
AS
14502011-04-12 Andreas Schwab <schwab@linux-m68k.org>
1451
baad03f0
AS
1452 * charset.c (Fclear_charset_maps): Use xfree instead of free.
1453 (Bug#8437)
1454 * keyboard.c (parse_tool_bar_item): Likewise.
1455 * sound.c (sound_cleanup, alsa_close): Likewise.
1456 * termcap.c (tgetent): Likewise.
1457 * xfns.c (x_default_font_parameter): Likewise.
1458 * xsettings.c (read_and_apply_settings): Likewise.
1459
e7974947
AS
1460 * alloc.c (overrun_check_malloc, overrun_check_realloc)
1461 (overrun_check_free): Protoize.
1462
28272684
PE
14632011-04-12 Paul Eggert <eggert@cs.ucla.edu>
1464
1465 * sysdep.c (emacs_read, emacs_write): Check for negative sizes
1466 since callers should never pass a negative size.
1467 Change the signature to match that of plain 'read' and 'write'; see
1468 <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00397.html>.
1469 * lisp.h: Update prototypes of emacs_write and emacs_read.
1470
11997c76
EZ
14712011-04-11 Eli Zaretskii <eliz@gnu.org>
1472
1473 * xdisp.c (redisplay_window): Don't try to determine the character
1474 position of the scroll margin if the window start point w->startp
e896f03c 1475 is outside the buffer's accessible region. (Bug#8468)
11997c76 1476
8a2cbd72
EZ
14772011-04-10 Eli Zaretskii <eliz@gnu.org>
1478
1479 Fix write-region and its subroutines for buffers > 2GB.
1480 * fileio.c (a_write, e_write): Modify declaration of arguments and
1481 local variables to support buffers larger than 2GB.
1482 (Fcopy_file): Use EMACS_INT for return value of emacs_read.
1483
1484 * sysdep.c (emacs_write, emacs_read): Use ssize_t for last
1485 argument, local variables, and return value.
1486
1487 * lisp.h: Update prototypes of emacs_write and emacs_read.
1488
1489 * sound.c (vox_write): Use ssize_t for return value of emacs_write.
1490
4073e537 14912011-04-10 Paul Eggert <eggert@cs.ucla.edu>
eb3f1cc8 1492
1ebfdcb6
PE
1493 * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack.
1494
b2ded58d
PE
1495 Fix more problems found by GCC 4.6.0's static checks.
1496
7d66342c
PE
1497 * xdisp.c (vmessage): Use a better test for character truncation.
1498
bbf47d44
PE
1499 * charset.c (load_charset_map): <, not <=, for optimization,
1500 and to avoid potential problems with integer overflow.
9248994d 1501 * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise.
f9a68bc5 1502 * casetab.c (set_identity, shuffle): Likewise.
3ab1c7ce 1503 * editfns.c (Fformat): Likewise.
1e69125e 1504 * syntax.c (skip_chars): Likewise.
3befa583 1505
e3019616
PE
1506 * xmenu.c (set_frame_menubar): Allocate smaller local vectors.
1507 This also lets GCC 4.6.0 generate slightly better loop code.
1508
becfa255
PE
1509 * callint.c (Fcall_interactively): <, not <=, for optimization.
1510 (Fcall_interactively): Count the number of arguments produced,
1511 not the number of arguments given. This is simpler and lets GCC
1512 4.6.0 generate slightly better code.
1513
dae0cd48
PE
1514 * ftfont.c: Distingish more carefully between FcChar8 and char.
1515 The previous code passed unsigned char * to a functions like
1516 strlen and xstrcasecmp that expect char *, which does not
1517 conform to the C standard.
1518 (get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for
1519 arguments to FcPatternGetString, and explicitly cast FcChar8 * to
1520 char * when the C standard requires it.
1521
76032d70
PE
1522 * keyboard.c (read_char): Remove unused var.
1523
eb3f1cc8
PE
1524 * eval.c: Port to Windows vsnprintf (Bug#8435).
1525 Include <limits.h>.
1526 (SIZE_MAX): Define if the headers do not.
1527 (verror): Do not give up if vsnprintf returns a negative count.
1528 Instead, grow the buffer. This ports to Windows vsnprintf, which
1529 does not conform to C99. Problem reported by Eli Zaretskii.
1530 Also, simplify the allocation scheme, by avoiding the need for
1531 calling realloc, and removing the ALLOCATED variable.
1532
70476b54
PE
1533 * eval.c (verror): Initial buffer size is 4000 (not 200) bytes.
1534
12020a9e
PE
1535 Remove invocations of doprnt, as Emacs now uses vsnprintf.
1536 But keep the doprint source code for now, as we might revamp it
1537 and use it again (Bug#8435).
ea6c7ae6
PE
1538 * lisp.h (doprnt): Remove.
1539 * Makefile.in (base_obj): Remove doprnt.o.
1540 * deps.mk (doprnt.o): Remove.
1541
5fdb398c
PE
1542 error: Print 32- and 64-bit integers portably (Bug#8435).
1543 Without this change, on typical 64-bit hosts error ("...%d...", N)
1544 was used to print both 32- and 64-bit integers N, which relied on
1545 undefined behavior.
1546 * lisp.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h (pEd):
1547 New macro.
1548 * lisp.h (error, verror): Mark as printf-like functions.
1549 * eval.c (verror): Use vsnprintf, not doprnt, to do the real work.
1550 Report overflow in size calculations when allocating printf buffer.
1551 Do not truncate output string at its first null byte.
1552 * xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work.
1553 Truncate the output at a character boundary, since vsnprintf does not
1554 do that.
1555 * charset.c (check_iso_charset_parameter): Convert internal
1556 character to string before calling 'error', since %c now has the
1557 printf meaning.
1558 * coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int
1559 overflow when computing char to be passed to 'error'. Do not
1560 pass Lisp_Object to 'error'; pass the integer instead.
1561 * nsfns.m (Fns_do_applescript): Use int, not long, since it's
1562 formatted with plain %d.
1563
b189fa66
PE
1564 * eval.c (internal_lisp_condition_case): Don't pass spurious arg.
1565
bff87ef0
PE
1566 * keyboard.c (access_keymap_keyremap): Print func name, not garbage.
1567
7e2cac20
PE
1568 * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
1569
ce4d90b5
PE
1570 * xterm.c (x_catch_errors): Remove duplicate declaration.
1571
266c9547
PE
1572 * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too.
1573
79c49ad2
PE
1574 * xdisp.c, lisp.h (message_nolog): Remove; unused.
1575
368f4090
JM
15762011-04-10 Jim Meyering <meyering@redhat.com>
1577
1578 use ssize_t and size_t for read- and write-like emacs_gnutls_* functions
1579 * gnutls.c (emacs_gnutls_read): Adjust signature to be more read-like:
1580 return ssize_t not "int", and use size_t as the buffer length.
1581 (emacs_gnutls_write): Likewise, and make the buffer pointer "const".
1582 * gnutls.h: Update declarations.
1583 * process.c (read_process_output): Use ssize_t, to match.
1584 (send_process): Likewise.
1585
a32d4040
CY
15862011-04-09 Chong Yidong <cyd@stupidchicken.com>
1587
1588 * image.c (Fimagemagick_types): Doc fix, and comment cleanup.
1589
8546720e 15902011-04-09 Chong Yidong <cyd@stupidchicken.com>
aac0c6e3 1591
8546720e
GM
1592 * ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use
1593 unsigned char, to match FcChar8 type definition.
aac0c6e3 1594
8546720e
GM
1595 * xterm.c (handle_one_xevent):
1596 * xmenu.c (create_and_show_popup_menu):
1597 * xselect.c (x_decline_selection_request)
1598 (x_reply_selection_request): Avoid type-punned deref of X events.
aac0c6e3 1599
0a2f5c1a 16002011-04-09 Eli Zaretskii <eliz@gnu.org>
a53e2e89
EZ
1601
1602 Fix some uses of `int' instead of EMACS_INT.
1603 * search.c (string_match_1, fast_string_match)
1604 (fast_c_string_match_ignore_case, fast_string_match_ignore_case)
1605 (scan_buffer, find_next_newline_no_quit)
1606 (find_before_next_newline, search_command, Freplace_match)
1607 (Fmatch_data): Make some `int' variables be EMACS_INT.
1608
1609 * xdisp.c (display_count_lines): 3rd argument and return value now
1610 EMACS_INT. All callers changed.
1611 (pint2hrstr): Last argument is now EMACS_INT.
1612
1613 * coding.c (detect_coding_utf_8, detect_coding_emacs_mule)
1614 (detect_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
1615 (detect_coding_ccl, detect_coding_charset, decode_coding_utf_8)
1616 (decode_coding_utf_16, decode_coding_emacs_mule)
1617 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1618 (decode_coding_ccl, decode_coding_charset)
1619 <consumed_chars, consumed_chars_base>: Declare EMACS_INT.
1620 (decode_coding_iso_2022, decode_coding_emacs_mule)
1621 (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
1622 <char_offset, last_offset>: Declare EMACS_INT.
1623 (encode_coding_utf_8, encode_coding_utf_16)
1624 (encode_coding_emacs_mule, encode_invocation_designation)
1625 (encode_designation_at_bol, encode_coding_iso_2022)
1626 (encode_coding_sjis, encode_coding_big5, encode_coding_ccl)
1627 (encode_coding_raw_text, encode_coding_charset) <produced_chars>:
1628 Declare EMACS_INT.
1629 (ASSURE_DESTINATION): Declare more_bytes EMACS_INT.
1630 (encode_invocation_designation): Last argument P_NCHARS is now
1631 EMACS_INT.
1632 (decode_eol): Declare pos_byte, pos, and pos_end EMACS_INT.
1633 (produce_chars): from_nchars and to_nchars are now EMACS_INT.
1634
1635 * coding.h (struct coding_system) <head_ascii>: Declare EMACS_INT.
1636 All users changed.
1637
1638 * ccl.c (Fccl_execute_on_string): Declare some variables
1639 EMACS_INT.
1640
8546720e 16412011-04-08 Samuel Thibault <sthibault@debian.org> (tiny change)
0080dc6b
SS
1642
1643 * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
1644
4e19a977
CS
16452011-03-19 Christoph Scholtes <cschol2112@googlemail.com>
1646
1647 * process.c (Fformat_network_address): Doc fix.
1648
87302331
R
16492011-04-08 T.V. Raman <tv.raman.tv@gmail.com> (tiny change)
1650
1651 * xml.c (parse_region): Avoid creating spurious whiespace nodes.
1652
cbb59342
CY
16532011-04-08 Chong Yidong <cyd@stupidchicken.com>
1654
1655 * keyboard.c (read_char): Call Lisp function help-form-show,
1656 instead of using internal_with_output_to_temp_buffer.
1657 (Qhelp_form_show): New var.
e0d38eeb 1658 (syms_of_keyboard): Use DEFSYM macro.
cbb59342
CY
1659
1660 * print.c (internal_with_output_to_temp_buffer): Function deleted.
1661
1662 * lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
1663
e67a13ab
CY
16642011-04-06 Chong Yidong <cyd@stupidchicken.com>
1665
1666 * process.c (Flist_processes): Removed to Lisp.
1667 (list_processes_1): Deleted.
1668
973f782d
EZ
16692011-04-06 Eli Zaretskii <eliz@gnu.org>
1670
7c106b1e
EZ
1671 * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
1672
973f782d
EZ
1673 * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs.
1674
41cf7d1a 16752011-04-06 Paul Eggert <eggert@cs.ucla.edu>
27ccc379 1676
ca23cc88
PE
1677 Fix more problems found by GCC 4.6.0's static checks.
1678
f390e2d5
PE
1679 * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats.
1680
42eea0d0
PE
1681 * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats.
1682
b69769da 1683 * lisp.h (message, message_nolog, fatal): Mark as printf-like.
1e973bc7 1684
f9541e84
PE
1685 * xdisp.c (vmessage): Mark as a printf-like function.
1686
13841b55
PE
1687 * term.c (vfatal, maybe_fatal): Mark as printf-like functions.
1688
c136c10f
PE
1689 * sound.c (sound_warning): Don't crash if arg contains a printf format.
1690
5e2d4a30
PE
1691 * image.c (tiff_error_handler, tiff_warning_handler): Mark as
1692 printf-like functions.
1693 (tiff_load): Add casts to remove these marks before passing them
1694 to system-supplied API.
1695
583f48b9
PE
1696 * eval.c (Fsignal): Remove excess argument to 'fatal'.
1697
b25d760e
PE
1698 * coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int.
1699 This avoids several warnings with gcc -Wstrict-overflow.
d5efd1d1
PE
1700 (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code
1701 directly, rather than having caller test rule sign. This avoids
1702 some unnecessary tests.
1703 * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro.
1704 (COMPOSITION_ENCODE_RULE): Arguments now must be valid. This
1705 affects only one use, in DECODE_COMPOSITION_RULE, which is changed.
b25d760e 1706
bc7b6697 1707 * xfont.c (xfont_text_extents): Remove var that was set but not used.
625a3eb1 1708 (xfont_open): Avoid unnecessary tests.
bc7b6697 1709
27ccc379
PE
1710 * composite.c (composition_gstring_put_cache): Use unsigned integer.
1711
dcd5c89a
PE
1712 * composite.h, composite.c (composition_gstring_put_cache):
1713 Use EMACS_INT, not int, for length.
1714
b13a45c6
PE
1715 * composite.h (COMPOSITION_DECODE_REFS): New macro,
1716 breaking out part of COMPOSITION_DECODE_RULE.
1717 (COMPOSITION_DECODE_RULE): Use it.
1718 * composite.c (get_composition_id): Remove unused local vars,
1719 by using the new macro.
1720
1e792e4d
PE
1721 * textprop.c (set_text_properties_1): Change while to do-while,
1722 since the condition is always true at first.
1723
dc6c6455 1724 * intervals.c (graft_intervals_into_buffer): Mark var as used.
aa86731f
PE
1725 (interval_deletion_adjustment): Return unsigned value.
1726 All uses changed.
dc6c6455 1727
aba7731a
PE
1728 * process.c (list_processes_1, create_pty, read_process_output):
1729 (exec_sentinel): Remove vars that were set but not used.
afd4052b 1730 (create_pty): Remove unnecessary "volatile"s.
bc57d757 1731 (Fnetwork_interface_info): Avoid possibility of int overflow.
82eaa333 1732 (read_process_output): Do adaptive read buffering even if carryover.
fe07cdfa 1733 (read_process_output): Simplify nbytes computation if buffered.
aba7731a 1734
fdfc4bf3
PE
1735 * bytecode.c (exec_byte_code): Rename local to avoid shadowing.
1736
fca8fe46 1737 * syntax.c (scan_words): Remove var that was set but not used.
12cbf13f 1738 (update_syntax_table): Use unsigned instead of int.
fca8fe46 1739
06a0259a 1740 * lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs.
3c346cc3 1741 (lisp_file_lexically_bound_p, read1): Use unsigned instead of int.
e6eb4e9e 1742 (safe_to_load_p): Make the end-of-loop test the inverse of the in-loop.
06a0259a 1743
e7b9e80f
PE
1744 * print.c (print_error_message): Avoid int overflow.
1745
56201685
PE
1746 * font.c (font_list_entities): Redo for clarity,
1747 so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX.
1748
78834453 1749 * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars.
790771b1 1750 (font_score): Avoid potential overflow in diff calculation.
78834453 1751
0bc0b309 1752 * fns.c (substring_both): Remove var that is set but not used.
8cd55cb4 1753 (sxhash): Redo loop for clarity and to avoid wraparound warning.
0bc0b309 1754
e610eaca
PE
1755 * eval.c (funcall_lambda): Rename local to avoid shadowing.
1756
b895abce
PE
1757 * alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int.
1758 Otherwise, GCC 4.6.0 optimizes the loop check away since the check
1759 can always succeed if overflow has undefined behavior.
1760
1f1d9321 1761 * search.c (boyer_moore, wordify): Remove vars set but not used.
6f076cc7 1762 (wordify): Omit three unnecessary tests.
1f1d9321 1763
c59478bc
PE
1764 * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column.
1765 All callers changed. This avoids the need for an unused var.
1766
79b73827
PE
1767 * casefiddle.c (casify_region): Remove var that is set but not used.
1768
a4db5dfe
PE
1769 * dired.c (file_name_completion): Remove var that is set but not used.
1770
43aae36e
PE
1771 * fileio.c (Finsert_file_contents): Make EOF condition clearer.
1772
2a47c44d 1773 * fileio.c (Finsert_file_contents): Avoid signed integer overflow.
163c5f32 1774 (Finsert_file_contents): Remove unnecessary code checking fd.
2a47c44d 1775
a37c69bf
PE
1776 * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
1777 Check for integer overflow on size calculations.
1778
328ab8e7
PE
1779 * buffer.c (Fprevious_overlay_change): Remove var that is set
1780 but not used.
1781
e5a2a5cb
PE
1782 * keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt):
1783 Remove vars that are set but not used.
8d84a6eb 1784 (timer_check_2): Don't assume timer-list and idle-timer-list are lists.
6b043475 1785 (timer_check_2): Mark vars as initialized.
e5a2a5cb 1786
a60e5f68
PE
1787 * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized.
1788
f661cb61 1789 * image.c (lookup_image): Remove var that is set but not used.
35fa624f 1790 (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable.
f661cb61 1791
f0397f5a
PE
1792 * fontset.c (Finternal_char_font, Ffontset_info): Remove vars
1793 that are set but not used.
1794
8664db06 1795 * xfns.c (make_invisible_cursor): Don't return garbage
03733ee7 1796 if XCreateBitmapFromData fails (Bug#8410).
8664db06 1797
6abdaa4a
PE
1798 * xselect.c (x_get_local_selection, x_handle_property_notify):
1799 Remove vars that are set but not used.
1800
0ce7538d 1801 * xfns.c (x_create_tip_frame): Remove var that is set but not used.
6abdaa4a 1802 (make_invisible_cursor): Initialize a possibly-uninitialized variable.
0ce7538d 1803
9ae848fc
PE
1804 * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]:
1805 Remove var that is set but not used.
0b918413
PE
1806 (scroll_bar_windows_size): Now size_t, not int.
1807 (x_send_scroll_bar_event): Use size_t, not int, for sizes.
1808 Check for overflow.
9ae848fc 1809
a5a62657
PE
1810 * xfaces.c (realize_named_face): Remove vars that are set but not used.
1811 (map_tty_color) [!defined MSDOS]: Likewise.
1812
5c5cdd39
PE
1813 * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
1814
66ebf983
PE
1815 * coding.c: Remove vars that are set but not used.
1816 (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused.
1817 All callers changed.
1818 (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule):
1819 (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5):
1820 (decode_coding_charset): Remove vars that are set but not used.
1821
1be4d761
PE
1822 * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var
1823 that is set but not used.
1824
47553fa8
PE
1825 * print.c (print_object): Remove var that is set but not used.
1826
1f7196bf 1827 Replace 2 copies of readlink code with 1 gnulib version (Bug#8401).
d1fdcab7
PE
1828 The gnulib version avoids calling malloc in the usual case,
1829 and on 64-bit hosts doesn't have some arbitrary 32-bit limits.
1830 * fileio.c (Ffile_symlink_p): Use emacs_readlink.
1831 * filelock.c (current_lock_owner): Likewise.
1832 * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function.
1833 * sysdep.c: Include allocator.h, careadlinkat.h.
1834 (emacs_no_realloc_allocator): New static constant.
1835 (emacs_readlink): New function.
fdb61804
PE
1836 * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on
1837 ../lib/careadlinkat.h.
d1fdcab7 1838
f84c17c7
SM
18392011-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
1840
1841 * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the
1842 first non-nil return value).
1843
ef3862ad
JD
18442011-04-03 Jan Djärv <jan.h.d@swipnet.se>
1845
1846 * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6
1847 if not defined (Bug#8403).
1848
376a7006
JB
18492011-04-02 Juanma Barranquero <lekktu@gmail.com>
1850
1851 * xdisp.c (display_count_lines): Remove parameter `start',
1852 unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
1853 (get_char_face_and_encoding): Remove parameter `multibyte_p',
1854 unused since 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
1855 (fill_stretch_glyph_string): Remove parameters `row' and `area',
1856 unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk
1857 and thereabouts. All callers changed.
1858 (get_per_char_metric): Remove parameter `f', unused since
1859 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
1860
6ca3801d
JM
18612011-04-02 Jim Meyering <meyering@redhat.com>
1862
1863 do not dereference NULL upon failed strdup
1864 * nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup.
1865 (ns_get_family): Likewise.
1866
d8e2b5ba
JB
18672011-04-02 Juanma Barranquero <lekktu@gmail.com>
1868
1869 * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment.
1870
8c74fcbd
JD
18712011-04-02 Jan Djärv <jan.h.d@swipnet.se>
1872
1873 * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or
1874 later (Bug#8403).
1875
7200d79c
SM
18762011-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
1877
03408648 1878 Add lexical binding.
7200d79c 1879
03408648
SM
1880 * window.c (Ftemp_output_buffer_show): New fun.
1881 (Fsave_window_excursion):
1882 * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
1883
1884 * lread.c (lisp_file_lexically_bound_p): New function.
1885 (Fload): Bind Qlexical_binding.
1886 (readevalloop): Remove `evalfun' arg.
1887 Bind Qinternal_interpreter_environment.
1888 (Feval_buffer): Bind Qlexical_binding.
1889 (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
1890 Mark as dynamic.
1891 (syms_of_lread): Declare `lexical-binding'.
1892
1893 * lisp.h (struct Lisp_Symbol): New field `declared_special'.
1894
1895 * keyboard.c (eval_dyn): New fun.
1896 (menu_item_eval_property): Use it.
ca105506
SM
1897
1898 * image.c (parse_image_spec): Use Ffunctionp.
ca105506 1899
03408648
SM
1900 * fns.c (concat, mapcar1): Accept byte-code-functions.
1901
1902 * eval.c (Fsetq): Handle lexical vars.
1903 (Fdefun, Fdefmacro, Ffunction): Make closures when needed.
1904 (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
1905 (FletX, Flet): Obey lexical binding.
1906 (Fcommandp): Handle closures.
1907 (Feval): New `lexical' arg.
1908 (eval_sub): New function extracted from Feval. Use it almost
1909 everywhere where Feval was used. Look up vars in lexical env.
1910 Handle closures.
1911 (Ffunctionp): Move from subr.el.
1912 (Ffuncall): Handle closures.
1913 (apply_lambda): Remove `eval_flags'.
1914 (funcall_lambda): Handle closures and new byte-code-functions.
1915 (Fspecial_variable_p): New function.
1916 (syms_of_eval): Initialize the Vinternal_interpreter_environment var,
1917 but without exporting it to Lisp.
23aba0ea 1918
23aba0ea 1919 * doc.c (Fdocumentation, store_function_docstring):
03408648 1920 * data.c (Finteractive_form): Handle closures.
23aba0ea 1921
03408648
SM
1922 * callint.c (Fcall_interactively): Preserve lexical-binding mode for
1923 interactive spec.
ba83908c 1924
03408648
SM
1925 * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New
1926 byte-codes.
1927 (exec_byte_code): New function extracted from Fbyte_code to handle new
1928 calling convention for byte-code-functions. Add new byte-codes.
ba83908c 1929
03408648 1930 * buffer.c (defvar_per_buffer): Set new `declared_special' field.
e2abe5a1 1931
03408648 1932 * alloc.c (Fmake_symbol): Init new `declared_special' field.
e2abe5a1 1933
e2abce01
JB
19342011-03-31 Juanma Barranquero <lekktu@gmail.com>
1935
1936 * xdisp.c (redisplay_internal): Fix prototype.
1937
63696a73 19382011-03-31 Eli Zaretskii <eliz@gnu.org>
09725d26 1939
63696a73
EZ
1940 * xdisp.c (SCROLL_LIMIT): New macro.
1941 (try_scrolling): Use it when setting scroll_limit. Limit
1942 scrolling to 100 screen lines.
1943 (redisplay_window): Even when falling back on "recentering",
1944 position point in the window according to scroll-conservatively,
1945 scroll-margin, and scroll-*-aggressively variables. (Bug#6671)
1946
1947 (try_scrolling): When point is above the window, allow searching
1948 as far as scroll_max, or one screenful, to compute vertical
1949 distance from PT to the scroll margin position. This prevents
1950 try_scrolling from unnecessarily failing when
1951 scroll-conservatively is set to a value slightly larger than the
1952 window height. Clean up the case of PT below the margin at bottom
1953 of window: scroll_max can no longer be INT_MAX. When aggressive
1954 scrolling is in use, don't let point enter the opposite scroll
1955 margin as result of the scroll.
1956 (syms_of_xdisp) <scroll-conservatively>: Document the
09725d26
EZ
1957 threshold of 100 lines for never-recentering scrolling.
1958
e4cc2dfc
JB
19592011-03-31 Juanma Barranquero <lekktu@gmail.com>
1960
1961 * dispextern.h (move_it_by_lines):
1962 * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused
1963 since 2000-12-29T14:24:09Z!gerd@gnu.org. All callers changed.
1964 (message_log_check_duplicate): Remove parameters `prev_bol' and
1965 `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
1966 (redisplay_internal): Remove parameter `preserve_echo_area',
1967 unused since 1999-07-21T21:43:52Z!gerd@gnu.org. All callers changed.
1968
1969 * indent.c (Fvertical_motion):
1970 * window.c (window_scroll_pixel_based, Frecenter):
1971 Don't pass `need_y_p' to `move_it_by_lines'.
1972
1c470562
SM
19732011-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
1974
44f230aa
SM
1975 * eval.c (struct backtrace): Don't cheat with negative numbers, but do
1976 steal a few bits to be more compact.
1977 (interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace):
1978 Remove unneeded casts.
1979
1c470562
SM
1980 * bytecode.c (Fbyte_code): CAR and CDR can GC.
1981
888adce9
ZK
19822011-03-30 Zachary Kanfer <zkanfer@gmail.com> (tiny change)
1983
1984 * keyboard.c (Fexecute_extended_command): Do log the "suggest key
1985 binding" message (bug#7967).
1986
f838ed7b
PE
19872011-03-30 Paul Eggert <eggert@cs.ucla.edu>
1988
77861b95
PE
1989 Fix more problems found by GCC 4.6.0's static checks.
1990
de6dbc14
PE
1991 * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]:
1992 Remove unused local var.
1993
f838ed7b
PE
1994 * editfns.c (Fmessage_box): Remove unused local var.
1995
792c7b2b
PE
1996 * xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs):
1997 (note_mode_line_or_margin_highlight, note_mouse_highlight):
1998 Omit unused local vars.
c499e557 1999 * window.c (shrink_windows): Omit unused local var.
b01a1c29 2000 * menu.c (digest_single_submenu): Omit unused local var.
0bc32927
PE
2001 * dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]:
2002 Omit unused local var.
2003
ba0165e1
PE
2004 * keyboard.c (parse_modifiers_uncached, parse_modifiers):
2005 Don't assume string length fits in int.
32ad8845 2006 (keyremap_step, read_key_sequence): Use size_t for sizes.
48011560 2007 (read_key_sequence): Don't check last_real_key_start redundantly.
ba0165e1 2008
3c59b4c9
PE
2009 * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA
2010 instead of alloca (Bug#8344).
2011
a3eed478 2012 * eval.c (Fbacktrace): Don't assume nargs fits in int.
5d5d959d 2013 (Fbacktrace_frame): Don't assume nframes fits in int.
a3eed478 2014
eb4d412d
PE
2015 * syntax.c (scan_sexps_forward): Avoid pointer wraparound.
2016
1658b401
PE
2017 * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow
2018 concerns.
2019
2020 * term.c (produce_glyphless_glyph): Remove unnecessary test.
2021
2022 * cm.c (calccost): Turn while-do into do-while, for clarity.
44f730c8 2023
9a2c6e05
PE
2024 * keyboard.c (syms_of_keyboard): Use the same style as later
2025 in this function when indexing through an array. This also
2026 works around GCC bug 48267.
2027
03d0a109
PE
2028 * image.c (tiff_load): Fix off-by-one image count (Bug#8336).
2029
44f730c8
PE
2030 * xselect.c (x_check_property_data): Return correct size (Bug#8335).
2031
fe75f926
PE
2032 * chartab.c (sub_char_table_ref_and_range): Redo for slight
2033 efficiency gain, and to bypass a gcc -Wstrict-overflow warning.
2034
ffa8c828
PE
2035 * keyboard.c, keyboard.h (num_input_events): Now size_t.
2036 This avoids undefined behavior on integer overflow, and is a bit
2037 more convenient anyway since it is compared to a size_t variable.
2038
c5101a77
PE
2039 Variadic C functions now count arguments with size_t, not int.
2040 This avoids an unnecessary limitation on 64-bit machines, which
2041 caused (substring ...) to crash on large vectors (Bug#8344).
2042 * lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int.
2043 (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise.
77861b95 2044 All variadic functions and their callers changed accordingly.
c5101a77
PE
2045 (struct gcpro.nvars): Now size_t, not int. All uses changed.
2046 * data.c (arith_driver, float_arith_driver): Likewise.
2047 * editfns.c (general_insert_function): Likewise.
2048 * eval.c (struct backtrace.nargs, interactive_p)
2049 (internal_condition_case_n, run_hook_with_args, apply_lambda)
2050 (funcall_lambda, mark_backtrace): Likewise.
2051 * fns.c (concat): Likewise.
2052 * frame.c (x_set_frame_parameters): Likewise.
2053 * fns.c (get_key_arg): Now accepts and returns size_t, and returns
2054 0 if not found, not -1. All callers changed.
2055
dd3f25f7
PE
2056 * alloc.c (garbage_collect): Don't assume stack size fits in int.
2057 (stack_copy_size): Now size_t, not int.
2058 (stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0.
2059
461c2ab9
JB
20602011-03-28 Juanma Barranquero <lekktu@gmail.com>
2061
2062 * coding.c (encode_designation_at_bol): Remove parameter `charbuf_end',
2063 unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
2064 All callers changed.
2065
2066 * lisp.h (multibyte_char_to_unibyte):
2067 * character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl',
2068 unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
2069 * character.h (CHAR_TO_BYTE8):
2070 * cmds.c (internal_self_insert):
2071 * editfns.c (general_insert_function):
2072 * keymap.c (push_key_description):
2073 * search.c (Freplace_match):
2074 * xdisp.c (message_dolog, set_message_1): All callers changed.
2075
f6d62986
SM
20762011-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
2077
2078 * keyboard.c (safe_run_hook_funcall): New function.
2079 (safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error,
2080 don't set the hook to nil, but remove the offending function instead.
2081 (Qcommand_hook_internal): Remove, unused.
2082 (syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define
2083 Vcommand_hook_internal.
2084
2085 * eval.c (enum run_hooks_condition): Remove.
2086 (funcall_nil, funcall_not): New functions.
2087 (run_hook_with_args): Call each function through a `funcall' argument.
2088 Remove `cond' argument, now redundant.
2089 (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success)
2090 (Frun_hook_with_args_until_failure): Adjust accordingly.
2091 (run_hook_wrapped_funcall, Frun_hook_wrapped): New functions.
2092
1db5b1ad
JB
20932011-03-28 Juanma Barranquero <lekktu@gmail.com>
2094
2095 * dispextern.h (string_buffer_position): Remove declaration.
2096
2097 * print.c (strout): Remove parameter `multibyte', unused since
2098 1999-08-21T19:30:21Z!gerd@gnu.org. All callers changed.
2099
2100 * search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
2101 never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
2102 All callers changed.
2103
2104 * w32.c (_wsa_errlist): Use braces for struct initializers.
2105
2106 * xdisp.c (string_buffer_position_lim): Remove parameter `w',
2107 never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
2108 All callers changed.
2109 (string_buffer_position): Likewise. Also, make static (it's never
2110 used outside xdisp.c).
2111 (cursor_row_p): Remove parameter `w', unused since
2112 2000-10-17T16:08:57Z!gerd@gnu.org. All callers changed.
2113 (decode_mode_spec): Remove parameter `precision', introduced during
2114 Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
2115 All callers changed.
2116
5ffb62aa
JD
21172011-03-27 Jan Djärv <jan.h.d@swipnet.se>
2118
2119 * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.
2120
461c2ab9 21212011-03-27 Anders Lindgren <andlind@gmail.com>
f0a1382a
JD
2122
2123 * nsterm.m (ns_menu_bar_is_hidden): New variable.
2124 (ns_constrain_all_frames, ns_menu_bar_should_be_hidden)
2125 (ns_update_auto_hide_menu_bar): New functions.
2126 (ns_update_begin): Call ns_update_auto_hide_menu_bar.
2127 (applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and
2128 ns_constrain_all_frames.
2129 (constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden.
2130 (syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil.
2131
5c380ffb
JD
21322011-03-27 Jan Djärv <jan.h.d@swipnet.se>
2133
2134 * nsmenu.m (runDialogAt): Remove argument to timer_check.
2135
9af30bdf
GM
21362011-03-27 Glenn Morris <rgm@gnu.org>
2137
2138 * syssignal.h: Replace RETSIGTYPE with void.
2139 * atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c:
2140 * keyboard.h, lisp.h, process.c, sysdep.c, xterm.c:
2141 Replace SIGTYPE with void everywhere.
2142 * s/usg5-4-common.h (SIGTYPE): Remove definition.
2143 * s/template.h (SIGTYPE): Remove commented out definition.
2144
e2abce01
JB
21452011-03-26 Eli Zaretskii <eliz@gnu.org>
2146
2147 * xdisp.c (redisplay_window): Don't check buffer's clip_changed
2148 flag as a prerequisite for invoking try_scrolling. (Bug#6671)
2149
f868cd8a
JB
21502011-03-26 Juanma Barranquero <lekktu@gmail.com>
2151
59eb0929
JB
2152 * w32.c (read_unc_volume): Use parameter `henum', instead of
2153 global variable `wget_enum_handle'.
2154
2155 * keymap.c (describe_vector): Remove parameters `indices' and
2156 `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org.
2157 (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'.
2158
f868cd8a
JB
2159 * keyboard.h (timer_check, show_help_echo): Remove unused parameters.
2160
2161 * keyboard.c (timer_check): Remove parameter `do_it_now',
2162 unused since 1996-04-12T06:01:29Z!rms@gnu.org.
2163 (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo',
2164 unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca.
2165
2166 * keyboard.c (read_char):
2167 * w32menu.c (w32_menu_display_help):
2168 * xmenu.c (show_help_event, menu_help_callback):
2169 Adjust calls to `show_help_echo'.
2170
2171 * gtkutil.c (xg_maybe_add_timer):
2172 * keyboard.c (readable_events):
2173 * process.c (wait_reading_process_output):
2174 * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.
2175
2176 * insdel.c (adjust_markers_gap_motion):
2177 Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org.
2178 (gap_left, gap_right): Don't call it.
2179
2ecf6fdb
CY
21802011-03-25 Chong Yidong <cyd@stupidchicken.com>
2181
2182 * xdisp.c (handle_fontified_prop): Discard changes to clip_changed
2183 incurred during fontification.
2184
6b1f9ba4
JB
21852011-03-25 Juanma Barranquero <lekktu@gmail.com>
2186
2187 * buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
2188 (DEFVAR_PER_BUFFER): Don't pass it.
2189
2190 * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
2191 (scrolling_window): Don't pass it.
2192
0f4a96b5
JB
21932011-03-25 Juanma Barranquero <lekktu@gmail.com>
2194
2195 * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
2196
2197 * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len'
2198 and `suffix'.
2199 (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration
2200 of variables specific to SELinux and computation of `encoded_absname'.
2201
2202 * image.c (XPutPixel): Remove unused variable `height'.
2203
2204 * keyboard.c (make_lispy_event): Remove unused variable `hpos'.
2205
2206 * unexw32.c (get_section_info): Remove unused variable `section'.
2207
2208 * w32.c (stat): Remove unused variables `drive_root' and `devtype'.
2209 (system_process_attributes): Remove unused variable `sess'.
2210 (sys_read): Remove unused variable `err'.
2211
2212 * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef.
2213 (w32_wnd_proc): Remove unused variable `isdead'.
2214 (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef.
2215 (Fx_server_max_request_size): Remove unused variable `dpyinfo'.
2216 (x_create_tip_frame): Remove unused variable `tem'.
2217
2218 * w32inevt.c (w32_console_read_socket):
2219 Remove unused variable `no_events'.
2220
2221 * w32term.c (x_draw_composite_glyph_string_foreground):
2222 Remove unused variable `width'.
2223
1149507c
JB
22242011-03-24 Juanma Barranquero <lekktu@gmail.com>
2225
2226 * w32term.c (x_set_glyph_string_clipping):
2227 Don't pass uninitialized region to CombineRgn.
2228
9c88f339
JB
22292011-03-23 Juanma Barranquero <lekktu@gmail.com>
2230
2231 * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
2232 (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
2233 (Fx_close_connection): Remove unused variable `i'.
2234
2235 * w32font.c (w32font_draw): Return number of glyphs.
2236 (w32font_open_internal): Remove unused variable `i'.
2237 (w32font_driver): Add missing initializer.
2238
2239 * w32menu.c (utf8to16): Remove unused variable `utf16'.
2240 (fill_in_menu): Remove unused variable `items_added'.
2241
2242 * w32term.c (last_mouse_press_frame): Remove static global variable.
2243 (w32_clip_to_row): Remove unused variable `f'.
2244 (x_delete_terminal): Remove unused variable `i'.
2245
2246 * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
2247 (NOTHING): Remove unused static global variable.
2248 (uniscribe_check_otf): Remove unused variable `table'.
2249 (uniscribe_font_driver): Add missing initializers.
2250
dee091a3
JD
22512011-03-23 Julien Danjou <julien@danjou.info>
2252
2253 * term.c (Fsuspend_tty, Fresume_tty):
2254 * minibuf.c (read_minibuf, run_exit_minibuf_hook):
2255 * window.c (temp_output_buffer_show):
2256 * insdel.c (signal_before_change):
2257 * frame.c (Fhandle_switch_frame):
2258 * fileio.c (Fdo_auto_save):
2259 * emacs.c (Fkill_emacs):
2260 * editfns.c (save_excursion_restore):
2261 * cmds.c (internal_self_insert):
2262 * callint.c (Fcall_interactively):
2263 * buffer.c (Fkill_all_local_variables):
2264 * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
2265 Use Frun_hooks.
0f4a96b5 2266 (command_loop_1): Use Frun_hooks. Call safe_run_hooks
dee091a3
JD
2267 unconditionnaly since it does the check itself.
2268
2c520ab5 22692011-03-23 Paul Eggert <eggert@cs.ucla.edu>
f0641eff 2270
c9c49752
PE
2271 Fix more problems found by GCC 4.5.2's static checks.
2272
8abc3f12
PE
2273 * coding.c (encode_coding_raw_text): Avoid unnecessary test
2274 the first time through the loop, since we know p0 < p1 then.
2275 This also avoids a gcc -Wstrict-overflow warning.
2276
a2d26660
PE
2277 * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow
2278 leading to a memory leak, possible in functions like
2279 load_charset_map_from_file that can allocate an unbounded number
b12ef411 2280 of objects (Bug#8318).
a2d26660 2281
916c72e9
PE
2282 * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes
2283 that could (at least in theory) be that large.
2284
19ab8a18
PE
2285 * xdisp.c (message_log_check_duplicate): Return unsigned long, not int.
2286 This is less likely to overflow, and avoids undefined behavior if
2287 overflow does occur. All callers changed. Use strtoul to scan
2288 for the unsigned long integer.
b7cbbd6f
PE
2289 (pint2hrstr): Simplify and tune code slightly.
2290 This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow.
19ab8a18 2291
f0641eff
PE
2292 * scroll.c (do_scrolling): Work around GCC bug 48228.
2293 See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228>.
2294
7f650bb9
PE
2295 * frame.c (Fmodify_frame_parameters): Simplify loop counter.
2296 This also avoids a warning with gcc -Wstrict-overflow.
39f5e519
PE
2297 (validate_x_resource_name): Simplify count usage.
2298 This also avoids a warning with gcc -Wstrict-overflow.
7f650bb9 2299
37dd57d1
PE
2300 * fileio.c (Fcopy_file): Report error if fchown or fchmod
2301 fail (Bug#8306).
81e56e61 2302
699979fc 2303 * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303).
dc1ca6a8 2304
401bf9b4
PE
2305 * process.c (Fmake_network_process): Use socklen_t, not int,
2306 where POSIX says socklen_t is required in portable programs.
2307 This fixes a porting bug on hosts like 64-bit HP-UX, where
591b2973 2308 socklen_t is wider than int (Bug#8277).
401bf9b4
PE
2309 (Fmake_network_process, server_accept_connection):
2310 (wait_reading_process_output, read_process_output):
2311 Likewise.
2312
b93aacde
PE
2313 * process.c: Rename or move locals to avoid shadowing.
2314 (list_processes_1, Fmake_network_process):
2315 (read_process_output_error_handler, exec_sentinel_error_handler):
2316 Rename or move locals.
4dc343ee 2317 (Fmake_network_process): Define label "retry_connect" only if needed.
0da49335 2318 (Fnetwork_interface_info): Fix pointer signedness.
f990b4e5 2319 (process_send_signal): Add cast to avoid pointer signedness problem.
7b808126 2320 (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros.
c939f91b 2321 (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298).
b93aacde 2322
af8a867c 2323 Make tparam.h and terminfo.c consistent.
44f230aa
SM
2324 * cm.c (tputs, tgoto, BC, UP): Remove extern decls.
2325 Include tparam.h instead, since it declares them.
af8a867c
PE
2326 * cm.h (PC): Remove extern decl; tparam.h now does this.
2327 * deps.mk (cm.o, terminfo.o): Depend on tparam.h.
2328 * terminfo.c: Include tparam.h, to check interfaces.
2329 (tparm): Make 1st arg a const pointer in decl. Put it at top level.
2330 (tparam): Adjust signature to match interface in tparam.h;
2331 this removes some undefined behavior. Check that outstring and len
2332 are zero, which they always are with Emacs.
2333 * tparam.h (PC, BC, UP): New extern decls.
2334
0248044d 2335 * xftfont.c (xftfont_shape): Now static, and defined only if needed.
001a7ab4 2336 (xftfont_open): Rename locals to avoid shadowing.
0248044d 2337
8ff096c1 2338 * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness.
a00924bb
PE
2339 (ftfont_otf_capability, ftfont_shape): Omit decls if not needed.
2340 (OTF_TAG_SYM): Omit macro if not needed.
e932860f 2341 (ftfont_list): Remove unused local.
49eaafba
PE
2342 (get_adstyle_property, ftfont_pattern_entity):
2343 (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point):
2344 Rename locals to avoid shadowing.
8ff096c1 2345
e2be39f6
PE
2346 * xfont.c (xfont_list_family): Mark var as initialized.
2347
c9735e30
PE
2348 * xml.c (make_dom): Now static.
2349
8f5201ae
PE
2350 * composite.c (composition_compute_stop_pos): Rename local to
2351 avoid shadowing.
b246f932
PE
2352 (composition_reseat_it): Remove unused locals.
2353 (find_automatic_composition, composition_adjust_point): Likewise.
80e079b2 2354 (composition_update_it): Mark var as initialized.
11b61122
PE
2355 (find_automatic_composition): Mark vars as initialized,
2356 with a FIXME (Bug#8290).
8f5201ae 2357
760fbc2c
PE
2358 character.h: Rename locals to avoid shadowing.
2359 * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE):
2360 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE):
2361 (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS):
2362 (BUF_DEC_POS): Be more systematic about renaming local temporaries
2363 to avoid shadowing.
2364
ff08eb85
PE
2365 * textprop.c (property_change_between_p): Remove; unused.
2366
fc7bf025
PE
2367 * intervals.c (interval_start_pos): Now static.
2368
235d7abc
PE
2369 * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else".
2370
44f230aa
SM
2371 * atimer.c (start_atimer, append_atimer_lists, set_alarm):
2372 Rename locals to avoid shadowing.
3e7d6594 2373
50060332
PE
2374 * sound.c (wav_play, au_play, Fplay_sound_internal):
2375 Fix pointer signedness.
d01f234b 2376 (alsa_choose_format): Remove unused local var.
c83b8872
PE
2377 (wav_play): Initialize a variable to 0, to prevent undefined
2378 behavior (Bug#8278).
50060332 2379
c4fc4e30
PE
2380 * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing.
2381
918436ed
PE
2382 * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes.
2383
c939f91b
PE
2384 * callproc.c (Fcall_process): Use 'volatile' to avoid vfork
2385 clobbering (Bug#8298).
b9c7f648
PE
2386 * sysdep.c (sys_subshell): Likewise.
2387 Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out.
7e9123a2 2388
6bd8c144
PE
2389 * lisp.h (child_setup): Now NO_RETURN unless DOS_NT.
2390 This should get cleaned up, so that child_setup has the
2391 same signature on all platforms.
2392
7710357c 2393 * callproc.c (call_process_cleanup): Now static.
cb1d0ef7 2394 (relocate_fd): Rename locals to avoid shadowing.
7710357c 2395
c59da222
CY
23962011-03-22 Chong Yidong <cyd@stupidchicken.com>
2397
2398 * xterm.c (x_clear_frame): Remove XClearWindow call. This appears
2399 not to be necessary, and produces flickering.
2400
66b87493
GM
24012011-03-20 Glenn Morris <rgm@gnu.org>
2402
2403 * config.in: Remove file.
2404
45b6f6d5
JB
24052011-03-20 Juanma Barranquero <lekktu@gmail.com>
2406
2407 * minibuf.c (Vcompleting_read_function): Don't declare, global variables
2408 are now in src/globals.h.
2409 (syms_of_minibuf): Remove spurious & from previous change.
2410
3ec03f7e
LL
24112011-03-20 Leo <sdl.web@gmail.com>
2412
2413 * minibuf.c (completing-read-function): New variable.
2414 (completing-read-default): Rename from completing-read.
2415 (completing-read): Call completing-read-function.
2416
b14e3e21
CY
24172011-03-19 Juanma Barranquero <lekktu@gmail.com>
2418
2419 * xfaces.c (Fx_load_color_file):
2420 Read color file from absolute filename (bug#8250).
2421
f2b726e6
JB
24222011-03-19 Juanma Barranquero <lekktu@gmail.com>
2423
2424 * makefile.w32-in: Update dependencies.
2425
09f6ff02
EZ
24262011-03-17 Eli Zaretskii <eliz@gnu.org>
2427
2428 * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h.
2429
29a6015a
PE
24302011-03-17 Paul Eggert <eggert@cs.ucla.edu>
2431
a3a6c54e
PE
2432 Fix more problems found by GCC 4.5.2's static checks.
2433
b766f867
PE
2434 * process.c (make_serial_process_unwind, send_process_trap):
2435 (sigchld_handler): Now static.
2436
be02381c
PE
2437 * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars.
2438 That way, the code declares only the vars that it needs.
2439 * s/aix4-2.h (PTY_ITERATION): Declare iteration vars.
2440 * s/cygwin.h (PTY_ITERATION): Likewise.
2441 * s/darwin.h (PTY_ITERATION): Likewise.
2442 * s/gnu-linux.h (PTY_ITERATION): Likewise.
2443
57048744
PE
2444 * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling.
2445 * process.c (allocate_pty): Don't declare stb unless it's needed.
2446
7914961c 2447 * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else".
615f2d59
PE
2448 (CONSTANTLIM): Remove; unused.
2449 (METER_CODE, Bscan_buffer, Bread_char, Bset_mark):
2450 Define only if needed.
7914961c 2451
b3967b18
PE
2452 * unexelf.c (unexec): Name an expression,
2453 to avoid gcc -Wbad-function-cast warning.
9ae71512
PE
2454 Use a different way to cause a compilation error if anyone uses
2455 n rather than nn, a way that does not involve shadowing.
73366a00 2456 (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused.
b3967b18 2457
29a6015a
PE
2458 * deps.mk (unexalpha.o): Remove; unused.
2459
43cfc33e 2460 New file unexec.h, the (simple) interface for unexec (Bug#8267).
7feda0d2 2461 * unexec.h: New file.
ce701a33
PE
2462 * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
2463 (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
2464 Depend on unexec.h.
2465 * emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
2466 * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
2467 * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
381259ef 2468 Change as necessary to match prototype in unexec.h.
ce701a33 2469
01f44d5a
PE
2470 * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid
2471 shadowing.
4f63c6bb 2472 (back_comment, skip_chars): Mark vars as initialized.
01f44d5a 2473
a6670b0b
PE
2474 * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS):
2475 Rename locals to avoid shadowing.
2476
cef2010d 2477 * lread.c (read1): Rewrite so as not to use empty "else".
0902fe45 2478 (Fload, readevalloop, read1): Rename locals to avoid shadowing.
cef2010d 2479
d4d7173a
PE
2480 * print.c (Fredirect_debugging_output): Fix pointer signedess.
2481
f08b802a
PE
2482 * lisp.h (debug_output_compilation_hack): Add decl here, to avoid
2483 warning when compiling print.c.
2484
3ddb0639
PE
2485 * font.c (font_unparse_fcname): Abort in an "impossible" situation
2486 instead of using an uninitialized var.
5ad03b97 2487 (font_sort_entities): Mark var as initialized.
3ddb0639 2488
170a2692
PE
2489 * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing.
2490
e663c700
PE
2491 * font.c (font_unparse_xlfd): Don't mix pointers to variables with
2492 pointers to constants.
89bc529a 2493 (font_parse_fcname): Remove unused vars.
7b81e2d0 2494 (font_delete_unmatched): Now static.
ea838e10 2495 (font_get_spec): Remove; unused.
13a547c6
PE
2496 (font_style_to_value, font_prop_validate_style, font_unparse_fcname):
2497 (font_update_drivers, Ffont_get_glyphs, font_add_log):
2498 Rename or move locals to avoid shadowing.
e663c700 2499
2a80c887 2500 * fns.c (require_nesting_list, require_unwind): Now static.
612f56df 2501 (Ffillarray): Rename locals to avoid shadowing.
2a80c887 2502
1384fa33 2503 * floatfns.c (domain_error2): Define only if needed.
a885e2ed 2504 (Ffrexp, Fldexp): Rename locals to avoid shadowing.
1384fa33 2505
8b2c52e9
PE
2506 * alloc.c (mark_backtrace): Move decl from here ...
2507 * lisp.h: ... to here, so that it can be checked.
2508
475545b5 2509 * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static.
d28a2170 2510 (Fdefvar): Rewrite so as not to use empty "else".
cfcbfb1a
PE
2511 (lisp_indirect_variable): Name an expression,
2512 to avoid gcc -Wbad-function-cast warning.
1faed8ae 2513 (Fdefvar): Rename locals to avoid shadowing.
475545b5 2514
b1349114 2515 * callint.c (quotify_arg, quotify_args): Now static.
a3e8cbda 2516 (Fcall_interactively): Rename locals to avoid shadowing.
b0e80955 2517 Use const pointer when appropriate.
b1349114 2518
a2928364
PE
2519 * lisp.h (get_system_name, get_operating_system_release):
2520 Move decls here, to check interfaces.
2521 * process.c (get_operating_system_release): Move decl to lisp.h.
2522 * xrdb.c (get_system_name): Likewise.
63c5d10b
PE
2523 * editfns.c (init_editfns, Fuser_login_name, Fuser_uid):
2524 (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts,
2525 some of which prompt warnings from gcc -Wbad-function-cast.
545b49b4
PE
2526 (Fformat_time_string, Fencode_time, Finsert_char):
2527 (Ftranslate_region_internal, Fformat):
2528 Rename or remove local vars to avoid shadowing.
9710023e 2529 (Ftranslate_region_internal): Mark var as initialized.
63c5d10b 2530
a415e694
PE
2531 * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to
2532 avoid shadowing.
2533
8ef4622d
PE
2534 * lisp.h (eassert): Check that the argument compiles, even if
2535 ENABLE_CHECKING is not defined.
2536
946f9a5b
PE
2537 * data.c (Findirect_variable): Name an expression, to avoid
2538 gcc -Wbad-function-cast warning.
112396d6 2539 (default_value, arithcompare, arith_driver, arith_error): Now static.
b9b84fa9 2540 (store_symval_forwarding): Rename local to avoid shadowing.
44f230aa
SM
2541 (Fmake_variable_buffer_local, Fmake_local_variable):
2542 Mark variables as initialized.
52746918 2543 (do_blv_forwarding, do_symval_forwarding): Remove; unused.
946f9a5b 2544
e5aab7e7 2545 * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST.
ae35e756
PE
2546 (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect):
2547 Rename locals to avoid shadowing.
dff45157
PE
2548 (mark_stack): Move local variables into the #ifdef region where
2549 they're used.
7bc26fdb
PE
2550 (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if
2551 ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not
2552 needed otherwise.
2553 (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS.
2554 (GC_STRING_CHARS): Remove; not used.
d40d4be1 2555 (Fmemory_limit): Cast sbrk's returned value to char *.
ae35e756 2556
e5aab7e7
PE
2557 * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this
2558 avoids undefined behavior in theory.
2559
4da60324
PE
2560 * regex.c (IF_LINT): Add defn, for benefit of ../lib-src.
2561
88043301
PE
2562 Use functions, not macros, for up- and down-casing (Bug#8254).
2563 * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
2564 (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove. All callers changed
2565 to use the following functions instead of these macros.
2566 (downcase): Adjust to lack of DOWNCASE_TABLE. Return int, not
2567 EMACS_INT, since callers assume the returned value fits in int.
2568 (upcase1): Likewise, for UPCASE_TABLE.
2569 (uppercasep, lowercasep, upcase): New static inline functions.
0da09c43 2570 * editfns.c (Fchar_equal): Remove no-longer-needed workaround for
db69b0cd 2571 the race-condition problem in the old DOWNCASE.
88043301 2572
19ed5445
PE
2573 * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT):
2574 Rename locals to avoid shadowing.
2575 (regex_compile, re_match_2_internal): Move locals to avoid shadowing.
abbd1bcf
PE
2576 (regex_compile, re_search_2, re_match_2_internal):
2577 Remove unused local vars.
952db0d7
PE
2578 (FREE_VAR): Rewrite so as not to use empty "else",
2579 which gcc can warn about.
da053e48 2580 (regex_compile, re_match_2_internal): Mark locals as initialized.
b313f9d8
PE
2581 (RETALLOC_IF): Define only if needed.
2582 (WORDCHAR_P): Likewise. This one is never needed, but is used
2583 only in a comment talking about a compiler bug, so put inside
2584 the #if 0 of that comment.
2585 (CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK):
2586 (PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING):
2587 Remove; unused.
19ed5445 2588
1f3561e4 2589 * search.c (boyer_moore): Rename locals to avoid shadowing.
76ef09b7
PE
2590 * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE):
2591 (PREV_CHAR_BOUNDARY): Likewise.
1f3561e4 2592
ded6f8f7
PE
2593 * search.c (simple_search): Remove unused var.
2594
dbd37a95
PE
2595 * dired.c (compile_pattern): Move decl from here ...
2596 * lisp.h: ... to here, so that it can be checked.
2597 (struct re_registers): New forward decl.
2598
7e47afad
PE
2599 * character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing.
2600
85f24f61
PE
2601 * indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width.
2602 All uses changed.
2603 (MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion):
2604 Rename locals to avoid shadowing.
5671df8f 2605 (Fvertical_motion): Mark locals as initialized.
85f24f61 2606
181aa2be 2607 * casefiddle.c (casify_object, casify_region): Now static.
e45a141a 2608 (casify_region): Mark local as initialized.
181aa2be 2609
930d429c
PE
2610 * cmds.c (internal_self_insert): Rename local to avoid shadowing.
2611
7082eac6
PE
2612 * lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR):
2613 New macros, so that the caller can use some names other than
2614 gcpro1, gcpro2, etc.
2615 (GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms
2616 of the new macros.
2617 (GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second
2618 argument, for consistency with GCPRO2_VAR, etc: it is now the
2619 prefix of the variable, not the variable itself. All uses
2620 changed.
38b2c076
PE
2621 * dired.c (directory_files_internal, file_name_completion):
2622 Rename locals to avoid shadowing.
2623
15206ed9
PE
2624 Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254).
2625 An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in
2626 dired.c's scmp function, had undefined behavior.
2627 * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
2628 (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ...
2629 * buffer.h: ... to here, because these macros use current_buffer,
2630 and the new implementation with inline functions needs to have
2631 current_buffer in scope now, rather than later when the macros
2632 are used.
2633 (downcase, upcase1): New static inline functions.
2634 (DOWNCASE, UPCASE1): Reimplement using these functions.
2635 This avoids undefined behavior in expressions like
2636 DOWNCASE (x) == DOWNCASE (y), which previously suffered
2637 from race conditions in accessing the global variables
2638 case_temp1 and case_temp2.
2639 * casetab.c (case_temp1, case_temp2): Remove; no longer needed.
2640 * lisp.h (case_temp1, case_temp2): Remove their decls.
2641 * character.h (ASCII_CHAR_P): Move from here ...
2642 * lisp.h: ... to here, so that the inline functions mentioned
2643 above can use them.
2644
4a6bea26
PE
2645 * dired.c (directory_files_internal_unwind): Now static.
2646
f14b7e14
PE
2647 * fileio.c (file_name_as_directory, directory_file_name):
2648 (barf_or_query_if_file_exists, auto_save_error, auto_save_1):
2649 Now static.
2893f146
PE
2650 (file_name_as_directory): Use const pointers when appropriate.
2651 (Fexpand_file_name): Likewise. In particular, newdir might
2652 point at constant storage, so make it a const pointer.
fd4ead52 2653 (Fmake_directory_internal, Fread_file_name): Remove unused vars.
b14aac08
PE
2654 (Ffile_selinux_context, Fset_file_selinux_context): Fix pointer
2655 signedness issues.
f839df0c
PE
2656 (Fset_file_times, Finsert_file_contents, auto_save_error):
2657 Rename locals to avoid shadowing.
f14b7e14 2658
5716756e 2659 * minibuf.c (choose_minibuf_frame_1): Now static.
62137a95
PE
2660 (Ftry_completion, Fall_completions): Rename or remove locals
2661 to avoid shadowing.
5716756e 2662
b4c3046a
PE
2663 * marker.c (bytepos_to_charpos): Remove; unused.
2664
b45db522
PE
2665 * lisp.h (verify_bytepos, count_markers): New decls,
2666 so that gcc does not warn that these functions aren't declared.
2667
85876d07
PE
2668 * insdel.c (check_markers, make_gap_larger, make_gap_smaller):
2669 (reset_var_on_error, Fcombine_after_change_execute_1): Now static.
f0cb4a60 2670 (CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic.
40ef059e 2671 (copy_text): Remove unused local var.
85876d07 2672
03d78a21 2673 * filelock.c (within_one_second): Now static.
b3dd38ab 2674 (lock_file_1): Rename local to avoid shadowing.
03d78a21 2675
5df8f01b
PE
2676 * buffer.c (fix_overlays_before): Mark locals as initialized.
2677 (fix_start_end_in_overlays): Likewise. This function should be
2678 simplified by using pointers-to-pointers, but that's a different
2679 matter.
b1d876f1 2680 (switch_to_buffer_1): Now static.
8f54f30a
PE
2681 (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte):
2682 (report_overlay_modification): Rename locals to avoid shadowing.
c3bd59b5 2683
a70072c9 2684 * sysdep.c (system_process_attributes): Rename vars to avoid shadowing.
fbd02d7b 2685 Fix pointer signedness issue.
edced198
PE
2686 (sys_subshell): Mark local as volatile if checking for lint,
2687 to suppress a gcc -Wclobbered warning that does not seem to be right.
15dfd3d9 2688 (MAXPATHLEN): Define only if needed.
a70072c9 2689
a0977c44
PE
2690 * process.c (serial_open, serial_configure): Move decls from here ...
2691 * systty.h: ... to here, so that they can be checked.
2692
a884fdcc
PE
2693 * fns.c (get_random, seed_random): Move extern decls from here ...
2694 * lisp.h: ... to here, so that they can be checked.
2695
604efe86 2696 * sysdep.c (reset_io): Now static.
b8950c94 2697 (wait_for_termination_signal): Remove; unused.
604efe86 2698
38fc62d9
PE
2699 * keymap.c (keymap_parent, keymap_memberp, map_keymap_internal):
2700 (copy_keymap_item, append_key, push_text_char_description):
2701 Now static.
1004a21a 2702 (Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily.
dbbb8427 2703 (DENSE_TABLE_SIZE): Remove; unused.
c1141155
PE
2704 (get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal):
2705 (describe_map_tree):
2706 Rename locals to avoid shadowing.
38fc62d9 2707
2f2650da
PE
2708 * keyboard.c: Declare functions static if they are not used elsewhere.
2709 (echo_char, echo_dash, cmd_error, top_level_2):
2710 (poll_for_input, handle_async_input): Now static.
69a058fa
PE
2711 (read_char, kbd_buffer_get_event, make_lispy_position):
2712 (make_lispy_event, make_lispy_movement, apply_modifiers):
2713 (decode_keyboard_code, tty_read_avail_input, menu_bar_items):
2714 (parse_tool_bar_item, read_key_sequence, Fread_key_sequence):
2715 (Fread_key_sequence_vector): Rename locals to avoid shadowing.
c8a06054 2716 (read_key_sequence, read_char): Mark locals as initialized.
3ac94672 2717 (Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN.
2f2650da 2718
a053e86c 2719 * keyboard.h (make_ctrl_char): New decl.
da2f2dd9
PE
2720 (mark_kboards): Move decl here ...
2721 * alloc.c (mark_kboards): ... from here.
a053e86c 2722
4752793e
PE
2723 * lisp.h (force_auto_save_soon): New decl.
2724
74f10ca7 2725 * emacs.c (init_cmdargs): Rename local to avoid shadowing.
244fc23d
PE
2726 (DEFINE_DUMMY_FUNCTION): New macro.
2727 (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main):
2728 Use it.
c03cd23f
PE
2729 (main): Add casts to avoid warnings
2730 if GCC considers string literals to be constants.
74f10ca7 2731
022e70d4
PE
2732 * lisp.h (fatal_error_signal): Add decl, since it's exported.
2733
59d6fe83
PE
2734 * dbusbind.c: Pointer signedness fixes.
2735 (xd_signature, xd_append_arg, xd_initialize):
2736 (Fdbus_call_method, Fdbus_call_method_asynchronously):
2737 (Fdbus_method_return_internal, Fdbus_method_error_internal):
2738 (Fdbus_send_signal, xd_read_message_1, Fdbus_register_service):
2739 (Fdbus_register_signal): Use SSDATA when the context wants char *.
2740
78320123
PE
2741 * dbusbind.c (Fdbus_init_bus): Add cast to avoid warning
2742 if GCC considers string literals to be constants.
49cebcca 2743 (Fdbus_register_service, Fdbus_register_method): Remove unused vars.
78320123 2744
35ac2a97
SM
27452011-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
2746
fb103ca9
SM
2747 * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
2748 (print_preprocess, print_object): New macro to fix last change.
2749
35ac2a97
SM
2750 * print.c (print_preprocess): Don't forget font objects.
2751
62973b41
JB
27522011-03-16 Juanma Barranquero <lekktu@gmail.com>
2753
2754 * emacs.c (USAGE3): Doc fixes.
2755
0e48bb22
AS
27562011-03-15 Andreas Schwab <schwab@linux-m68k.org>
2757
2758 * coding.c (detect_coding_iso_2022): Reorganize code to clarify
2759 structure.
2760
7684e57b
JB
27612011-03-14 Juanma Barranquero <lekktu@gmail.com>
2762
2763 * lisp.h (VWindow_system, Qfile_name_history):
2764 * keyboard.h (lispy_function_keys) [WINDOWSNT]:
2765 * w32term.h (w32_system_caret_hwnd, w32_system_caret_height)
2766 (w32_system_caret_x, w32_system_caret_y): Declare extern.
2767
2768 * w32select.c: Don't #include "keyboard.h".
c96bbc66 2769 (run_protected): Add extern declaration for waiting_for_input.
7684e57b
JB
2770
2771 * w32.c (Qlocal, noninteractive1, inhibit_window_system):
2772 * w32console.c (detect_input_pending, read_input_pending)
2773 (encode_terminal_code):
2774 * w32fns.c (quit_char, lispy_function_keys, Qtooltip)
2775 (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x)
2776 (w32_system_caret_y, Qfile_name_history):
2777 * w32font.c (w32font_driver, QCantialias, QCotf, QClang):
2778 * w32inevt.c (reinvoke_input_signal, lispy_function_keys):
2779 * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map)
2780 (Qoverriding_terminal_local_map, Qmenu_bar_update_hook):
2781 * w32proc.c (Qlocal, report_file_error):
2782 * w32term.c (Vwindow_system, updating_frame):
2783 * w32uniscribe.c (initialized, uniscribe_font_driver):
2784 Remove unneeded extern declarations.
2785
2aa46d6c
CY
27862011-03-14 Chong Yidong <cyd@stupidchicken.com>
2787
c96bbc66 2788 * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions.
2aa46d6c 2789
cffc6f3b
CY
27902011-03-13 Chong Yidong <cyd@stupidchicken.com>
2791
2792 * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
2793 (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
2794 These macros can no longer be used for assignment.
2795
44f230aa
SM
2796 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
2797 Assign struct members directly, instead of using BUF_BEGV etc.
cffc6f3b
CY
2798 (record_buffer_markers, fetch_buffer_markers): New functions for
2799 recording and fetching special buffer markers.
2800 (set_buffer_internal_1, set_buffer_temp): Use them.
2801
2802 * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
2803
2804 * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
2805
2806 * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
2807 (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
2808
2809 * xdisp.c (hscroll_window_tree):
2810 (reconsider_clip_changes): Use PT instead of BUF_PT.
2811
d251f04b
EZ
28122011-03-13 Eli Zaretskii <eliz@gnu.org>
2813
2814 * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on
2815 $(EMACS_ROOT)/lib/intprops.h.
2816
f0c77cd1
PE
28172011-03-13 Paul Eggert <eggert@cs.ucla.edu>
2818
3eca4629
PE
2819 Fix more problems found by GCC 4.5.2's static checks.
2820
7c86ee98
PE
2821 * gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char *
2822 to unsigned char * to avoid compiler diagnostic.
b0afc268
PE
2823 (xg_free_frame_widgets): Make it clear that a local variable is
2824 needed only if USE_GTK_TOOLTIP.
01e0b5ad
PE
2825 (gdk_window_get_screen): Make it clear that this macro is needed
2826 only if USE_GTK_TOOLTIP.
1e5524e7
PE
2827 (int_gtk_range_get_value): New function, which avoids a diagnostic
2828 from gcc -Wbad-function-cast.
2829 (xg_set_toolkit_scroll_bar_thumb): Use it.
2830 (xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid
2831 diagnostic from gcc -Wbad-function-cast.
65dc836c
PE
2832 (get_utf8_string, xg_get_file_with_chooser):
2833 Rename locals to avoid shadowing.
2834 (create_dialog): Move locals to avoid shadowing.
7c86ee98 2835
41729b81
PE
2836 * xgselect.c (xg_select): Remove unused var.
2837
f0c77cd1
PE
2838 * image.c (four_corners_best): Mark locals as initialized.
2839 (gif_load): Initialize transparent_p to zero (Bug#8238).
2840 Mark another local as initialized.
ec6cf4c6 2841 (my_png_error, my_error_exit): Mark with NO_RETURN.
f0c77cd1 2842
ce0ad53d 2843 * image.c (clear_image_cache): Now static.
d5d5a617 2844 (DIM, HAVE_STDLIB_H_1): Remove unused macros.
e22cffbc 2845 (xpm_load): Redo to avoid "discards qualifiers" gcc warning.
77a765fd
PE
2846 (x_edge_detection): Remove unnecessary cast that
2847 gcc -Wbad-function-cast diagnoses.
2037898d 2848 (gif_load): Fix pointer signedness.
6ae141d6
PE
2849 (clear_image_cache, xbm_read_bitmap_data, x_detect_edges):
2850 (jpeg_load, gif_load): Rename locals to avoid shadowing.
ce0ad53d 2851
33383987 28522011-03-12 Paul Eggert <eggert@cs.ucla.edu>
3eca4629 2853
d32df629
PE
2854 Improve quality of tests for time stamp overflow.
2855 For example, without this patch (encode-time 0 0 0 1 1
2856 1152921504606846976) returns the obviously-bogus value (-948597
2857 62170) on my RHEL 5.5 x86-64 host. With the patch, it correctly
2858 reports time overflow. See
2859 <http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00470.html>.
b8d9bd41
PE
2860 * deps.mk (editfns.o): Depend on ../lib/intprops.h.
2861 * editfns.c: Include limits.h and intprops.h.
2862 (TIME_T_MIN, TIME_T_MAX): New macros.
2863 (time_overflow): Move earlier, to before first use.
2864 (hi_time, lo_time): New functions, for an accurate test for
2865 out-of-range times.
2866 (Fcurrent_time, Fget_internal_run_time, make_time): Use them.
2867 (Fget_internal_run_time): Don't assume time_t fits in int.
2868 (make_time): Use list2 instead of Fcons twice.
2869 (Fdecode_time): More accurate test for out-of-range times.
2870 (check_tm_member): New function.
2871 (Fencode_time): Use it, to test for out-of-range times.
d32df629
PE
2872 (lisp_time_argument): Don't rely on undefined left-shift and
2873 right-shift behavior when checking for time stamp overflow.
8be6f318 2874
fe31d94c
PE
2875 * editfns.c (time_overflow): New function, refactoring common code.
2876 (Fformat_time_string, Fdecode_time, Fencode_time):
2877 (Fcurrent_time_string): Use it.
2878
8be6f318
PE
2879 Move 'make_time' to be next to its inverse 'lisp_time_argument'.
2880 * dired.c (make_time): Move to ...
2881 * editfns.c (make_time): ... here.
2882 * systime.h: Note the move.
2883
09d9db2c 28842011-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
c47cbdfd 2885
126bc0dc
YM
2886 * fringe.c (update_window_fringes): Remove unused variables.
2887
c47cbdfd
YM
2888 * unexmacosx.c (copy_data_segment): Also copy __got section.
2889 (Bug#8223)
2890
7ac80be9
EZ
28912011-03-12 Eli Zaretskii <eliz@gnu.org>
2892
c96bbc66 2893 * termcap.c [MSDOS]: Include "msdos.h".
058e5dad
EZ
2894 (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent):
2895 Constify `char *' arguments and their references according to
2896 prototypes in tparam.h.
2897
ecb0f94d 2898 * deps.mk (termcap.o): Depend on tparam.h and msdos.h.
058e5dad 2899
7ac80be9
EZ
2900 * msdos.c (XMenuAddPane): 3rd argument is `const char *' now.
2901 Adapt all references accordingly.
2902
2903 * msdos.h (XMenuAddPane): 3rd argument is `const char *' now.
2904
ef1fd07e
TT
29052011-03-11 Tom Tromey <tromey@redhat.com>
2906
2907 * buffer.c (syms_of_buffer): Remove obsolete comment.
2908
7ef4b50c
EZ
29092011-03-11 Eli Zaretskii <eliz@gnu.org>
2910
2911 * termhooks.h (encode_terminal_code): Declare prototype.
2912
2913 * msdos.c (encode_terminal_code): Don't declare prototype.
2914
2915 * term.c (encode_terminal_code): Now external again, used by
2916 w32console.c and msdos.c.
2917
44f230aa
SM
2918 * makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)):
2919 Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu.
7ef4b50c 2920
4b1ec863 29212011-03-11 Paul Eggert <eggert@cs.ucla.edu>
f78faa98 2922
1714f52b 2923 Fix some minor problems found by GCC 4.5.2's static checks.
83316bf4 2924
4b1ec863
PE
2925 * fringe.c (update_window_fringes): Mark locals as initialized
2926 (Bug#8227).
2927 (destroy_fringe_bitmap, init_fringe_bitmap): Now static.
bf60f616 2928
524c7aa6
PE
2929 * alloc.c (mark_fringe_data): Move decl from here ...
2930 * lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here,
2931 to check its interface.
2932 (init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM.
2933
a5c0af81 2934 * fontset.c (free_realized_fontset): Now static.
7519b8cd 2935 (Fset_fontset_font): Rename local to avoid shadowing.
cc6e5db1 2936 (fontset_font): Mark local as initialized.
a9a06e0b 2937 (FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused.
a5c0af81 2938
b4716021
PE
2939 * xrdb.c: Include "xterm.h", to check x_load_resources's interface.
2940
811e9bac 2941 * xselect.c (x_disown_buffer_selections): Remove; not used.
7b83e2f1 2942 (TRACE3) [!defined TRACE_SELECTION]: Remove; not used.
aa0daa9f
PE
2943 (x_own_selection, Fx_disown_selection_internal): Rename locals
2944 to avoid shadowing.
2945 (x_handle_dnd_message): Remove local to avoid shadowing.
811e9bac 2946
7e3ab302
PE
2947 * lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros,
2948 so that the caller can use some name other than gcpro1.
2949 (GCPRO1, UNGCPRO): Reimplement in terms of the new macros.
58d2d479
PE
2950 * xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
2951 (Fx_backspace_delete_keys_p):
2952 Use them to avoid shadowing, and rename vars to avoid shadowing.
2953 (x_decode_color, x_set_name, x_window): Now static.
6b437900 2954 (Fx_create_frame): Add braces to silence GCC warning.
c0951e53 2955 (Fx_file_dialog, Fx_select_font): Fix pointer signedness.
06b0c8a0
PE
2956 (x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame):
2957 Remove unused locals.
7e3ab302
PE
2958 (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
2959 (Fx_backspace_delete_keys_p): Rename locals to avoid shadowing.
2960 Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR
2961 macros.
f78faa98 2962
e2b13473
PE
2963 * xterm.h (x_mouse_leave): New decl.
2964
77f23912
PE
2965 * xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame):
2966 Remove unused functions.
cdf4ba58
PE
2967 (x_shift_glyphs_for_insert, XTflash, XTring_bell):
2968 (x_calc_absolute_position): Now static.
7411c686 2969 (XTread_socket): Don't define label "out" unless it's used.
2b07bcff 2970 Don't declare local "event" unless it's used.
ed7bf3a5
PE
2971 (x_iconify_frame, x_free_frame_resources): Don't declare locals
2972 unless they are used.
38d0b34a
PE
2973 (XEMBED_VERSION, xembed_set_info): Don't define unless needed.
2974 (x_fatal_error_signal): Remove; not used.
a6067996
PE
2975 (x_draw_image_foreground, redo_mouse_highlight, XTmouse_position):
2976 (x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor):
2977 (x_error_catcher, x_connection_closed, x_error_handler):
2978 (x_error_quitter, xembed_send_message, x_iconify_frame):
2979 (my_log_handler): Rename locals to avoid shadowing.
28f1c698 2980 (x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN.
2a8fade0 2981 (x_connection_closed): Tell GCC not to suggest NO_RETURN.
77f23912 2982
44f230aa
SM
2983 * xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font):
2984 Rename or move locals to avoid shadowing.
6b463e58 2985 (tty_defined_color, merge_face_heights): Now static.
5967d051 2986 (free_realized_faces_for_fontset): Remove; not used.
1e9966ea
PE
2987 (Fx_list_fonts): Mark variable that gcc -Wuninitialized
2988 does not deduce is never used uninitialized.
73719eba
PE
2989 (STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used.
2990 (LFACEP): Define only if XASSERTS, as it's not needed otherwise.
071048a3 2991
426994c3 2992 * terminal.c (store_terminal_param): Now static.
5489860b 2993
032f1620 2994 * xmenu.c (menu_highlight_callback): Now static.
9d66f88e 2995 (set_frame_menubar): Remove unused local.
d4323972 2996 (xmenu_show): Rename parameter to avoid shadowing.
6d1f7fee
PE
2997 (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const"
2998 since they might point to immutable storage.
281585b0
PE
2999 (next_menubar_widget_id): Declare only if USE_X_TOOLKIT,
3000 since it's unused otherwise.
032f1620 3001
367c19e5 3002 * xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
53df7c11 3003 Add a FIXME, since the code still doesn't look right. (Bug#8215)
9f36b9fd
PE
3004 (Fcurrent_bidi_paragraph_direction): Simplify slightly; this
3005 avoids a gcc -Wuninitialized diagnostic.
0e086e8f 3006 (display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs):
44a3a108
PE
3007 (note_mouse_highlight): Mark variables that gcc -Wuninitialized
3008 does not deduce are never used uninitialized.
70739cbe 3009
07b48fa9
PE
3010 * lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c.
3011
8868a238 3012 * xdisp.c (redisplay_window): Rename local to avoid shadowing.
4554d213
PE
3013 * window.c (window_loop, size_window):
3014 (run_window_configuration_change_hook, enlarge_window): Likewise.
8868a238 3015
7e5cf297 3016 * window.c (display_buffer): Now static.
d6550a9f
PE
3017 (size_window): Mark variables that gcc -Wuninitialized
3018 does not deduce are never used uninitialized.
a586633d
PE
3019 * window.h (check_all_windows): New decl, to forestall
3020 gcc -Wmissing-prototypes diagnostic.
5b555da1 3021 * dispextern.h (bidi_dump_cached_states): Likewise.
7e5cf297 3022
f6095868
PE
3023 * charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid
3024 shadowing.
3025 * charset.c (map_charset_for_dump, Fchar_charset): Likewise.
726929c4
PE
3026 Include <limits.h>.
3027 (Fsort_charsets): Redo min/max calculation to shorten the code a bit
3028 and to avoid gcc -Wuninitialized warning.
89ef49df
PE
3029 (load_charset_map): Mark variables that gcc -Wuninitialized
3030 does not deduce are never used uninitialized.
53df7c11 3031 (load_charset): Abort instead of using uninitialized var (Bug#8229).
f6095868 3032
f38b440c
PE
3033 * coding.c (coding_set_source, coding_set_destination):
3034 Use "else { /* comment */ }" rather than "else /* comment */;"
3035 for clarity, and to avoid gcc -Wempty-body warning.
2735d060
PE
3036 (Fdefine_coding_system_internal): Don't redeclare 'i' inside
3037 a block, when the outer 'i' will do.
3038 (decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule):
3039 (emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022):
3040 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5):
3041 (decode_coding_raw_text, decode_coding_charset, get_translation_table):
3042 (Fdecode_sjis_char, Fdefine_coding_system_internal):
3043 Rename locals to avoid shadowing.
3044 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
e2f1bab9
PE
3045 * coding.c (emacs_mule_char, encode_invocation_designation):
3046 Now static, since they're not used elsewhere.
413bb2db 3047 (decode_coding_iso_2022): Add "default: abort ();" as a safety check.
c4a63b12 3048 (decode_coding_object, encode_coding_object, detect_coding_system):
ee05f961
PE
3049 (decode_coding_emacs_mule): Mark variables that gcc
3050 -Wuninitialized does not deduce are never used uninitialized.
160b01f6
PE
3051 (detect_coding_iso_2022): Initialize a local variable that might
3052 be used uninitialized. Leave a FIXME because it's not clear that
53df7c11 3053 this initialization is needed. (Bug#8211)
5f58e762
PE
3054 (ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT):
3055 (ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P):
3056 (SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER):
3057 (ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R):
3058 Remove unused macros.
f38b440c 3059
232b38b9 3060 * category.c (hash_get_category_set): Remove unused local var.
9f3b5e69 3061 (copy_category_table): Now static, since it's not used elsewhere.
d0891610 3062 * character.c (string_count_byte8): Likewise.
232b38b9 3063
fb90da1b
PE
3064 * ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string):
3065 (Fregister_code_conversion_map): Rename locals to avoid shadowing.
3066
fb93dbc2
PE
3067 * chartab.c (copy_sub_char_table): Now static, since it's not used
3068 elsewhere.
5c156ace
PE
3069 (sub_char_table_ref_and_range, char_table_ref_and_range):
3070 Rename locals to avoid shadowing.
bbcd0949 3071 (ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros.
fb93dbc2 3072
7d3b3862 3073 * bidi.c (bidi_check_type): Now static, since it's not used elsewhere.
630d6892 3074 (BIDI_BOB): Remove unused macro.
7d3b3862 3075
6be7d3da
PE
3076 * cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not
3077 deduce are never used uninitialized.
c2ed9c8b 3078 * term.c (encode_terminal_code): Likewise.
6be7d3da 3079
75f8807f 3080 * term.c (encode_terminal_code): Now static. Remove unused local.
72abad34 3081
50938595
PE
3082 * tparam.h: New file.
3083 * term.c, tparam.h: Include it.
3084 * deps.mk (term.o, tparam.o): Depend on tparam.h.
3085 * term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr):
3086 Move these decls to tparam.h, and make them agree with what
3087 is actually in tparam.c. The previous trick of using incompatible
3088 decls in different modules does not conform to the C standard.
3089 All callers of tparam changed to use tparam's actual API.
3090 * tparam.c (tparam1, tparam, tgoto):
3091 Use const pointers where appropriate.
3092
fbceeba2
PE
3093 * cm.c (calccost, cmgoto): Use const pointers where appropriate.
3094 * cm.h (struct cm): Likewise.
3095 * dispextern.h (do_line_insertion_deletion_costs): Likewise.
3096 * scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise.
3097 * term.c (tty_ins_del_lines, calculate_costs, struct fkey_table):
3098 (term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph):
3099 (turn_on_face, init_tty): Likewise.
3100 * termchar.h (struct tty_display_info): Likewise.
fbceeba2 3101
7f3f1250
PE
3102 * term.c (term_mouse_position): Rename local to avoid shadowing.
3103
e6ca6543
PE
3104 * alloc.c (mark_ttys): Move decl from here ...
3105 * lisp.h (mark_ttys): ... to here, so that it's checked against defn.
3106
c40f8d15
AS
31072011-03-11 Andreas Schwab <schwab@linux-m68k.org>
3108
3109 * .gdbinit (pwinx, xbuffer): Fix access to buffer name.
3110
cfe0661d
JB
31112011-03-09 Juanma Barranquero <lekktu@gmail.com>
3112
3113 * search.c (compile_pattern_1): Remove argument regp, unused since
3114 revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig.
3115 (compile_pattern): Don't pass it.
3116
0afb4571
J
31172011-03-08 Jan Djärv <jan.h.d@swipnet.se>
3118
3119 * xterm.h (DEFAULT_GDK_DISPLAY): New define.
3120 (GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines
3121 for ! HAVE_GTK3.
3122 (GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID.
3123
3124 * xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size.
3125
3126 * gtkutil.c: Include gtkx.h if HAVE_GTK3. If ! HAVE_GTK3, define
3127 gdk_window_get_screen, gdk_window_get_geometry,
3128 gdk_x11_window_lookup_for_display and GDK_KEY_g.
3129 (xg_set_screen): Use DEFAULT_GDK_DISPLAY.
3130 (xg_get_pixbuf_from_pixmap): New function.
3131 (xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap
3132 to Pixmap, take frame as parameter, remove GdkColormap parameter.
3133 Call xg_get_pixbuf_from_pixmap instead of
3134 gdk_pixbuf_get_from_drawable.
3135 (xg_get_image_for_pixmap): Do not make GdkPixmaps, call
3136 xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead.
3137 (xg_check_special_colors): Use GtkStyleContext and its functions
3138 for HAVE_GTK3.
3139 (xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen.
3140 (xg_prepare_tooltip, create_dialog, menubar_map_cb)
3141 (xg_update_frame_menubar, xg_tool_bar_detach_callback)
44f230aa
SM
3142 (xg_tool_bar_attach_callback, xg_update_tool_bar_sizes):
3143 Call gtk_widget_get_preferred_size.
0afb4571
J
3144 (xg_frame_resized): gdk_window_get_geometry only takes 5
3145 parameters.
44f230aa
SM
3146 (xg_win_to_widget, xg_event_is_for_menubar):
3147 Call gdk_x11_window_lookup_for_display.
0afb4571
J
3148 (xg_set_widget_bg): New function.
3149 (delete_cb): New function.
895009e1 3150 (xg_create_frame_widgets): Connect delete-event to delete_cb.
0afb4571
J
3151 Call xg_set_widget_bg. Only set backgrund pixmap for ! HAVE_GTK3
3152 (xg_set_background_color): Call xg_set_widget_bg.
3153 (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
3154 (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
3155 Only call gtk_range_set_update_policy if ! HAVE_GTK3.
3156 (xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback
3157 if ! HAVE_GTK3.
3158 (update_frame_tool_bar): Call gtk_widget_hide.
3159 (xg_initialize): Use GDK_KEY_g.
3160
3161 * xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id
3162 if ! HAVE_GTK3
3163 (x_session_initialize): Call gdk_x11_set_sm_client_id.
3164
3165 * xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3.
3166 (x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS.
3167 Load ~/emacs.d/gtkrc only for ! HAVE_GTK3.
3168
1c2cc4ef
JB
31692011-03-08 Juanma Barranquero <lekktu@gmail.com>
3170
3171 * w32xfns.c (select_palette): Check success of RealizePalette against
3172 GDI_ERROR, not zero.
3173
33383987 3174See ChangeLog.11 for earlier changes.
aac0c6e3
MR
3175
3176;; Local Variables:
3177;; coding: utf-8
aac0c6e3
MR
3178;; End:
3179
33383987 3180 Copyright (C) 2011 Free Software Foundation, Inc.
aac0c6e3
MR
3181
3182 This file is part of GNU Emacs.
3183
3184 GNU Emacs is free software: you can redistribute it and/or modify
3185 it under the terms of the GNU General Public License as published by
3186 the Free Software Foundation, either version 3 of the License, or
3187 (at your option) any later version.
3188
3189 GNU Emacs is distributed in the hope that it will be useful,
3190 but WITHOUT ANY WARRANTY; without even the implied warranty of
3191 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3192 GNU General Public License for more details.
3193
3194 You should have received a copy of the GNU General Public License
3195 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.