diff options
| author | Xue Fuqiao | 2013-09-04 08:39:34 +0800 |
|---|---|---|
| committer | Xue Fuqiao | 2013-09-04 08:39:34 +0800 |
| commit | adf2fc4a01efe77d73cd52bc9173914ed56ff531 (patch) | |
| tree | a5a280a5554a7bffeaf94fccae29fa3ac1a5d066 /src/ChangeLog | |
| parent | 63191d9f2043d2e67657e85a7b3842805dd1dad6 (diff) | |
| parent | 38726039b77db432989fed106c88e9f1aa463281 (diff) | |
| download | emacs-adf2fc4a01efe77d73cd52bc9173914ed56ff531.tar.gz emacs-adf2fc4a01efe77d73cd52bc9173914ed56ff531.zip | |
Merge from mainline.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 1403 |
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 @@ | |||
| 1 | 2013-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 | |||
| 7 | 2013-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 | |||
| 14 | 2013-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 | |||
| 29 | 2013-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 | |||
| 35 | 2013-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 | |||
| 43 | 2013-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 | |||
| 50 | 2013-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 | |||
| 63 | 2013-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 | |||
| 74 | 2013-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 | |||
| 82 | 2013-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 | |||
| 93 | 2013-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 | |||
| 105 | 2013-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 | |||
| 113 | 2013-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 | |||
| 118 | 2013-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 | |||
| 123 | 2013-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 | |||
| 150 | 2013-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 | |||
| 158 | 2013-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 | |||
| 172 | 2013-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 | |||
| 179 | 2013-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 | |||
| 189 | 2013-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 | |||
| 199 | 2013-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 | |||
| 204 | 2013-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 | |||
| 212 | 2013-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 | |||
| 221 | 2013-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 | |||
| 236 | 2013-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 | |||
| 241 | 2013-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 | |||
| 246 | 2013-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 | |||
| 263 | 2013-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 | |||
| 300 | 2013-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 | |||
| 310 | 2013-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 | |||
| 328 | 2013-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 | |||
| 344 | 2013-08-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 345 | |||
| 346 | * lread.c (substitute_object_recurse): Handle hash-tables as well | ||
| 347 | (bug#15190). | ||
| 348 | |||
| 349 | 2013-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 | |||
| 366 | 2013-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 | |||
| 371 | 2013-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 | |||
| 379 | 2013-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 | |||
| 385 | 2013-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 | |||
| 393 | 2013-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 | |||
| 403 | 2013-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 | |||
| 413 | 2013-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 | |||
| 423 | 2013-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 | |||
| 428 | 2013-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 | |||
| 444 | 2013-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 | |||
| 466 | 2013-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 | |||
| 471 | 2013-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 | |||
| 487 | 2013-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 | |||
| 502 | 2013-08-22 Paul Eggert <eggert@cs.ucla.edu> | ||
| 503 | |||
| 504 | * process.c (flush_pending_output): Remove stub. | ||
| 505 | All uses removed. | ||
| 506 | |||
| 507 | 2013-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 | |||
| 515 | 2013-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 | |||
| 524 | 2013-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 | |||
| 530 | 2013-08-20 Kenichi Handa <handa@gnu.org> | ||
| 531 | |||
| 532 | * character.c (string_char): Improve commentary. | ||
| 533 | |||
| 534 | 2013-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 | |||
| 541 | 2013-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 | |||
| 557 | 2013-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 | |||
| 565 | 2013-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 | |||
| 581 | 2013-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 | |||
| 586 | 2013-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 | |||
| 591 | 2013-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 | |||
| 600 | 2013-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 | |||
| 606 | 2013-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 | |||
| 614 | 2013-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 | |||
| 622 | 2013-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 | |||
| 632 | 2013-08-15 Jan Djärv <jan.h.d@swipnet.se> | ||
| 633 | |||
| 634 | * nsmenu.m (menuWillOpen:): Fix preprocessor test (Bug#15001). | ||
| 635 | |||
| 636 | 2013-08-15 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 637 | |||
| 638 | * image.c (imagemagick_compute_animated_image): Respect the GIF | ||
| 639 | disposal methods. | ||
| 640 | |||
| 641 | 2013-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 | |||
| 647 | 2013-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 | |||
| 658 | 2013-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 | |||
| 663 | 2013-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 | |||
| 674 | 2013-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 | |||
| 682 | 2013-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 | |||
| 691 | 2013-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 | |||
| 700 | 2013-08-14 Ken Brown <kbrown@cornell.edu> | ||
| 701 | |||
| 702 | * gmalloc.c (memalign) [CYGWIN]: Rename to emacs_memalign | ||
| 703 | (Bug#15094). | ||
| 704 | |||
| 705 | 2013-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 | |||
| 719 | 2013-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 | |||
| 727 | 2013-08-14 Xue Fuqiao <xfq.free@gmail.com> | ||
| 728 | |||
| 729 | * marker.c (set_marker): Reformat documentation. | ||
| 730 | |||
| 731 | 2013-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 | |||
| 739 | 2013-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 | |||
| 747 | 2013-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 | |||
| 763 | 2013-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 | |||
| 769 | 2013-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 | |||
| 777 | 2013-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 | |||
| 791 | 2013-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 | |||
| 799 | 2013-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 | |||
| 804 | 2013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 805 | |||
| 806 | * image.c (imagemagick_filename_hint): Check for errors in the | ||
| 807 | alist structure. | ||
| 808 | |||
| 809 | 2013-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 | |||
| 821 | 2013-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 | |||
| 827 | 2013-08-13 Eli Zaretskii <eliz@gnu.org> | ||
| 828 | |||
| 829 | * decompress.c (Fzlib_decompress_region) [WINDOWSNT]: Return Qnil | ||
| 830 | if loading zlib failed. | ||
| 831 | |||
| 832 | 2013-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 | |||
| 840 | 2013-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 | |||
| 854 | 2013-08-13 Paul Eggert <eggert@cs.ucla.edu> | ||
| 855 | |||
| 856 | * decompress.c (Fzlib_decompress_region): Try to clarify 'avail_out'. | ||
| 857 | |||
| 858 | 2013-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 | |||
| 878 | 2013-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 | |||
| 883 | 2013-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 | |||
| 899 | 2013-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 | |||
| 907 | 2013-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 | |||
| 915 | 2013-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 | |||
| 920 | 2013-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 | |||
| 926 | 2013-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 | |||
| 932 | 2013-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 933 | |||
| 934 | * decompress.c (Fzlib_decompress_region): Support zlib | ||
| 935 | decompression, too, and rename. | ||
| 936 | |||
| 937 | 2013-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 | |||
| 943 | 2013-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 944 | |||
| 945 | * decompress.c (Fzlib_decompress_gzipped_region): Rename to | ||
| 946 | include the zlib prefix. | ||
| 947 | |||
| 948 | 2013-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 | |||
| 962 | 2013-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 | |||
| 976 | 2013-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 | |||
| 1055 | 2013-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 | |||
| 1066 | 2013-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 | |||
| 1077 | 2013-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 | |||
| 1107 | 2013-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 | |||
| 1161 | 2013-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 | |||
| 1168 | 2013-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 | |||
| 1173 | 2013-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 | |||
| 1179 | 2013-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 | |||
| 1195 | 2013-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 | |||
| 1203 | 2013-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 | |||
| 1208 | 2013-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 | |||
| 1234 | 2013-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 | |||
| 1247 | 2013-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 | |||
| 1253 | 2013-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 | |||
| 1259 | 2013-08-07 Martin Rudalics <rudalics@gmx.at> | ||
| 1260 | |||
| 1261 | * w32term.c (w32fullscreen_hook): Really maximize frame when | ||
| 1262 | asked for (Bug#14841). | ||
| 1263 | |||
| 1264 | 2013-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 | |||
| 1273 | 2013-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 | |||
| 1291 | 2013-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 | |||
| 1296 | 2013-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 | |||
| 1308 | 2013-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 | |||
| 1327 | 2013-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 | |||
| 1345 | 2013-08-05 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 1346 | |||
| 1347 | * lisp.mk (lisp): Add nadvice.elc. | ||
| 1348 | |||
| 1349 | 2013-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 | |||
| 1364 | 2013-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 | |||
| 1371 | 2013-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 | |||
| 1378 | 2013-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 | |||
| 1 | 2013-08-03 Paul Eggert <eggert@cs.ucla.edu> | 1386 | 2013-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 | ||