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