aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog1403
1 files changed, 1394 insertions, 9 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 69e00cadbe9..e0aa1ed577f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,1388 @@
12013-09-03 Dmitry Antipov <dmantipov@yandex.ru>
2
3 * buffer.c (drop_overlay):
4 * fileio.c (restore_point_unwind): Prefer unchain_marker to
5 Fset_marker (X, Qnil, ...) (which is the same but a bit slower).
6
72013-09-03 Dmitry Antipov <dmantipov@yandex.ru>
8
9 * buffer.c (Fmake_overlay, Fmove_overlay):
10 * intervals.c (set_point_from_marker):
11 * print.c (PRINTPREPARE): Prefer signal_error
12 to plain error and report unsuitable marker too.
13
142013-09-03 Dmitry Antipov <dmantipov@yandex.ru>
15
16 * xterm.h (struct scroll_bar): Prefer int to Lisp_Object
17 for 'dragging' member.
18 (struct x_output): Remove set-but-unused leftovers
19 'left_before_move' and 'top_before_move'.
20 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb):
21 * xterm.c (xt_action_hook, xm_scroll_callback, xg_scroll_callback)
22 (xg_end_scroll_callback, xaw_jump_callback, xaw_scroll_callback)
23 (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
24 (x_scroll_bar_set_handle, XTset_vertical_scroll_bar)
25 (x_scroll_bar_handle_click, x_scroll_bar_note_movement)
26 (x_scroll_bar_report_motion, x_set_offset): Related users changed.
27 * xfns.c, image.c (XLIB_ILLEGAL_ACCESS): No longer needed.
28
292013-09-03 Jan Djärv <jan.h.d@swipnet.se>
30
31 * nsfont.m (INVALID_GLYPH): New define.
32 (nsfont_encode_char): Use INVALID_GLYPH.
33 (ns_uni_to_glyphs): Ditto, check for NSNullGlyph (Bug#15138).
34
352013-09-02 Dmitry Antipov <dmantipov@yandex.ru>
36
37 * xterm.c (x_last_mouse_movement_time): Revert last change.
38 This code should use XDisplayMotionBufferSize to check display's
39 motion history first, and there are few other issues as well.
40 (x_scroll_bar_note_movement): Pass XMotionEvent rather than XEvent.
41 (handle_one_xevent): Adjust user.
42
432013-09-02 Martin Rudalics <rudalics@gmx.at>
44
45 * dispnew.c (Flast_nonminibuf_frame): Move from here ...
46 * frame.c (Flast_nonminibuf_frame): ... to here.
47 (check_minibuf_window): Don't abort if no window was found
48 (Bug#15247).
49
502013-09-02 Dmitry Antipov <dmantipov@yandex.ru>
51
52 Use XGetMotionEvents to ask the last mouse motion time from X server.
53 * xterm.c (X_MOTION_HISTORY): Default to 1.
54 (x_last_mouse_movement_time) [X_MOTION_HISTORY]: New function.
55 (x_last_mouse_movement_time) [!X_MOTION_HISTORY]: Legacy version.
56 (note_mouse_movement, x_scroll_bar_note_movement) [!X_MOTION_HISTORY]:
57 Ifdef away legacy code.
58 (XTmouse_position, x_scroll_bar_report_motion):
59 Use x_last_mouse_movement_time.
60 (handle_one_xevent): Use event.xunmap and not event.xmap when handling
61 UnmapNotify event.
62
632013-09-02 Dmitry Antipov <dmantipov@yandex.ru>
64
65 * msdos.c (last_mouse_window): Move to...
66 (dos_rawgetc): ...this function and adjust comment.
67 * nsterm.m (last_window): Rename to last_mouse_window, move to...
68 (mouseMoved): ...this function and adjust comment.
69 * w32term.c (last_window): Likewise with...
70 (w32_read_socket): ...this function.
71 * xterm.c (last_window): Likewise with...
72 (handle_one_xevent): ...this function.
73
742013-09-02 Dmitry Antipov <dmantipov@yandex.ru>
75
76 * window.h (Vmouse_window, Vmouse_event): Remove the leftovers.
77 * xterm.c (toplevel): Drop obsolete comment and move compose_status...
78 (handle_one_xevent): ...to here.
79 (STORE_KEYSYM_FOR_DEBUG): Move under ENABLE_CHECKING and make no-op
80 otherwise.
81
822013-09-02 Dmitry Antipov <dmantipov@yandex.ru>
83
84 * msdos.c (IT_set_terminal_window): Remove no-op.
85 (initialize_msdos_display): Adjust terminal setup.
86 * w32console.c (w32con_set_terminal_window): Remove no-op.
87 (initialize_w32_display): Adjust terminal setup.
88 * w32term.c (w32_set_terminal_window): Remove no-op.
89 (w32_create_terminal): Adjust terminal setup.
90 * xterm.c (XTset_terminal_window): Remove no-op.
91 (x_create_terminal): Adjust terminal setup.
92
932013-09-01 Dmitry Antipov <dmantipov@yandex.ru>
94
95 * nsterm.m (ns_set_terminal_modes, ns_reset_terminal_modes):
96 Remove no-ops.
97 (ns_create_terminal): Adjust terminal setup.
98 * w32term.c (w32_set_terminal_modes, w32_reset_terminal_modes):
99 Remove no-ops.
100 (w32_create_terminal): Adjust terminal setup.
101 * xterm.c (XTset_terminal_modes, XTreset_terminal_modes):
102 Remove no-ops.
103 (x_create_terminal): Adjust terminal setup.
104
1052013-09-01 Dmitry Antipov <dmantipov@yandex.ru>
106
107 * dispextern.h (SET_TEXT_POS_FROM_MARKER): Indent.
108 (CLIP_TEXT_POS_FROM_MARKER): New macro.
109 * dispnew.c (buffer_posn_from_coords):
110 * window.c (Fwindow_end, displayed_window_lines):
111 * xdisp.c (redisplay_mode_lines): Use it.
112
1132013-09-01 Jan Djärv <jan.h.d@swipnet.se>
114
115 * fontset.c (face_for_char): Check char in the current face font first
116 if HAVE_NS (Bug#15138).
117
1182013-08-31 Martin Rudalics <rudalics@gmx.at>
119
120 * window.c (temp_output_buffer_show): Make sure window returned
121 by display_buffer is live (Bug#15213).
122
1232013-08-30 Dmitry Antipov <dmantipov@yandex.ru>
124
125 Minor cleanup to avoid forward declarations.
126 * coding.h (struct ccl_spec): Remove forward declaration.
127 * composite.h (toplevel): Include font.h.
128 (struct composition_it, struct face, struct font_metrics):
129 Remove forward declaration.
130 * dispextern.h (struct image, struct atimer): Likewise.
131 * emacsgtkfixed.h (struct frame): Likewise.
132 * emacsgtkfixed.c (toplevel): Reorder headers and drop stdio.h.
133 * font.h (struct font_driver, struct font, struct glyph_string)
134 (struct face): Remove forward declaration.
135 * fontset.h (struct face, struct font): Likewise.
136 * frame.h (toplevel): Style cleanup.
137 (enum output_method): Move to...
138 * termhooks.h (enum output_method): ...here.
139 (struct glyph, struct frame, struct ns_display_info)
140 (struct x_display_info, struct w32_display_info):
141 Remove forward declaration.
142 * xterm.h (toplevel): Include termhooks.h.
143 (struct font, struct window, struct glyph_matrix, struct frame)
144 (struct input_event, struct face, struct image): Remove forward
145 declaration.
146 * gtkutil.h (struct _widget_value): Likewise.
147 * keyboard.h (toplevel): Include termhooks.h.
148 (struct input_event): Remove forward declaration.
149
1502013-08-29 Dmitry Antipov <dmantipov@yandex.ru>
151
152 * intervals.c (set_point_from_marker): New function.
153 * editfns.c (Fgoto_char):
154 * process.c (Finternal_default_process_filter):
155 * window.c (select_window_1): Use it.
156 * buffer.h (set_point_from_marker): Add prototype.
157
1582013-08-29 Eli Zaretskii <eliz@gnu.org>
159
160 * w32.c (term_winsock): Call release_listen_threads before calling
161 WSACleanup.
162 (_sys_wait_accept): Wait for accept event in a loop with a finite
163 timeout, instead of waiting indefinitely. Will hopefully avoid
164 hanging during exit because WSACleanup deadlocks waiting for the
165 event object to be released. (Bug#14333)
166
167 * w32proc.c (release_listen_threads): New function, signals all
168 the reader threads that listen for connections to stop waiting.
169
170 * w32.h (release_listen_threads): Add prototype.
171
1722013-08-29 Dmitry Antipov <dmantipov@yandex.ru>
173
174 * alloc.c (Fmake_marker, build_marker): Zero need_adjustment
175 field of new marker (for sanity and safety).
176 * lisp.h (XSETMARKER): Remove unused macro (it doesn't work
177 anyway because XMISCTYPE is a function and can't be an lvalue).
178
1792013-08-29 Dmitry Antipov <dmantipov@yandex.ru>
180
181 * xterm.c (x_clear_area): Lost 7th arg because it is always False.
182 (x_after_update_window_line, x_scroll_bar_create):
183 (x_scroll_bar_set_handle, XTset_vertical_scroll_bar):
184 (handle_one_xevent, x_clear_frame_area):
185 * gtkutil.c (xg_clear_under_internal_border, xg_update_scrollbar_pos):
186 * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): Adjust users.
187 * xterm.h (x_clear_area): Adjust prototype.
188
1892013-08-29 Dmitry Antipov <dmantipov@yandex.ru>
190
191 Hook scanning and indentation functions to find_newline. This helps
192 to avoid duplicated code and renders more respect to newline cache.
193 * lisp.h (scan_newline): Prefer ptrdiff_t to EMACS_INT.
194 * cmds.c (Fforward_line):
195 * indent.c (scan_for_column, Fcurrent_indentation, indented_beyond_p):
196 Use find_newline and avoid unnecessary point movements.
197 * search.c (scan_newline): Implement on top of find_newline.
198
1992013-08-28 Stefan Monnier <monnier@iro.umontreal.ca>
200
201 * eval.c (Ffuncall): Fix handling of ((lambda ..) ..) in lexically
202 scoped code (bug#11258).
203
2042013-08-28 Davor Cubranic <cubranic@stat.ubc.ca> (tiny change)
205
206 * nsterm.m (last_window): New variable.
207 (EV_TRAILER2): New macro.
208 (EV_TRAILER): Call EV_TRAILER2.
209 (mouseMoved:): Add support for mouse-autoselect-window
210 on nextstep (Bug#6888).
211
2122013-08-28 Andreas Schwab <schwab@suse.de>
213
214 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE, CHAR_HEAD_P)
215 (SINGLE_BYTE_CHAR_P, SAME_CHARSET_P, MAKE_CHAR, BYTE8_TO_CHAR):
216 Remove unused macro definitions.
217 (CHARSET_RANGE_TABLE_BITS, EXTEND_RANGE_TABLE)
218 (SET_RANGE_TABLE_WORK_AREA_BIT, SET_RANGE_TABLE_WORK_AREA):
219 Only define if emacs.
220
2212013-08-28 Dmitry Antipov <dmantipov@yandex.ru>
222
223 Prefer enum glyph_row_area to int where appropriate.
224 * dispextern.h (enum glyph_row_area): Add ANY_AREA member.
225 Fix comment.
226 (window_box, window_box_width, window_box_left, window_box_left_offset)
227 (window_box_right, window_box_right_offset): Adjust prototypes.
228 * xdisp.c (window_box, window_box_width, window_box_left)
229 (window_box_left_offset, window_box_right, window_box_right_offset):
230 Use enum glyph_row_area. Adjust users and tweak comment where needed.
231 (window_box_edges): Likewise. Lost 2nd arg since it is always ANY_AREA.
232 * nsterm.m (ns_clip_to_row):
233 * w32term.c (w32_clip_to_row):
234 * xterm.c (x_clip_to_row): Likewise.
235
2362013-08-28 Dmitry Antipov <dmantipov@yandex.ru>
237
238 * buffer.c (Foverlays_at, Foverlays_in, Fnext_overlay_change)
239 (Fprevious_overlay_change): Fast path for buffer with no overlays.
240
2412013-08-28 Paul Eggert <eggert@cs.ucla.edu>
242
243 * Makefile.in (SHELL): Now @SHELL@, not /bin/sh,
244 for portability to hosts where /bin/sh has problems.
245
2462013-08-28 Dmitry Antipov <dmantipov@yandex.ru>
247
248 Redesign redisplay interface to drop global output_cursor.
249 * dispextern.h (struct redisplay_interface): Remove cursor_to member.
250 (toplevel): Remove declaration of output_cursor.
251 (set_output_cursor, x_cursor_to): Remove prototype.
252 * window.h (struct window): New member output_cursor.
253 (output_cursor_to): New function to replace RIF member.
254 * dispnew.c (redraw_overlapped_rows, update_marginal_area)
255 (update_text_area, set_window_cursor_after_update): Use it.
256 * xdisp.c (output_cursor, set_output_cursor, x_cursor_to): Remove.
257 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
258 * nsterm.m (ns_update_window_begin, ns_update_window_end):
259 * w32term.c (x_update_window_begin, x_update_window_end):
260 * xterm.c (x_update_window_begin, x_update_window_end):
261 Adjust to use per-window output cursor.
262
2632013-08-27 Paul Eggert <eggert@cs.ucla.edu>
264
265 Simplify SELECT_TYPE-related code.
266 Like EMACS_TIME, this portability layer is no longer needed, since
267 Emacs has been using fd_set as a portability layer for some time.
268 * sysselect.h (FD_SETSIZE): Rename from MAXDESC. All uses changed.
269 (SELECT_TYPE): Remove. All uses changed to fd_set.
270 (fd_set) [!FD_SET]: New typedef.
271
272 Simplify EMACS_TIME-related code.
273 This portability layer is no longer needed, since Emacs has been
274 using struct timespec as a portability layer for some time.
275 * atimer.h, buffer.h, dispextern.h, xgselect.h:
276 Include <time.h> rather than "systime.h"; that's all that's needed now.
277 * dispnew.c: Include <timespec.h> rather than "systime.h";
278 that's all that's needed now.
279 * systime.h (EMACS_TIME): Remove. All uses changed to struct timespec.
280 (EMACS_TIME_RESOLUTION): Remove. All uses changed to
281 TIMESPEC_RESOLUTION.
282 (LOG10_EMACS_TIME_RESOLUTION): Remove. All uses changed to
283 LOG10_TIMESPEC_RESOLUTION.
284 (EMACS_SECS, emacs_secs_addr): Remove. All uses changed to tv_sec.
285 (EMACS_NSECS): Remove. All uses changed to tv_nsec.
286 (make_emacs_time): Remove. All used changed to make_timespec.
287 (invalid_timespec): Rename from invalid_emacs_time. All uses changed.
288 (current_timespec): Rename from current_emacs_time. All uses changed.
289 (add_emacs_time): Remove. All uses changed to timespec_add.
290 (sub_emacs_time): Remove. All uses change dot timespec_sub.
291 (EMACS_TIME_SIGN): Remove. All uses changed to timespec_sign.
292 (timespec_valid_p): Rename from EMACS_TIME_VALID_P. All uses changed.
293 (EMACS_TIME_FROM_DOUBLE): Remove. All uses changed to dtotimespec.
294 (EMACS_TIME_TO_DOUBLE): Remove. All uses changed to timespectod.
295 (current_timespec): Rename from current_emacs_time. All uses changed.
296 (EMACS_TIME_EQ, EMACS_TIME_LT, EMACS_TIME_LE): Remove. All uses
297 changed to timespec_cmp.
298 * xgselect.c: Include <timespec.h>, since our .h files don't.
299
3002013-08-27 Dmitry Antipov <dmantipov@yandex.ru>
301
302 * xterm.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE:)
303 * nsterm.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
304 Remove the leftovers.
305 * gtkutil.c (toplevel): Do not declare Qxft but include
306 font.h to do so.
307 * image.c (toplevel): Do not declare Vlibrary_cache because
308 it's already done in lisp.h.
309
3102013-08-27 Dmitry Antipov <dmantipov@yandex.ru>
311
312 * lisp.h (Mouse_HLInfo): Move from here...
313 * dispextern.h (Mouse_HLInfo): ...to here and offload lisp.h.
314 (reset_mouse_highlight): New function.
315 * msdos.c (dos_set_window_size, IT_update_begin)
316 (internal_terminal_init):
317 * nsterm.m (ns_update_window_end, x_free_frame_resources)
318 (ns_initialize_display_info):
319 * w32console.c (initialize_w32_display):
320 * w32term.c (x_update_window_end, x_free_frame_resources)
321 (w32_initialize_display_info):
322 * xterm.c (x_update_window_end, x_free_frame_resources, x_term_init):
323 * window.c (Fdelete_other_windows_internal):
324 * xdisp.c (clear_mouse_face, cancel_mouse_face): Use it.
325 * termchar.h (toplevel):
326 * xterm.h (toplevel): Include dispextern.h.
327
3282013-08-26 Paul Eggert <eggert@cs.ucla.edu>
329
330 Fix minor problems found by static checking.
331 * image.c (XGetPixel, XPutPixel) [HAVE_NS]: Now static.
332 (expect): Avoid nested-if warning.
333 (x_build_heuristic_mask) [HAVE_NS]: Avoid unused-var warning.
334 * nsmenu.m (fillWithWidgetValue:): Avoid type warning.
335 * nsterm.h, nsterm.m (ns_select):
336 * xgselect.c, xgselect.h (xg_select):
337 Adjust signature to better match pselect's.
338 * nsterm.m (ns_select):
339 Don't set *TIMEOUT, since pselect doesn't.
340 * regex.c (whitespace_regexp): Now const_re_char *, to avoid
341 diagnostic about assigning const char * to it.
342 * xfaces.c (x_display_info) [HAVE_NS]: Remove; unused.
343
3442013-08-26 Stefan Monnier <monnier@iro.umontreal.ca>
345
346 * lread.c (substitute_object_recurse): Handle hash-tables as well
347 (bug#15190).
348
3492013-08-26 Paul Eggert <eggert@cs.ucla.edu>
350
351 Fix unlikely core dump in init_tty, and simplify terminfo case.
352 * term.c (init_tty) [TERMINFO]: Fix check for buffer overrun.
353 The old version incorrectly dumped core if malloc returned a
354 buffer containing only non-NUL bytes.
355 (init_tty): Do not allocate or free termcap buffers; the
356 struct does that for us now.
357 * termchar.h (TERMCAP_BUFFER_SIZE) [!TERMINFO]: New constant.
358 (struct tty_display_info): Define members termcap_term_buffer and
359 termcap_strings_buffer only if !TERMINFO, since terminfo doesn't
360 use them. Allocate them directly in struct rather than indirectly
361 via a pointer, to simplify init_tty.
362
363 * frame.c (check_minibuf_window): Initialize 'window' properly,
364 so that Emacs reliably aborts later if 'window' is not initialized.
365
3662013-08-26 Jan Djärv <jan.h.d@swipnet.se>
367
368 * gtkutil.c (xg_initialize): Set gtk-menu-bar-accel to "" instead
369 of VoidSymbol (Bug#15154).
370
3712013-08-26 Dmitry Antipov <dmantipov@yandex.ru>
372
373 * lisp.h (Mouse_HLInfo): Drop set-but-unused members
374 mouse_face_beg_y and mouse_face_end_y.
375 * xdisp.c (note_tool_bar_highlight, mouse_face_from_buffer_pos)
376 (mouse_face_from_string_pos, note_mode_line_or_margin_highlight):
377 Adjust users and update comment where appropriate.
378
3792013-08-26 Martin Rudalics <rudalics@gmx.at>
380
381 * frame.c (check_minibuf_window): New function.
382 (delete_frame, Fmake_frame_invisible, Ficonify_frame):
383 Call check_minibuf_window (Bug#15183).
384
3852013-08-26 Dmitry Antipov <dmantipov@yandex.ru>
386
387 * window.h (struct window): Replace last_cursor with last_cursor_vpos
388 because this is the only last cursor data we need to keep and consult.
389 * window.c (replace_window, set_window_buffer, Fsplit_window_internal):
390 * xdisp.c (mark_window_display_accurate_1, try_cursor_movement):
391 Adjust users.
392
3932013-08-26 Dmitry Antipov <dmantipov@yandex.ru>
394
395 Fix recovering from possible decompression error.
396 Since insert_from_gap doesn't always move point, we can't use PT as
397 the position where the partially decompressed data ends, and
398 should count how many bytes was produced so far.
399 * decompress.c (struct decompress_unwind_data): Add nbytes member.
400 (unwind_decompress): Really delete partially uncompressed data.
401 (Fzlib_decompress_region): Take decompressed data size into account.
402
4032013-08-26 Dmitry Antipov <dmantipov@yandex.ru>
404
405 * syntax.c (init_syntax_once): Adjust comment and do an early
406 initialization of Qchar_table_extra_slots just once...
407 * casetab.c (init_casetab_once):
408 * category.c (init_category_once):
409 * character.c (syms_of_character):
410 * coding.c (syms_of_coding):
411 * xdisp.c (syms_of_xdisp): ...and omit it here.
412
4132013-08-24 Eli Zaretskii <eliz@gnu.org>
414
415 * xdisp.c (get_next_display_element): Don't apply to characters
416 from a display vector the logic of setting it->end_of_box_run_p
417 suitable for characters from a buffer. (Bug#15175)
418
419 * w32.c (fdutimens): Call 'utime', which is implemented on w32.c
420 to handle directories, rather than '_utime' which doesn't.
421 (Bug#15176)
422
4232013-08-24 Jan Djärv <jan.h.d@swipnet.se>
424
425 * gtkutil.c (x_wm_set_size_hint): Don't set hints when maximized
426 or fullscreen (Bug#14627).
427
4282013-08-24 Paul Eggert <eggert@cs.ucla.edu>
429
430 System-dependent integer overflow fixes.
431 * process.c (Fset_process_window_size): Signal an error if
432 the window size is outside the range supported by the lower level.
433 * sysdep.c (set_window_size): Return negative on error,
434 nonnegative on success, rather than -1, 0, 1 on not in system,
435 failure, success. This is simpler. Caller changed.
436 (serial_configure): Remove unnecessary initialization of local.
437 (procfs_get_total_memory) [GNU_LINUX]: Don't assume system memory
438 size fits in unsigned long; this isn't true on some 32-bit hosts.
439 Avoid buffer overrun if some future version of /proc/meminfo has a
440 variable name longer than 20 bytes.
441 (system_process_attributes) [__FreeBSD__]:
442 Don't assume hw.availpages fits in 'int'.
443
4442013-08-23 Paul Eggert <eggert@cs.ucla.edu>
445
446 Don't let very long directory names overrun the stack.
447 Fix some related minor problems involving "//", vfork.
448 * callproc.c (encode_current_directory): New function.
449 (call_process): Don't append "/"; not needed.
450 * fileio.c (file_name_as_directory_slop): New constant.
451 (file_name_as_directory): Allow SRC to be longer than SRCLEN;
452 this can save the caller having to alloca.
453 (Ffile_name_as_directory, Fdirectory_file_name, Fexpand_file_name):
454 Use SAFE_ALLOCA, not alloca.
455 (directory_file_name, Fexpand_file_name): Leave leading "//"
456 alone, since it can be special even on POSIX platforms.
457 * callproc.c (call_process):
458 * process.c (Fformat_network_address):
459 * sysdep.c (sys_subshell):
460 Use encode_current_directory rather than rolling our own.
461 (create_process): No need to encode directory; caller does that now.
462 * process.h (encode_current_directory): New decl.
463 * sysdep.c (sys_subshell): Work even if vfork trashes saved_handlers.
464 Rework to avoid 'goto xyzzy;'.
465
4662013-08-23 Eli Zaretskii <eliz@gnu.org>
467
468 * xdisp.c (handle_face_prop): If the default face was remapped use
469 the remapped face for strings from prefix properties. (Bug#15155)
470
4712013-08-23 Dmitry Antipov <dmantipov@yandex.ru>
472
473 Minor cleanup for redisplay interface and few related functions.
474 * frame.h (enum text_cursor_kinds): Move from here...
475 * dispextern.h (enum text_cursor_kinds): ...to here.
476 (toplevel): Drop unnecessary declarations.
477 (struct redisplay_interface): Use bool and enum text_cursor_kinds
478 in update_window_end_hook and draw_window_cursor functions.
479 (display_and_set_cursor, x_update_cursor): Adjust prototypes.
480 * nsterm.m (ns_update_window_end, ns_draw_window_cursor):
481 * w32term.c (x_update_window_end,w32_draw_window_cursor):
482 * xterm.c (x_update_window_end, x_draw_window_cursor):
483 * xdisp.c (display_and_set_cursor, update_window_cursor)
484 (update_cursor_in_window_tree, x_update_cursor): Use bool and
485 enum text_cursor_kinds where appropriate.
486
4872013-08-23 Dmitry Antipov <dmantipov@yandex.ru>
488
489 Redesign redisplay interface to drop updated_row and updated_area.
490 * dispextern.h (updated_row, updated_area): Remove declaration.
491 (struct redisplay_interface): Pass glyph row and row area parameters
492 to write_glyphs, insert_glyphs and clear_end_of_line functions.
493 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
494 Adjust prototypes.
495 * dispnew.c (updated_row, updated_area): Remove.
496 (redraw_overlapped_rows, update_window_line): Adjust user.
497 (update_marginal_area, update_text_area): Likewise. Pass updated row
498 as a parameter. Prefer enum glyph_row_area to int where appropriate.
499 * xdisp.c (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
500 Adjust users.
501
5022013-08-22 Paul Eggert <eggert@cs.ucla.edu>
503
504 * process.c (flush_pending_output): Remove stub.
505 All uses removed.
506
5072013-08-21 Paul Eggert <eggert@cs.ucla.edu>
508
509 * callproc.c: Fix race that killed background processes (Bug#15144).
510 (call_process): New arg TEMPFILE_INDEX. Callers changed.
511 Record deleted process-id in critical section, not afterwards.
512 Don't mistakenly kill process created by a call-process invocation
513 that discards output and does not wait.
514
5152013-08-21 Dmitry Antipov <dmantipov@yandex.ru>
516
517 Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE
518 and GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES.
519 * alloc.c (toplevel): Remove unnecessary nested #if...#endif.
520 (mark_maybe_object) [!GC_MARK_STACK]: Define to emacs_abort
521 to shut up compiler in mark_object.
522 (dump_zombies): Convert to global and add EXTERNALLY_VISIBLE.
523
5242013-08-21 Paul Eggert <eggert@cs.ucla.edu>
525
526 * process.c (allocate_pty) [PTY_OPEN]: Set fd's FD_CLOEXEC flag.
527 We can't portably rely on PTY_OPEN doing that, even if
528 it calls posix_openpt with O_CLOEXEC.
529
5302013-08-20 Kenichi Handa <handa@gnu.org>
531
532 * character.c (string_char): Improve commentary.
533
5342013-08-20 Paul Eggert <eggert@cs.ucla.edu>
535
536 * image.c (SIGNATURE_DIGESTSIZE): Remove.
537 (struct animation_cache): Make signature a flexible array member.
538 All uses changed. This is a tad slower but may insulate us better
539 from future changes to ImageMagick.
540
5412013-08-19 Paul Eggert <eggert@cs.ucla.edu>
542
543 * image.c: Shrink memory needed for animation cache.
544 (SIGNATURE_DIGESTSIZE): New constant.
545 (struct animation_cache): Make 'signature' a fixed size array of bytes.
546 (imagemagick_create_cache): Copy the signature. This saves
547 several KB of memory that ImageMagick wastes per signature.
548 Don't bother updating the update_time, as the caller does that now.
549 (imagemagick_prune_animation_cache): Don't destroy the signature, as
550 it's a fixed size struct member now.
551 (imagemagick_get_animation_cache): Always destroy the signature,
552 as it's now imagemagick_create_cache's responsibility to copy it.
553 Avoid duplicate calls to strcmp and to imagemagick_create_cache,
554 and use memcmp rather than strcmp.
555 eassert that ImageMagick returns a signature of the specified length.
556
5572013-08-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
558
559 * image.c (imagemagick_get_animation_cache): Don't segfault on
560 each invocation.
561 (imagemagick_get_animation_cache): Revert to previous definition
562 so that it actually works. But keep the memory leak fix.
563 (imagemagick_get_animation_cache): Fix memory leak.
564
5652013-08-19 Paul Eggert <eggert@cs.ucla.edu>
566
567 * image.c: Fix animation cache signature memory leak.
568 Fix some other minor performance problems while we're at it.
569 (imagemagick_create_cache): Clear just the members that
570 need clearing. Don't set update_time, as caller does that now.
571 (imagemagick_prune_animation_cache, imagemagick_get_animation_cache):
572 Simplify by using pointer-to-pointer instead of a prev pointer.
573 (imagemagick_prune_animation_cache): Use make_emacs_time rather
574 than EMACS_TIME_FROM_DOUBLE, and DestroyString rather than free.
575 (imagemagick_get_animation_cache): Don't xstrdup the image signature;
576 it's already a copy. Free the signature probe unless it's cached.
577
578 * process.c (handle_child_signal): Fix crash; deleted pid (Bug#15106).
579 This was introduced by my 2013-08-12 fix for Bug#15035.
580
5812013-08-19 Dmitry Antipov <dmantipov@yandex.ru>
582
583 * image.c (imagemagick_create_cache, imagemagick_get_animation_cache)
584 (imagemagick_prune_animation_cache): Now static.
585
5862013-08-18 Lars Magne Ingebrigtsen <larsi@gnus.org>
587
588 * image.c (imagemagick_get_animation_cache): Don't segfault when
589 pruning all entries.
590
5912013-08-18 Ken Brown <kbrown@cornell.edu>
592
593 * sheap.c (STATIC_HEAP_SIZE): Adjust to current needs; use bigger
594 static heap if ENABLE_CHECKING is defined.
595 (max_bss_sbrk_ptr): New variable.
596 (bss_sbrk): Use it.
597 (report_sheap_usage): Report maximum static heap usage instead of
598 ending static heap usage.
599
6002013-08-17 Eli Zaretskii <eliz@gnu.org>
601
602 * decompress.c (Fzlib_available_p) [WINDOWSNT]: Update the value
603 of zlib_initialized according to the results of calling
604 init_zlib_functions.
605
6062013-08-16 Lars Magne Ingebrigtsen <larsi@gnus.org>
607
608 * image.c: Implement an ImageMagick per-image cache.
609 (imagemagick_get_animation_cache): Fix a double-free error.
610 (imagemagick_load_image): Remove the ping_wand code, which only
611 apparently saved time on invalid animated images, and slowed down
612 everything else. Optimise for the common case.
613
6142013-08-16 Xue Fuqiao <xfq.free@gmail.com>
615
616 * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
617
618 * editfns.c (insert_before_markers): Mention overlay in the doc string.
619
620 * marker.c (set_marker): Remove documentation of undefined behavior.
621
6222013-08-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
623
624 * image.c (imagemagick_compute_animated_image): Animate correctly
625 when sub-images are smaller than the main image.
626 (imagemagick_compute_animated_image): Setting the iterator row to
627 zero is apparently not allowed.
628 (imagemagick_compute_animated_image): Allow images that say they
629 have sub-images that are bigger than the main image, but just crop
630 them.
631
6322013-08-15 Jan Djärv <jan.h.d@swipnet.se>
633
634 * nsmenu.m (menuWillOpen:): Fix preprocessor test (Bug#15001).
635
6362013-08-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
637
638 * image.c (imagemagick_compute_animated_image): Respect the GIF
639 disposal methods.
640
6412013-08-15 Ken Brown <kbrown@cornell.edu>
642
643 * emacs.c (main): Update comment about G_SLICE_ALWAYS_MALLOC.
644 * gmalloc.c (memalign) [CYGWIN]: Revert last change; it's not
645 needed.
646
6472013-08-15 Paul Eggert <eggert@cs.ucla.edu>
648
649 Fix minor problems found by static checking.
650 * frame.c (delete_frame):
651 * xdisp.c (next_element_from_display_vector):
652 Avoid uninitialized local.
653 * image.c (imagemagick_compute_animated_image): Port to C89.
654 Prefer usual GNU indentation style for loops.
655 Be more careful about bizarrely large sizes, by using ptrdiff_t
656 instead of int.
657
6582013-08-15 Dmitry Antipov <dmantipov@yandex.ru>
659
660 Fix infinite frame selection loop (Bug#15025).
661 * frame.c (delete_frame): Prefer fast ad-hoc loop to next_frame.
662
6632013-08-15 Eli Zaretskii <eliz@gnu.org>
664
665 * xdisp.c (compute_window_start_on_continuation_line):
666 When WORD_WRAP is in effect, use move_it_to instead of move_it_by_lines
667 to make sure we end up setting the window start at the leftmost
668 visible character of the display line. This avoids funky
669 horizontal shifting because the window start is not kept on the
670 same position. (Bug#15090)
671 (next_element_from_display_vector): Support 'box' face attribute
672 in the face definitions of a display vector. (Bug#15099)
673
6742013-08-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
675
676 * image.c (imagemagick_compute_animated_image): Implement animated
677 images (bug#14700).
678 (imagemagick_compute_animated_image): Fix some compilation
679 warnings. Implement a very simple cache to make the animation
680 usable at all, but it should be replaced with a per-image cache.
681
6822013-08-15 Dmitry Antipov <dmantipov@yandex.ru>
683
684 * lisp.h (FOR_EACH_ALIST_VALUE): New macro
685 to do `for' loops over alist values.
686 * buffer.h (FOR_EACH_BUFFER):
687 * process.c (FOR_EACH_PROCESS): Use it.
688 (handle_child_signal, status_notify, Fget_buffer_process)
689 (kill_buffer_processes): Use FOR_EACH_PROCESS.
690
6912013-08-15 Dmitry Antipov <dmantipov@yandex.ru>
692
693 * term.c (get_named_tty, create_tty_output, tty_free_frame_resources)
694 (tty_free_frame_resources, delete_tty): Prefer eassert to emacs_abort.
695 * image.c (make_image_cache): For struct image_cache, prefer xmalloc
696 to xzalloc and so avoid redundant call to memset.
697 * xterm.c (x_term_init): Avoid unnecessary initializations of dpyinfo
698 members because it is allocated with xzalloc and so already zeroed.
699
7002013-08-14 Ken Brown <kbrown@cornell.edu>
701
702 * gmalloc.c (memalign) [CYGWIN]: Rename to emacs_memalign
703 (Bug#15094).
704
7052013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
706
707 Utility function and macro to copy Lisp string to C string.
708 * lisp.h (xlispstrdupa): New macro.
709 (xlispstrdup): New prototype.
710 * alloc.c (xlispstrdup): New function.
711 * callint.c (Fcall_interactively):
712 * fileio.c (Ffile_name_directory, Fexpand_file_name)
713 (Fsubstitute_in_file_name):
714 * frame.c (Fmake_terminal_frame): Use xlispstrdupa.
715 * image.c (x_create_bitmap_from_file):
716 * w32term.c (w32_term_init):
717 * xterm.c (x_term_init): Use xlispstrdup.
718
7192013-08-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
720
721 * image.c (imagemagick_load_image): Make animated pictures work.
722 There's still some problems with background color settings, though
723 (bug#14700).
724
725 * decompress.c (unwind_decompress): Always restore point.
726
7272013-08-14 Xue Fuqiao <xfq.free@gmail.com>
728
729 * marker.c (set_marker): Reformat documentation.
730
7312013-08-14 Paul Eggert <eggert@cs.ucla.edu>
732
733 * xdisp.c (cursor_type_changed): Now static.
734
735 * image.c (imagemagick_filename_hint): New arg HINT_BUFFER.
736 Use changed. This avoids the need to call xmalloc and for the
737 caller to call xfree, and avoids memory leaks in some situations.
738
7392013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
740
741 * xdisp.c (adjust_window_ends): Move duplicated code to new function.
742 (try_window, try_window_reusing_current_matrix, try_window_id): Use it.
743 (redisplay_window): If window_end_valid is cleared due to non-zero
744 windows_or_buffers_changed, clear current_matrix_up_to_date_p and
745 so do not call to try_cursor_movement for that window.
746
7472013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
748
749 * window.h (struct window): Convert window_end_pos and
750 window_end_vpos from Lisp_Object to ptrdiff_t and int, respectively.
751 (wset_window_end_pos, wset_window_end_vpos): Remove.
752 * dispnew.c (adjust_glyph_matrix):
753 * window.c (Fwindow_end, replace_window, set_window_buffer)
754 (make_window):
755 * xdisp.c (check_window_end, move_it_to, redisplay_internal)
756 (set_vertical_scroll_bar, redisplay_window, try_window)
757 (try_window_reusing_current_matrix, find_first_unchanged_at_end_row)
758 (try_window_id, decode_mode_spec, mouse_face_from_buffer_pos)
759 (note_mouse_highlight): Adjust users.
760 (try_cursor_movement): Likewise. Convert old precondition to eassert.
761 Add comment.
762
7632013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
764
765 Fix --enable-gcc-warnings errors introduced in 2013-08-13 commit.
766 * image.c (imagemagick_filename_hint): Use `const char *' and
767 prefer SSDATA to SDATA to avoid warnings.
768
7692013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
770
771 Cleanup window fringes, margins and scroll bars adjustments.
772 * window.c (set_window_fringes, set_window_margins)
773 (set_window_scroll_bars, apply_window_adjustment): New functions.
774 (set_window_buffer, Fset_window_margins, Fset_window_fringes)
775 (Fset_window_scroll_bars): Use them.
776
7772013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
778
779 * window.h (struct window): Convert scroll_bar_width
780 from Lisp_Object to integer. Adjust comment.
781 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
782 Adjust users.
783 * window.c (wset_scroll_bar_width): Remove.
784 (make_window): Initialize scroll_bar_width.
785 (Fsplit_window_internal): Use direct assignment.
786 (Fset_window_configuration, save_window_save):
787 Convert Lisp_Object to integer and back where appropriate.
788 (Fset_window_scroll_bars): Adjust user. Return t if any scroll
789 bar was actually changed, and mention this in docstring.
790
7912013-08-13 Paul Eggert <eggert@cs.ucla.edu>
792
793 * decompress.c: Minor simplifications.
794 (Fzlib_decompress_region): Don't bother verifying
795 that avail_out <= UINT_MAX, as that was confusing.
796 Mention the restriction in a comment instead.
797 Prefer 'int' to 'ptrdiff_t' when 'int' is wide enough.
798
7992013-08-13 Jan Djärv <jan.h.d@swipnet.se>
800
801 * nsmenu.m (x_activate_menubar): Check for OSX >= 10.5
802 (trackingNotification:): Call ns_check_menu_open only for OSX >= 10.5.
803
8042013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
805
806 * image.c (imagemagick_filename_hint): Check for errors in the
807 alist structure.
808
8092013-08-13 Eli Zaretskii <eliz@gnu.org>
810
811 * window.c (Fwindow_margins): Return nil when there's no marginal
812 area, as per the documented API.
813
814 * w32term.c (x_scroll_bar_create): Use ALLOCATE_PSEUDOVECTOR, not
815 Fmake_vector, as scroll bar's struct members are not all Lisp
816 objects now. This avoids crashes in GC.
817
818 * w32term.h (struct scroll_bar): Convert fringe_extended_p to a
819 bool, so its address could be taken.
820
8212013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
822
823 * image.c (imagemagick_filename_hint): New function to possibly
824 apply `image-content-type-suffixes'.
825 (imagemagick_load_image): Use it.
826
8272013-08-13 Eli Zaretskii <eliz@gnu.org>
828
829 * decompress.c (Fzlib_decompress_region) [WINDOWSNT]: Return Qnil
830 if loading zlib failed.
831
8322013-08-13 Jan Djärv <jan.h.d@swipnet.se>
833
834 * nsterm.m (ns_set_vertical_scroll_bar): Fix breakage intruduced by
835 2013-08-13 checkin below. Change bool to BOOL, rule is:
836 All Obj-C code uses BOOL, except for interfaces callable from C.
837
838 * nsterm.h: Fix CGFloat for OSX 10.4 (Bug#15086).
839
8402013-08-13 Dmitry Antipov <dmantipov@yandex.ru>
841
842 * window.h (WINDOW_FRINGE_EXTENDED_P): New macro.
843 * nsterm.m (ns_set_vertical_scroll_bar): Use it. Use convenient
844 bool instead of BOOL.
845 * w32term.h (struct scroll_bar): Convert fringe_extended_p
846 from Lisp_Object to bitfield. Adjust comment.
847 * w32term.c (x_scroll_bar_create): Adjust user.
848 Use WINDOW_FRINGE_EXTENDED_P and bool for boolean.
849 * xterm.c (XTset_vertical_scroll_bar): Likewise.
850 Use bool for boolean.
851 * xterm.h (struct scroll_bar): Prefer commonly used `unsigned'
852 to `unsigned int' when defining a bitfield.
853
8542013-08-13 Paul Eggert <eggert@cs.ucla.edu>
855
856 * decompress.c (Fzlib_decompress_region): Try to clarify 'avail_out'.
857
8582013-08-13 Dmitry Antipov <dmantipov@yandex.ru>
859
860 * window.h (struct window): Convert left_margin_cols and
861 right_margin_cols from Lisp_Objects to integers. Adjust comment.
862 (WINDOW_LEFT_MARGIN_COLS, WINDOW_RIGHT_MARGIN_COLS)
863 (WINDOW_LEFT_MARGIN_WIDTH, WINDOW_RIGHT_MARGIN_WIDTH):
864 Adjust users.
865 * dispnew.c (margin_glyphs_to_reserve): Convert 3rd arg to int.
866 Adjust comment.
867 (showing_window_margins_p, update_window_line, update_frame_1):
868 * fringe.c (draw_fringe_bitmap_1):
869 * xdisp.c (window_box_width): Adjust users.
870 * window.c (wset_left_margin_cols, wset_right_margin_cols): Remove.
871 (adjust_window_margins, set_window_buffer, Fsplit_window_internal):
872 Use direct assignment.
873 (Fset_window_configuration, save_window_save, Fwindow_margins):
874 Convert Lisp_Object to integer and back where appropriate.
875 (Fset_window_margins): Adjust user. Return t if any margin
876 was actually changed, and mention this in docstring.
877
8782013-08-13 Xue Fuqiao <xfq.free@gmail.com>
879
880 * syntax.c (forward_word):
881 * cmds.c (forward_char, backward_char): Mention the optional argument.
882
8832013-08-13 Dmitry Antipov <dmantipov@yandex.ru>
884
885 * window.h (struct window): Convert left_fringe_width
886 and right_fringe_width from Lisp_Objects to integers.
887 Adjust comment.
888 (WINDOW_FRINGE_COLS, WINDOW_LEFT_FRINGE_WIDTH)
889 (WINDOW_RIGHT_FRINGE_WIDTH): Adjust users.
890 * window.c (wset_left_fringe_width, wset_right_fringe_width):
891 Remove.
892 (make_window): Initialize new integer fields to -1.
893 (Fsplit_window_internal): Use direct assignment.
894 (Fset_window_configuration, save_window_save):
895 Convert Lisp_Object to integer and back where appropriate.
896 (Fset_window_fringes): Adjust user. Return t if any fringe
897 was actually changed, and mention this in docstring.
898
8992013-08-13 Dmitry Antipov <dmantipov@yandex.ru>
900
901 * keyboard.c (Fdiscard_input): Do not increment update_mode_lines.
902 * nsfns.m (x_set_cursor_type):
903 * w32fns.c (x_set_cursor_type):
904 * xfns.m (x_set_cursor_type): Do not set cursor_type_changed here...
905 * xdisp.c (set_frame_cursor_types): ...but in common code.
906
9072013-08-13 Dmitry Antipov <dmantipov@yandex.ru>
908
909 * font.c (clear_font_cache): New function, stripped from...
910 (Fclear_font_cache): ...here, which now uses the function
911 above. Adjust comment.
912 * font.h (clear_font_cache): Add prototype.
913 * xfaces.c (clear_face_cache): Use clear_font_cache.
914
9152013-08-13 Dmitry Antipov <dmantipov@yandex.ru>
916
917 * window.c (Fset_window_start): Compare `w', not `window' because
918 `w' might not be equal to `window' after call to decode_live_window.
919
9202013-08-12 Paul Eggert <eggert@cs.ucla.edu>
921
922 * process.c (deactivate_process): Reset fds to -1 (Bug#15035).
923 This fixes a problem introduced by the Bug#15035 patch
924 when using GPG. Reported by Herbert J. Skuhra.
925
9262013-08-12 Eli Zaretskii <eliz@gnu.org>
927
928 * decompress.c <zlib_initialized> [WINDOWSNT]: New static variable.
929 (Fzlib_decompress_region) [WINDOWSNT]: Call init_zlib_functions if
930 not yet initialized.
931
9322013-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
933
934 * decompress.c (Fzlib_decompress_region): Support zlib
935 decompression, too, and rename.
936
9372013-08-12 Paul Eggert <eggert@cs.ucla.edu>
938
939 Minor zlib configuration tweaks.
940 * decompress.c (fn_inflateInit2) [!WINDOWSNT]:
941 Don't assume presence of fn_inflateInit2_ zlib internal function.
942
9432013-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
944
945 * decompress.c (Fzlib_decompress_gzipped_region): Rename to
946 include the zlib prefix.
947
9482013-08-12 Eli Zaretskii <eliz@gnu.org>
949
950 * decompress.c [WINDOWSNT]: Include windows.h and w32.h.
951 (DEF_ZLIB_FN, LOAD_ZLIB_FN) [WINDOWSNT]: New macros. Use them to
952 define static variables that are pointers to zlib functions to be
953 dynamically loaded.
954 (init_zlib_functions) [WINDOWSNT]: New function.
955 (fn_inflateInit2_, fn_inflate, fn_inflateEnd, fn_inflateInit2):
956 New macros.
957 (Fdecompress_gzipped_region, unwind_decompress): Use the fn_*
958 macros instead of invoking the zlib functions directly.
959 (syms_of_decompress): DEFSYM Qzlib_dll.
960 Staticpro Szlib_available_p.
961
9622013-08-12 Dmitry Antipov <dmantipov@yandex.ru>
963
964 Avoid looping over all frame windows to freeze and unfreeze.
965 * window.h (struct window): Drop frozen_window_start_p.
966 (freeze_window_starts): Drop prototype.
967 * frame.h (struct frame): New frozen_window_starts flag.
968 (FRAME_WINDOWS_FROZEN): New macro.
969 * window.c (freeze_window_start, freeze_window_starts):
970 Remove.
971 (select_window, replace_window): Adjust users.
972 * xdisp.c (resize_mini_window): Use FRAME_WINDOWS_FROZEN.
973 (window_frozen_p): New function.
974 (redisplay_window): Use it.
975
9762013-08-12 Paul Eggert <eggert@cs.ucla.edu>
977
978 Fix some fd issues when running subprocesses (Bug#15035).
979 Fix bugs that can leak files or file descriptors on errors.
980 Don't unlink open temp files, as that's hard for users to diagnose
981 when things go awry (e.g., temp disk exhausted).
982 Don't bother to lock temp files. Check for invalid recursion.
983 * callproc.c (synch_process_fd): Remove. All uses removed.
984 (synch_process_tempfile): New var or macro.
985 (CALLPROC_STDOUT, CALLPROC_STDERR, CALLPROC_PIPEREAD, CALLPROC_FDS):
986 New constants.
987 (record_kill_process): New arg, the temp name. All callers changed.
988 (delete_temp_file): Now just a simple wrapper around unlink.
989 (call_process_kill): New arg, the call_process_fd array.
990 Close them all. Clear synch_process_pid. Remove the temp file,
991 or arrange for it to be removed.
992 (call_process_cleanup) [MSDOS]: Arg no longer contains file name;
993 that's been moved to synch_process_tempfile. Caller changed.
994 Do not remove the tempfile; that's now call_process_kill's
995 responsibility.
996 (call_process_cleanup) [!MSDOS]: Do not record unwind-protect for
997 call_process_kill; the caller now does that.
998 (call_process_cleanup): Do not close the process fd; that's now
999 call_process_kill's responsibility.
1000 (Fcall_process): Implement via new function call_process, which
1001 has most of the old body of Fcall_process, but with a different API.
1002 (call_process): New function that does not open or close filefd if
1003 it is nonnegative. Record which fds need to be closed, and let
1004 call_process_kill close (and remove the tempfile, on MSDOS) on error.
1005 Signal an error if invoked recursively (could be done via a hook).
1006 Simplify creation of the tempfile in the MSDOS case.
1007 Don't create the output file until after checking for the executable.
1008 Report any failure to open /dev/null.
1009 Don't open /dev/null for writing twice; once is enough.
1010 Don't create pipe if all output is being discarded or sent to file.
1011 Don't worry about setting up the coding system or reading from the
1012 pipe if all output is being discarded.
1013 Hoist fd_error local into top level, to lessen block nesting.
1014 Don't record deleted pid here; now done by Fcall_process_region.
1015 (Fcall_process) [MSDOS]: Report mktemp failure immediately,
1016 and note its success in synch_process_tempfile.
1017 Do not leak resources when child_setup fails.
1018 (Fcall_process) [!MSDOS && !WINDOWSNT]: Remove duplicate assignment
1019 to child_errno. Remove unnecessary close of fd0; it's close-on-exec.
1020 (create_temp_file): Now returns open fd, with an additional
1021 Lisp_Object * argument to return the name. All callers changed.
1022 Do not close the file; rewind it instead, and leave it open for
1023 the caller. Do not lock the temp file. Unwind-protect the file
1024 and the file-descriptor.
1025 (Fcall_process_region): If the input is /dev/null, unwind-protect it.
1026 If an asynchrounous process, record it here, not in call_process.
1027 (syms_of_callproc) [MSDOS]: Initialize synch_process_tempfile.
1028 * eval.c (set_unwind_protect): New function.
1029 * fileio.c (write_region): New function, generalized from the
1030 old Fwrite_region. Do not lock temp files.
1031 (Fwrite_region): Use it.
1032 * lisp.h (set_unwind_protect, write_region): New decls.
1033 * process.c: Include <verify.h>.
1034 (make_process): Mark fds as initially closed.
1035 (deleted_pid_list): Now a list of pid-filename pairs.
1036 All uses changed.
1037 (close_process_fd): New function.
1038 (SUBPROCESS_STDIN, WRITE_TO_SUBPROCESS, READ_FROM_SUBPROCESS)
1039 (SUBPROCESS_STDOUT, READ_FROM_EXEC_MONITOR, EXEC_MONITOR_OUTPUT):
1040 New constants. Verify that their number matches PROCESS_OPEN_FDS.
1041 (create_process, create_pty, Fmake_serial_process)
1042 (server_accept_connection): Record which fds need to be closed,
1043 and let deactivate_process close them.
1044 (Fmake_network_process): Do not discard the unwind-protect
1045 until it's safe to do so.
1046 (deactivate_process): Close the fds opened by create_process etc.
1047 (Fprocess_send_eof): Adjust to new way of recording open fds.
1048 Report an error if /dev/null can't be opened, instead of aborting.
1049 * process.h (PROCESS_OPEN_FDS): New constant.
1050 (struct Lisp_Process): New member open_fds.
1051 (record_kill_process, record_deleted_pid): Adjust signatures.
1052 (record_deleted_pid): Move decl here ...
1053 * syswait.h (record_deleted_pid): ... from here.
1054
10552013-08-11 Paul Eggert <eggert@cs.ucla.edu>
1056
1057 * decompress.c: Fix bugs with large buffers and weird inputs.
1058 Tune a bit. Reindent as per usual Emacs style.
1059 (BUFFER_SIZE): Remove.
1060 (Fdecompress_gzipped_region): Do not mishandle input buffers with
1061 more than UINT_MAX bytes. Decompress into the gap instead of into
1062 an auto buffer, as this should avoid copying. Return nil if
1063 'inflate' returns Z_NEED_DICT, as we have no dictionary. Do not
1064 set immediate_quit; we shouldn't trust zlib code that much.
1065
10662013-08-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
1067
1068 * decompress.c (Fdecompress_gzipped_region): Respect all zlib
1069 errors, and really move the gap to where we want it.
1070
1071 * lisp.h: Include decompress.c support.
1072
1073 * emacs.c (main): Include decompress.c support.
1074
1075 * Makefile.in: Include -lz if present.
1076
10772013-08-11 Jan Djärv <jan.h.d@swipnet.se>
1078
1079 * nsmenu.m (ns_update_menubar): Call fillWithWidgetValue:frame:
1080 (initWithTitle:): Initialize frame to 0.
1081 (fillWithWidgetValue:): Call fillWithWidgetValue:frame.
1082 (fillWithWidgetValue:frame:): Rename from
1083 fillWithWidgetValue:setDelegate, call initWithTile:frame: if f.
1084
1085 * nsterm.h (EmacsMenu): fillWithWidgetValue:setDelegate renamed to
1086 fillWithWidgetValue:frame:
1087
1088 * nsfns.m (Fns_convert_utf8_nfd_to_nfc): Allocate and release pool to
1089 remove memory leak warnings.
1090
1091 * nsterm.m (menu_pending_title, ns_get_pending_menu_title): Remove.
1092 (ns_check_menu_open): Handle menu == nil. Remove assignment to
1093 menu_pending_title.
1094
1095 * nsmenu.m (ns_update_menubar): Call fillWithWidgetValue:setDelegate.
1096 (x_activate_menubar): Update the whole menu.
1097 (trackingNotification:): Call ns_check_menu_open if tracking ends.
1098 (menuWillOpen:): Increment trackingMenu. For OSX <= 10.6, exit if
1099 current event is not NSSystemDefined (Bug#15001).
1100 Call ns_check_menu_open only if trackingMenu is 2.
1101 (menuDidClose:): New method, decrease trackingMenu.
1102 (fillWithWidgetValue:setDelegate:): New method.
1103 (fillWithWidgetValue:): Call the above.
1104
1105 * nsterm.h (EmacsMenu): Add fillWithWidgetValue:setDelegate:
1106
11072013-08-11 Paul Eggert <eggert@cs.ucla.edu>
1108
1109 Omit some unnecessary casts.
1110 Many of these go back to the old pre-C89 days, when they may have
1111 been needed, but we've been assuming C89 or later for a while now.
1112 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1113 (live_float_p, live_misc_p, live_vector_p):
1114 * buffer.c (compare_overlays, cmp_for_strings, mmap_find)
1115 (mmap_alloc, alloc_buffer_text, enlarge_buffer_text)
1116 (defvar_per_buffer):
1117 * callint.c (Fcall_interactively):
1118 * doc.c (Fsubstitute_command_keys):
1119 * filelock.c (get_boot_time):
1120 * frame.c (xrdb_get_resource):
1121 * gtkutil.c (hierarchy_ch_cb, qttip_cb, style_changed_cb)
1122 (delete_cb, xg_dialog_response_cb, xg_maybe_add_timer)
1123 (xg_get_file_name_from_selector, menuitem_destroy_callback)
1124 (menuitem_highlight_callback, menu_destroy_callback)
1125 (xg_update_menu_item, xg_modify_menubar_widgets, menubar_map_cb)
1126 (xg_tool_bar_callback, xg_get_tool_bar_widgets)
1127 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
1128 (xg_tool_bar_help_callback, tb_size_cb):
1129 * image.c (xpm_alloc_color, png_read_from_memory)
1130 (png_read_from_file, png_load_body, our_memory_skip_input_data)
1131 (jpeg_memory_src, jpeg_file_src, imagemagick_load_image)
1132 (syms_of_image):
1133 * keymap.c (describe_map):
1134 * nsfns.m (Fns_display_monitor_attributes_list):
1135 * nsmenu.m (process_dialog:):
1136 * nsterm.m (hold_event):
1137 * process.c (wait_reading_process_output):
1138 * regex.c (REGEX_REALLOCATE, re_set_registers, re_exec, regexec):
1139 * scroll.c (do_direct_scrolling, scrolling_1):
1140 * termcap.c (tgetent):
1141 * window.c (check_window_containing, add_window_to_list)
1142 (freeze_window_starts):
1143 * xdisp.c (compare_overlay_entries, vmessage):
1144 * xfns.c (x_window, x_get_monitor_attributes_xinerama)
1145 (x_get_monitor_attributes_xrandr)
1146 (Fx_display_monitor_attributes_list, x_display_info_for_name)
1147 (Fx_open_connection, file_dialog_cb, file_dialog_unmap_cb):
1148 * xfont.c (xfont_match, xfont_open):
1149 * xmenu.c (x_menu_wait_for_event, menu_highlight_callback)
1150 (menubar_selection_callback, menu_position_func)
1151 (popup_selection_callback, create_and_show_popup_menu)
1152 (dialog_selection_callback, create_and_show_dialog):
1153 * xrdb.c (x_get_string_resource):
1154 (main) [TESTRM]:
1155 * xsmfns.c (x_session_check_input):
1156 * xterm.c (x_draw_glyphless_glyph_string_foreground)
1157 (xm_scroll_callback, xg_scroll_callback, xg_end_scroll_callback)
1158 (xaw_jump_callback, xaw_scroll_callback):
1159 Omit unnecessary casts.
1160
11612013-08-10 Paul Eggert <eggert@cs.ucla.edu>
1162
1163 Minor string-length refactoring.
1164 * alloc.c (xstrdup): Use memcpy, not strcpy, since the length's known.
1165 * frame.c (make_monitor_attribute_list):
1166 Prefer build_string to strlen + make_string.
1167
11682013-08-10 Jan Djärv <jan.h.d@swipnet.se>
1169
1170 * xterm.c (x_error_handler): Also ignore BadWindow for X_SetInputFocus,
1171 don't check minor_code (Bug#14417).
1172
11732013-08-09 Eli Zaretskii <eliz@gnu.org>
1174
1175 * xdisp.c (draw_glyphs): Don't compare row pointers, compare row
1176 vertical positions instead. This avoids calling MATRIX_ROW with
1177 row numbers that are possibly beyond valid limits. (Bug#15064)
1178
11792013-08-09 Dmitry Antipov <dmantipov@yandex.ru>
1180
1181 Use xstrdup and build_unibyte_string where applicable.
1182 * alloc.c (xstrdup): Tiny cleanup. Add eassert.
1183 * xfns.c (x_window):
1184 * xrdb.c (x_get_customization_string):
1185 * xterm.c (xim_initialize):
1186 * w32fns.c (w32_window): Use xstrdup.
1187 (w32_display_monitor_attributes_list):
1188 * emacs.c (init_cmdargs):
1189 * keyboard.c (PUSH_C_STR):
1190 * nsfont.m (nsfont_open):
1191 * sysdep.c (system_process_attributes):
1192 * w32.c (system_process_attributes):
1193 * xdisp.c (message1, message1_nolog): Use build_unibyte_string.
1194
11952013-08-09 Eli Zaretskii <eliz@gnu.org>
1196
1197 * w32.c (PEXCEPTION_POINTERS, PEXCEPTION_RECORD, PCONTEXT): Define
1198 variables of these types so that GDB would know about them, as aid
1199 for debugging fatal exceptions. (Bug#15024) See also
1200 http://sourceware.org/ml/gdb/2013-08/msg00010.html for related
1201 discussions.
1202
12032013-08-08 Jan Djärv <jan.h.d@swipnet.se>
1204
1205 * nsterm.m (ns_update_begin): Don't change clip path if it would be
1206 larger than the NSWindow (Bug#14934).
1207
12082013-08-08 Dmitry Antipov <dmantipov@yandex.ru>
1209
1210 Redesign redisplay interface to drop global variable updated_window.
1211 Always pass currently updated window as a parameter to update routines.
1212 * dispextern.h (updated_window): Remove declaration.
1213 (struct redisplay_interface): Pass window parameter to
1214 write_glyphs, insert_glyphs, clear_end_of_line, cursor_to
1215 and after_update_window_hook.
1216 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line, x_cursor_to):
1217 Adjust prototypes.
1218 * dispnew.c (updated_window): Remove.
1219 (redraw_overlapped_rows, update_marginal_area, update_text_area)
1220 (update_window_line): Adjust to match redisplay interface changes.
1221 * nsterm.m (ns_update_window_begin, ns_update_window_end)
1222 (ns_scroll_run, ns_after_update_window_line):
1223 * w32term.c (x_update_window_begin, x_update_window_end)
1224 (x_after_update_window_line, x_scroll_run):
1225 * xterm.c (x_update_window_begin, x_update_window_end)
1226 (x_after_update_window_line, x_scroll_run):
1227 * xdisp.c (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
1228 Likewise. Adjust comments where appropriate.
1229 (x_cursor_to): Simplify because this is always called during window
1230 update (but install debugging check anyway).
1231 (expose_window): Check must_be_updated_p flag to see whether this
1232 function is called during window update.
1233
12342013-08-08 Dmitry Antipov <dmantipov@yandex.ru>
1235
1236 Do not reset window modification event counters excessively.
1237 These leftovers and poor man's tricky methods to catch extra
1238 redisplay's attention are no longer needed.
1239 * frame.c (set_menu_bar_lines_1):
1240 * minibuf.c (read_minibuf_unwind):
1241 * window.c (Fset_window_start, set_window_buffer, window_resize_apply)
1242 (grow_mini_window, shrink_mini_window, window_scroll_pixel_based)
1243 (window_scroll_line_based, Fset_window_configuration):
1244 * xdisp.c (redisplay_window): Do not reset last_modified and
1245 last_overlay_modified counters.
1246
12472013-08-07 Jan Djärv <jan.h.d@swipnet.se>
1248
1249 * xselect.c (x_send_client_event): Set send_event and serial, memset
1250 data.l as it might be bigger than data.b. Use 24 bit mask to
1251 XSendEvent (Bug#15034).
1252
12532013-08-07 Eli Zaretskii <eliz@gnu.org>
1254
1255 * xdisp.c (prepare_menu_bars): Don't call x_consider_frame_title
1256 for TTY frames that are not the top frame on their console.
1257 (Bug#14616)
1258
12592013-08-07 Martin Rudalics <rudalics@gmx.at>
1260
1261 * w32term.c (w32fullscreen_hook): Really maximize frame when
1262 asked for (Bug#14841).
1263
12642013-08-07 Dmitry Antipov <dmantipov@yandex.ru>
1265
1266 Prefer selected_window to Fselected_window, likewise for frames.
1267 * buffer.c (Fbuffer_swap_text):
1268 * data.c (Fvariable_binding_locus):
1269 * window.c (run_window_configuration_change_hook): Adjust users.
1270 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
1271 Use decode_live_frame.
1272
12732013-08-07 Dmitry Antipov <dmantipov@yandex.ru>
1274
1275 Be more careful if selected window shows the buffer other than current,
1276 use window_outdated only if this is not so. This change should also
1277 address some weird issues discussed in Bug#13012.
1278 * window.h (window_outdated): New prototype.
1279 * window.c (window_outdated): Now here. Convert from static and
1280 always assume window's buffer.
1281 (Fwindow_end, Fwindow_line_height): Use it.
1282 * xdisp.c (reconsider_clip_changes): Remove prototype, drop 2nd arg
1283 and always assume window's buffer.
1284 (redisplay_window): Adjust user.
1285 (redisplay_internal): Call to reconsider_clip_changes once and
1286 check whether mode line should be updated only if selected window
1287 shows current buffer.
1288 (run_window_scroll_functions): Use eassert for debugging check.
1289 (Fmove_point_visually, note_mouse_highlight): Use window_outdated.
1290
12912013-08-06 Dmitry Antipov <dmantipov@yandex.ru>
1292
1293 * window.c (window_scroll, window_scroll_pixel_based)
1294 (window_scroll_line_based): Use bool for booleans.
1295
12962013-08-06 Paul Eggert <eggert@cs.ucla.edu>
1297
1298 * process.c: Fix minor off-by-one issues in descriptor counts.
1299 This shouldn't fix any real bugs, but it cleans up the code a bit.
1300 (max_process_desc, max_input_desc): -1, not 0, means none.
1301 All uses changed.
1302 (delete_input_desc): New function.
1303 (delete_write_fd, delete_keyboard_wait_descriptor): Use it.
1304 (deactivate_process): Scan backwards when recomuting max_process_desc;
1305 that should be faster.
1306 (init_process_emacs): Initialize max_input_desc.
1307
13082013-08-06 Dmitry Antipov <dmantipov@yandex.ru>
1309
1310 Use region cache to speedup bidi_find_paragraph_start.
1311 * buffer.h (struct buffer): New member bidi_paragraph_cache.
1312 Rename cache_long_line_scans to cache_long_scans.
1313 * buffer.c (bset_cache_long_line_scans): Rename to
1314 bset_cache_long_scans.
1315 (Fget_buffer_create, Fmake_indirect_buffer, Fkill_buffer)
1316 (Fbuffer_swap_text, init_buffer_once): Take bidi_paragraph_cache
1317 into account.
1318 (syms_of_buffer): Rename cache-long-line-scans to
1319 cache-long-scans. Adjust docstring.
1320 * search.c (newline_cache_on_off):
1321 * indent.c (width_run_cache_on_off): Adjust users.
1322 * bidi.c (bidi_paragraph_cache_on_off): New function.
1323 (bidi_find_paragraph_start): Use bidi_paragraph_cache if needed.
1324 * insdel.c (prepare_to_modify_buffer):
1325 Invalidate bidi_paragraph_cache if enabled.
1326
13272013-08-06 Dmitry Antipov <dmantipov@yandex.ru>
1328
1329 Invalidate region caches only if buffer text is going to be changed.
1330 * lisp.h (modify_region_1): Remove 3rd arg and rename to...
1331 (modify_text): ...new prototype.
1332 (prepare_to_modify_buffer_1): New prototype.
1333 * textprop.c (modify_region): Rename to...
1334 (modify_text_properties): ...new function.
1335 (add_text_properties_1, set_text_properties, Fremove_text_properties)
1336 (Fremove_list_of_text_properties): Adjust users.
1337 * insdel.c (modify_region_1): Remove 3rd arg and reimplement as...
1338 (modify_text): ...new function.
1339 (prepare_to_modify_buffer): Reimplement mostly as a wrapper for...
1340 (prepare_to_modify_buffer_1): ...new function.
1341 * casefiddle.c (casify_region):
1342 * editfns.c (Fsubst_char_in_region, Ftranslate_region_internal)
1343 (Ftranspose_regions): Use modify_text.
1344
13452013-08-05 Stefan Monnier <monnier@iro.umontreal.ca>
1346
1347 * lisp.mk (lisp): Add nadvice.elc.
1348
13492013-08-05 Dmitry Antipov <dmantipov@yandex.ru>
1350
1351 New macro to iterate over live buffers similar to frames.
1352 * buffer.h (FOR_EACH_LIVE_BUFFER): New macro.
1353 (Vbuffer_alist, Qpriority, Qbefore_string, Qafter_string):
1354 Declare buffer-related variables here to offload lisp.h.
1355 * buffer.c (Vbuffer_alist): Adjust comment.
1356 (Fget_file_buffer, get_truename_buffer, Fother_buffer)
1357 (other_buffer_safely):
1358 * data.c (store_symval_forwarding):
1359 * dispnew.c (Fframe_or_buffer_changed_p):
1360 * fileio.c (Fdo_auto_save):
1361 * filelock.c (unlock_all_files):
1362 * minibuf.c (read_minibuf): Use FOR_EACH_LIVE_BUFFER.
1363
13642013-08-04 Paul Eggert <eggert@cs.ucla.edu>
1365
1366 Fix some minor races in hosts lacking mkostemp (Bug#15015).
1367 * callproc.c (create_temp_file):
1368 * filelock.c (create_lock_file):
1369 Assume mkostemp, since it's now provided by Gnulib.
1370
13712013-08-04 Eli Zaretskii <eliz@gnu.org>
1372
1373 * w32.c (mkostemp): New function.
1374 (mktemp): Remove, no longer used. Most of the code reused in
1375 mkostemp. (Bug#15015)
1376 (mktemp): Don't undef.
1377
13782013-08-04 Dmitry Antipov <dmantipov@yandex.ru>
1379
1380 * dispnew.c (glyph_matrix_count, glyph_pool_count):
1381 Move under GLYPH_DEBUG and ENABLE_CHECKING.
1382 (new_glyph_matrix, free_glyph_matrix, new_glyph_pool)
1383 (free_glyph_pool, check_glyph_memory): Likewise for
1384 all users. Adjust comments where appropriate.
1385
12013-08-03 Paul Eggert <eggert@cs.ucla.edu> 13862013-08-03 Paul Eggert <eggert@cs.ucla.edu>
2 1387
3 * composite.h: Minor fixups. 1388 * composite.h: Minor fixups.
@@ -108,8 +1493,8 @@
108 Avoid redundant Lisp_Object <-> struct frame conversions in font API. 1493 Avoid redundant Lisp_Object <-> struct frame conversions in font API.
109 * font.h (struct font_driver): Change list, match, and list_family 1494 * font.h (struct font_driver): Change list, match, and list_family
110 functions to accept struct frame * as first arg. 1495 functions to accept struct frame * as first arg.
111 * font.c (font_score, font_compare, font_sort_entities): Remove 1496 * font.c (font_score, font_compare, font_sort_entities):
112 prototypes. 1497 Remove prototypes.
113 (font_sort_entities, font_list_entities, font_select_entity): 1498 (font_sort_entities, font_list_entities, font_select_entity):
114 (font_find_for_lface, Flist_fonts, Ffont_family_list): Adjust to 1499 (font_find_for_lface, Flist_fonts, Ffont_family_list): Adjust to
115 match font API change. 1500 match font API change.
@@ -416,9 +1801,9 @@
416 or fscanf fails. 1801 or fscanf fails.
417 (system_process_attributes): Prefer plain char to unsigned char 1802 (system_process_attributes): Prefer plain char to unsigned char
418 when either will do. Clean up properly if interrupted or if 1803 when either will do. Clean up properly if interrupted or if
419 memory allocations fail. Don't assume sscanf succeeds. Remove 1804 memory allocations fail. Don't assume sscanf succeeds.
420 no-longer-needed workaround to stop GCC from whining. Read 1805 Remove no-longer-needed workaround to stop GCC from whining.
421 command-line once, instead of multiple times. Check read status a 1806 Read command-line once, instead of multiple times. Check read status a
422 bit more carefully. 1807 bit more carefully.
423 1808
424 Fix obscure porting bug with varargs functions. 1809 Fix obscure porting bug with varargs functions.
@@ -772,8 +2157,8 @@
772 of the old Fcall_process_region. Use Fcopy_sequence to create the 2157 of the old Fcall_process_region. Use Fcopy_sequence to create the
773 temp file name, rather than alloca + build_string, for simplicity. 2158 temp file name, rather than alloca + build_string, for simplicity.
774 Don't bother to block input around the temp file creation; 2159 Don't bother to block input around the temp file creation;
775 shouldn't be needed. Simplify use of mktemp. Use 2160 shouldn't be needed. Simplify use of mktemp.
776 record_unwind_protect immediately after creating the temp file; 2161 Use record_unwind_protect immediately after creating the temp file;
777 this closes an unlikely race where the temp file was not removed. 2162 this closes an unlikely race where the temp file was not removed.
778 Use memcpy rather than an open-coded loop. 2163 Use memcpy rather than an open-coded loop.
779 (Fcall_process_region): Use the new function. If the input is 2164 (Fcall_process_region): Use the new function. If the input is
@@ -1132,8 +2517,8 @@
1132 (try_cursor_movement, redisplay_window, try_window) 2517 (try_cursor_movement, redisplay_window, try_window)
1133 (try_window_id): Use it instead of FRAME_LINE_HEIGHT. (Bug#14771) 2518 (try_window_id): Use it instead of FRAME_LINE_HEIGHT. (Bug#14771)
1134 2519
1135 * window.c (window_scroll_pixel_based): use 2520 * window.c (window_scroll_pixel_based):
1136 default_line_pixel_height. 2521 use default_line_pixel_height.
1137 2522
1138 * dispextern.h (default_line_pixel_height): Add prototype. 2523 * dispextern.h (default_line_pixel_height): Add prototype.
1139 2524