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