aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorKenichi Handa2012-07-17 07:25:00 +0900
committerKenichi Handa2012-07-17 07:25:00 +0900
commit69c41c4070c86baac11a627e9c3d366420aeb7cc (patch)
treee07fda92570b5e4f264c9a7869b57960940008f0 /src/ChangeLog
parent8c536f15bf95916d56bb50495d22b7da7e09fff9 (diff)
parent758e556a7ab8f61c007e34310ba399a9aaf15362 (diff)
downloademacs-69c41c4070c86baac11a627e9c3d366420aeb7cc.tar.gz
emacs-69c41c4070c86baac11a627e9c3d366420aeb7cc.zip
merge trunk
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog2259
1 files changed, 2257 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 7a9ab1757eb..6c994369610 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,2258 @@
12012-07-16 Jan Djärv <jan.h.d@swipnet.se>
2
3 * nsterm.m (keyDown): Interpret flags without left/right bits
4 as the left key (Bug#11670).
5
62012-07-16 Dmitry Antipov <dmantipov@yandex.ru>
7
8 Remove empty and useless init functions.
9 * lisp.h (init_character_once, init_fns, init_image)
10 (init_filelock, init_sound): Remove prototype.
11 * character.c (init_character_once): Remove.
12 * filelock.c (init_filelock): Likewise.
13 * fns.c (init_fns): Likewise.
14 * image.c (init_image): Likewise.
15 * sound.c (init_sound): Likewise.
16 * emacs.c (main): Adjust accordingly.
17
182012-07-16 Dmitry Antipov <dmantipov@yandex.ru>
19
20 * gtkutil.h: Tiny cleanups.
21 (use_old_gtk_file_dialog): Remove useless declaration.
22 (xg_uses_old_file_dialog): Add suggested const attribute.
23
242012-07-15 Eli Zaretskii <eliz@gnu.org>
25
26 * bidi.c (MAX_STRONG_CHAR_SEARCH): New macro.
27 (bidi_paragraph_init): Use it to limit search forward for a strong
28 directional character in abnormally large paragraphs full of
29 neutral or weak characters. (Bug#11943)
30
312012-07-15 Stefano Facchini <stefano.facchini@gmail.com> (tiny change)
32
33 * gtkutil.c (xg_create_tool_bar): Apply "primary-toolbar" style to
34 the toolbar (Bug#9451).
35 (xg_make_tool_item): Give the widget event box a transparent
36 background.
37
382012-07-15 Dmitry Antipov <dmantipov@yandex.ru>
39
40 Cleanup basic allocation variables and functions.
41 * alloc.c (ignore_warnings, init_intervals, init_float)
42 (init_cons, init_symbol, init_marker): Remove.
43 (interval_block_index): Initialize to INTERVAL_BLOCK_SIZE.
44 (float_block_index): Initialize to FLOAT_BLOCK_SIZE.
45 (cons_block_index): Initialize to CONS_BLOCK_SIZE.
46 (symbol_block_size): Initialize to SYMBOL_BLOCK_SIZE.
47 (marker_block_index): Initialize to MARKER_BLOCK_SIZE.
48 (staticidx, init_alloc_once, init_strings, free_ablock):
49 Remove redundant initialization.
50 * fns.c (init_weak_hash_tables): Remove.
51 * lisp.h (init_weak_hash_tables): Remove prototype.
52
532012-07-15 Dmitry Antipov <dmantipov@yandex.ru>
54
55 Use zero_vector where appropriate.
56 * alloc.c (zero_vector): Define as Lisp_Object. Adjust users
57 accordingly.
58 * lisp.h (zero_vector): New declaration.
59 * font.c (null_vector): Remove.
60 (syms_of_font): Remove initialization and staticpro.
61 (font_list_entities, font_find_for_lface): Change to use zero_vector.
62 * keymap.c (Faccessible_keymaps): Likewise.
63
642012-07-15 Leo Liu <sdl.web@gmail.com>
65
66 * fringe.c: Fix typo in comments.
67
682012-07-14 Leo Liu <sdl.web@gmail.com>
69
70 * fringe.c: Add a new bitmap exclamation-mark.
71
722012-07-14 Eli Zaretskii <eliz@gnu.org>
73
74 * gmalloc.c (GMALLOC_INHIBIT_VALLOC): Don't reference.
75
76 * s/msdos.h (BSD_SYSTEM, DATA_START, GC_SETJMP_WORKS, HAVE_MOUSE)
77 (HAVE_MENUS): Don't define, defined by editing config.in with
78 msdos/sed2v2.inp.
79 (GMALLOC_INHIBIT_VALLOC): Don't define.
80 (MODE_LINE_BINARY_TEXT): Remove, not used anymore.
81
822012-07-14 Juanma Barranquero <lekktu@gmail.com>
83
84 * s/ms-w32.h (GC_SETJMP_WORKS, GC_MARK_STACK): Set in nt/config.nt.
85
862012-07-14 Glenn Morris <rgm@gnu.org>
87
88 * s/aix4-2.h, s/freebsd.h, s/gnu-linux.h, s/hpux10-20.h:
89 * s/irix6-5.h, s/netbsd.h, s/sol2-6.h, s/unixware.h:
90 Let configure set GC_SETJMP_WORKS, GC_MARK_STACK.
91
922012-07-13 Glenn Morris <rgm@gnu.org>
93
94 * s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Let configure set it.
95
96 * s/usg5-4-common.h (SETUP_SLAVE_PTY): Let configure set it.
97 * s/irix6-5.h (SETUP_SLAVE_PTY): No more need to unset it.
98
992012-07-13 Jan Djärv <jan.h.d@swipnet.se>
100
101 * nsterm.m (uRect): Only define if NS_IMPL_GNUSTEP.
102 (x_free_frame_resources): Pass x_free_frame_resources to NSTRACE.
103 (ns_lisp_to_color, ns_string_to_lispmod, ns_term_init)
104 (ns_term_shutdown, requestService, initFrameFromEmacs): Use SSDATA
105 where appropriate.
106 (ns_exec_path, ns_load_path, changeFont): Put () around assignment used
107 as boolean expression.
108 (x_set_window_size): Remove unused variable toolbar.
109 (ns_get_color_default, ns_mod_to_lisp): Remove.
110 (ns_mouse_position): Remove unused variables xchar and ychar.
111 (ns_compute_glyph_string_overhangs): Remove unused variable face.
112 (ns_set_vertical_scroll_bar): Remove unused variable count.
113 (ns_delete_terminal): Remove unused variable i.
114 (ns_term_init): Remove unused variables r, g and b.
115 (mouseDown): Remove unused variable window.
116 (windowDidResize): Move definition of theWindow inside NS_IMPL_GNUSTEP.
117 (initFrameFromEmacs): Remove unused variable vbextra.
118 (mouseEntered): Remove unused variables p and dpyinfo.
119 (mouseExited): Remove unused variables p and r.
120 (ns_define_frame_cursor, ns_clear_frame_area)
121 (ns_draw_window_cursor, ns_initialize_display_info): Make static.
122 (menuDown): Assign [sender tag] to variable and cast the variable.
123
124 * nsterm.h (menuDown): Add id as type to argument sender.
125 (ns_display_info_for_name): Add Lisp_Object argument.
126 (ns_term_init): Add Lisp_Object argument.
127 (ns_map_event_to_object): Add void argument.
128 (ns_string_from_pasteboard, ns_string_to_pasteboard): Add correct
129 prototype with arguments and only declare if __OBJC__.
130 (nxatoms_of_nsselect): Add void argument.
131 (ns_lisp_to_cursor_type): Add Lisp_Object argument.
132 (ns_alloc_autorelease_pool): Add void argument.
133 (ns_release_autorelease_pool): Add void* argument.
134 (ns_get_defaults_value): Add const char* argument.
135
136 * nsmenu.m (ns_update_menubar, ns_menu_show, process_dialog)
137 (initFromContents): Use SSDATA where appropriate.
138 (ns_update_menubar): Add braces to ambigous if-else.
139 (initWithTitle): Put () around assignment in if statement.
140 (ns_menu_show): Remove unused variables window and keymap.
141 (update_frame_tool_bar): Remove unused variable selected_p.
142 (initWithContentRect): Remove unused variable this_cmd_name.
143
144 * nsimage.m (ns_load_image, allocInitFromFile): Use SSDATA where
145 appropriate.
146 (setXBMColor): Remove unused variable len.
147 (setPixmapData): Put () around assignment in loop statement.
148
149 * nsfont.m (ns_get_family, ns_lang_to_script, ns_otf_to_script)
150 (ns_registry_to_script, ns_get_req_script, nsfont_open): Use SSDATA
151 where appropriate.
152 (ns_get_covering_families, ns_findfonts, nsfont_list_family): Put ()
153 around assignment in loop statement.
154 (nsfont_open): Remove unused variable i.
155 (nsfont_open): Remove unused variable len.
156 (nsfont_draw): Remove unused variable cs.
157
158 * nsfns.m (x_set_icon_name, ns_set_name_internal)
159 (ns_set_name_as_filename, ns_implicitly_set_icon_type)
160 (x_set_icon_type, ns_lisp_to_cursor_type, Fns_read_file_name)
161 (Fns_get_resource, Fns_set_resource, Fx_open_connection)
162 (Fns_font_name, Fns_perform_service)
163 (Fns_convert_utf8_nfd_to_nfc, ns_do_applescript)
164 (Fns_do_applescript, Fx_show_tip): Use SSDATA where appropriate.
165 (ns_set_name): Remove unused variable view.
166 (x_set_menu_bar_lines): Remove unused variable olines.
167 (x_set_tool_bar_lines): Remove unused variable root_window.
168 (Fns_list_colors): Put () around assignment in while statement.
169 (Fns_perform_service): Remove unused variable len.
170 (Fns_display_usable_bounds): Remove unused variable top.
171 (syms_of_nsfns): Remove unused variable i.
172
173 * nsmenu.m (ns_update_menubar): Exchange place of argument 2 and 3 to
174 memcpy (Bug#11907).
175
1762012-07-13 Kalle Kankare <kalle.kankare@iki.fi> (tiny change)
177
178 * image.c (Fimagemagick_types): Initialize ex with GetExceptionInfo
179 and free it with DestroyExceptionInfo (Bug#11558).
180
1812012-07-13 Juanma Barranquero <lekktu@gmail.com>
182
183 * s/ms-w32.h (FIRST_PTY_LETTER, HAVE_SOCKETS): Move to nt/config.nt.
184 (HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE___BUILTIN_UNWIND_INIT):
185 Set here, not in nt/config.nt.
186
1872012-07-13 Eli Zaretskii <eliz@gnu.org>
188
189 * xdisp.c (move_it_in_display_line_to): On GUI terminals, allow
190 cursor overflow into the last glyph on display line when the right
191 fringe is off. (Bug#11832)
192
1932012-07-13 Paul Eggert <eggert@cs.ucla.edu>
194
195 * xdisp.c (produce_special_glyphs): Now static.
196 * dispextern.h (produce_special_glyphs): Remove decl.
197
1982012-07-13 Glenn Morris <rgm@gnu.org>
199
200 * s/bsd-common, s/cygwin.h: Remove empty files.
201 * s/freebsd.h, s/netbsd.h: Do not include bsd-common.h.
202
203 * s/usg5-4-common.h (USG, USG5):
204 * s/template.h (USG5, USG, HPUX, BSD4_2, BSD_SYSTEM):
205 * s/sol2-6.h (SOLARIS2):
206 * s/irix6-5.h (IRIX6_5):
207 * s/hpux10-20.h (USG, USG5, HPUX):
208 * s/gnu-linux.h (USG, GNU_LINUX):
209 * s/freebsd.h (BSD_SYSTEM):
210 * s/darwin.h (BSD4_2, BSD_SYSTEM, DARWIN_OS):
211 * s/cygwin.h (CYGWIN):
212 * s/bsd-common.h (BSD_SYSTEM, BSD4_2):
213 * s/aix4-2.h (USG, USG5, _AIX): Move "system type" macros to configure.
214
2152012-07-13 BT Templeton <bpt@hcoop.net> (tiny change)
216
217 * nsfont.m (ns_charset_covers): Don't abort if no bitmap (Bug#11853).
218
2192012-07-13 Glenn Morris <rgm@gnu.org>
220
221 * s/usg5-4-common.h (NSIG_MINIMUM): Let configure set it.
222
223 * s/gnu-linux.h, s/irix6-5.h: Let configure set ULIMIT_BREAK_VALUE.
224
225 * process.c (init_process_emacs): Replace MIN_PTY_KERNEL_VERSION.
226 * s/darwin.h (MIN_PTY_KERNEL_VERSION): Remove single-use macro.
227
2282012-07-12 Glenn Morris <rgm@gnu.org>
229
230 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Move to configure.
231
232 * process.c (init_process_emacs): Rename from init_process.
233 The old name is also the name of a Mach system call.
234 * lisp.h, emacs.c: Update for this name change.
235 * nsgui.h, sysselect.h, s/darwin.h: Remove workaround that is no
236 longer needed.
237
2382012-07-12 Eli Zaretskii <eliz@gnu.org>
239
240 * xdisp.c (insert_left_trunc_glyphs): Fix incorrect size in
241 memmove call that removes glyphs covered by the left truncation
242 glyph. Improve commentary.
243 (display_line): Fix display of continuation glyphs on GUI frames
244 when the right fringe is turned off and variable-size fonts are
245 used in the window. Move the code that appends a stretch glyph to
246 produce_special_glyphs, so that it could be used for truncation
247 and continuation glyphs alike.
248 (produce_special_glyphs) [HAVE_WINDOW_SYSTEM]: Produce a stretch
249 glyph of a suitably computed width, to align the special glyphs at
250 the window margin. Code moved from display_line. (Bug#11832)
251
2522012-07-12 Glenn Morris <rgm@gnu.org>
253
254 * s/aix4-2.h, s/hpux10-20.h: Let configure set NO_EDITRES.
255
256 * s/gnu-linux.h, s/hpux10-20.h:
257 Do not unconditionally define HAVE_XRMSETDATABASE.
258
259 * s/gnu-linux.h (UNIX98_PTYS): Let configure set it.
260
2612012-07-12 Paul Eggert <eggert@cs.ucla.edu>
262
263 Fix typos that broke OS X build.
264 Reported by Randal L. Schwartz in
265 <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00225.html>.
266 * nsterm.m (ns_timeout): Add missing local decl.
267 (ns_get_color): snprintf -> sprintf, to fix typo.
268
2692012-07-12 Glenn Morris <rgm@gnu.org>
270
271 * src/s/aix4-2.h, src/s/cygwin.h, src/s/darwin.h:
272 * src/s/gnu-linux.h, src/s/hpux10-20.h, src/s/irix6-5.h:
273 * src/s/sol2-6.h, src/s/unixware.h, src/s/usg5-4-common.h:
274 Move PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF to configure.
275
276 * s/cygwin.h, s/darwin.h, s/gnu-linux.h, s/irix6-5.h:
277 Move PTY_OPEN to configure.
278
279 * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
280 * s/gnu-linux.h, s/hpux10-20.h, s/irix6-5.h, s/template.h:
281 * s/usg5-4-common.h: Move FIRST_PTY_LETTER, PTY_ITERATION to configure.
282
2832012-07-12 Dmitry Antipov <dmantipov@yandex.ru>
284
285 Use empty_unibyte_string where applicable.
286 * keyboard.c (parse_tool_bar_item): Use empty_unibyte_string.
287 * lread.c (read1): Likewise.
288 * xsettings.c (syms_of_xsettings): Likewise.
289
2902012-07-12 Glenn Morris <rgm@gnu.org>
291
292 * s/cygwin.h (G_SLICE_ALWAYS_MALLOC):
293 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN):
294 * s/irix6-5.h (SETPGRP_RELEASES_CTTY, PREFER_VSUSP):
295 * s/hpux10-20.h (RUN_TIME_REMAP):
296 * s/bsd-common.h (TABDLY): Move to configure.
297
298 * s/hpux10-20.h, s/sol2-6.h: Move XOS_NEEDS_TIME_H to configure.
299
300 * s/bsd-common.h, s/darwin.h: Move TAB3 to configure.
301
302 * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
303 (BROKEN_SIGPOLL, BROKEN_GET_CURRENT_DIR_NAME): Let configure set them.
304
305 * s/darwin.h (NO_ABORT, NO_MATHERR): Let configure set them.
306
307 * s/bsd-common.h, s/cygwin.h, s/gnu-linux.h, s/irix6-5.h:
308 * s/template.h: Move NARROWPROTO to configure.
309
3102012-07-11 Glenn Morris <rgm@gnu.org>
311
312 * s/gnu-linux.h, s/sol2-6.h: No longer define POSIX,
313 unused since 2011-01-17 change to systty.h.
314
315 * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h, s/gnu-linux.h:
316 * s/hpux10-20.h, s/template.h, s/usg5-4-common.h:
317 Move HAVE_PTYS and HAVE_SOCKETS to configure.
318
3192012-07-11 Paul Eggert <eggert@cs.ucla.edu>
320
321 * s/sol2-6.h (HAVE_LIBKSTAT): Remove. (Bug#11914)
322
3232012-07-11 Glenn Morris <rgm@gnu.org>
324
325 * s/darwin.h, s/gnu-linux.h, s/template.h:
326 Move INTERRUPT_INPUT to configure.
327
3282012-07-11 Dmitry Antipov <dmantipov@yandex.ru>
329
330 Minor adjustments to interning code.
331 * lisp.h (intern, intern_c_string): Redefine as static inline
332 wrappers for intern_1 and intern_c_string_1, respectively.
333 (intern_1, intern_c_string_1): Rename prototypes.
334 * lread.c (intern_1, intern_c_string_1, oblookup): Simplify
335 Vobarray checking.
336 * font.c (font_intern_prop): Likewise. Adjust comment.
337 * w32font.c (intern_font_name): Likewise.
338
3392012-07-11 Andreas Schwab <schwab@linux-m68k.org>
340
341 * gnutls.c (Fgnutls_boot): Properly parse :keylist argument.
342
343 * coding.c (Fdefine_coding_system_internal): Use XCAR/XCDR instead
344 of Fcar/Fcdr if possible.
345 * font.c (check_otf_features): Likewise.
346 * fontset.c (Fnew_fontset): Likewise.
347 * gnutls.c (Fgnutls_boot): Likewise.
348 * minibuf.c (read_minibuf): Likewise.
349 * msdos.c (IT_set_frame_parameters): Likewise.
350 * xmenu.c (Fx_popup_dialog): Likewise.
351 * w32menu.c (Fx_popup_dialog): Likewise.
352
3532012-07-11 Glenn Morris <rgm@gnu.org>
354
355 * s/bsd-common.h, s/cygwin.h: No need to undefine INTERRUPT_INPUT,
356 since nothing has defined it on these platforms.
357
358 * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/gnu-linux.h:
359 * s/irix6-5.h: Move SIGNALS_VIA_CHARACTERS to configure.
360
361 * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
362 * s/gnu-linux.h, s/hpux10-20.h, s/template.h, s/usg5-4-common.h:
363 Move CLASH_DETECTION to configure.
364
365 * s/gnu.h: Remove file, which is now empty.
366
367 * s/gnu.h, s/gnu-linux.h:
368 Move GNU_LIBRARY_PENDING_OUTPUT_COUNT to configure.
369
3702012-07-11 John Wiegley <johnw@newartisans.com>
371
372 * alloc.c (mark_memory): Guard the "no_address_safety_analysis"
373 function attribute, so we only use it if it exists in the
374 compiler.
375
3762012-07-11 Dmitry Antipov <dmantipov@yandex.ru>
377
378 Avoid call to strlen in fast_c_string_match_ignore_case.
379 * search.c (fast_c_string_match_ignore_case): Change to use
380 length argument. Adjust users accordingly.
381 * lisp.h (fast_c_string_match_ignore_case): Adjust prototype.
382
3832012-07-11 Paul Eggert <eggert@cs.ucla.edu>
384
385 Assume mkdir, rmdir.
386 * sysdep.c (mkdir) [!HAVE_MKDIR]: Remove.
387 * sysdep.c (rmdir) [!HAVE_RMDIR]: Remove.
388
389 Assume rename.
390 * sysdep.c (rename) [!HAVE_RENAME]: Remove.
391
392 Assume perror.
393 * s/hpux10-20.h (HAVE_PERROR): Remove.
394 * sysdep.c (perror) [HPUX && !HAVE_PERROR]:
395 Remove dummy definition, as this problem was obsolete long ago.
396
397 Assume strerror.
398 * sysdep.c (strerror) [!HAVE_STRERROR && !WINDOWSNT]: Remove.
399
4002012-07-11 Dmitry Antipov <dmantipov@yandex.ru>
401
402 Avoid calls to strlen in font processing functions.
403 * font.c (font_parse_name, font_parse_xlfd, font_parse_fcname)
404 (font_open_by_name): Change to use length argument. Adjust
405 users accordingly.
406 * font.h (font_open_by_name, font_parse_xlfd, font_unparse_xlfd):
407 Adjust prototypes.
408 * xfont.c (xfont_decode_coding_xlfd, font_unparse_xlfd):
409 Change to return ptrdiff_t.
410 (xfont_list_pattern, xfont_match): Use length returned by
411 xfont_decode_coding_xlfd.
412 * xfns.c (x_default_font_parameter): Omit useless xstrdup.
413
4142012-07-11 Glenn Morris <rgm@gnu.org>
415
416 * s/darwin.h, s/freebsd.h, s/netbsd.h:
417 Move DONT_REOPEN_PTY to configure.
418
419 * sound.c (DEFAULT_SOUND_DEVICE) [!WINDOWSNT]:
420 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Let configure set it.
421
4222012-07-10 Paul Eggert <eggert@cs.ucla.edu>
423
424 Remove "#define unix" that is no longer needed (Bug#11905).
425 * s/aix4-2.h (unix): Remove; no longer needed.
426
427 EMACS_TIME simplification (Bug#11875).
428 This replaces macros (which typically do not work in GDB)
429 with functions, typedefs and enums, making the code easier to debug.
430 The functional style also makes code easier to read and maintain.
431 * systime.h: Include <sys/time.h> on all hosts, not just if
432 WINDOWSNT, since 'struct timeval' is needed in general.
433 (EMACS_TIME): Now a typedef, not a macro.
434 (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): Now constants,
435 not macros.
436 (EMACS_SECS, EMACS_NSECS, EMACS_TIME_SIGN, EMACS_TIME_VALID_P)
437 (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE, EMACS_TIME_EQ)
438 (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE, EMACS_TIME_LT)
439 (EMACS_TIME_LE): Now functions, not macros.
440 (EMACS_SET_SECS, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS)
441 (EMACS_SET_USECS, EMACS_SET_SECS_USECS): Remove these macros,
442 which are not functions. All uses rewritten to use:
443 (make_emacs_time): New function.
444 (EMACS_SECS_ADDR, EMACS_SET_INVALID_TIME, EMACS_GET_TIME)
445 (EMACS_ADD_TIME, EMACS_SUB_TIME): Remove these macros, which are
446 not functions. All uses rewritten to use the following, respectively:
447 (emacs_secs_addr, invalid_emacs_time, get_emacs_time)
448 (add_emacs_time, sub_emacs_time): New functions.
449 * atimer.c: Don't include <sys/time.h>, as "systime.h" does this.
450 * fileio.c (Fcopy_file):
451 * xterm.c (XTflash): Get the current time closer to when it's used.
452 * makefile.w32-in ($(BLD)/atimer.$(O)): Update dependencies.
453
454 * bytecode.c (targets): Suppress -Woverride-init warnings.
455
456 Simplify by avoiding confusing use of strncpy etc.
457 * doc.c (Fsnarf_documentation):
458 * fileio.c (Ffile_name_directory, Fsubstitute_in_file_name):
459 * frame.c (Fmake_terminal_frame):
460 * gtkutil.c (get_utf8_string):
461 * lread.c (openp):
462 * nsmenu.m (ns_update_menubar):
463 * regex.c (regerror):
464 Prefer memcpy to strncpy and strncat when either will do.
465 * fileio.c (Fsubstitute_in_file_name):
466 * keyboard.c (MULTI_LETTER_MOD, parse_modifiers_uncached)
467 (menu_separator_name_p):
468 * nsmenu.m (ns_update_menubar):
469 Prefer memcmp to strncmp when either will do.
470 * nsterm.m: Include <ftoastr.h>.
471 (ns_get_color):
472 * s/gnu-linux.h, s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF):
473 Prefer snprintf to strncpy.
474 * nsterm.m (ns_term_init):
475 * widget.c (set_frame_size) [0]: Prefer xstrdup to xmalloc + strncpy.
476 * nsterm.m (ns_term_init):
477 Avoid the need for strncpy, by using build_string or
478 make_unibyte_string directly. Use dtoastr, not snprintf.
479 * process.c (Fmake_network_process): Diagnose service names that
480 are too long, rather than silently truncating them or creating
481 non-null-terminated names.
482 (Fnetwork_interface_info): Likewise, for interface names.
483 * sysdep.c (system_process_attributes) [GNU_LINUX]:
484 Prefer sprintf to strncat.
485 * xdisp.c (debug_method_add) [GLYPH_DEBUG]:
486 Prefer vsnprintf to vsprintf + strncpy.
487
4882012-07-10 Glenn Morris <rgm@gnu.org>
489
490 * dispnew.c (PENDING_OUTPUT_COUNT) [!__GNU_LIBRARY__]:
491 Clarify fallback case.
492
4932012-07-10 Dmitry Antipov <dmantipov@yandex.ru>
494
495 Use XCAR and XCDR instead of Fcar and Fcdr where possible.
496 * callint.c, coding.c, doc.c, editfns.c, eval.c, font.c, fontset.c,
497 * frame.c, gnutls.c, minibuf.c, msdos.c, textprop.c, w32fns.c,
498 * w32menu.c, window.c, xmenu.c: Change to use XCAR and XCDR
499 where argument type is known to be a Lisp_Cons.
500
5012012-07-10 Tom Tromey <tromey@redhat.com>
502
503 * bytecode.c (BYTE_CODE_THREADED): New macro.
504 (BYTE_CODES): New macro. Replaces all old byte-code defines.
505 (enum byte_code_op): New type.
506 (CASE, NEXT, FIRST, CASE_DEFAULT, CASE_ABORT): New macros.
507 (exec_byte_code): Use them. Use token threading when applicable.
508
5092012-07-10 Dmitry Antipov <dmantipov@yandex.ru>
510
511 Optimize pure C strings initialization.
512 * lisp.h (make_pure_string): Fix prototype.
513 (build_pure_c_string): New function, defined as static inline. This
514 provides a better opportunity to optimize away calls to strlen when
515 the function is called with compile-time constant argument.
516 * alloc.c (make_pure_c_string): Fix comment. Change to add nchars
517 argument, adjust users accordingly. Use build_pure_c_string where
518 appropriate.
519 * buffer.c, coding.c, data.c, dbusbind.c, fileio.c, fontset.c, frame.c,
520 * keyboard.c, keymap.c, lread.c, search.c, syntax.c, w32fns.c, xdisp.c,
521 * xfaces.c, xfns.c, xterm.c: Use build_pure_c_string where appropriate.
522
5232012-07-10 Dmitry Antipov <dmantipov@yandex.ru>
524
525 Avoid calls to strlen in miscellaneous functions.
526 * buffer.c (init_buffer): Use precalculated len, adjust if needed.
527 * font.c (Ffont_xlfd_name): Likewise. Change to call make_string.
528 * lread.c (openp): Likewise.
529
5302012-07-10 Dmitry Antipov <dmantipov@yandex.ru>
531
532 Avoid calls to strlen in path processing functions.
533 * fileio.c (file_name_as_directory): Add comment. Change to add
534 srclen argument and return the length of result. Adjust users
535 accordingly.
536 (directory_file_name): Fix comment. Change to add srclen argument,
537 swap 1st and 2nd arguments to obey the common convention. Adjust
538 users accordingly.
539 * filelock.c (fill_in_lock_file_name): Avoid calls to strlen.
540
5412012-07-10 Glenn Morris <rgm@gnu.org>
542
543 * s/cygwin.h, s/darwin.h, s/freebsd.h, s/netbsd.h, s/unixware.h:
544 Move PENDING_OUTPUT_COUNT definition to configure.
545
546 * s/irix6-5.h (DATA_START, DATA_SEG_BITS):
547 * s/hpux10-20.h (DATA_SEG_BITS, DATA_START):
548 * s/gnu.h (DATA_START): Move definitions to configure.
549
550 * s/irix6-5.h (SETUP_SLAVE_PTY, PTY_NAME_SPRINTF): Drop ifdef guards.
551 We include usg5-4-common.h, which defines them both.
552
553 * s/gnu.h: Don't include fcntl.h (every file in Emacs that uses
554 O_RDONLY already includes it).
555
556 Stop ns builds setting the EMACSLOADPATH environment variable.
557 * nsterm.m (ns_load_path): Rename from ns_init_paths.
558 Now it does not set EMACSLOADPATH, just returns the load-path string.
559 * nsterm.h: Update accordingly.
560 * lread.c [HAVE_NS]: Include nsterm.h.
561 (init_lread) [HAVE_NS]: Use ns_load_path.
562 * emacs.c (main) [HAVE_NS]: No longer call ns_init_paths.
563
5642012-07-09 Glenn Morris <rgm@gnu.org>
565
566 * s/gnu.h (SIGNALS_VIA_CHARACTERS): No need to define it here,
567 since the included bsd-common.h does so.
568
569 Stop ns builds setting the EMACSPATH environment variable.
570 * nsterm.m (ns_exec_path): New function, split from ns_init_paths.
571 (ns_init_paths): Do not set EMACSPATH.
572 * nsterm.h (ns_exec_path): Add it.
573 * callproc.c (init_callproc_1, init_callproc) [HAVE_NS]:
574 Use ns_exec_path.
575
576 * nsterm.m, nsterm.h (ns_etc_directory): Fix type, empty return.
577
5782012-07-09 Paul Eggert <eggert@cs.ucla.edu>
579
580 * process.c (wait_reading_process_output): 'waitchannels' was unset
581 when read_kbd || !NILP (wait_for_cell); fix this.
582
583 Add GCC-style 'const' attribute to functions that can use it.
584 * character.h (char_resolve_modifier_mask):
585 * keyboard.h (make_ctrl_char):
586 * lisp.h (multibyte_char_to_unibyte, multibyte_char_to_unibyte_safe)
587 (init_character_once, next_almost_prime, init_fns, init_image)
588 (flush_pending_output, init_sound):
589 * mem-limits.h (start_of_data):
590 * menu.h (finish_menu_items):
591 Add ATTRIBUTE_CONST.
592 * emacs.c (DEFINE_DUMMY_FUNCTION):
593 Declare the dummy function with ATTRIBUTE_CONST.
594 * lisp.h (Fbyteorder, Fmax_char, Fidentity):
595 Add decls with ATTRIBUTE_CONST.
596
597 Minor improvements to make_formatted_string.
598 * alloc.c (make_formatted_string): Prefer int to ptrdiff_t
599 where int is good enough, as vsprintf returns an int.
600 * lisp.h (make_formatted_string): Add ATTRIBUTE_FORMAT_PRINTF.
601
6022012-07-09 Dmitry Antipov <dmantipov@yandex.ru>
603
604 Use make_formatted_string to avoid double length calculation.
605 * lisp.h (make_formatted_string): New prototype.
606 * alloc.c (make_formatted_string): New function.
607 * buffer.c (Fgenerate_new_buffer_name): Use it.
608 * dbus.c (syms_of_dbusbind): Likewise.
609 * editfns.c (Fcurrent_time_zone): Likewise.
610 * filelock.c (get_boot_time): Likewise.
611 * frame.c (make_terminal_frame, set_term_frame_name)
612 (x_report_frame_params): Likewise.
613 * image.c (gs_load): Likewise.
614 * minibuf.c (get_minibuffer): Likewise.
615 * msdos.c (dos_set_window_size): Likewise.
616 * process.c (make_process): Likewise.
617 * xdisp.c (ensure_echo_area_buffers): Likewise.
618 * xsettings.c (apply_xft_settings): Likewise.
619
6202012-07-09 Glenn Morris <rgm@gnu.org>
621
622 Stop ns builds polluting the environment with EMACSDATA, EMACSDOC.
623 * nsterm.m (ns_etc_directory): New function, split from ns_init_paths.
624 (ns_init_paths): Do not set EMACSDATA, EMACSDOC.
625 * nsterm.h (ns_etc_directory): Add it.
626 * callproc.c [HAVE_NS]: Include nsterm.h.
627 (init_callproc_1, init_callproc) [HAVE_NS]: Use ns_etc_directory.
628
6292012-07-09 Dmitry Antipov <dmantipov@yandex.ru>
630
631 Move marker debugging code under MARKER_DEBUG.
632 * marker.c (MARKER_DEBUG): Move marker debugging code under
633 #ifdef MARKER_DEBUG because byte_char_debug_check is too slow
634 for bootstrap with --enable-checking (~3x slowdown reported
635 by Juanma Barranquero <lekktu@gmail.com>).
636 (verify_bytepos): Move under #ifdef MARKER_DEBUG.
637
6382012-07-08 Paul Eggert <eggert@cs.ucla.edu>
639
640 * systime.h (EMACS_SUB_TIME): Clarify behavior with unsigned time_t.
641 See <http://bugs.gnu.org/11825#29>.
642
6432012-07-08 Eli Zaretskii <eliz@gnu.org>
644
645 * xdisp.c (fill_glyphless_glyph_string): If the face of the glyph
646 has no font, use the frame's font. (Bug#11813)
647 (display_line): Add commentary about displaying truncation glyphs
648 on GUI frames.
649 (produce_special_glyphs): Move here from term.c.
650
651 * term.c (produce_special_glyphs): Move to xdisp.c.
652
653 * dispextern.h (produce_special_glyphs): Move prototype to xdisp.c
654 section.
655
6562012-07-07 Andreas Schwab <schwab@linux-m68k.org>
657
658 * xdisp.c (display_line): Avoid warning about implicit declaration
659 of FRAME_FONT.
660
661 * frame.c (get_frame_param): Define only if HAVE_WINDOW_SYSTEM.
662
663 * lisp.h: Remove empty conditional.
664
6652012-07-07 Paul Eggert <eggert@cs.ucla.edu>
666
667 * lread.c (load_path_check): Now static.
668
669 Fix some minor --with-ns problems found by static checking.
670 * frame.c (Ftool_bar_pixel_width) [!FRAME_TOOLBAR_WIDTH]:
671 (x_set_font) [!HAVE_X_WINDOWS]:
672 * image.c (xpm_load_image) [HAVE_NS]:
673 (x_to_xcolors) [!HAVE_X_WINDOWS && !HAVE_NTGUI]:
674 (x_disable_image) [!HAVE_NS && !HAVE_NTGUI]:
675 Remove unused local.
676 (Fx_parse_geometry) [HAVE_NS]: Don't return garbage.
677 (xpm_load_image) [HAVE_NS && !HAVE_XPM]: Remove unused label.
678 * image.c (x_create_bitmap_from_file) [HAVE_NS]:
679 (xpm_load_image, xpm_load) [HAVE_NS && !HAVE_XPM]:
680 * nsselect.m (symbol_to_nsstring, ns_string_to_pasteboard_internal):
681 * xfaces.c (Fx_load_color_file) [!HAVE_X_WINDOWS]:
682 Fix pointer signedness problem.
683 * xfaces.c (FRAME_X_FONT_TABLE):
684 * xterm.h (FRAME_X_FONT_TABLE): Remove unused, incompatible macros.
685
6862012-07-07 Glenn Morris <rgm@gnu.org>
687
688 * lread.c (load_path_check): New function, split from init_lread.
689 (init_lread): Reorganize. Motivation:
690 If EMACSLOADPATH is set, check/warn about that rather than the
691 defaults, which we are not going to use. Hence we can remove
692 the turn_off_warning and WINDOWSNT || HAVE_NS tests.
693 Don't warn if site-lisp directories are missing.
694 If not installed, start from a blank load-path, since
695 PATH_LOADSEARCH refers to the eventual installation directories.
696
6972012-07-07 Eli Zaretskii <eliz@gnu.org>
698
699 Support truncation and continuation glyphs on GUI frames, when
700 fringes are disabled. (Bug#11832)
701 * xdisp.c (init_iterator): Get dimensions of truncation and
702 continuation glyphs even if on GUI frames. Adjust
703 it->last_visible_x on GUI frames when the left or right fringes,
704 or both, are absent.
705 (start_display, move_it_in_display_line_to): Handle the case of a
706 GUI frame without a fringe to display continuation or truncation
707 glyphs.
708 (insert_left_trunc_glyphs): Support GUI frames: make sure
709 truncation glyphs overwrite enough glyphs from the current line to
710 have sufficient space in pixels.
711 (display_line): Support truncation and continuation glyphs on GUI
712 frames. If some spare pixels are left on the line after inserting
713 the truncation glyphs, fill that space with a stretch glyph of a
714 suitably computed width.
715
716 * term.c (produce_special_glyphs): Call PRODUCE_GLYPHS, not
717 produce_glyphs, to support GUI sessions.
718
7192012-07-07 Paul Eggert <eggert@cs.ucla.edu>
720
721 * sysdep.c (ULLONG_MAX): Define if not already defined (Bug#11781).
722
723 * sysdep.c (list_system_processes): Port to NetBSD-current (Bug#11797).
724
725 Do not require float-time's arg to fit in time_t (Bug#11825).
726 This works better on hosts where time_t is unsigned, and where
727 float-time is applied to the (negative) difference between two times.
728 * editfns.c (decode_time_components): Last arg is now double *,
729 not int *, and means to store all the result as a double, without
730 worrying about whether the seconds part fits in time_t.
731 All callers changed.
732 (lisp_time_argument): Remove last int * arg, as it's no longer needed.
733 All callers changed.
734 (Ffloat_time): Do not fail merely because the specified time falls
735 outside of time_t range.
736
7372012-07-07 Glenn Morris <rgm@gnu.org>
738
739 * s/darwin.h (HAVE_RES_INIT, HAVE_LIBRESOLV):
740 * s/hpux10-20.h (HAVE_RINT, HAVE_RANDOM):
741 * s/unixware.h (HAVE_GETWD): Move undefs to configure (effectively).
742
7432012-07-07 Juanma Barranquero <lekktu@gmail.com>
744
745 * makefile.w32-in (DISPEXTERN_H, $(BLD)/regex.$(O)):
746 Update dependencies.
747
748 * s/ms-w32.h [_MSC_VER]: Remove strcasecmp, strncasecmp.
749
7502012-07-06 Paul Eggert <eggert@cs.ucla.edu>
751
752 Use c_strcasecmp for ASCII case-insensitive comparison (Bug#11786).
753 * dispextern.h, nsfns.m, nsterm.m: Include <c-strcase.h>.
754 * dispextern.h (xstrcasecmp): Rewrite using c_strcasecmp.
755 * nsfns.m (x_get_string_resource): Use c_strncasecmp, not strncasecmp.
756 * nsterm.m (ns_default): Use c_strcasecmp, not strcasecmp.
757 * xfaces.c (xstrcasecmp) [!HAVE_STRCASECMP]: Remove.
758
759 * xfont.c (compare_font_names): Redo to omit the need for casts.
760
7612012-07-06 Andreas Schwab <schwab@linux-m68k.org>
762
763 * xfns.c (Fx_change_window_property): Doc fix.
764 * w32fns.c (Fx_change_window_property): Doc fix.
765
766 * w32fns.c (Fx_window_property): Accept the same arguments as the
767 X Windows version. Doc fix.
768 * xfns.c (Fx_window_property): Doc fix. (Bug#11870)
769
7702012-07-06 Juanma Barranquero <lekktu@gmail.com>
771 Eli Zaretskii <eliz@gnu.org>
772
773 * s/ms-w32.h: Settings not specific to Windows moved to nt/config.nt.
774 Windows-specific code from nt/config.nt moved here.
775 Obsolete settings removed.
776
7772012-07-06 Paul Eggert <eggert@cs.ucla.edu>
778
779 * process.c: Avoid unnecessary calls to gettime.
780 (wait_reading_process_output): Don't get the time of day
781 when gobbling data immediately and not waiting, as there's no need
782 for it in that case. This removes a FIXME.
783
7842012-07-06 Jan Djärv <jan.h.d@swipnet.se>
785
786 * gtkutil.c (xg_event_is_for_scrollbar): Assign gwin when HAVE_GTK3
787 is defined (Bug#11768).
788
7892012-07-06 Dmitry Antipov <dmantipov@yandex.ru>
790
791 Fix marker debugging code.
792 * marker.c (byte_char_debug_check): Do not perform the check
793 if buffer is not multibyte.
794 (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
795 Call byte_char_debug_check with correct arguments.
796
7972012-07-06 Dmitry Antipov <dmantipov@yandex.ru>
798
799 Compile marker debugging code only if ENABLE_CHECKING is defined.
800 * marker.c (byte_char_debug_check, count_markers):
801 Use only if ENABLE_CHECKING is defined.
802 (byte_debug_flag): Remove.
803 (CONSIDER, buf_charpos_to_bytepos, buf_bytepos_to_charpos):
804 Always call byte_char_debug_check if ENABLE_CHECKING is defined.
805
8062012-07-06 Dmitry Antipov <dmantipov@yandex.ru>
807
808 Avoid code repetition in marker-related functions.
809 * marker.c (attach_marker): New function.
810 (Fset_marker, set_marker_restricted, set_marker_both)
811 (set_marker_restricted_both): Use it.
812 (Fset_marker, set_marker_restricted, Fbuffer_has_markers_at):
813 Consistently rename charno to charpos.
814 (marker_position): Add eassert.
815 (marker_byte_position): Convert to eassert.
816
8172012-07-06 Dmitry Antipov <dmantipov@yandex.ru>
818
819 Simplify list operations in unchain_overlay and unchain_marker.
820 * buffer.c (unchain_overlay): Simplify. Add comment.
821 * marker.c (unchain_marker): Simplify. Fix comments.
822
8232012-07-06 Dmitry Antipov <dmantipov@yandex.ru>
824
825 Introduce fast path for the widely used marker operation.
826 * alloc.c (build_marker): New function.
827 * lisp.h (build_marker): New prototype.
828 * buffer.c (clone_per_buffer_values, Fmake_indirect_buffer): Use it.
829 * composite.c (autocmp_chars): Likewise.
830 * editfns.c (buildmark): Remove.
831 (Fpoint_marker, Fpoint_min_marker, Fpoint_max_marker)
832 (save_restriction_save): Use build_marker.
833 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Likewise.
834 * window.c (save_window_save): Likewise.
835
8362012-07-06 Dmitry Antipov <dmantipov@yandex.ru>
837
838 Do not use Fdelete_overlay in delete_all_overlays
839 to avoid redundant calls to unchain_overlay.
840 * buffer.c (drop_overlay): New function.
841 (delete_all_overlays, Fdelete_overlay): Use it.
842 * minibuf.c (get_minibuffer): Fix comment.
843
8442012-07-06 Paul Eggert <eggert@cs.ucla.edu>
845
846 Port to OpenBSD 5.1 amd64.
847 * sysdep.c [BSD_SYSTEM]: Include <sys/param.h> before <sys/sysctl.h>.
848 This is needed for OpenBSD, and should be harmless on all BSD systems.
849 Also, include <sys/sysctl.h>, as it should be available on all
850 BSD_SYSTEM hosts given that we're already calling sysctl in that case.
851 (list_system_processes) [__OpenBSD__]: Use DARWIN_OS style mib, but
852 use p_pid member, not kp_proc.pid.
853
8542012-07-06 Glenn Morris <rgm@gnu.org>
855
856 * Makefile.in (emacs$(EXEEXT)): Don't check for load-path shadows.
857
8582012-07-05 Paul Eggert <eggert@cs.ucla.edu>
859
860 More xmalloc and related cleanup.
861 * alloc.c, bidi.c, buffer.c, buffer.h, bytecode.c, callint.c:
862 * callproc.c, charset.c, coding.c, composite.c, data.c, dispnew.c:
863 * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fns.c:
864 * font.c, fontset.c, frame.c, fringe.c, ftfont.c, ftxfont.c, gmalloc.c:
865 * gtkutil.c, image.c, keyboard.c, keymap.c, lread.c, macros.c, menu.c:
866 * nsfns.m, nsfont.m, nsmenu.m, nsterm.m, print.c, process.c, ralloc.c:
867 * regex.c, region-cache.c, scroll.c, search.c, sound.c, syntax.c:
868 * sysdep.c, term.c, termcap.c, unexmacosx.c, window.c, xdisp.c:
869 * xfaces.c, xfns.c, xftfont.c, xgselect.c, xmenu.c, xrdb.c, xselect.c:
870 * xterm.c:
871 Omit needless casts involving void * pointers and allocation.
872 Prefer "P = xmalloc (sizeof *P)" to "P = xmalloc (sizeof (TYPE_OF_P))",
873 as the former is more robust if P's type is changed.
874 Prefer xzalloc to xmalloc + memset 0.
875 Simplify malloc-or-realloc to realloc.
876 Don't worry about xmalloc returning a null pointer.
877 Prefer xstrdup to xmalloc + strcpy.
878 * editfns.c (Fmessage_box): Grow message_text by at least 80 when
879 growing it.
880 * keyboard.c (apply_modifiers_uncached): Prefer local array to
881 alloca of a constant.
882
8832012-07-05 Eli Zaretskii <eliz@gnu.org>
884
885 * xdisp.c (display_line): Fix horizontal pixel coordinates when
886 hscroll is larger than the line width. Fixes long and futile
887 looping inside extend_face_to_end_of_line (on a TTY) producing
888 glyphs that are not needed and thrown away.
889
8902012-07-05 Dmitry Antipov <dmantipov@yandex.ru>
891
892 * marker.c (set_marker_restricted_both): Simplify by using
893 clip_to_bounds.
894
8952012-07-05 Paul Eggert <eggert@cs.ucla.edu>
896
897 * editfns.c (region_limit): Simplify by using clip_to_bounds.
898
8992012-07-05 Jan Djärv <jan.h.d@swipnet.se>
900
901 * gtkutil.c (gtk_scrollbar_new, gtk_box_new): Define when HAVE_GTK3 is
902 not defined (Bug#11768).
903 (xg_create_frame_widgets): Use gtk_plug_new_for_display (Bug#11768).
904 (xg_create_frame_widgets, create_dialog, xg_get_file_with_chooser)
905 (make_widget_for_menu_item, xg_make_tool_item): Use gtk_box_new
906 followed by gtk_box_set_homogeneous (Bug#11768).
907 (xg_update_menu_item): Use GTK_IS_BOX (Bug#11768).
908 (update_theme_scrollbar_width, xg_create_scroll_bar):
909 Use gtk_scrollbar_new (Bug#11768).
910 (xg_event_is_for_scrollbar): Use Gdk Device functions for HAVE_GTK3.
911 (is_box_type): New function (Bug#11768).
912 (xg_tool_item_stale_p): Call is_box_type.
913 (xg_initialize): Get settings by calling gtk_settings_get_for_screen
914 with default display (Bug#11768).
915
9162012-07-05 Eli Zaretskii <eliz@gnu.org>
917
918 * xdisp.c (window_hscroll_limited): New function.
919 (pos_visible_p, init_iterator): Use it to avoid overflow of pixel
920 coordinates when window's hscroll is set to insanely large
921 values. (Bug#11857)
922
9232012-07-05 Juanma Barranquero <lekktu@gmail.com>
924
925 * makefile.w32-in ($(BLD)/dired.$(O), $(BLD)/fileio.$(O)): Fix typo.
926 ($(BLD)/terminal.$(O), $(BLD)/syntax.$(O)): Update dependencies.
927
9282012-07-05 Dmitry Antipov <dmantipov@yandex.ru>
929
930 Cleanup xmalloc.
931 * lisp.h (xzalloc): New prototype. Omit needless casts.
932 * alloc.c (xzalloc): New function. Omit needless casts.
933 * charset.c: Omit needless casts. Convert all calls to
934 xmalloc with following memset to xzalloc.
935 * dispnew.c: Likewise.
936 * fringe.c: Likewise.
937 * image.c: Likewise.
938 * sound.c: Likewise.
939 * term.c: Likewise.
940 * w32fns.c: Likewise.
941 * w32font.c: Likewise.
942 * w32term.c: Likewise.
943 * xfaces.c: Likewise.
944 * xfns.c: Likewise.
945 * xterm.c: Likewise.
946 * atimer.c: Omit needless casts.
947 * buffer.c: Likewise.
948 * callproc.c: Likewise.
949 * ccl.c: Likewise.
950 * coding.c: Likewise.
951 * composite.c: Likewise.
952 * doc.c: Likewise.
953 * doprnt.c: Likewise.
954 * editfns.c: Likewise.
955 * emacs.c: Likewise.
956 * eval.c: Likewise.
957 * filelock.c: Likewise.
958 * fns.c: Likewise.
959 * gtkutil.c: Likewise.
960 * keyboard.c: Likewise.
961 * lisp.h: Likewise.
962 * lread.c: Likewise.
963 * minibuf.c: Likewise.
964 * msdos.c: Likewise.
965 * print.c: Likewise.
966 * process.c: Likewise.
967 * region-cache.c: Likewise.
968 * search.c: Likewise.
969 * sysdep.c: Likewise.
970 * termcap.c: Likewise.
971 * terminal.c: Likewise.
972 * tparam.c: Likewise.
973 * w16select.c: Likewise.
974 * w32.c: Likewise.
975 * w32reg.c: Likewise.
976 * w32select.c: Likewise.
977 * w32uniscribe.c: Likewise.
978 * widget.c: Likewise.
979 * xdisp.c: Likewise.
980 * xmenu.c: Likewise.
981 * xrdb.c: Likewise.
982 * xselect.c: Likewise.
983
9842012-07-05 Paul Eggert <eggert@cs.ucla.edu>
985
986 * fileio.c (time_error_value): Check the right error number.
987 Problem reported by Troels Nielsen in
988 <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00095.html>.
989
9902012-07-04 Paul Eggert <eggert@cs.ucla.edu>
991
992 * window.c (set_window_hscroll): Revert the 100000 hscroll limit.
993 This should be fixed in a better way; see Eli Zaretskii in
994 <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00088.html>.
995 (HSCROLL_MAX): Remove; this is now internal to set_window_hscroll.
996
997 * fileio.c (time_error_value): Rename from special_mtime.
998 The old name's problems were noted by Eli Zaretskii in
999 <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00087.html>.
1000
1001 * emacs.c (gdb_pvec_type): Change it back to enum pvec_type.
1002 This variable's comment says Emacs needs at least one GDB-visible
1003 symbol of type enum pvec_type, to work around GDB problems.
1004 The symbol's value doesn't matter.
1005
1006 * alloc.c (PSEUDOVECTOR_NBYTES): Remove stray ';'
1007 that causes compilation to fail on pre-C99 compilers.
1008
10092012-07-04 Juanma Barranquero <lekktu@gmail.com>
1010
1011 * s/ms-w32.h (LISP_FLOAT_TYPE, HAVE_MEMCMP, HAVE_MEMCPY)
1012 (HAVE_MEMMOVE, HAVE_MEMSET): Don't set, obsolete.
1013
10142012-07-04 Dmitry Antipov <dmantipov@yandex.ru>
1015
1016 * buffer.c (init_buffer_once): Fix initialization of
1017 headers for buffer_defaults and buffer_local_symbols.
1018 Reported by Juanma Barranquero <lekktu@gmail.com>.
1019
10202012-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
1021
1022 Turn VECTOR_FREE_LIST_FLAG into PVEC_FREE.
1023 * lisp.h (enum pvec_type): Use fewer bits.
1024 (PSEUDOVECTOR_SIZE_BITS): New constant.
1025 (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK): Use it.
1026 (XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR, DEFUN): Adapt code to
1027 change in pvec_type.
1028 (PSEUDOVECTOR_TYPEP): New macro.
1029 (TYPED_PSEUDOVECTORP): Use it.
1030 * fns.c (internal_equal): Adapt code to extract pvectype.
1031 * emacs.c (gdb_pvec_type): Update type.
1032 * alloc.c (PSEUDOVECTOR_NBYTES): New macro.
1033 (VECTOR_FREE_LIST_SIZE_MASK): Remove (=> PSEUDOVECTOR_SIZE_MASK).
1034 (VECTOR_FREE_LIST_FLAG): Remove (=> PVEC_FREE).
1035 (SETUP_ON_FREE_LIST): Use XSETPVECTYPESIZE.
1036 (sweep_vectors): Use it. Use local var `total_bytes' instead of
1037 abusing vector->header.next.nbytes.
1038 (live_vector_p): Use PVEC_TYPE.
1039 (mark_object): Adapt code to extract pvectype. Use switch.
1040
10412012-07-04 Paul Eggert <eggert@cs.ucla.edu>
1042
1043 * doprnt.c (doprnt): Don't assume string length fits in 'int'.
1044 Tighten new eassert a bit.
1045
10462012-07-04 Dmitry Antipov <dmantipov@yandex.ru>
1047
1048 Fix compilation with --enable-gcc-warnings and -O1
1049 optimization level.
1050 * doprnt.c (doprnt): Change type of tem to int, initialize
1051 to avoid compiler warning. Add eassert.
1052 * search.c (simple_search): Initialize match_byte to avoid
1053 compiler warning. Add eassert.
1054
10552012-07-04 Paul Eggert <eggert@cs.ucla.edu>
1056
1057 Avoid weird behavior with large horizontal scrolls.
1058 Without this change, for example, large hscroll values would
1059 mess up Emacs's display on Fedora 15 x86, presumably due to
1060 overflows in int calculations in the display code.
1061 Also, if buffers had long lines, Emacs would freeze.
1062 * window.c (HSCROLL_MAX): Reduce to 100000, and make it visible to GDB.
1063 (set_window_hscroll): New function, containing the old guts of
1064 Fset_window_hscroll. Return the clipped value.
1065 (Fset_window_hscroll, Fscroll_left, Fscroll_right): Use it.
1066 This avoids the need to check against PTRDIFF_MAX.
1067
1068 * buffer.c (Fgenerate_new_buffer_name): Fix sprintf format mismatch.
1069
10702012-07-04 Dmitry Antipov <dmantipov@yandex.ru>
1071
1072 * buffer.c (Fgenerate_new_buffer_name): Fix type mismatch.
1073
10742012-07-04 Paul Eggert <eggert@cs.ucla.edu>
1075
1076 * regex.c: Suppress GCC warning on RHEL 6. (Bug#11207)
1077 Conditionalize the pragmas on GCC 4.5 or later, not GCC 4.3 or later,
1078 since GCC 4.4.6 issues a bogus warning for them.
1079
1080 Fix bugs in file timestamp newness comparisons.
1081 * fileio.c (Ffile_newer_than_file_p):
1082 * lread.c (Fload): Use full timestamp resolution of files,
1083 not just the 1-second resolution, so that files that are only
1084 slightly newer still count as newer.
1085 * fileio.c (Ffile_newer_than_file_p): Don't assume file
1086 timestamps fit in 'int'; this fixes a Y2038 bug on most hosts.
1087
10882012-07-03 Paul Eggert <eggert@cs.ucla.edu>
1089
1090 * fileio.c: Improve handling of file time marker. (Bug#11852)
1091 (special_mtime): New function.
1092 (Finsert_file_contents, Fverify_visited_file_modtime):
1093 Use it to set special mtime values consistently.
1094
10952012-07-03 Andreas Schwab <schwab@linux-m68k.org>
1096
1097 * fileio.c (Finsert_file_contents): Properly handle st_mtime
1098 marker for non-existing file. (Bug#11852)
1099
11002012-07-03 Glenn Morris <rgm@gnu.org>
1101
1102 * lisp.h (Fread_file_name): Restore EXFUN (it's not a normal DEFUN
1103 and did not make it into globals.h).
1104
11052012-07-03 Tom Tromey <tromey@redhat.com>
1106
1107 * window.c (Fset_window_margins, Fset_window_fringes)
1108 (Fset_window_scroll_bars, Fset_window_vscroll): No longer static.
1109 * textprop.c (Fprevious_property_change): No longer static.
1110 * syntax.c (Fsyntax_table_p): No longer static.
1111 * process.c (Fget_process, Fprocess_datagram_address): No longer
1112 static.
1113 * keymap.c (Flookup_key, Fcopy_keymap): No longer static.
1114 * keyboard.c (Fcommand_execute): No longer static.
1115 Remove EXFUN.
1116 * insdel.c (Fcombine_after_change_execute): No longer static.
1117 * image.c (Finit_image_library): No longer static.
1118 * fileio.c (Fmake_symbolic_link): No longer static.
1119 * eval.c (Ffetch_bytecode): No longer static.
1120 * editfns.c (Fuser_full_name): No longer static.
1121 * doc.c (Fdocumentation_property, Fsnarf_documentation):
1122 No longer static.
1123 * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): No longer
1124 static.
1125 * dired.c (Ffile_attributes): No longer static.
1126 * composite.c (Fcomposition_get_gstring): No longer static.
1127 * callproc.c (Fgetenv_internal): No longer static.
1128
1129 * ccl.h: Remove EXFUNs.
1130 * buffer.h: Remove EXFUNs.
1131 * dispextern.h: Remove EXFUNs.
1132 * intervals.h: Remove EXFUNs.
1133 * fontset.h: Remove EXFUN.
1134 * font.h: Remove EXFUNs.
1135 * dosfns.c (system_process_attributes): Remove EXFUN.
1136 * keymap.h: Remove EXFUNs.
1137 * lisp.h: Remove EXFUNs.
1138 * w32term.h: Remove EXFUNs.
1139 * window.h: Remove EXFUNs.
1140 * xsettings.h: Remove EXFUN.
1141 * xterm.h: Remove EXFUN.
1142
11432012-07-03 Glenn Morris <rgm@gnu.org>
1144
1145 * lisp.h (Frandom): Make it visible to C.
1146 * buffer.c (Fgenerate_new_buffer_name): Speed up finding a new
1147 buffer for invisible buffers. (Bug#1229)
1148
11492012-07-03 Dmitry Antipov <dmantipov@yandex.ru>
1150
1151 Fix block vector allocation code to allow VECTOR_BLOCK_SIZE
1152 values which aren't power of 2.
1153 * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro. Verify
1154 it's value and the value of VECTOR_BLOCK_SIZE. Adjust users
1155 accordingly.
1156
11572012-07-03 Stefan Monnier <monnier@iro.umontreal.ca>
1158
1159 * lisp.h (Lisp_Misc, Lisp_Fwd): Move around to group better.
1160
1161 * alloc.c (mark_object): Revert part of last patch to use `switch'.
1162
11632012-07-03 Dmitry Antipov <dmantipov@yandex.ru>
1164
1165 * alloc.c (allocate_vector_block): Remove redundant
1166 calls to mallopt if DOUG_LEA_MALLOC is defined.
1167 (allocate_vectorlike): If DOUG_LEA_MALLOC is defined,
1168 avoid calls to mallopt if zero_vector is returned.
1169
11702012-07-03 Dmitry Antipov <dmantipov@yandex.ru>
1171
1172 * alloc.c (check_string_bytes): If GC_CHECK_STRING_BYTES
1173 is enabled, avoid dereferencing NULL current_sblock if
1174 running undumped.
1175
11762012-07-03 Dmitry Antipov <dmantipov@yandex.ru>
1177
1178 Cleanup basic buffer management.
1179 * buffer.h (struct buffer): Change layout to use generic vector
1180 marking code. Fix some comments. Change type of 'clip_changed'
1181 to bitfield. Remove unused #ifndef old.
1182 (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): Remove.
1183 (GET_OVERLAYS_AT): Fix indentation.
1184 (for_each_per_buffer_object_at): New macro.
1185 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
1186 (Fbuffer_local_variables): Use it.
1187 (init_buffer_once, syms_of_buffer): Remove unused #ifndef old.
1188 * alloc.c (allocate_buffer): Adjust to match new layout of
1189 struct buffer. Fix comment.
1190 (mark_overlay): New function.
1191 (mark_buffer): Use it. Use mark_vectorlike to mark normal
1192 Lisp area of struct buffer.
1193 (mark_object): Use it. Adjust marking of misc objects
1194 and related comments.
1195
11962012-07-02 Paul Eggert <eggert@cs.ucla.edu>
1197
1198 * alloc.c (mark_object): Remove "#ifdef GC_CHECK_MARKED_OBJECTS"
1199 wrapper that is not needed because the wrapped code is a no-op (zero
1200 machine instructions) when GC_CHECK_MARKED_OBJECTS is not defined.
1201 This avoids a -Wunused-macros diagnostic with GCC 4.7.1 x86-64.
1202
12032012-07-02 Dmitry Antipov <dmantipov@yandex.ru>
1204
1205 * alloc.c (mark_buffer): Simplify. Remove prototype.
1206 (mark_object): Add comment. Reorganize marking of vector-like
1207 objects. Use CHECK_LIVE for all vector-like objects except buffers
1208 and subroutines when GC_CHECK_MARKED_OBJECTS is defined. Avoid
1209 redundant calls to mark_vectorlike for bool vectors.
1210
12112012-06-30 Glenn Morris <rgm@gnu.org>
1212
1213 * nsterm.m (ns_init_paths): Ignore site-lisp if --no-site-lisp.
1214
1215 * epaths.in (PATH_SITELOADSEARCH): New.
1216 * lread.c (init_lread): Use PATH_SITELOADSEARCH.
1217 This is rather than relying on --enable-locallisppath elements
1218 having "site-lisp" in their names. (Bug#10208#25, 11658)
1219
12202012-06-30 Eli Zaretskii <eliz@gnu.org>
1221
1222 * w32proc.c (sys_select): Accept and ignore one more argument.
1223
1224 * w32.c (emacs_gnutls_pull): Call select with one more argument.
1225
1226 * sysselect.h [DOS_NT]: Don't include sys/select.h.
1227 (pselect) [!MS_DOS]: Redirect to sys_select.
1228
1229 * sysdep.c: Don't include dos.h and dosfns.h.
1230
1231 * process.c (sys_select):
1232 * msdos.c (sys_select): Accept one more argument and ignore it.
1233
1234 * msdos.c (event_timestamp, sys_select): Use gnulib's gettime;
1235 adapt data types and code to that.
1236
1237 * dosfns.c:
1238 * msdos.c (gettime, settime): Define away the prototypes in dos.h,
1239 which clashes with the gnulib function of the same name.
1240
12412012-06-30 Andreas Schwab <schwab@linux-m68k.org>
1242
1243 * font.c (font_style_to_value, font_style_symbolic)
1244 (font_prop_validate_style): Add type checks for values in
1245 font_style_table.
1246
1247 * lisp.h (CHECK_RANGED_INTEGER): Make value to check the first
1248 argument.
1249 * character.c, charset.c, menu.c, process.c, window.c: Adjust all
1250 uses.
1251
12522012-06-29 Eli Zaretskii <eliz@gnu.org>
1253
1254 * xdisp.c (try_window_id): Undo last change.
1255
1256 * w32.c (getwd): Adjust commentary about startup_dir.
1257 (init_environment): Always call sys_access, even in non-MSVC
1258 builds. Don't chdir to the directory of the Emacs executable.
1259 This undoes code from 1997 which was justified by the need to
1260 "avoid conflicts when removing and renaming directories". But its
1261 downside was that every relative file name was being interpreted
1262 relative to the directory of the Emacs executable, which can never
1263 be TRT. In particular, it broke sys_access when called with
1264 relative file names.
1265 (sys_access): Map GetLastError to errno.
1266
12672012-06-29 Dmitry Antipov <dmantipov@yandex.ru>
1268
1269 * window.h (struct window): Change type of 'fringes_outside_margins'
1270 to bitfield. Fix comment. Adjust users accordingly.
1271 (struct window): Change type of 'window_end_bytepos' to ptrdiff_t.
1272 Adjust comment.
1273 * xdisp.c (try_window_id): Change type of 'first_vpos' and 'vpos'
1274 to ptrdiff_t.
1275
12762012-06-29 Andreas Schwab <schwab@linux-m68k.org>
1277
1278 * gnutls.c (emacs_gnutls_handshake):
1279 Add QUIT to make the loop interruptible.
1280
12812012-06-29 Glenn Morris <rgm@gnu.org>
1282
1283 * charset.c (init_charset): Make lack of etc/charsets fatal.
1284
12852012-06-29 Dmitry Antipov <dmantipov@yandex.ru>
1286
1287 * editfns.c (region_limit): Fix type mismatch.
1288
12892012-06-29 Dmitry Antipov <dmantipov@yandex.ru>
1290
1291 * nsfns.m: Fix GLYPH_DEBUG usage assuming that it may be
1292 undefined. Convert from xassert to eassert.
1293 * nsmenu.m: Convert from xassert to eassert.
1294 * nsterm.m: Likewise.
1295
12962012-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
1297
1298 * editfns.c (region_limit): Clip to narrowing (bug#11770).
1299
13002012-06-28 Paul Eggert <eggert@cs.ucla.edu>
1301
1302 Avoid integer overflow on scroll-left and scroll-right.
1303 * window.c (HSCROLL_MAX): New macro.
1304 (Fscroll_left, Fscroll_right): Avoid undefined behavior on integer
1305 overflow when requested scroll falls outside ptrdiff_t range.
1306
13072012-06-28 Dmitry Antipov <dmantipov@yandex.ru>
1308
1309 * window.h (struct window): Change type of 'hscroll',
1310 'min_hscroll' and 'last_point' from Lisp_Object to ptrdiff_t,
1311 'last_modified' and 'last_overlay_modified' to EMACS_INT.
1312 Adjust users accordingly.
1313 * xdisp.c (try_cursor_movement): Replace type check with eassert.
1314 * window.c (Fscroll_left, Fscroll_right): Change type of 'hscroll'
1315 from EMACS_INT to ptrdiff_t.
1316 (make_window): Omit redundant initialization.
1317
13182012-06-28 Juanma Barranquero <lekktu@gmail.com>
1319
1320 * makefile.w32-in ($(BLD)/regex.$(O)): Update dependencies.
1321
13222012-06-28 Dmitry Antipov <dmantipov@yandex.ru>
1323
1324 * window.h (struct window): Change type of 'use_time' and
1325 'sequence_number' from Lisp_Object to int.
1326 * frame.c (make_frame): Adjust users accordingly.
1327 * print.c (print_object): Likewise.
1328 * window.c (select_window, Fwindow_use_time, make_parent_window)
1329 (make_window): Likewise.
1330
13312012-06-28 Dmitry Antipov <dmantipov@yandex.ru>
1332
1333 * dispextern.h (GLYPH_DEBUG): Now defined in config.h if
1334 enabled with --enable-checking=[all,glyphs] configure option.
1335 Fix GLYPH_DEBUG usage assuming that it may be undefined,
1336 adjust comments accordingly.
1337 * dispnew.c: Fix GLYPH_DEBUG usage assuming that it may be
1338 undefined, adjust comments accordingly.
1339 * image.c: Likewise.
1340 * scroll.c: Likewise.
1341 * w32fns.c: Likewise.
1342 * w32term.c: Likewise.
1343 * xdisp.c: Likewise.
1344 * xfaces.c: Likewise.
1345 * xfns.c: Likewise.
1346 * xterm.c: Likewise.
1347
13482012-06-28 Dmitry Antipov <dmantipov@yandex.ru>
1349
1350 Generalize run-time debugging checks.
1351 * dispextern.h (XASSERTS): Remove.
1352 * fontset.c (xassert): Remove.
1353 Convert from xassert to eassert.
1354 * alloc.c: Convert from xassert to eassert.
1355 * bidi.c: Likewise.
1356 * dispnew.c: Likewise.
1357 * fns.c: Likewise.
1358 * fringe.c: Likewise.
1359 * ftfont.c: Likewise.
1360 * gtkutil.c: Likewise.
1361 * image.c: Likewise.
1362 * keyboard.c: Likewise.
1363 * menu.c: Likewise.
1364 * process.c: Likewise.
1365 * scroll.c: Likewise.
1366 * sound.c: Likewise.
1367 * term.c: Likewise.
1368 * w32console.c: Likewise.
1369 * w32fns.c: Likewise.
1370 * w32term.c: Likewise.
1371 * window.c: Likewise.
1372 * xdisp.c: Likewise.
1373 * xfaces.c: Likewise.
1374 * xfns.c: Likewise.
1375 * xselect.c: Likewise.
1376 * xterm.c: Likewise.
1377
13782012-06-27 Stefan Monnier <monnier@iro.umontreal.ca>
1379
1380 * fns.c (maybe_resize_hash_table): Output message when growing the
1381 purify-hashtable.
1382
13832012-06-27 Dmitry Antipov <dmantipov@yandex.ru>
1384
1385 * alloc.c (allocate_string_data): Remove dead code.
1386 * xsettings.c (XSETTINGS_FONT_NAME): Move under HAVE_XFT to
1387 avoid GCC warning about unused macro.
1388
13892012-06-27 Dmitry Antipov <dmantipov@yandex.ru>
1390
1391 * alloc.c (allocate_string): Omit intervals initialization.
1392 * alloc.c (make_uninit_multibyte_string): Initialize intervals
1393 as in make_pure_string and make_pure_c_string.
1394
13952012-06-27 Dmitry Antipov <dmantipov@yandex.ru>
1396
1397 * alloc.c (allocate_string): Fix last change.
1398
13992012-06-27 Dmitry Antipov <dmantipov@yandex.ru>
1400
1401 * alloc.c (allocate_string): Remove two redundant calls
1402 to memset, add explicit initialization where appropriate.
1403
14042012-06-27 Glenn Morris <rgm@gnu.org>
1405
1406 * lisp.mk (lisp): Remove paths.elc.
1407
14082012-06-27 Chong Yidong <cyd@gnu.org>
1409
1410 * doc.c (Fsubstitute_command_keys): Fix punctuation.
1411
14122012-06-26 John Wiegley <johnw@newartisans.com>
1413
1414 * unexmacosx.c (copy_data_segment): Add two section names used
1415 on Mac OS X Lion: __mod_init_func and __mod_term_func.
1416
1417 * alloc.c (mark_memory): Do not check with -faddress-sanitizer
1418 when building with Clang.
1419
14202012-06-26 Stefan Monnier <monnier@iro.umontreal.ca>
1421
1422 * eval.c (Fapply): Allow calling it with a single argument.
1423
14242012-06-26 Eli Zaretskii <eliz@gnu.org>
1425
1426 * s/ms-w32.h (strcasecmp, strncasecmp) [_MSC_VER]: Redirect to
1427 _stricmp and _strnicmp.
1428 (HAVE_STRCASECMP, HAVE_STRNCASECMP): Define to 1.
1429
14302012-06-26 Dmitry Antipov <dmantipov@yandex.ru>
1431
1432 * alloc.c (allocate_window): Zero out non-Lisp part of newly
1433 allocated window.
1434 (allocate_process): Likewise for new process.
1435 (allocate_terminal): Change to use offsetof.
1436 (allocate_frame): Likewise.
1437 * frame.c (make_frame): Omit redundant initialization.
1438 * window.c (make_parent_window): Use memset.
1439 (make_window): Omit redundant initialization.
1440 * process.c (make_process): Omit redundant initialization.
1441 * terminal.c (create_terminal): Likewise.
1442
14432012-06-26 Dmitry Antipov <dmantipov@yandex.ru>
1444
1445 * term.c (delete_tty): Remove redundant call to memset.
1446
14472012-06-26 Dmitry Antipov <dmantipov@yandex.ru>
1448
1449 * alloc.c: Remove build_string.
1450 * lisp.h: Define build_string as static inline. This provides
1451 a better opportunity to optimize away calls to strlen when the
1452 function is called with compile-time constant argument.
1453 * image.c (imagemagick_error): Convert to build_string.
1454 * w32proc.c (sys_spawnve): Likewise.
1455 * xterm.c (x_term_init): Likewise.
1456
14572012-06-26 Paul Eggert <eggert@cs.ucla.edu>
1458
1459 Use sprintf return value instead of invoking strlen on result.
1460 In the old days this wasn't portable, since some sprintf
1461 implementations returned char *. But they died out years ago and
1462 Emacs already assumes sprintf returns int.
1463 Similarly for float_to_string.
1464 This patch speeds up (number-to-string 1000) by 3% on Fedora 15 x86-64.
1465 * ccl.c (ccl_driver):
1466 * character.c (string_escape_byte8):
1467 * data.c (Fnumber_to_string):
1468 * doprnt.c (doprnt):
1469 * print.c (print_object):
1470 * xdisp.c (message_dolog):
1471 * xfns.c (syms_of_xfns):
1472 Use sprintf or float_to_string result to avoid need to call strlen.
1473 * data.c (Fnumber_to_string):
1474 Use make_unibyte_string, since the string must be ASCII.
1475 * lisp.h, print.c (float_to_string): Now returns int length.
1476 * term.c (produce_glyphless_glyph):
1477 Use sprintf result rather than recomputing it.
1478
1479 Clean out last vestiges of the old HAVE_CONFIG_H stuff.
1480 * Makefile.in (ALL_CFLAGS):
1481 * makefile.w32-in (LOCAL_FLAGS): Remove -DHAVE_CONFIG_H.
1482 * gmalloc.c, regex.c: Include <config.h> unconditionally.
1483
14842012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
1485
1486 * dispextern.h (xstrcasecmp): Define to library function
1487 strcasecmp if available.
1488 * xfaces.c: Do not use xstrcasecmp if strcasecmp is available.
1489
14902012-06-25 Andreas Schwab <schwab@linux-m68k.org>
1491
1492 * keyboard.c (menu_bar_items, menu_bar_item, read_key_sequence):
1493 Avoid comma operator.
1494 * menu.c (push_submenu_start, push_submenu_end)
1495 (push_left_right_boundary, push_menu_pane): Likewise.
1496 * msdos.c (dos_rawgetc): Likewise.
1497
14982012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
1499
1500 * xfns.c (xic_create_fontsetname): Remove redundant calls
1501 to memset.
1502
15032012-06-25 Paul Eggert <eggert@cs.ucla.edu>
1504
1505 * gtkutil.c (get_utf8_string): Remove redundant assignment.
1506 sprintf already null-terminates its output.
1507
1508 * xfns.c (x_window): Remove redundant cast.
1509
15102012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
1511
1512 * xmenu.c (xmenu_show, xdialog_show): Explicit cast from
1513 `const char *' to `char *' to avoid compiler warning.
1514
15152012-06-24 Paul Eggert <eggert@cs.ucla.edu>
1516
1517 * xterm.c (x_term_init): Build proper-sized _XSETTINGS_Snnn string
1518 instead of truncating it to 63 (admittedly a generous limit).
1519
1520 * process.c: Fix spelling and caps in comments.
1521
15222012-06-24 Dan Nicolaescu <dann@ics.uci.edu>
1523
1524 * emacs.c (setpgrp): Remove definition, unused.
1525 * sysdep.c (setpgrp): Remove definition, not used in this file.
1526
15272012-06-24 Juanma Barranquero <lekktu@gmail.com>
1528
1529 * makefile.w32-in: Update dependencies.
1530
15312012-06-24 Eli Zaretskii <eliz@gnu.org>
1532
1533 * makefile.w32-in (TIMESPEC_H): Remove nt/inc/sys/time.h.
1534 (SYSTIME_H): Add nt/inc/sys/time.h.
1535
1536 * systime.h [WINDOWSNT]: Include sys/time.h.
1537
1538 * s/ms-w32.h (struct timespec): Definition moved from
1539 nt/inc/sys/time.h. Suggested by Paul Eggert <eggert@cs.ucla.edu>.
1540
15412012-06-24 Paul Eggert <eggert@cs.ucla.edu>
1542
1543 Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
1544 * buffer.h (buffer_slot_type_mismatch):
1545 * data.c (arith_error) [!FORWARD_SIGNAL_TO_MAIN_THREAD]:
1546 * eval.c (unwind_to_catch):
1547 * image.c (my_png_error, my_error_exit):
1548 * keyboard.c (quit_throw_to_read_char, user_error)
1549 (Fexit_recursive_edit, Fabort_recursive_edit):
1550 * lisp.h (die, args_out_of_range, args_out_of_range_3)
1551 (wrong_type_argument, buffer_overflow, __executable_start)
1552 (memory_full, buffer_memory_full, string_overflow, Fthrow)
1553 (xsignal, xsignal0, xsignal1, xsignal2, xsignal3, signal_error)
1554 (error, verror, nsberror, report_file_error, Ftop_level, Fkill_emacs)
1555 (fatal):
1556 (child_setup) [!DOS_NT]:
1557 * lread.c (end_of_file_error, invalid_syntax):
1558 * process.c (send_process_trap) [!FORWARD_SIGNAL_TO_MAIN_THREAD]:
1559 * puresize.h (pure_write_error):
1560 * search.c (matcher_overflow):
1561 * sound.c (sound_perror, alsa_sound_perror):
1562 * sysdep.c, syssignal.h (croak):
1563 * term.c (maybe_fatal, vfatal):
1564 * textprop.c (text_read_only):
1565 * undo.c (user_error):
1566 * unexmacosx.c (unexec_error):
1567 * xterm.c (x_ins_del_lines, x_delete_glyphs):
1568 Use _Noreturn rather than NO_RETURN.
1569 No need for separate decl merely because of _Noreturn.
1570 * sound.c (sound_warning, parse_sound):
1571 Remove unnecessary forward decls.
1572
15732012-06-24 Paul Eggert <eggert@cs.ucla.edu>
1574
1575 Fix bug when time_t is unsigned and as wide as intmax_t (Bug#9000).
1576 * lisp.h (WAIT_READING_MAX): New macro.
1577 * dispnew.c (Fsleep_for, sit_for):
1578 * keyboard.c (kbd_buffer_get_event):
1579 * process.c (Faccept_process_output):
1580 Use it to avoid bogus compiler warnings with obsolescent GCC versions.
1581 This improves on the previous patch, which introduced a bug
1582 when time_t is unsigned and as wide as intmax_t.
1583 See <http://bugs.gnu.org/9000#51>.
1584
15852012-06-23 Eli Zaretskii <eliz@gnu.org>
1586
1587 * dispnew.c (sit_for, Fsleep_for):
1588 * keyboard.c (kbd_buffer_get_event):
1589 * process.c (Faccept_process_output): Avoid compiler warnings when
1590 comparing a 32-bit time_t with a 64-bit INTMAX_MAX.
1591
15922012-06-23 Juanma Barranquero <lekktu@gmail.com>
1593
1594 * makefile.w32-in: Update dependencies.
1595
1596 * w32.c (ltime): Add return type and declare static.
1597 (w32_get_internal_run_time): Remove usused variable `time_100ns'.
1598
15992012-06-23 Paul Eggert <eggert@cs.ucla.edu>
1600
1601 * sysdep.c [__FreeBSD__]: Fix more recently-introduced typos.
1602 Privately reported by Herbert J. Skuhra.
1603 (make_lisp_timeval) [__FreeBSD__]: Rename from TIMELIST.
1604 All uses changed.
1605 (system_process_attributes) [__FreeBSD__]: Invoke make_lisp_time,
1606 not make_lisp_timeval, when the argument is of type EMACS_TIME.
1607
16082012-06-23 Eli Zaretskii <eliz@gnu.org>
1609
1610 * w32proc.c (Fw32_get_locale_info): Fix an off-by-one error in
1611 last argument of make_unibyte_string.
1612
1613 * keyboard.c (kbd_buffer_get_event): Include the codepage and the
1614 language ID in the event parameters.
1615
1616 * w32term.c (w32_read_socket): Put the new keyboard codepage into
1617 event.code, not the obscure "character set ID".
1618
16192012-06-23 Chong Yidong <cyd@gnu.org>
1620
1621 * xmenu.c (x_menu_wait_for_event): Adapt GTK3 to new xg_select.
1622
16232012-06-23 Eli Zaretskii <eliz@gnu.org>
1624
1625 Fix the MS-Windows build broken by 2012-06-22T21:17:42Z!eggert@cs.ucla.edu.
1626 * w32.c (fdutimens): New function.
1627
1628 * w32proc.c (sys_select): Adapt to change in the EMACS_TIME type.
1629
1630 * s/ms-w32.h (pselect): Redirect to sys_select.
1631
1632 * sysselect.h [WINDOWSNT]: Don't include sys/select.h.
1633
1634 * ralloc.c (r_alloc_inhibit_buffer_relocation): Fix stupid thinko
1635 in the logic of incrementing and decrementing the value of
1636 use_relocatable_buffers.
1637
16382012-06-23 Paul Eggert <eggert@cs.ucla.edu>
1639
1640 * sysdep.c [__FreeBSD__]: Fix recently-introduced typos.
1641 Privately reported by Herbert J. Skuhra.
1642 [__FreeBSD__]: Remove "*/" typo after "#include".
1643 (timeval_to_EMACS_TIME) [__FreeBSD__]: New static function.
1644 (TIMEVAL) [__FreeBSD__]: Now a static function rather than a macro.
1645 (TIMEVAL, system_process_attributes) [__FreeBSD__]:
1646 Don't assume EMACS_TIME and struct timeval are the same type.
1647
16482012-06-22 Paul Eggert <eggert@cs.ucla.edu>
1649
1650 Support higher-resolution time stamps (Bug#9000).
1651 The time stamps are only nanosecond-resolution at the C level,
1652 since that's the best that any real-world system supports now.
1653 But they are picosecond-resolution at the Lisp level, as that's
1654 easy, and leaves room for future OS improvements.
1655
1656 * Makefile.in (LIB_CLOCK_GETTIME): New macro.
1657 (LIBES): Use it.
1658
1659 * alloc.c (Fgarbage_collect): Port to higher-res time stamps.
1660 Don't get current time unless it's needed.
1661
1662 * atimer.c: Include <sys/time.h> unconditionally, since gnulib
1663 now provides it if it's absent.
1664 (start_atimer): Port to higher-res time stamps.
1665 Check for time stamp overflow. Don't get current time more
1666 often than is needed.
1667
1668 * buffer.h (struct buffer): Buffer modtime now has high resolution.
1669 Include systime.h, not time.h.
1670 (NONEXISTENT_MODTIME_NSECS, UNKNOWN_MODTIME_NSECS): New macros.
1671
1672 * dired.c: Include stat-time.h.
1673 (Ffile-attributes): File times now have higher resolution.
1674
1675 * dispextern.h [HAVE_WINDOW_SYSTEM]: Include systime.h.
1676 (struct image): Timestamp now has higher resolution.
1677
1678 * dispnew.c (PERIODIC_PREEMPTION_CHECKING): Remove, as Emacs always
1679 has at least microseconds now. All uses removed.
1680 (update_frame, update_single_window, update_window, update_frame_1)
1681 (Fsleep_for, sit_for): Port to higher-resolution time stamps.
1682
1683 * editfns.c (time_overflow): Now extern.
1684 (Fcurrent_time, Fget_internal_run_time, make_time, lisp_time_argument)
1685 (float-time, Fformat_time_string, Fcurrent_time_string)
1686 (Fcurrent_time_zone): Accept and generate higher-resolution
1687 time stamps.
1688 (make_time_tail, make_lisp_time, dissassemble_lisp_time)
1689 (decode_time_components, lisp_seconds_argument): New functions.
1690 (make_time): Now static.
1691 (lisp_time_argument): Now returns EMACS_TIME. New arg ppsec.
1692 Report an error if the time is invalid, rather than having the caller
1693 do that.
1694
1695 * fileio.c: Include <stat-time.h>
1696 (Fcopy_file): Copy higher-resolution time stamps.
1697 Prefer to set the time stamp via a file descriptor if that works.
1698 (Fset_file_times, Finsert_file_contents, Fwrite_region)
1699 (Fverify_visited_file_modtime, Fclear_visited_file_modtime)
1700 (Fvisited_file_modtime, Fset_visited_file_modtime):
1701 Support higher-resolution time stamps.
1702
1703 * fns.c (Frandom): Use nanoseconds, not microseconds, for seed.
1704
1705 * gtkutil.c (xg_maybe_add_timer): Port to higher-res time stamps.
1706
1707 * image.c (prepare_image_for_display, clear_image_cache)
1708 (lookup_image): Port to higer-resolution time stamps.
1709
1710 * keyboard.c (start_polling, bind_polling_period):
1711 Check for time stamp overflow.
1712 (read_char, kbd_buffer_get_event, timer_start_idle)
1713 (timer_stop_idle, timer_resume_idle, timer_check_2, timer_check)
1714 (Fcurrent_idle_time, init_keyboard, set_waiting_for_input):
1715 Port to higher-resolution time stamps. Do not assume time_t is signed.
1716 (decode_timer): New function. Timers are now vectors of length 9,
1717 not 8, to accommodate the picosecond component.
1718 (timer_check_2): Use it.
1719
1720 * nsterm.m (select_timeout, timeval_subtract): Remove.
1721 (ns_timeout): Use Emacs's facilities for time stamp arithmetic,
1722 as they're a bit more accurate and handle overflow better.
1723 (ns_select): Change prototype to be compatible with pselect.
1724 (ns_select, ns_term_shutdown): Port to ns-resolution time stamps.
1725 * nsterm.h (ns_select): Adjust prototype.
1726
1727 * msdos.c (EMACS_TIME_ZERO_OR_NEG_P): Remove, as it assumes
1728 us-resolution time stamps.
1729 (sys_select): Use the new EMACS_TIME_SIGN macro instead.
1730
1731 * lread.c (read_filtered_event): Port to ns-resolution time stamps.
1732
1733 * lisp.h (time_overflow): New decl.
1734 (wait_reading_process_output): First arg is now intmax_t, not int,
1735 to accommodate larger waits.
1736
1737 * process.h (struct Lisp_Process.read_output_delay):
1738 Now counts nanoseconds, not microseconds.
1739 * process.c (ADAPTIVE_READ_BUFFERING): Don't worry about
1740 EMACS_HAS_USECS.
1741 (READ_OUTPUT_DELAY_INCREMENT, Faccept_process_output)
1742 (wait_reading_process_output):
1743 Port to ns-resolution time stamps.
1744 (Faccept_process_output, wait_reading_process_output):
1745 Check for time stamp overflow. Do not assume time_t is signed.
1746 (select_wrapper): Remove; we now use pselect.
1747 (Fprocess_attributes): Now generates ns-resolution time stamps.
1748
1749 * sysdep.c: Include utimens.h. Don't include utime.h
1750 or worry about struct utimbuf; gnulib does that for us now.
1751 (gettimeofday): Remove; gnulib provides a substitute.
1752 (make_timeval): New function.
1753 (set_file_times): Now sets ns-resolution time stamps.
1754 New arg FD; all uses changed.
1755 (time_from_jiffies, ltime_from_jiffies, get_up_time)
1756 (system_process_attributes):
1757 Now returns ns-resolution time stamp. All uses changed.
1758 Check for time stamp overflow.
1759
1760 * sysselect.h: Don't depend on HAVE_SYS_SELECT_H; gnulib
1761 provides a substitute now.
1762
1763 * systime.h: Include timespec.h rather than sys/time.h and time.h,
1764 since it guarantees struct timespec.
1765 (EMACS_TIME): Now struct timespec, so that we can support
1766 ns-resolution time stamps.
1767 (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): New macros.
1768 (EMACS_HAS_USECS): Remove; Emacs always has sub-second time stamps now.
1769 (EMACS_USECS): Remove.
1770 (EMACS_SET_USECS): The underlying time stamp now has ns resolution,
1771 so multiply the arg by 1000 before storing it.
1772 (EMACS_NSECS, EMACS_SECS_ADDR, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS):
1773 New macros.
1774 (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME):
1775 Port to ns-resolution time stamps.
1776 (EMACS_TIME_NEG_P): Remove; replaced by....
1777 (EMACS_TIME_SIGN): New macro.
1778 (EMACS_SET_INVALID_TIME, EMACS_TIME_VALID_P)
1779 (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE): New macros.
1780 (set_file_times, make_time, lisp_time_argument): Adjust signature.
1781 (make_timeval, make_lisp_time, decode_time_components): New decls.
1782 (EMACS_TIME_CMP): Remove; no longer used. Plus, it was buggy, in
1783 that it mishandled time_t overflow. You can't compare by subtracting!
1784 (EMACS_TIME_EQ, EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE)
1785 (EMACS_TIME_LT, EMACS_TIME_LE): Rewrite in terms of timespec_cmp.
1786
1787 * term.c: Include <sys/time.h>.
1788 (timeval_to_Time): New function, for proper overflow wraparound.
1789 (term_mouse_position, term_mouse_click): Use it.
1790
1791 * undo.c (record_first_change): Support higher-resolution time stamps
1792 in the undo buffer.
1793 (Fprimitive_undo): Use them when restoring time stamps.
1794
1795 * w32.c (ltime, U64_TO_LISP_TIME, process_times, emacs_gnutls_pull)
1796 (w32_get_internal_run_time):
1797 Port to higher-resolution Emacs time stamps.
1798 (ltime): Now accepts single 64-bit integer, as that's more convenient
1799 for callers.
1800
1801 * xdisp.c (start_hourglass): Port to ns-resolution time stamps.
1802
1803 * xgselect.c, xgselect.h (xg_select): Add sigmask argument,
1804 for compatibility with pselect. Support ns-resolution time stamps.
1805
1806 * xmenu.c (x_menu_wait_for_event): Support ns-resolution time stamps.
1807
1808 * xselect.c (wait_for_property_change, x_get_foreign_selection):
1809 Check for time stamp overflow, and support ns-resolution time stamps.
1810
1811 * xterm.c: Don't include sys/time.h; gnulib does that for us now.
1812 Don't worry about whether HAVE_TIMEVAL and HAVE_SELECT are set.
1813 (timeval_subtract): Remove; no longer needed.
1814 (XTflash, XTring_bell, x_wait_for_event):
1815 Port to ns-resolution time stamps. Don't assume time_t is signed.
1816
18172012-06-22 Chong Yidong <cyd@gnu.org>
1818
1819 * xdisp.c (x_consider_frame_title): Revert last change.
1820
18212012-06-22 Eli Zaretskii <eliz@gnu.org>
1822
1823 * alloc.c (NSTATICS): Enlarge to 0x650. Otherwise, Emacs compiled
1824 with -DENABLE_CHECKING -DXASSERTS -DGLYPH_DEBUG=1 -DBYTE_CODE_METER
1825 aborts in staticpro during startup. (Without -DBYTE_CODE_METER,
1826 staticidx goes up to 1597 out of 1600 = 0x640.)
1827
18282012-06-20 Paul Eggert <eggert@cs.ucla.edu>
1829
1830 * fileio.c (Fdefault_file_modes): Block input while fiddling with umask.
1831 Otherwise, the umask might be mistakenly 0 while handling input signals.
1832
18332012-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
1834
1835 * minibuf.c (Fread_string): Bind minibuffer-completion-table.
1836
18372012-06-19 Dmitry Antipov <dmantipov@yandex.ru>
1838
1839 * alloc.c, bytecode.c, ccl.c, coding.c, composite.c, data.c, dosfns.c:
1840 * font.c, image.c, keyboard.c, lread.c, menu.c, minibuf.c, msdos.c:
1841 * print.c, syntax.c, window.c, xmenu.c, xselect.c: Replace direct
1842 access to `contents' member of Lisp_Vector objects with AREF and ASET
1843 where appropriate.
1844
18452012-06-19 Chong Yidong <cyd@gnu.org>
1846
1847 * frame.c (delete_frame): When selecting a frame on a different
1848 text terminal, do not alter the terminal's top-frame.
1849
1850 * xdisp.c (format_mode_line_unwind_data): Record the target
1851 frame's selected window and its terminal's top-frame.
1852 (unwind_format_mode_line): Restore them.
1853 (x_consider_frame_title, display_mode_line, Fformat_mode_line):
1854 Callers changed.
1855 (x_consider_frame_title): Do not condition on HAVE_WINDOW_SYSTEM,
1856 since tty frames can be explicitly named.
1857 (prepare_menu_bars): Likewise.
1858
1859 * term.c (Ftty_top_frame): New function.
1860
18612012-06-18 Paul Eggert <eggert@cs.ucla.edu>
1862
1863 Port byte-code-meter to modern targets.
1864 * bytecode.c (METER_CODE) [BYTE_CODE_METER]: Don't assume
1865 !CHECK_LISP_OBJECT_TYPE && !USE_LSB_TAG. Problem with
1866 CHECK_LISP_OBJECT_TYPE reported by Dmitry Antipov in
1867 <http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00282.html>.
1868 (METER_1, METER_2): Simplify.
1869
18702012-06-18 Stefan Monnier <monnier@iro.umontreal.ca>
1871
1872 * data.c (Fdefalias): Return `symbol' (bug#11686).
1873
18742012-06-18 Martin Rudalics <rudalics@gmx.at>
1875
1876 * buffer.c (Fkill_buffer): Don't throw an error when the buffer
1877 gets killed during executing of this function (Bug#11665).
1878 Try to always return Qt when the buffer has been actually killed.
1879 (Vkill_buffer_query_functions): In doc-string say that functions
1880 run by this hook should not change the current buffer.
1881
18822012-06-18 Paul Eggert <eggert@cs.ucla.edu>
1883
1884 Fix recently-introduced process.c problems found by static checking.
1885 * process.c (write_queue_push, write_queue_pop, send_process):
1886 Use ptrdiff_t, not int or EMACS_INT, for buffer lengths and offsets.
1887 (write_queue_pop): Fix pointer signedness problem.
1888 (send_process): Remove unused local.
1889
18902012-06-17 Chong Yidong <cyd@gnu.org>
1891
1892 * xdisp.c (redisplay_internal): No need to redisplay terminal
1893 frames that are not on top.
1894
18952012-06-17 Troels Nielsen <bn.troels@gmail.com>
1896
1897 * process.c (make_process): Initialize write_queue.
1898 (write_queue_push, write_queue_pop): New functions.
1899 (send_process): Use them to maintain correct ordering of process
1900 writes (Bug#10815).
1901
19022012-06-17 Paul Eggert <eggert@cs.ucla.edu>
1903
1904 * lisp.h (eassert): Assume C89 or later.
1905 This removes the need for CHECK.
1906 (CHECK): Remove. Its comments about always evaluating its
1907 argument were confusing, as 'eassert' typically does not evaluate
1908 its argument.
1909
1910 * coding.c (produce_chars): Use ptrdiff_t, not int.
1911
1912 * xterm.c (x_draw_underwave): Check for integer overflow.
1913 This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64.
1914
19152012-06-17 Jan Djärv <jan.h.d@swipnet.se>
1916
1917 * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't
1918 referenced (Bug#11583).
1919
19202012-06-16 Aurelien Aptel <aurelien.aptel@gmail.com>
1921
1922 Implement wave-style variant of underlining.
1923 * dispextern.h (face_underline_type): New enum.
1924 (face): Add field for underline type.
1925 * nsterm.m (ns_draw_underwave): New function.
1926 (ns_draw_text_decoration): Use it.
1927 * w32term.c (w32_restore_glyph_string_clip, w32_draw_underwave):
1928 New functions.
1929 (x_draw_glyph_string): Use them.
1930 * xfaces.c (Qline, Qwave): New Lisp objects.
1931 (check_lface_attrs, merge_face_ref)
1932 (Finternal_set_lisp_face_attribute, realize_x_face):
1933 Handle wave-style underline face attributes.
1934 * xterm.c (x_draw_underwave): New function.
1935 (x_draw_glyph_string): Use it.
1936
19372012-06-16 Juanma Barranquero <lekktu@gmail.com>
1938
1939 * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/fringe.$(O))
1940 ($(BLD)/xml.$(O), $(BLD)/intervals.$(O), $(BLD)/macros.$(O))
1941 ($(BLD)/minibuf.$(O), $(BLD)/regex.$(O), $(BLD)/region-cache.$(O))
1942 ($(BLD)/textprop.$(O), $(BLD)/undo.$(O), $(BLD)/window.$(O))
1943 ($(BLD)/w32select.$(O)): Update dependencies.
1944
19452012-06-16 Andreas Schwab <schwab@linux-m68k.org>
1946
1947 * buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline.
1948 (BUF_FETCH_MULTIBYTE_CHAR): Likewise.
1949 * character.c (_fetch_multibyte_char_p): Remove.
1950 * alloc.c: Include "character.h" before "buffer.h".
1951 * bidi.c: Likewise.
1952 * buffer.c: Likewise.
1953 * bytecode.c: Likewise.
1954 * callint.c: Likewise.
1955 * callproc.c: Likewise.
1956 * casefiddle.c: Likewise.
1957 * casetab.c: Likewise.
1958 * category.c: Likewise.
1959 * cmds.c: Likewise.
1960 * coding.c: Likewise.
1961 * composite.c: Likewise.
1962 * dired.c: Likewise.
1963 * dispnew.c: Likewise.
1964 * doc.c: Likewise.
1965 * dosfns.c: Likewise.
1966 * editfns.c: Likewise.
1967 * emacs.c: Likewise.
1968 * fileio.c: Likewise.
1969 * filelock.c: Likewise.
1970 * font.c: Likewise.
1971 * fontset.c: Likewise.
1972 * fringe.c: Likewise.
1973 * indent.c: Likewise.
1974 * insdel.c: Likewise.
1975 * intervals.c: Likewise.
1976 * keyboard.c: Likewise.
1977 * keymap.c: Likewise.
1978 * lread.c: Likewise.
1979 * macros.c: Likewise.
1980 * marker.c: Likewise.
1981 * minibuf.c: Likewise.
1982 * nsfns.m: Likewise.
1983 * nsmenu.m: Likewise.
1984 * print.c: Likewise.
1985 * process.c: Likewise.
1986 * regex.c: Likewise.
1987 * region-cache.c: Likewise.
1988 * search.c: Likewise.
1989 * syntax.c: Likewise.
1990 * term.c: Likewise.
1991 * textprop.c: Likewise.
1992 * undo.c: Likewise.
1993 * unexsol.c: Likewise.
1994 * w16select.c: Likewise.
1995 * w32fns.c: Likewise.
1996 * w32menu.c: Likewise.
1997 * window.c: Likewise.
1998 * xdisp.c: Likewise.
1999 * xfns.c: Likewise.
2000 * xmenu.c: Likewise.
2001 * xml.c: Likewise.
2002 * xselect.c: Likewise.
2003
20042012-06-16 Eli Zaretskii <eliz@gnu.org>
2005
2006 * xdisp.c (set_cursor_from_row): Don't dereference glyphs_end.
2007 If all the glyphs of the glyph row came from strings, and we have no
2008 cursor positioning clues, put the cursor on the first glyph of the
2009 row.
2010 (handle_face_prop): Use chunk-relative overlay string index when
2011 indexing into it->string_overlays array. (Bug#11653)
2012 (set_cursor_from_row): Use the leftmost glyph as GLYPH_BEFORE, not
2013 the rightmost. (Bug#11720)
2014
20152012-06-16 Andreas Schwab <schwab@linux-m68k.org>
2016
2017 * category.h (CHAR_HAS_CATEGORY): Define as inline.
2018 (CATEGORY_MEMBER): Enforce 1/0 value.
2019 * category.c (_temp_category_set): Remove.
2020
20212012-06-16 Eli Zaretskii <eliz@gnu.org>
2022
2023 * window.c (Fdelete_other_windows_internal)
2024 (Fdelete_window_internal): Don't access frame's mouse highlight
2025 info of the initial frame. (Bug#11677)
2026
20272012-06-14 Paul Eggert <eggert@cs.ucla.edu>
2028
2029 * .gdbinit (xgetint): Fix recently-introduced paren typo.
2030 Assume USE_2_TAGS_FOR_INTS.
2031 (xreload): Adjust $tagmask width to match recent lisp.h change.
2032
2033 Simplify lisp.h in minor ways that should not affect code.
2034 * lisp.h (USE_2_TAGS_FOR_INTS): Remove, as it was always defined.
2035 (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P)
2036 (LISP_INT1_TAG, enum Lisp_Type, XINT, XUINT, make_number):
2037 Simplify under the assumption that USE_2_TAGS_FOR_INTS is defined.
2038 (INTTYPEBITS): New macro, for clarity.
2039 (INTMASK, MOST_POSITIVE_FIXNUM): Use it.
2040 (LISP_INT1_TAG, LISP_STRING_TAG, LISP_INT_TAG_P):
2041 Simplify now that USE_LSB_TAG is always defined.
2042 (TYPEMASK, XINT) [USE_LSB_TAG]: Remove unnecessary cast.
2043 (make_number) [!USE_LSB_TAG]: Use INTMASK; that's simpler.
2044
20452012-06-13 Juanma Barranquero <lekktu@gmail.com>
2046
2047 * makefile.w32-in ($(BLD)/data.$(O)): Update dependencies.
2048
20492012-06-13 Glenn Morris <rgm@gnu.org>
2050
2051 * s/bsd-common.h (BSD4_3):
2052 * s/usg5-4-common.h (USG5_4): No longer define; unused.
2053
20542012-06-13 Andreas Schwab <schwab@linux-m68k.org>
2055
2056 * lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]: Define as struct
2057 instead of union.
2058 (XLI, XIL): Define.
2059 (XHASH, XTYPE, XINT, XUINT, make_number, XSET, XPNTR, XUNTAG):
2060 Use them.
2061 * emacs.c (gdb_use_struct): Rename from gdb_use_union.
2062 * .gdbinit: Check gdb_use_struct instead of gdb_use_union.
2063 * alloc.c (widen_to_Lisp_Object): Remove.
2064 (mark_memory): Use XIL instead of widen_to_Lisp_Object.
2065 * frame.c (delete_frame): Remove outdated comment.
2066 * w32fns.c (Fw32_register_hot_key): Use XLI instead of checking
2067 USE_LISP_UNION_TYPE.
2068 (Fw32_unregister_hot_key): Likewise.
2069 (Fw32_toggle_lock_key): Likewise.
2070 * w32menu.c (add_menu_item): Likewise.
2071 (w32_menu_display_help): Use XIL instead of checking
2072 USE_LISP_UNION_TYPE.
2073 * w32heap.c (allocate_heap): Don't check USE_LISP_UNION_TYPE.
2074 (init_heap): Likewise.
2075 * w32term.c (w32_read_socket): Update comment.
2076
20772012-06-13 Glenn Morris <rgm@gnu.org>
2078
2079 * s/usg5-4-common.h, src/s/unixware.h:
2080 Remove define/undef of HAVE_SYSV_SIGPAUSE (not used since 2010-05-04).
2081
2082 * s/gnu.h (POSIX_SIGNALS): Remove (not used since 2010-05-04).
2083
20842012-06-13 Paul Eggert <eggert@cs.ucla.edu>
2085
2086 USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604)
2087 * alloc.c (make_number) [!defined make_number]:
2088 Remove, as lisp.h always defines this now.
2089 (mark_maybe_pointer): Simplify since USE_LSB_TAG is always defined now.
2090 (roundup_size): Verify that it is a power of 2.
2091 * data.c (Fmake_variable_buffer_local, Fmake_local_variable):
2092 * ftfont.c (ftfont_driver): Use LISP_INITIALLY_ZERO.
2093 * lisp.h (USE_LSB_TAG): Allow the builder to compile with
2094 -DUSE_LSB_TAG=0, to override the automatically-selected default.
2095 USE_LSB_TAG now is always defined to be either 0 or 1.
2096 All uses changed.
2097 (union Lisp_Object): Don't worry about WORDS_BIGENDIAN; the
2098 code works fine either way, and efficiency is not a concern here,
2099 as the union type is for debugging, not for production.
2100 (LISP_MAKE_RVALUE, make_number) [USE_LISP_UNION_TYPE]:
2101 Use an inline function on all platforms when using the union type,
2102 since this is simpler and 'static inline' can be used portably
2103 within Emacs now.
2104 (LISP_INITIALLY_ZERO): New macro.
2105 (XFASTINT, XSETFASTINT) [USE_LISP_UNION_TYPE]: Remove.
2106 (XSET) [USE_LISP_UNION_TYPE]: Don't overparenthesize.
2107
21082012-06-12 Glenn Morris <rgm@gnu.org>
2109
2110 * s/gnu-kfreebsd.h, s/hpux11.h, s/openbsd.h, s/sol2-10.h: Remove files.
2111
2112 * s/gnu-linux.h (HAVE_PROCFS): Move to configure.
2113
2114 * s/hpux10-20.h, s/openbsd.h, s/usg5-4-common.h:
2115 Move BROKEN_SIGIO to configure.
2116
2117 * s/bsd-common.h, s/darwin.h, s/gnu-kfreebsd.h, s/hpux10-20.h:
2118 Move NO_TERMIO to configure.
2119
21202012-06-12 Chong Yidong <cyd@gnu.org>
2121
2122 * image.c (imagemagick_load_image): Use MagickFlattenImage if
2123 MagickMergeImageLayers is undefined. Use pixel pusher loop if
2124 MagickExportImagePixels is undefined.
2125
21262012-06-12 Paul Eggert <eggert@cs.ucla.edu>
2127
2128 * image.c (imagemagick_load_image): Remove unused label.
2129
21302012-06-11 Glenn Morris <rgm@gnu.org>
2131
2132 * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
2133 * s/gnu-kfreebsd.h, s/gnu-linux.h, s/gnu.h, s/hpux10-20.h:
2134 * s/irix6-5.h, s/ms-w32.h, s/msdos.h, s/template.h:
2135 * s/usg5-4-common.h: Move SYSTEM_TYPE to configure.
2136
21372012-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
2138
2139 * alloc.c (make_byte_code): New function.
2140 (Fmake_byte_code): Use it. Don't purify here.
2141 * lread.c (read1): Use it as well to avoid extra allocation.
2142
21432012-06-11 Chong Yidong <cyd@gnu.org>
2144
2145 * image.c (imagemagick_load_image): Implement transparency.
2146
21472012-06-10 Andreas Schwab <schwab@linux-m68k.org>
2148
2149 * regex.c (at_begline_loc_p): Also recognize `(?N:' and correctly
2150 account for preceding backslashes. (Bug#11663)
2151
21522012-06-09 Chong Yidong <cyd@gnu.org>
2153
2154 * term.c: Support italics in capable terminals (Bug#9652).
2155 (no_color_bit): Replace unused NC_BLINK with NC_ITALIC.
2156 (turn_on_face): Output using TS_enter_italic_mode if available.
2157 Don't handle unused blinking and alt-charset cases.
2158 (turn_off_face): Handle italic case; discard unused tty_blinking_p
2159 and tty_alt_charset_p cases.
2160 (tty_capable_p, init_tty): Support italics.
2161
2162 * termchar.h (struct tty_display_info): Add field for italics.
2163 Remove unused blink field.
2164
2165 * xfaces.c (tty_supports_face_attributes_p, realize_tty_face):
2166 Handle slant.
2167
2168 * dispextern.h: Replace unused TTY_CAP_BLINK with TTY_CAP_ITALIC.
2169 (struct face): Remove unused fields tty_dim_p, tty_blinking_p, and
2170 tty_alt_charset_p. Add tty_italic_p.
2171
21722012-06-09 Michael Albinus <michael.albinus@gmx.de>
2173
2174 * dbusbind.c (XD_BASIC_DBUS_TYPE): Use dbus_type_is_valid and
2175 dbus_type_is_basic if available.
2176 (xd_extract_signed, xd_extract_unsigned): Rename from
2177 extract_signed and extract_unsigned, respectively. Adapt callers.
2178
21792012-06-09 Chong Yidong <cyd@gnu.org>
2180
2181 * xfaces.c (face_for_overlay_string): Handle face remapping (Bug#2066).
2182
2183 * fringe.c (Fset_fringe_bitmap_face): Handle the noninteractive
2184 case (Bug#9752).
2185
21862012-06-08 Paul Eggert <eggert@cs.ucla.edu>
2187
2188 * xdisp.c (vmessage): Treat frame message as multibyte.
2189 Without this change, (let ((§ 1)) (make-variable-buffer-local '§))
2190 would generate the diagnostic "Making \302\247 buffer-local while
2191 let-bound!".
2192
21932012-06-08 Eli Zaretskii <eliz@gnu.org>
2194
2195 * dispnew.c (showing_window_margins_p): Undo last change, which
2196 was done due to an inadvertent commit.
2197 (adjust_frame_glyphs_for_frame_redisplay): Do call
2198 showing_window_margins_p.
2199
22002012-06-08 Stefan Monnier <monnier@iro.umontreal.ca>
2201
2202 * eval.c (Fmake_var_non_special): New primitive.
2203 (syms_of_eval): Defsubr it.
2204 * lread.c (syms_of_lread): Mark `values' as lexically scoped.
2205
22062012-06-08 Juanma Barranquero <lekktu@gmail.com>
2207
2208 * dispnew.c (showing_window_margins_p): Wrap in #if 0 to prevent unused
2209 function warning (the only call is inside #if 0 since 2012-06-08T08:44:45Z!eliz@gnu.org).
2210
22112012-06-08 Eli Zaretskii <eliz@gnu.org>
2212
2213 * alloc.c (allocate_vectorlike): Fix last change.
2214
22152012-06-08 Dmitry Antipov <dmantipov@yandex.ru>
2216
2217 Block-based vector allocation of small vectors.
2218 * lisp.h (struct vectorlike_header): New field `nbytes',
2219 adjust comment accordingly.
2220 * alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK'
2221 to denote vector blocks. Adjust users (live_vector_p,
2222 mark_maybe_pointer, valid_lisp_object_p) accordingly.
2223 (COMMON_MULTIPLE): Move outside #if USE_LSB_TAG.
2224 (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES),
2225 (VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX),
2226 (VECTOR_FREE_LIST_FLAG, ADVANCE, VINDEX, SETUP_ON_FREE_LIST),
2227 (VECTOR_SIZE, VECTOR_IN_BLOCK): New macros.
2228 (roundup_size): New constant.
2229 (struct vector_block): New data type.
2230 (vector_blocks, vector_free_lists, zero_vector): New variables.
2231 (all_vectors): Rename to `large_vectors'.
2232 (allocate_vector_from_block, init_vectors, allocate_vector_from_block)
2233 (sweep_vectors): New functions.
2234 (allocate_vectorlike): Return `zero_vector' as the only vector of
2235 0 items. Allocate new vector from block if vector size is less than
2236 or equal to VBLOCK_BYTES_MAX.
2237 (Fgarbage_collect): Move all vector sweeping code to sweep_vectors.
2238 (init_alloc_once): Add call to init_vectors.
2239
22402012-06-08 Stefan Monnier <monnier@iro.umontreal.ca>
2241
2242 * eval.c (Fmacroexpand): Stop if the macro returns the same form.
2243
22442012-06-07 Paul Eggert <eggert@cs.ucla.edu>
2245
2246 * doprnt.c (doprnt): Truncate multibyte char correctly.
2247 Without this change, doprnt (buf, 2, "%s", FORMAT_END, AP)
2248 would mishandle a string argument "Xc" if X was a multibyte
2249 character of length 2: it would truncate after X's first byte
2250 rather than including all of X.
2251
22522012-06-06 Chong Yidong <cyd@gnu.org>
2253
2254 * buffer.c (word_wrap): Doc fix.
2255
12012-06-04 Paul Eggert <eggert@cs.ucla.edu> 22562012-06-04 Paul Eggert <eggert@cs.ucla.edu>
2 2257
3 * xdisp.c (note_mode_line_or_margin_highlight): Pacify gcc -Wall. 2258 * xdisp.c (note_mode_line_or_margin_highlight): Pacify gcc -Wall.
@@ -1190,7 +3445,7 @@
1190 Fix compilation with -DGLYPH_DEBUG=1 on MS-Windows. 3445 Fix compilation with -DGLYPH_DEBUG=1 on MS-Windows.
1191 3446
1192 * w32term.c [GLYPH_DEBUG]: Add prototype for x_check_font. 3447 * w32term.c [GLYPH_DEBUG]: Add prototype for x_check_font.
1193 (x_check_font) [GLYPH_DEBUG]: New function, copied from xterm.c 3448 (x_check_font) [GLYPH_DEBUG]: New function, copied from xterm.c.
1194 3449
1195 * w32fns.c (unwind_create_frame) [GLYPH_DEBUG]: Fix broken 3450 * w32fns.c (unwind_create_frame) [GLYPH_DEBUG]: Fix broken
1196 reference to image_cache->refcount. 3451 reference to image_cache->refcount.
@@ -6122,7 +8377,7 @@
6122 (EmacsToolbar): Implements NSToolbarDelegate on OSX >= 10.6. 8377 (EmacsToolbar): Implements NSToolbarDelegate on OSX >= 10.6.
6123 8378
6124 * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods 8379 * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods
6125 cString and lossyCString on OSX >= 10.4 8380 cString and lossyCString on OSX >= 10.4.
6126 8381
6127 * nsmenu.m (fillWithWidgetValue): Don't use deprecated method 8382 * nsmenu.m (fillWithWidgetValue): Don't use deprecated method
6128 sizeToFit on OSX >= 10.2. 8383 sizeToFit on OSX >= 10.2.