diff options
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 1104 |
1 files changed, 1100 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 38fa72b0506..e21d82bdc09 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,1099 @@ | |||
| 1 | 2013-08-20 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * image.c (SIGNATURE_DIGESTSIZE): Remove. | ||
| 4 | (struct animation_cache): Make signature a flexible array member. | ||
| 5 | All uses changed. This is a tad slower but may insulate us better | ||
| 6 | from future changes to ImageMagick. | ||
| 7 | |||
| 8 | 2013-08-19 Paul Eggert <eggert@cs.ucla.edu> | ||
| 9 | |||
| 10 | * image.c: Shrink memory needed for animation cache. | ||
| 11 | (SIGNATURE_DIGESTSIZE): New constant. | ||
| 12 | (struct animation_cache): Make 'signature' a fixed size array of bytes. | ||
| 13 | (imagemagick_create_cache): Copy the signature. This saves | ||
| 14 | several KB of memory that ImageMagick wastes per signature. | ||
| 15 | Don't bother updating the update_time, as the caller does that now. | ||
| 16 | (imagemagick_prune_animation_cache): Don't destroy the signature, as | ||
| 17 | it's a fixed size struct member now. | ||
| 18 | (imagemagick_get_animation_cache): Always destroy the signature, | ||
| 19 | as it's now imagemagick_create_cache's responsibility to copy it. | ||
| 20 | Avoid duplicate calls to strcmp and to imagemagick_create_cache, | ||
| 21 | and use memcmp rather than strcmp. | ||
| 22 | eassert that ImageMagick returns a signature of the specified length. | ||
| 23 | |||
| 24 | 2013-08-19 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 25 | |||
| 26 | * image.c (imagemagick_get_animation_cache): Don't segfault on | ||
| 27 | each invocation. | ||
| 28 | (imagemagick_get_animation_cache): Revert to previous definition | ||
| 29 | so that it actually works. But keep the memory leak fix. | ||
| 30 | (imagemagick_get_animation_cache): Fix memory leak. | ||
| 31 | |||
| 32 | 2013-08-19 Paul Eggert <eggert@cs.ucla.edu> | ||
| 33 | |||
| 34 | * image.c: Fix animation cache signature memory leak. | ||
| 35 | Fix some other minor performance problems while we're at it. | ||
| 36 | (imagemagick_create_cache): Clear just the members that | ||
| 37 | need clearing. Don't set update_time, as caller does that now. | ||
| 38 | (imagemagick_prune_animation_cache, imagemagick_get_animation_cache): | ||
| 39 | Simplify by using pointer-to-pointer instead of a prev pointer. | ||
| 40 | (imagemagick_prune_animation_cache): Use make_emacs_time rather | ||
| 41 | than EMACS_TIME_FROM_DOUBLE, and DestroyString rather than free. | ||
| 42 | (imagemagick_get_animation_cache): Don't xstrdup the image signature; | ||
| 43 | it's already a copy. Free the signature probe unless it's cached. | ||
| 44 | |||
| 45 | * process.c (handle_child_signal): Fix crash; deleted pid (Bug#15106). | ||
| 46 | This was introduced by my 2013-08-12 fix for Bug#15035. | ||
| 47 | |||
| 48 | 2013-08-19 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 49 | |||
| 50 | * image.c (imagemagick_create_cache, imagemagick_get_animation_cache) | ||
| 51 | (imagemagick_prune_animation_cache): Now static. | ||
| 52 | |||
| 53 | 2013-08-18 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 54 | |||
| 55 | * image.c (imagemagick_get_animation_cache): Don't segfault when | ||
| 56 | pruning all entries. | ||
| 57 | |||
| 58 | 2013-08-18 Ken Brown <kbrown@cornell.edu> | ||
| 59 | |||
| 60 | * sheap.c (STATIC_HEAP_SIZE): Adjust to current needs; use bigger | ||
| 61 | static heap if ENABLE_CHECKING is defined. | ||
| 62 | (max_bss_sbrk_ptr): New variable. | ||
| 63 | (bss_sbrk): Use it. | ||
| 64 | (report_sheap_usage): Report maximum static heap usage instead of | ||
| 65 | ending static heap usage. | ||
| 66 | |||
| 67 | 2013-08-17 Eli Zaretskii <eliz@gnu.org> | ||
| 68 | |||
| 69 | * decompress.c (Fzlib_available_p) [WINDOWSNT]: Update the value | ||
| 70 | of zlib_initialized according to the results of calling | ||
| 71 | init_zlib_functions. | ||
| 72 | |||
| 73 | 2013-08-16 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 74 | |||
| 75 | * image.c: Implement an ImageMagick per-image cache. | ||
| 76 | (imagemagick_get_animation_cache): Fix a double-free error. | ||
| 77 | (imagemagick_load_image): Remove the ping_wand code, which only | ||
| 78 | apparently saved time on invalid animated images, and slowed down | ||
| 79 | everything else. Optimise for the common case. | ||
| 80 | |||
| 81 | 2013-08-16 Xue Fuqiao <xfq.free@gmail.com> | ||
| 82 | |||
| 83 | * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix. | ||
| 84 | |||
| 85 | * editfns.c (insert_before_markers): Mention overlay in the doc string. | ||
| 86 | |||
| 87 | * marker.c (set_marker): Remove documentation of undefined behavior. | ||
| 88 | |||
| 89 | 2013-08-15 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 90 | |||
| 91 | * image.c (imagemagick_compute_animated_image): Animate correctly | ||
| 92 | when sub-images are smaller than the main image. | ||
| 93 | (imagemagick_compute_animated_image): Setting the iterator row to | ||
| 94 | zero is apparently not allowed. | ||
| 95 | (imagemagick_compute_animated_image): Allow images that say they | ||
| 96 | have sub-images that are bigger than the main image, but just crop | ||
| 97 | them. | ||
| 98 | |||
| 99 | 2013-08-15 Jan Djärv <jan.h.d@swipnet.se> | ||
| 100 | |||
| 101 | * nsmenu.m (menuWillOpen:): Fix preprocessor test (Bug#15001). | ||
| 102 | |||
| 103 | 2013-08-15 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 104 | |||
| 105 | * image.c (imagemagick_compute_animated_image): Respect the GIF | ||
| 106 | disposal methods. | ||
| 107 | |||
| 108 | 2013-08-15 Ken Brown <kbrown@cornell.edu> | ||
| 109 | |||
| 110 | * emacs.c (main): Update comment about G_SLICE_ALWAYS_MALLOC. | ||
| 111 | * gmalloc.c (memalign) [CYGWIN]: Revert last change; it's not | ||
| 112 | needed. | ||
| 113 | |||
| 114 | 2013-08-15 Paul Eggert <eggert@cs.ucla.edu> | ||
| 115 | |||
| 116 | Fix minor problems found by static checking. | ||
| 117 | * frame.c (delete_frame): | ||
| 118 | * xdisp.c (next_element_from_display_vector): | ||
| 119 | Avoid uninitialized local. | ||
| 120 | * image.c (imagemagick_compute_animated_image): Port to C89. | ||
| 121 | Prefer usual GNU indentation style for loops. | ||
| 122 | Be more careful about bizarrely large sizes, by using ptrdiff_t | ||
| 123 | instead of int. | ||
| 124 | |||
| 125 | 2013-08-15 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 126 | |||
| 127 | Fix infinite frame selection loop (Bug#15025). | ||
| 128 | * frame.c (delete_frame): Prefer fast ad-hoc loop to next_frame. | ||
| 129 | |||
| 130 | 2013-08-15 Eli Zaretskii <eliz@gnu.org> | ||
| 131 | |||
| 132 | * xdisp.c (compute_window_start_on_continuation_line): When | ||
| 133 | WORD_WRAP is in effect, use move_it_to instead of move_it_by_lines | ||
| 134 | to make sure we end up setting the window start at the leftmost | ||
| 135 | visible character of the display line. This avoids funky | ||
| 136 | horizontal shifting because the window start is not kept on the | ||
| 137 | same position. (Bug#15090) | ||
| 138 | (next_element_from_display_vector): Support 'box' face attribute | ||
| 139 | in the face definitions of a display vector. (Bug#15099) | ||
| 140 | |||
| 141 | 2013-08-15 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 142 | |||
| 143 | * image.c (imagemagick_compute_animated_image): Implement animated | ||
| 144 | images (bug#14700). | ||
| 145 | (imagemagick_compute_animated_image): Fix some compilation | ||
| 146 | warnings. Implement a very simple cache to make the animation | ||
| 147 | usable at all, but it should be replaced with a per-image cache. | ||
| 148 | |||
| 149 | 2013-08-15 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 150 | |||
| 151 | * lisp.h (FOR_EACH_ALIST_VALUE): New macro | ||
| 152 | to do `for' loops over alist values. | ||
| 153 | * buffer.h (FOR_EACH_BUFFER): | ||
| 154 | * process.c (FOR_EACH_PROCESS): Use it. | ||
| 155 | (handle_child_signal, status_notify, Fget_buffer_process) | ||
| 156 | (kill_buffer_processes): Use FOR_EACH_PROCESS. | ||
| 157 | |||
| 158 | 2013-08-15 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 159 | |||
| 160 | * term.c (get_named_tty, create_tty_output, tty_free_frame_resources) | ||
| 161 | (tty_free_frame_resources, delete_tty): Prefer eassert to emacs_abort. | ||
| 162 | * image.c (make_image_cache): For struct image_cache, prefer xmalloc | ||
| 163 | to xzalloc and so avoid redundant call to memset. | ||
| 164 | * xterm.c (x_term_init): Avoid unnecessary initializations of dpyinfo | ||
| 165 | members because it is allocated with xzalloc and so already zeroed. | ||
| 166 | |||
| 167 | 2013-08-14 Ken Brown <kbrown@cornell.edu> | ||
| 168 | |||
| 169 | * gmalloc.c (memalign) [CYGWIN]: Rename to emacs_memalign | ||
| 170 | (Bug#15094). | ||
| 171 | |||
| 172 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 173 | |||
| 174 | Utility function and macro to copy Lisp string to C string. | ||
| 175 | * lisp.h (xlispstrdupa): New macro. | ||
| 176 | (xlispstrdup): New prototype. | ||
| 177 | * alloc.c (xlispstrdup): New function. | ||
| 178 | * callint.c (Fcall_interactively): | ||
| 179 | * fileio.c (Ffile_name_directory, Fexpand_file_name) | ||
| 180 | (Fsubstitute_in_file_name): | ||
| 181 | * frame.c (Fmake_terminal_frame): Use xlispstrdupa. | ||
| 182 | * image.c (x_create_bitmap_from_file): | ||
| 183 | * w32term.c (w32_term_init): | ||
| 184 | * xterm.c (x_term_init): Use xlispstrdup. | ||
| 185 | |||
| 186 | 2013-08-14 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 187 | |||
| 188 | * image.c (imagemagick_load_image): Make animated pictures work. | ||
| 189 | There's still some problems with background color settings, though | ||
| 190 | (bug#14700). | ||
| 191 | |||
| 192 | * decompress.c (unwind_decompress): Always restore point. | ||
| 193 | |||
| 194 | 2013-08-14 Xue Fuqiao <xfq.free@gmail.com> | ||
| 195 | |||
| 196 | * marker.c (set_marker): Reformat documentation. | ||
| 197 | |||
| 198 | 2013-08-14 Paul Eggert <eggert@cs.ucla.edu> | ||
| 199 | |||
| 200 | * xdisp.c (cursor_type_changed): Now static. | ||
| 201 | |||
| 202 | * image.c (imagemagick_filename_hint): New arg HINT_BUFFER. | ||
| 203 | Use changed. This avoids the need to call xmalloc and for the | ||
| 204 | caller to call xfree, and avoids memory leaks in some situations. | ||
| 205 | |||
| 206 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 207 | |||
| 208 | * xdisp.c (adjust_window_ends): Move duplicated code to new function. | ||
| 209 | (try_window, try_window_reusing_current_matrix, try_window_id): Use it. | ||
| 210 | (redisplay_window): If window_end_valid is cleared due to non-zero | ||
| 211 | windows_or_buffers_changed, clear current_matrix_up_to_date_p and | ||
| 212 | so do not call to try_cursor_movement for that window. | ||
| 213 | |||
| 214 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 215 | |||
| 216 | * window.h (struct window): Convert window_end_pos and | ||
| 217 | window_end_vpos from Lisp_Object to ptrdiff_t and int, respectively. | ||
| 218 | (wset_window_end_pos, wset_window_end_vpos): Remove. | ||
| 219 | * dispnew.c (adjust_glyph_matrix): | ||
| 220 | * window.c (Fwindow_end, replace_window, set_window_buffer) | ||
| 221 | (make_window): | ||
| 222 | * xdisp.c (check_window_end, move_it_to, redisplay_internal) | ||
| 223 | (set_vertical_scroll_bar, redisplay_window, try_window) | ||
| 224 | (try_window_reusing_current_matrix, find_first_unchanged_at_end_row) | ||
| 225 | (try_window_id, decode_mode_spec, mouse_face_from_buffer_pos) | ||
| 226 | (note_mouse_highlight): Adjust users. | ||
| 227 | (try_cursor_movement): Likewise. Convert old precondition to eassert. | ||
| 228 | Add comment. | ||
| 229 | |||
| 230 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 231 | |||
| 232 | Fix --enable-gcc-warnings errors introduced in 2013-08-13 commit. | ||
| 233 | * image.c (imagemagick_filename_hint): Use `const char *' and | ||
| 234 | prefer SSDATA to SDATA to avoid warnings. | ||
| 235 | |||
| 236 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 237 | |||
| 238 | Cleanup window fringes, margins and scroll bars adjustments. | ||
| 239 | * window.c (set_window_fringes, set_window_margins) | ||
| 240 | (set_window_scroll_bars, apply_window_adjustment): New functions. | ||
| 241 | (set_window_buffer, Fset_window_margins, Fset_window_fringes) | ||
| 242 | (Fset_window_scroll_bars): Use them. | ||
| 243 | |||
| 244 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 245 | |||
| 246 | * window.h (struct window): Convert scroll_bar_width | ||
| 247 | from Lisp_Object to integer. Adjust comment. | ||
| 248 | (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS): | ||
| 249 | Adjust users. | ||
| 250 | * window.c (wset_scroll_bar_width): Remove. | ||
| 251 | (make_window): Initialize scroll_bar_width. | ||
| 252 | (Fsplit_window_internal): Use direct assignment. | ||
| 253 | (Fset_window_configuration, save_window_save): | ||
| 254 | Convert Lisp_Object to integer and back where appropriate. | ||
| 255 | (Fset_window_scroll_bars): Adjust user. Return t if any scroll | ||
| 256 | bar was actually changed, and mention this in docstring. | ||
| 257 | |||
| 258 | 2013-08-13 Paul Eggert <eggert@cs.ucla.edu> | ||
| 259 | |||
| 260 | * decompress.c: Minor simplifications. | ||
| 261 | (Fzlib_decompress_region): Don't bother verifying | ||
| 262 | that avail_out <= UINT_MAX, as that was confusing. | ||
| 263 | Mention the restriction in a comment instead. | ||
| 264 | Prefer 'int' to 'ptrdiff_t' when 'int' is wide enough. | ||
| 265 | |||
| 266 | 2013-08-13 Jan Djärv <jan.h.d@swipnet.se> | ||
| 267 | |||
| 268 | * nsmenu.m (x_activate_menubar): Check for OSX >= 10.5 | ||
| 269 | (trackingNotification:): Call ns_check_menu_open only for OSX >= 10.5. | ||
| 270 | |||
| 271 | 2013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 272 | |||
| 273 | * image.c (imagemagick_filename_hint): Check for errors in the | ||
| 274 | alist structure. | ||
| 275 | |||
| 276 | 2013-08-13 Eli Zaretskii <eliz@gnu.org> | ||
| 277 | |||
| 278 | * window.c (Fwindow_margins): Return nil when there's no marginal | ||
| 279 | area, as per the documented API. | ||
| 280 | |||
| 281 | * w32term.c (x_scroll_bar_create): Use ALLOCATE_PSEUDOVECTOR, not | ||
| 282 | Fmake_vector, as scroll bar's struct members are not all Lisp | ||
| 283 | objects now. This avoids crashes in GC. | ||
| 284 | |||
| 285 | * w32term.h (struct scroll_bar): Convert fringe_extended_p to a | ||
| 286 | bool, so its address could be taken. | ||
| 287 | |||
| 288 | 2013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 289 | |||
| 290 | * image.c (imagemagick_filename_hint): New function to possibly | ||
| 291 | apply `image-content-type-suffixes'. | ||
| 292 | (imagemagick_load_image): Use it. | ||
| 293 | |||
| 294 | 2013-08-13 Eli Zaretskii <eliz@gnu.org> | ||
| 295 | |||
| 296 | * decompress.c (Fzlib_decompress_region) [WINDOWSNT]: Return Qnil | ||
| 297 | if loading zlib failed. | ||
| 298 | |||
| 299 | 2013-08-13 Jan Djärv <jan.h.d@swipnet.se> | ||
| 300 | |||
| 301 | * nsterm.m (ns_set_vertical_scroll_bar): Fix breakage intruduced by | ||
| 302 | 2013-08-13 checkin below. Change bool to BOOL, rule is: | ||
| 303 | All Obj-C code uses BOOL, except for interfaces callable from C. | ||
| 304 | |||
| 305 | * nsterm.h: Fix CGFloat for OSX 10.4 (Bug#15086). | ||
| 306 | |||
| 307 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 308 | |||
| 309 | * window.h (WINDOW_FRINGE_EXTENDED_P): New macro. | ||
| 310 | * nsterm.m (ns_set_vertical_scroll_bar): Use it. Use convenient | ||
| 311 | bool instead of BOOL. | ||
| 312 | * w32term.h (struct scroll_bar): Convert fringe_extended_p | ||
| 313 | from Lisp_Object to bitfield. Adjust comment. | ||
| 314 | * w32term.c (x_scroll_bar_create): Adjust user. | ||
| 315 | Use WINDOW_FRINGE_EXTENDED_P and bool for boolean. | ||
| 316 | * xterm.c (XTset_vertical_scroll_bar): Likewise. | ||
| 317 | Use bool for boolean. | ||
| 318 | * xterm.h (struct scroll_bar): Prefer commonly used `unsigned' | ||
| 319 | to `unsigned int' when defining a bitfield. | ||
| 320 | |||
| 321 | 2013-08-13 Paul Eggert <eggert@cs.ucla.edu> | ||
| 322 | |||
| 323 | * decompress.c (Fzlib_decompress_region): Try to clarify 'avail_out'. | ||
| 324 | |||
| 325 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 326 | |||
| 327 | * window.h (struct window): Convert left_margin_cols and | ||
| 328 | right_margin_cols from Lisp_Objects to integers. Adjust comment. | ||
| 329 | (WINDOW_LEFT_MARGIN_COLS, WINDOW_RIGHT_MARGIN_COLS) | ||
| 330 | (WINDOW_LEFT_MARGIN_WIDTH, WINDOW_RIGHT_MARGIN_WIDTH): | ||
| 331 | Adjust users. | ||
| 332 | * dispnew.c (margin_glyphs_to_reserve): Convert 3rd arg to int. | ||
| 333 | Adjust comment. | ||
| 334 | (showing_window_margins_p, update_window_line, update_frame_1): | ||
| 335 | * fringe.c (draw_fringe_bitmap_1): | ||
| 336 | * xdisp.c (window_box_width): Adjust users. | ||
| 337 | * window.c (wset_left_margin_cols, wset_right_margin_cols): Remove. | ||
| 338 | (adjust_window_margins, set_window_buffer, Fsplit_window_internal): | ||
| 339 | Use direct assignment. | ||
| 340 | (Fset_window_configuration, save_window_save, Fwindow_margins): | ||
| 341 | Convert Lisp_Object to integer and back where appropriate. | ||
| 342 | (Fset_window_margins): Adjust user. Return t if any margin | ||
| 343 | was actually changed, and mention this in docstring. | ||
| 344 | |||
| 345 | 2013-08-13 Xue Fuqiao <xfq.free@gmail.com> | ||
| 346 | |||
| 347 | * syntax.c (forward_word): | ||
| 348 | * cmds.c (forward_char, backward_char): Mention the optional argument. | ||
| 349 | |||
| 350 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 351 | |||
| 352 | * window.h (struct window): Convert left_fringe_width | ||
| 353 | and right_fringe_width from Lisp_Objects to integers. | ||
| 354 | Adjust comment. | ||
| 355 | (WINDOW_FRINGE_COLS, WINDOW_LEFT_FRINGE_WIDTH) | ||
| 356 | (WINDOW_RIGHT_FRINGE_WIDTH): Adjust users. | ||
| 357 | * window.c (wset_left_fringe_width, wset_right_fringe_width): | ||
| 358 | Remove. | ||
| 359 | (make_window): Initialize new integer fields to -1. | ||
| 360 | (Fsplit_window_internal): Use direct assignment. | ||
| 361 | (Fset_window_configuration, save_window_save): Convert | ||
| 362 | Lisp_Object to integer and back where appropriate. | ||
| 363 | (Fset_window_fringes): Adjust user. Return t if any fringe | ||
| 364 | was actually changed, and mention this in docstring. | ||
| 365 | |||
| 366 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 367 | |||
| 368 | * keyboard.c (Fdiscard_input): Do not increment update_mode_lines. | ||
| 369 | * nsfns.m (x_set_cursor_type): | ||
| 370 | * w32fns.c (x_set_cursor_type): | ||
| 371 | * xfns.m (x_set_cursor_type): Do not set cursor_type_changed here... | ||
| 372 | * xdisp.c (set_frame_cursor_types): ...but in common code. | ||
| 373 | |||
| 374 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 375 | |||
| 376 | * font.c (clear_font_cache): New function, stripped from... | ||
| 377 | (Fclear_font_cache): ...here, which now uses the function | ||
| 378 | above. Adjust comment. | ||
| 379 | * font.h (clear_font_cache): Add prototype. | ||
| 380 | * xfaces.c (clear_face_cache): Use clear_font_cache. | ||
| 381 | |||
| 382 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 383 | |||
| 384 | * window.c (Fset_window_start): Compare `w', not `window' because | ||
| 385 | `w' might not be equal to `window' after call to decode_live_window. | ||
| 386 | |||
| 387 | 2013-08-12 Paul Eggert <eggert@cs.ucla.edu> | ||
| 388 | |||
| 389 | * process.c (deactivate_process): Reset fds to -1 (Bug#15035). | ||
| 390 | This fixes a problem introduced by the Bug#15035 patch | ||
| 391 | when using GPG. Reported by Herbert J. Skuhra. | ||
| 392 | |||
| 393 | 2013-08-12 Eli Zaretskii <eliz@gnu.org> | ||
| 394 | |||
| 395 | * decompress.c <zlib_initialized> [WINDOWSNT]: New static variable. | ||
| 396 | (Fzlib_decompress_region) [WINDOWSNT]: Call init_zlib_functions if | ||
| 397 | not yet initialized. | ||
| 398 | |||
| 399 | 2013-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 400 | |||
| 401 | * decompress.c (Fzlib_decompress_region): Support zlib | ||
| 402 | decompression, too, and rename. | ||
| 403 | |||
| 404 | 2013-08-12 Paul Eggert <eggert@cs.ucla.edu> | ||
| 405 | |||
| 406 | Minor zlib configuration tweaks. | ||
| 407 | * decompress.c (fn_inflateInit2) [!WINDOWSNT]: | ||
| 408 | Don't assume presence of fn_inflateInit2_ zlib internal function. | ||
| 409 | |||
| 410 | 2013-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 411 | |||
| 412 | * decompress.c (Fzlib_decompress_gzipped_region): Rename to | ||
| 413 | include the zlib prefix. | ||
| 414 | |||
| 415 | 2013-08-12 Eli Zaretskii <eliz@gnu.org> | ||
| 416 | |||
| 417 | * decompress.c [WINDOWSNT]: Include windows.h and w32.h. | ||
| 418 | (DEF_ZLIB_FN, LOAD_ZLIB_FN) [WINDOWSNT]: New macros. Use them to | ||
| 419 | define static variables that are pointers to zlib functions to be | ||
| 420 | dynamically loaded. | ||
| 421 | (init_zlib_functions) [WINDOWSNT]: New function. | ||
| 422 | (fn_inflateInit2_, fn_inflate, fn_inflateEnd, fn_inflateInit2): | ||
| 423 | New macros. | ||
| 424 | (Fdecompress_gzipped_region, unwind_decompress): Use the fn_* | ||
| 425 | macros instead of invoking the zlib functions directly. | ||
| 426 | (syms_of_decompress): DEFSYM Qzlib_dll. Staticpro | ||
| 427 | Szlib_available_p. | ||
| 428 | |||
| 429 | 2013-08-12 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 430 | |||
| 431 | Avoid looping over all frame windows to freeze and unfreeze. | ||
| 432 | * window.h (struct window): Drop frozen_window_start_p. | ||
| 433 | (freeze_window_starts): Drop prototype. | ||
| 434 | * frame.h (struct frame): New frozen_window_starts flag. | ||
| 435 | (FRAME_WINDOWS_FROZEN): New macro. | ||
| 436 | * window.c (freeze_window_start, freeze_window_starts): | ||
| 437 | Remove. | ||
| 438 | (select_window, replace_window): Adjust users. | ||
| 439 | * xdisp.c (resize_mini_window): Use FRAME_WINDOWS_FROZEN. | ||
| 440 | (window_frozen_p): New function. | ||
| 441 | (redisplay_window): Use it. | ||
| 442 | |||
| 443 | 2013-08-12 Paul Eggert <eggert@cs.ucla.edu> | ||
| 444 | |||
| 445 | Fix some fd issues when running subprocesses (Bug#15035). | ||
| 446 | Fix bugs that can leak files or file descriptors on errors. | ||
| 447 | Don't unlink open temp files, as that's hard for users to diagnose | ||
| 448 | when things go awry (e.g., temp disk exhausted). | ||
| 449 | Don't bother to lock temp files. Check for invalid recursion. | ||
| 450 | * callproc.c (synch_process_fd): Remove. All uses removed. | ||
| 451 | (synch_process_tempfile): New var or macro. | ||
| 452 | (CALLPROC_STDOUT, CALLPROC_STDERR, CALLPROC_PIPEREAD, CALLPROC_FDS): | ||
| 453 | New constants. | ||
| 454 | (record_kill_process): New arg, the temp name. All callers changed. | ||
| 455 | (delete_temp_file): Now just a simple wrapper around unlink. | ||
| 456 | (call_process_kill): New arg, the call_process_fd array. | ||
| 457 | Close them all. Clear synch_process_pid. Remove the temp file, | ||
| 458 | or arrange for it to be removed. | ||
| 459 | (call_process_cleanup) [MSDOS]: Arg no longer contains file name; | ||
| 460 | that's been moved to synch_process_tempfile. Caller changed. | ||
| 461 | Do not remove the tempfile; that's now call_process_kill's | ||
| 462 | responsibility. | ||
| 463 | (call_process_cleanup) [!MSDOS]: Do not record unwind-protect for | ||
| 464 | call_process_kill; the caller now does that. | ||
| 465 | (call_process_cleanup): Do not close the process fd; that's now | ||
| 466 | call_process_kill's responsibility. | ||
| 467 | (Fcall_process): Implement via new function call_process, which | ||
| 468 | has most of the old body of Fcall_process, but with a different API. | ||
| 469 | (call_process): New function that does not open or close filefd if | ||
| 470 | it is nonnegative. Record which fds need to be closed, and let | ||
| 471 | call_process_kill close (and remove the tempfile, on MSDOS) on error. | ||
| 472 | Signal an error if invoked recursively (could be done via a hook). | ||
| 473 | Simplify creation of the tempfile in the MSDOS case. | ||
| 474 | Don't create the output file until after checking for the executable. | ||
| 475 | Report any failure to open /dev/null. | ||
| 476 | Don't open /dev/null for writing twice; once is enough. | ||
| 477 | Don't create pipe if all output is being discarded or sent to file. | ||
| 478 | Don't worry about setting up the coding system or reading from the | ||
| 479 | pipe if all output is being discarded. | ||
| 480 | Hoist fd_error local into top level, to lessen block nesting. | ||
| 481 | Don't record deleted pid here; now done by Fcall_process_region. | ||
| 482 | (Fcall_process) [MSDOS]: Report mktemp failure immediately, | ||
| 483 | and note its success in synch_process_tempfile. | ||
| 484 | Do not leak resources when child_setup fails. | ||
| 485 | (Fcall_process) [!MSDOS && !WINDOWSNT]: Remove duplicate assignment | ||
| 486 | to child_errno. Remove unnecessary close of fd0; it's close-on-exec. | ||
| 487 | (create_temp_file): Now returns open fd, with an additional | ||
| 488 | Lisp_Object * argument to return the name. All callers changed. | ||
| 489 | Do not close the file; rewind it instead, and leave it open for | ||
| 490 | the caller. Do not lock the temp file. Unwind-protect the file | ||
| 491 | and the file-descriptor. | ||
| 492 | (Fcall_process_region): If the input is /dev/null, unwind-protect it. | ||
| 493 | If an asynchrounous process, record it here, not in call_process. | ||
| 494 | (syms_of_callproc) [MSDOS]: Initialize synch_process_tempfile. | ||
| 495 | * eval.c (set_unwind_protect): New function. | ||
| 496 | * fileio.c (write_region): New function, generalized from the | ||
| 497 | old Fwrite_region. Do not lock temp files. | ||
| 498 | (Fwrite_region): Use it. | ||
| 499 | * lisp.h (set_unwind_protect, write_region): New decls. | ||
| 500 | * process.c: Include <verify.h>. | ||
| 501 | (make_process): Mark fds as initially closed. | ||
| 502 | (deleted_pid_list): Now a list of pid-filename pairs. | ||
| 503 | All uses changed. | ||
| 504 | (close_process_fd): New function. | ||
| 505 | (SUBPROCESS_STDIN, WRITE_TO_SUBPROCESS, READ_FROM_SUBPROCESS) | ||
| 506 | (SUBPROCESS_STDOUT, READ_FROM_EXEC_MONITOR, EXEC_MONITOR_OUTPUT): | ||
| 507 | New constants. Verify that their number matches PROCESS_OPEN_FDS. | ||
| 508 | (create_process, create_pty, Fmake_serial_process) | ||
| 509 | (server_accept_connection): Record which fds need to be closed, | ||
| 510 | and let deactivate_process close them. | ||
| 511 | (Fmake_network_process): Do not discard the unwind-protect | ||
| 512 | until it's safe to do so. | ||
| 513 | (deactivate_process): Close the fds opened by create_process etc. | ||
| 514 | (Fprocess_send_eof): Adjust to new way of recording open fds. | ||
| 515 | Report an error if /dev/null can't be opened, instead of aborting. | ||
| 516 | * process.h (PROCESS_OPEN_FDS): New constant. | ||
| 517 | (struct Lisp_Process): New member open_fds. | ||
| 518 | (record_kill_process, record_deleted_pid): Adjust signatures. | ||
| 519 | (record_deleted_pid): Move decl here ... | ||
| 520 | * syswait.h (record_deleted_pid): ... from here. | ||
| 521 | |||
| 522 | 2013-08-11 Paul Eggert <eggert@cs.ucla.edu> | ||
| 523 | |||
| 524 | * decompress.c: Fix bugs with large buffers and weird inputs. | ||
| 525 | Tune a bit. Reindent as per usual Emacs style. | ||
| 526 | (BUFFER_SIZE): Remove. | ||
| 527 | (Fdecompress_gzipped_region): Do not mishandle input buffers with | ||
| 528 | more than UINT_MAX bytes. Decompress into the gap instead of into | ||
| 529 | an auto buffer, as this should avoid copying. Return nil if | ||
| 530 | 'inflate' returns Z_NEED_DICT, as we have no dictionary. Do not | ||
| 531 | set immediate_quit; we shouldn't trust zlib code that much. | ||
| 532 | |||
| 533 | 2013-08-11 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 534 | |||
| 535 | * decompress.c (Fdecompress_gzipped_region): Respect all zlib | ||
| 536 | errors, and really move the gap to where we want it. | ||
| 537 | |||
| 538 | * lisp.h: Include decompress.c support. | ||
| 539 | |||
| 540 | * emacs.c (main): Include decompress.c support. | ||
| 541 | |||
| 542 | * Makefile.in: Include -lz if present. | ||
| 543 | |||
| 544 | 2013-08-11 Jan Djärv <jan.h.d@swipnet.se> | ||
| 545 | |||
| 546 | * nsmenu.m (ns_update_menubar): Call fillWithWidgetValue:frame: | ||
| 547 | (initWithTitle:): Initialize frame to 0. | ||
| 548 | (fillWithWidgetValue:): Call fillWithWidgetValue:frame. | ||
| 549 | (fillWithWidgetValue:frame:): Renamed from | ||
| 550 | fillWithWidgetValue:setDelegate, call initWithTile:frame: if f. | ||
| 551 | |||
| 552 | * nsterm.h (EmacsMenu): fillWithWidgetValue:setDelegate renamed to | ||
| 553 | fillWithWidgetValue:frame: | ||
| 554 | |||
| 555 | * nsfns.m (Fns_convert_utf8_nfd_to_nfc): Allocate and release pool to | ||
| 556 | remove memory leak warnings. | ||
| 557 | |||
| 558 | * nsterm.m (menu_pending_title, ns_get_pending_menu_title): Remove. | ||
| 559 | (ns_check_menu_open): Handle menu == nil. Remove assignment to | ||
| 560 | menu_pending_title. | ||
| 561 | |||
| 562 | * nsmenu.m (ns_update_menubar): Call fillWithWidgetValue:setDelegate. | ||
| 563 | (x_activate_menubar): Update the whole menu. | ||
| 564 | (trackingNotification:): Call ns_check_menu_open if tracking ends. | ||
| 565 | (menuWillOpen:): Increment trackingMenu. For OSX <= 10.6, exit if | ||
| 566 | current event is not NSSystemDefined (Bug#15001). | ||
| 567 | Call ns_check_menu_open only if trackingMenu is 2. | ||
| 568 | (menuDidClose:): New method, decrease trackingMenu. | ||
| 569 | (fillWithWidgetValue:setDelegate:): New method. | ||
| 570 | (fillWithWidgetValue:): Call the above. | ||
| 571 | |||
| 572 | * nsterm.h (EmacsMenu): Add fillWithWidgetValue:setDelegate: | ||
| 573 | |||
| 574 | 2013-08-11 Paul Eggert <eggert@cs.ucla.edu> | ||
| 575 | |||
| 576 | Omit some unnecessary casts. | ||
| 577 | Many of these go back to the old pre-C89 days, when they may have | ||
| 578 | been needed, but we've been assuming C89 or later for a while now. | ||
| 579 | * alloc.c (live_string_p, live_cons_p, live_symbol_p) | ||
| 580 | (live_float_p, live_misc_p, live_vector_p): | ||
| 581 | * buffer.c (compare_overlays, cmp_for_strings, mmap_find) | ||
| 582 | (mmap_alloc, alloc_buffer_text, enlarge_buffer_text) | ||
| 583 | (defvar_per_buffer): | ||
| 584 | * callint.c (Fcall_interactively): | ||
| 585 | * doc.c (Fsubstitute_command_keys): | ||
| 586 | * filelock.c (get_boot_time): | ||
| 587 | * frame.c (xrdb_get_resource): | ||
| 588 | * gtkutil.c (hierarchy_ch_cb, qttip_cb, style_changed_cb) | ||
| 589 | (delete_cb, xg_dialog_response_cb, xg_maybe_add_timer) | ||
| 590 | (xg_get_file_name_from_selector, menuitem_destroy_callback) | ||
| 591 | (menuitem_highlight_callback, menu_destroy_callback) | ||
| 592 | (xg_update_menu_item, xg_modify_menubar_widgets, menubar_map_cb) | ||
| 593 | (xg_tool_bar_callback, xg_get_tool_bar_widgets) | ||
| 594 | (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback) | ||
| 595 | (xg_tool_bar_help_callback, tb_size_cb): | ||
| 596 | * image.c (xpm_alloc_color, png_read_from_memory) | ||
| 597 | (png_read_from_file, png_load_body, our_memory_skip_input_data) | ||
| 598 | (jpeg_memory_src, jpeg_file_src, imagemagick_load_image) | ||
| 599 | (syms_of_image): | ||
| 600 | * keymap.c (describe_map): | ||
| 601 | * nsfns.m (Fns_display_monitor_attributes_list): | ||
| 602 | * nsmenu.m (process_dialog:): | ||
| 603 | * nsterm.m (hold_event): | ||
| 604 | * process.c (wait_reading_process_output): | ||
| 605 | * regex.c (REGEX_REALLOCATE, re_set_registers, re_exec, regexec): | ||
| 606 | * scroll.c (do_direct_scrolling, scrolling_1): | ||
| 607 | * termcap.c (tgetent): | ||
| 608 | * window.c (check_window_containing, add_window_to_list) | ||
| 609 | (freeze_window_starts): | ||
| 610 | * xdisp.c (compare_overlay_entries, vmessage): | ||
| 611 | * xfns.c (x_window, x_get_monitor_attributes_xinerama) | ||
| 612 | (x_get_monitor_attributes_xrandr) | ||
| 613 | (Fx_display_monitor_attributes_list, x_display_info_for_name) | ||
| 614 | (Fx_open_connection, file_dialog_cb, file_dialog_unmap_cb): | ||
| 615 | * xfont.c (xfont_match, xfont_open): | ||
| 616 | * xmenu.c (x_menu_wait_for_event, menu_highlight_callback) | ||
| 617 | (menubar_selection_callback, menu_position_func) | ||
| 618 | (popup_selection_callback, create_and_show_popup_menu) | ||
| 619 | (dialog_selection_callback, create_and_show_dialog): | ||
| 620 | * xrdb.c (x_get_string_resource): | ||
| 621 | (main) [TESTRM]: | ||
| 622 | * xsmfns.c (x_session_check_input): | ||
| 623 | * xterm.c (x_draw_glyphless_glyph_string_foreground) | ||
| 624 | (xm_scroll_callback, xg_scroll_callback, xg_end_scroll_callback) | ||
| 625 | (xaw_jump_callback, xaw_scroll_callback): | ||
| 626 | Omit unnecessary casts. | ||
| 627 | |||
| 628 | 2013-08-10 Paul Eggert <eggert@cs.ucla.edu> | ||
| 629 | |||
| 630 | Minor string-length refactoring. | ||
| 631 | * alloc.c (xstrdup): Use memcpy, not strcpy, since the length's known. | ||
| 632 | * frame.c (make_monitor_attribute_list): | ||
| 633 | Prefer build_string to strlen + make_string. | ||
| 634 | |||
| 635 | 2013-08-10 Jan Djärv <jan.h.d@swipnet.se> | ||
| 636 | |||
| 637 | * xterm.c (x_error_handler): Also ignore BadWindow for X_SetInputFocus, | ||
| 638 | don't check minor_code (Bug#14417). | ||
| 639 | |||
| 640 | 2013-08-09 Eli Zaretskii <eliz@gnu.org> | ||
| 641 | |||
| 642 | * xdisp.c (draw_glyphs): Don't compare row pointers, compare row | ||
| 643 | vertical positions instead. This avoids calling MATRIX_ROW with | ||
| 644 | row numbers that are possibly beyond valid limits. (Bug#15064) | ||
| 645 | |||
| 646 | 2013-08-09 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 647 | |||
| 648 | Use xstrdup and build_unibyte_string where applicable. | ||
| 649 | * alloc.c (xstrdup): Tiny cleanup. Add eassert. | ||
| 650 | * xfns.c (x_window): | ||
| 651 | * xrdb.c (x_get_customization_string): | ||
| 652 | * xterm.c (xim_initialize): | ||
| 653 | * w32fns.c (w32_window): Use xstrdup. | ||
| 654 | (w32_display_monitor_attributes_list): | ||
| 655 | * emacs.c (init_cmdargs): | ||
| 656 | * keyboard.c (PUSH_C_STR): | ||
| 657 | * nsfont.m (nsfont_open): | ||
| 658 | * sysdep.c (system_process_attributes): | ||
| 659 | * w32.c (system_process_attributes): | ||
| 660 | * xdisp.c (message1, message1_nolog): Use build_unibyte_string. | ||
| 661 | |||
| 662 | 2013-08-09 Eli Zaretskii <eliz@gnu.org> | ||
| 663 | |||
| 664 | * w32.c (PEXCEPTION_POINTERS, PEXCEPTION_RECORD, PCONTEXT): Define | ||
| 665 | variables of these types so that GDB would know about them, as aid | ||
| 666 | for debugging fatal exceptions. (Bug#15024) See also | ||
| 667 | http://sourceware.org/ml/gdb/2013-08/msg00010.html for related | ||
| 668 | discussions. | ||
| 669 | |||
| 670 | 2013-08-08 Jan Djärv <jan.h.d@swipnet.se> | ||
| 671 | |||
| 672 | * nsterm.m (ns_update_begin): Don't change clip path if it would be | ||
| 673 | larger than the NSWindow (Bug#14934). | ||
| 674 | |||
| 675 | 2013-08-08 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 676 | |||
| 677 | Redesign redisplay interface to drop global variable updated_window. | ||
| 678 | Always pass currently updated window as a parameter to update routines. | ||
| 679 | * dispextern.h (updated_window): Remove declaration. | ||
| 680 | (struct redisplay_interface): Pass window parameter to | ||
| 681 | write_glyphs, insert_glyphs, clear_end_of_line, cursor_to | ||
| 682 | and after_update_window_hook. | ||
| 683 | (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line, x_cursor_to): | ||
| 684 | Adjust prototypes. | ||
| 685 | * dispnew.c (updated_window): Remove. | ||
| 686 | (redraw_overlapped_rows, update_marginal_area, update_text_area) | ||
| 687 | (update_window_line): Adjust to match redisplay interface changes. | ||
| 688 | * nsterm.m (ns_update_window_begin, ns_update_window_end) | ||
| 689 | (ns_scroll_run, ns_after_update_window_line): | ||
| 690 | * w32term.c (x_update_window_begin, x_update_window_end) | ||
| 691 | (x_after_update_window_line, x_scroll_run): | ||
| 692 | * xterm.c (x_update_window_begin, x_update_window_end) | ||
| 693 | (x_after_update_window_line, x_scroll_run): | ||
| 694 | * xdisp.c (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line): | ||
| 695 | Likewise. Adjust comments where appropriate. | ||
| 696 | (x_cursor_to): Simplify because this is always called during window | ||
| 697 | update (but install debugging check anyway). | ||
| 698 | (expose_window): Check must_be_updated_p flag to see whether this | ||
| 699 | function is called during window update. | ||
| 700 | |||
| 701 | 2013-08-08 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 702 | |||
| 703 | Do not reset window modification event counters excessively. | ||
| 704 | These leftovers and poor man's tricky methods to catch extra | ||
| 705 | redisplay's attention are no longer needed. | ||
| 706 | * frame.c (set_menu_bar_lines_1): | ||
| 707 | * minibuf.c (read_minibuf_unwind): | ||
| 708 | * window.c (Fset_window_start, set_window_buffer, window_resize_apply) | ||
| 709 | (grow_mini_window, shrink_mini_window, window_scroll_pixel_based) | ||
| 710 | (window_scroll_line_based, Fset_window_configuration): | ||
| 711 | * xdisp.c (redisplay_window): Do not reset last_modified and | ||
| 712 | last_overlay_modified counters. | ||
| 713 | |||
| 714 | 2013-08-07 Jan Djärv <jan.h.d@swipnet.se> | ||
| 715 | |||
| 716 | * xselect.c (x_send_client_event): Set send_event and serial, memset | ||
| 717 | data.l as it might be bigger than data.b. Use 24 bit mask to | ||
| 718 | XSendEvent (Bug#15034). | ||
| 719 | |||
| 720 | 2013-08-07 Eli Zaretskii <eliz@gnu.org> | ||
| 721 | |||
| 722 | * xdisp.c (prepare_menu_bars): Don't call x_consider_frame_title | ||
| 723 | for TTY frames that are not the top frame on their console. | ||
| 724 | (Bug#14616) | ||
| 725 | |||
| 726 | 2013-08-07 Martin Rudalics <rudalics@gmx.at> | ||
| 727 | |||
| 728 | * w32term.c (w32fullscreen_hook): Really maximize frame when | ||
| 729 | asked for (Bug#14841). | ||
| 730 | |||
| 731 | 2013-08-07 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 732 | |||
| 733 | Prefer selected_window to Fselected_window, likewise for frames. | ||
| 734 | * buffer.c (Fbuffer_swap_text): | ||
| 735 | * data.c (Fvariable_binding_locus): | ||
| 736 | * window.c (run_window_configuration_change_hook): Adjust users. | ||
| 737 | * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data): | ||
| 738 | Use decode_live_frame. | ||
| 739 | |||
| 740 | 2013-08-07 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 741 | |||
| 742 | Be more careful if selected window shows the buffer other than current, | ||
| 743 | use window_outdated only if this is not so. This change should also | ||
| 744 | address some weird issues discussed in Bug#13012. | ||
| 745 | * window.h (window_outdated): New prototype. | ||
| 746 | * window.c (window_outdated): Now here. Convert from static and | ||
| 747 | always assume window's buffer. | ||
| 748 | (Fwindow_end, Fwindow_line_height): Use it. | ||
| 749 | * xdisp.c (reconsider_clip_changes): Remove prototype, drop 2nd arg | ||
| 750 | and always assume window's buffer. | ||
| 751 | (redisplay_window): Adjust user. | ||
| 752 | (redisplay_internal): Call to reconsider_clip_changes once and | ||
| 753 | check whether mode line should be updated only if selected window | ||
| 754 | shows current buffer. | ||
| 755 | (run_window_scroll_functions): Use eassert for debugging check. | ||
| 756 | (Fmove_point_visually, note_mouse_highlight): Use window_outdated. | ||
| 757 | |||
| 758 | 2013-08-06 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 759 | |||
| 760 | * window.c (window_scroll, window_scroll_pixel_based) | ||
| 761 | (window_scroll_line_based): Use bool for booleans. | ||
| 762 | |||
| 763 | 2013-08-06 Paul Eggert <eggert@cs.ucla.edu> | ||
| 764 | |||
| 765 | * process.c: Fix minor off-by-one issues in descriptor counts. | ||
| 766 | This shouldn't fix any real bugs, but it cleans up the code a bit. | ||
| 767 | (max_process_desc, max_input_desc): -1, not 0, means none. | ||
| 768 | All uses changed. | ||
| 769 | (delete_input_desc): New function. | ||
| 770 | (delete_write_fd, delete_keyboard_wait_descriptor): Use it. | ||
| 771 | (deactivate_process): Scan backwards when recomuting max_process_desc; | ||
| 772 | that should be faster. | ||
| 773 | (init_process_emacs): Initialize max_input_desc. | ||
| 774 | |||
| 775 | 2013-08-06 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 776 | |||
| 777 | Use region cache to speedup bidi_find_paragraph_start. | ||
| 778 | * buffer.h (struct buffer): New member bidi_paragraph_cache. | ||
| 779 | Rename cache_long_line_scans to cache_long_scans. | ||
| 780 | * buffer.c (bset_cache_long_line_scans): Rename to | ||
| 781 | bset_cache_long_scans. | ||
| 782 | (Fget_buffer_create, Fmake_indirect_buffer, Fkill_buffer) | ||
| 783 | (Fbuffer_swap_text, init_buffer_once): Take bidi_paragraph_cache | ||
| 784 | into account. | ||
| 785 | (syms_of_buffer): Rename cache-long-line-scans to | ||
| 786 | cache-long-scans. Adjust docstring. | ||
| 787 | * search.c (newline_cache_on_off): | ||
| 788 | * indent.c (width_run_cache_on_off): Adjust users. | ||
| 789 | * bidi.c (bidi_paragraph_cache_on_off): New function. | ||
| 790 | (bidi_find_paragraph_start): Use bidi_paragraph_cache if needed. | ||
| 791 | * insdel.c (prepare_to_modify_buffer): Invalidate | ||
| 792 | bidi_paragraph_cache if enabled. | ||
| 793 | |||
| 794 | 2013-08-06 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 795 | |||
| 796 | Invalidate region caches only if buffer text is going to be changed. | ||
| 797 | * lisp.h (modify_region_1): Remove 3rd arg and rename to... | ||
| 798 | (modify_text): ...new prototype. | ||
| 799 | (prepare_to_modify_buffer_1): New prototype. | ||
| 800 | * textprop.c (modify_region): Rename to... | ||
| 801 | (modify_text_properties): ...new function. | ||
| 802 | (add_text_properties_1, set_text_properties, Fremove_text_properties) | ||
| 803 | (Fremove_list_of_text_properties): Adjust users. | ||
| 804 | * insdel.c (modify_region_1): Remove 3rd arg and reimplement as... | ||
| 805 | (modify_text): ...new function. | ||
| 806 | (prepare_to_modify_buffer): Reimplement mostly as a wrapper for... | ||
| 807 | (prepare_to_modify_buffer_1): ...new function. | ||
| 808 | * casefiddle.c (casify_region): | ||
| 809 | * editfns.c (Fsubst_char_in_region, Ftranslate_region_internal) | ||
| 810 | (Ftranspose_regions): Use modify_text. | ||
| 811 | |||
| 812 | 2013-08-05 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 813 | |||
| 814 | * lisp.mk (lisp): Add nadvice.elc. | ||
| 815 | |||
| 816 | 2013-08-05 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 817 | |||
| 818 | New macro to iterate over live buffers similar to frames. | ||
| 819 | * buffer.h (FOR_EACH_LIVE_BUFFER): New macro. | ||
| 820 | (Vbuffer_alist, Qpriority, Qbefore_string, Qafter_string): | ||
| 821 | Declare buffer-related variables here to offload lisp.h. | ||
| 822 | * buffer.c (Vbuffer_alist): Adjust comment. | ||
| 823 | (Fget_file_buffer, get_truename_buffer, Fother_buffer) | ||
| 824 | (other_buffer_safely): | ||
| 825 | * data.c (store_symval_forwarding): | ||
| 826 | * dispnew.c (Fframe_or_buffer_changed_p): | ||
| 827 | * fileio.c (Fdo_auto_save): | ||
| 828 | * filelock.c (unlock_all_files): | ||
| 829 | * minibuf.c (read_minibuf): Use FOR_EACH_LIVE_BUFFER. | ||
| 830 | |||
| 831 | 2013-08-04 Paul Eggert <eggert@cs.ucla.edu> | ||
| 832 | |||
| 833 | Fix some minor races in hosts lacking mkostemp (Bug#15015). | ||
| 834 | * callproc.c (create_temp_file): | ||
| 835 | * filelock.c (create_lock_file): | ||
| 836 | Assume mkostemp, since it's now provided by Gnulib. | ||
| 837 | |||
| 838 | 2013-08-04 Eli Zaretskii <eliz@gnu.org> | ||
| 839 | |||
| 840 | * w32.c (mkostemp): New function. | ||
| 841 | (mktemp): Remove, no longer used. Most of the code reused in | ||
| 842 | mkostemp. (Bug#15015) | ||
| 843 | (mktemp): Don't undef. | ||
| 844 | |||
| 845 | 2013-08-04 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 846 | |||
| 847 | * dispnew.c (glyph_matrix_count, glyph_pool_count): | ||
| 848 | Move under GLYPH_DEBUG and ENABLE_CHECKING. | ||
| 849 | (new_glyph_matrix, free_glyph_matrix, new_glyph_pool) | ||
| 850 | (free_glyph_pool, check_glyph_memory): Likewise for | ||
| 851 | all users. Adjust comments where appropriate. | ||
| 852 | |||
| 853 | 2013-08-03 Paul Eggert <eggert@cs.ucla.edu> | ||
| 854 | |||
| 855 | * composite.h: Minor fixups. | ||
| 856 | (composition_registered_p): Rename from COMPOSITION_REGISTERD_P | ||
| 857 | to fix a misspelling, and change it to an inline function while | ||
| 858 | we're at it (it need not be a macro). All uses changed. | ||
| 859 | (composition_method, composition_valid_p): | ||
| 860 | Rewrite to avoid assignments in if-conditions. | ||
| 861 | |||
| 862 | 2013-08-03 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 863 | |||
| 864 | Do not use global Lisp_Object in composition macros. | ||
| 865 | * composite.h (composition_temp): Remove declaration. | ||
| 866 | (COMPOSITION_METHOD, COMPOSITION_VALID_P): Replace with... | ||
| 867 | (composition_method, composition_valid_p): ...inline functions. | ||
| 868 | (compose_region): Remove the leftover. | ||
| 869 | * composite.c (composition_temp): Remove. | ||
| 870 | (run_composition_function, update_compositions) | ||
| 871 | (composition_compute_stop_pos, composition_adjust_point) | ||
| 872 | (Ffind_composition_internal): | ||
| 873 | * coding.c (handle_composition_annotation): | ||
| 874 | * xdisp.c (handle_composition_prop, check_point_in_composition): | ||
| 875 | Related users changed. | ||
| 876 | |||
| 877 | 2013-08-03 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 878 | |||
| 879 | Drop FRAME_PTR typedef. | ||
| 880 | * composite.c, font.c, font.h, fontset.c, fontset.h, frame.c, frame.h: | ||
| 881 | * ftfont.c, ftxfont.c, gtkutil.c, gtkutil.h, image.c, keyboard.c: | ||
| 882 | * menu.c, menu.h, msdos.c, nsfns.m, nsfont.m, nsmenu.m, nsterm.h: | ||
| 883 | * nsterm.m, scroll.c, term.c, w32fns.c, w32font.c, w32font.h: | ||
| 884 | * w32inevt.c, w32inevt.h, w32menu.c, w32notify.c, w32term.c, w32term.h: | ||
| 885 | * w32uniscribe.c, w32xfns.c, widget.c, window.c, xdisp.c, xfaces.c: | ||
| 886 | * xfns.c, xfont.c, xftfont.c, xmenu.c, xselect.c, xterm.c: | ||
| 887 | All related users changed. | ||
| 888 | |||
| 889 | 2013-08-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 890 | |||
| 891 | * eval.c (default_toplevel_binding): New function. | ||
| 892 | (Fdefvar): Use it. | ||
| 893 | (unbind_to, backtrace_eval_unrewind): Do a bit of CSE simplification. | ||
| 894 | (Fdefault_toplevel_value, Fset_default_toplevel_value): New subrs. | ||
| 895 | (syms_of_eval): Export them. | ||
| 896 | * data.c (Fdefault_value): Micro cleanup. | ||
| 897 | * term.c (init_tty): Use "false". | ||
| 898 | |||
| 899 | 2013-08-02 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 900 | |||
| 901 | Fix X GC leak in GTK and raw (no toolkit) X ports. | ||
| 902 | * xterm.c (x_free_frame_resources): If white and black relief | ||
| 903 | GCs are allocated, always free them here. | ||
| 904 | * xfns.c (x_make_gc): Omit redundant initialization. | ||
| 905 | * widget.c (create_frame_gcs): Remove the leftover. | ||
| 906 | (EmacsFrameDestroy): Do nothing because all GCs are now freed | ||
| 907 | in x_free_frame_resources. | ||
| 908 | |||
| 909 | 2013-08-02 Jan Djärv <jan.h.d@swipnet.se> | ||
| 910 | |||
| 911 | * nsterm.m (windowWillResize:toSize:): Only change title if | ||
| 912 | ! maximizing_resize && FULLSCREEN_NONE (Bug#15005). strdup title before | ||
| 913 | modifying it. | ||
| 914 | (viewDidEndLiveResize): New method. | ||
| 915 | |||
| 916 | * nsterm.h (EmacsView): Add maximizing_resize, put it and old_title | ||
| 917 | inside NS_IMPL_COCOA. | ||
| 918 | |||
| 919 | 2013-08-02 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 920 | |||
| 921 | * insdel.c (adjust_after_replace, replace_range, del_range_2): | ||
| 922 | Do not check whether undo is enabled because record_insert and | ||
| 923 | record_delete does that themselves. | ||
| 924 | |||
| 925 | 2013-08-02 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 926 | |||
| 927 | * xterm.h (struct x_output) [HAVE_X_I18N]: Remove xic_base_fontname | ||
| 928 | member which is not really used any more. | ||
| 929 | (FRAME_XIC_BASE_FONTNAME): Remove. | ||
| 930 | * xfns.c (xic_free_fontset): Adjust user. | ||
| 931 | * xmenu.c (mouse_position_for_popup, x_activate_menubar) | ||
| 932 | (update_frame_menubar, set_frame_menubar, free_frame_menubar) | ||
| 933 | (create_and_show_popup_menu, xmenu_show, create_and_show_dialog) | ||
| 934 | (xdialog_show): Use eassert for debugging check. | ||
| 935 | * w32term.c (x_unfocus_frame): Remove unused dummy function. | ||
| 936 | |||
| 937 | 2013-08-01 Paul Eggert <eggert@cs.ucla.edu> | ||
| 938 | |||
| 939 | * fileio.c, fns.c (merge): Move extern decl from here ... | ||
| 940 | * lisp.h (merge): ... to here. | ||
| 941 | |||
| 942 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 943 | |||
| 944 | Fix last font-related change. | ||
| 945 | * w32font.h (w32font_list_internal, w32font_match_internal): | ||
| 946 | Fix prototype. | ||
| 947 | * w32uniscribe.c (uniscribe_list, uniscribe_match): | ||
| 948 | (uniscribe_list_family): Adjust to match font API change. | ||
| 949 | MS-Windows breakage reported by Juanma Barranquero <lekktu@gmail.com> | ||
| 950 | at http://lists.gnu.org/archive/html/emacs-devel/2013-08/msg00006.html. | ||
| 951 | |||
| 952 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 953 | |||
| 954 | * frame.h (FRAME_MOUSE_UPDATE): | ||
| 955 | * nsterm.m (ns_frame_up_to_date): Omit redundant check | ||
| 956 | whether hlinfo->mouse_face_mouse_frame is non-NULL. | ||
| 957 | |||
| 958 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 959 | |||
| 960 | Avoid redundant Lisp_Object <-> struct frame conversions in font API. | ||
| 961 | * font.h (struct font_driver): Change list, match, and list_family | ||
| 962 | functions to accept struct frame * as first arg. | ||
| 963 | * font.c (font_score, font_compare, font_sort_entities): Remove | ||
| 964 | prototypes. | ||
| 965 | (font_sort_entities, font_list_entities, font_select_entity): | ||
| 966 | (font_find_for_lface, Flist_fonts, Ffont_family_list): Adjust to | ||
| 967 | match font API change. | ||
| 968 | * xfont.c (xfont_list, xfont_match, xfont_list_family): | ||
| 969 | * ftfont.c (ftfont_list, ftfont_match, ftfont_list_family): | ||
| 970 | * ftxfont.c (ftxfont_list, ftxfont_match): | ||
| 971 | * xftfont.c (xftfont_list, xftfont_match): | ||
| 972 | * nsfont.m (nsfont_list, nsfont_match, nsfont_list_family): | ||
| 973 | * w32font.c (w32font_list, w32font_match, w32font_list): | ||
| 974 | (w32font_list_internal, w32_font_match_internal): Likewise. | ||
| 975 | * xfaces.c (Fx_family_fonts): Adjust user. | ||
| 976 | |||
| 977 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 978 | |||
| 979 | Do not use pure Xism x_wm_set_icon_position in non-X ports. | ||
| 980 | * frame.c (x_set_frame_parameters): Call to x_wm_set_icon_position | ||
| 981 | only if HAVE_X_WINDOWS is in use. | ||
| 982 | * frame.h (x_set_frame_parameters): Move under HAVE_X_WINDOWS. | ||
| 983 | * nsterm.m (x_wm_set_icon_position): Remove no-op. | ||
| 984 | * w32term.c (x_wm_set_icon_position): Likewise. | ||
| 985 | * w32fns.c (x_icon): Adjust user. | ||
| 986 | |||
| 987 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 988 | |||
| 989 | * xterm.c (last_mouse_press_frame): Remove the | ||
| 990 | leftover which is not really used any more. | ||
| 991 | (handle_one_xevent, syms_of_xterm): Adjust users. | ||
| 992 | (x_flush): Call XFlush once per each X display, not frame. | ||
| 993 | This is better because this code always unconditionally skips | ||
| 994 | non-X frames in Vframe_list and issues the only XFlush if we | ||
| 995 | have more than one X frame on the same X display. | ||
| 996 | (any_help_event_p, x_draw_glyph_string_background, x_display_ok): | ||
| 997 | Use bool for booleans. | ||
| 998 | (x_draw_glyph_string_background, cvt_string_to_pixel): | ||
| 999 | (cvt_pixel_dtor): Drop unnecessary prototypes. | ||
| 1000 | * xterm.h (x_display_ok): Adjust prototype. | ||
| 1001 | |||
| 1002 | 2013-07-31 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 1003 | |||
| 1004 | Drop unnecessary functions that deals with frame pixel size. | ||
| 1005 | * frame.h, msdos.h, w32term.h, xterm.h (x_pixel_width) | ||
| 1006 | (x_pixel_height): Drop prototypes. | ||
| 1007 | * msdos.c, nsfns.m, w32fns.c, xfns.c (x_pixel_width) | ||
| 1008 | (x_pixel_height): Drop implementations. | ||
| 1009 | * frame.c (Fframe_pixel_height): Use FRAME_PIXEL_HEIGHT | ||
| 1010 | which should be always valid for window frame. | ||
| 1011 | (Frame_pixel_width): Likewise with FRAME_PIXEL_WIDTH. | ||
| 1012 | * w32menu.c (Fx_popup_dialog): | ||
| 1013 | * xmenu.c (Fx_popup_dialog): Likewise for both. | ||
| 1014 | |||
| 1015 | 2013-07-31 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 1016 | |||
| 1017 | * frame.c (Fmake_terminal_frame): Use store_in_alist to setup | ||
| 1018 | frame parameters and call to Fmodify_frame_parameters just once. | ||
| 1019 | (Fset_frame_height, Fset_frame_width): Mention nil frame in docstring. | ||
| 1020 | (Fset_frame_size, Fset_frame_position): Use decode_live_frame | ||
| 1021 | and mention nil frame in docstring. | ||
| 1022 | |||
| 1023 | 2013-07-31 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 1024 | |||
| 1025 | * frame.c (make_frame, x_set_frame_parameters): Use bool for boolean. | ||
| 1026 | (x_figure_window_size): Likewise. Adjust to return long. | ||
| 1027 | (syms_of_frame): Do not DEFSYM Qterminal_live_p. | ||
| 1028 | (toplevel): Move Qterminal_live_p to... | ||
| 1029 | * terminal.c (toplevel): ...here, make it static, and... | ||
| 1030 | (syms_of_terminal): ...DEFSYM here. | ||
| 1031 | * frame.h (Qterminal_live_p): Remove declaration. | ||
| 1032 | (make_frame, x_figure_window_size): Adjust prototype. | ||
| 1033 | * nsfns.m (Fx_create_frame): Use long for window flags. | ||
| 1034 | |||
| 1035 | 2013-07-30 Paul Eggert <eggert@cs.ucla.edu> | ||
| 1036 | |||
| 1037 | Fix tempfile bug on platforms lacking mkostemp and mkstemp (Bug#14986). | ||
| 1038 | * callproc.c (create_temp_file) [! (HAVE_MKOSTEMP || HAVE_MKSTEMP)]: | ||
| 1039 | Do not assume that emacs_close (INT_MAX) is a no-op. | ||
| 1040 | |||
| 1041 | 2013-07-30 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 1042 | |||
| 1043 | * xfaces.c (make_face_cache): For struct face_cache, prefer | ||
| 1044 | xmalloc to xzalloc and so avoid redundant call to memset. | ||
| 1045 | (Finternal_set_lisp_face_attribute): Fix comment typo and style. | ||
| 1046 | |||
| 1047 | 2013-07-30 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 1048 | |||
| 1049 | * fringe.c (draw_window_fringes, update_window_fringes) | ||
| 1050 | (compute_fringe_widths): | ||
| 1051 | * w32term.c (x_draw_glyph_string): | ||
| 1052 | * window.c (candidate_window_p, Frecenter): | ||
| 1053 | * xfaces.c (realize_basic_faces, realize_default_face) | ||
| 1054 | (Fbitmap_space_p, Finternal_set_lisp_face_attribute) | ||
| 1055 | (x_update_menu_appearance, face_attr_equal_p, lface_equal_p): | ||
| 1056 | * xfns.c (x_set_cursor_color, xic_free_xfontset): | ||
| 1057 | * xmenu.c (Fx_menu_bar_open_internal): | ||
| 1058 | * xselect.c (x_reply_selection_request, Fx_get_atom_name): | ||
| 1059 | * xsettings.c (xft_settings_event): | ||
| 1060 | * xterm.c (x_draw_glyph_string, x_had_errors_p): | ||
| 1061 | Use bool for booleans. Adjust style and comments where | ||
| 1062 | appropriate. | ||
| 1063 | * dispextern.h (draw_window_fringes, update_window_fringes) | ||
| 1064 | (compute_fringe_widths): | ||
| 1065 | * xterm.h (x_had_errors_p): Adjust prototype. | ||
| 1066 | |||
| 1067 | 2013-07-30 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 1068 | |||
| 1069 | * frame.c (Fmodify_frame_parameters): Always check 2nd arg with | ||
| 1070 | CHECK_LIST. Rewrite the loop to avoid useless local variable. | ||
| 1071 | |||
| 1072 | 2013-07-29 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 1073 | |||
| 1074 | * fns.c (toplevel): Remove comment before Fsafe_length because | ||
| 1075 | it checks for QUIT. | ||
| 1076 | |||
| 1077 | 2013-07-28 Paul Eggert <eggert@cs.ucla.edu> | ||
| 1078 | |||
| 1079 | * frame.c (delete_frame): Avoid unnecessary 'this_f' test (Bug#14970). | ||
| 1080 | |||
| 1081 | 2013-07-28 Eli Zaretskii <eliz@gnu.org> | ||
| 1082 | |||
| 1083 | * w32fns.c (w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Make sure the | ||
| 1084 | frame which got the message is still alive, before dereferencing | ||
| 1085 | its pointer. (Bug#14970) | ||
| 1086 | |||
| 1087 | * frame.c (delete_frame): Test "this" frame's minibuffer window to | ||
| 1088 | be a live window, before using it as such. (Bug#14970) | ||
| 1089 | |||
| 1090 | 2013-07-27 Eli Zaretskii <eliz@gnu.org> | ||
| 1091 | |||
| 1092 | * w32term.c (w32_read_socket) <WM_KILLFOCUS>: Call | ||
| 1093 | w32_detect_focus_change instead of doing part of its job by hand. | ||
| 1094 | This fixes the problem whereby FOCUS_OUT events were not sent to | ||
| 1095 | the event queue. | ||
| 1096 | |||
| 1 | 2013-07-26 Eli Zaretskii <eliz@gnu.org> | 1097 | 2013-07-26 Eli Zaretskii <eliz@gnu.org> |
| 2 | 1098 | ||
| 3 | * process.c (Fprocess_list): Doc fix. | 1099 | * process.c (Fprocess_list): Doc fix. |
| @@ -269,7 +1365,7 @@ | |||
| 269 | code a bit. It makes no difference on POSIXish platforms but | 1365 | code a bit. It makes no difference on POSIXish platforms but |
| 270 | apparently it fixes a bug on w32. | 1366 | apparently it fixes a bug on w32. |
| 271 | 1367 | ||
| 272 | Fix bug where insert-file-contents closes a file twice. (Bug#14839). | 1368 | Fix bug where insert-file-contents closes a file twice (Bug#14839). |
| 273 | * fileio.c (close_file_unwind): Don't close if FD is negative; | 1369 | * fileio.c (close_file_unwind): Don't close if FD is negative; |
| 274 | this can happen when unwinding a zapped file descriptor. | 1370 | this can happen when unwinding a zapped file descriptor. |
| 275 | (Finsert_file_contents): Unwind-protect the fd before the point marker, | 1371 | (Finsert_file_contents): Unwind-protect the fd before the point marker, |
| @@ -422,7 +1518,7 @@ | |||
| 422 | (make_lispy_focus_in, make_lispy_focus_out): Declare and define. | 1518 | (make_lispy_focus_in, make_lispy_focus_out): Declare and define. |
| 423 | (kbd_buffer_get_event): For FOCUS_IN, make a focus_in event if no | 1519 | (kbd_buffer_get_event): For FOCUS_IN, make a focus_in event if no |
| 424 | switch frame event is made. Check ! NILP (event->arg) if X11 (moved | 1520 | switch frame event is made. Check ! NILP (event->arg) if X11 (moved |
| 425 | from xterm.c). Make focus_out event for FOCUS_OUT_EVENT if NS or X11 | 1521 | from xterm.c). Make focus_out event for FOCUS_OUT_EVENT if NS or X11 |
| 426 | and there is a focused frame. | 1522 | and there is a focused frame. |
| 427 | (head_table): Add focus-in and focus-out. | 1523 | (head_table): Add focus-in and focus-out. |
| 428 | (keys_of_keyboard): Add focus-in and focus-out to Vspecial_event_map, | 1524 | (keys_of_keyboard): Add focus-in and focus-out to Vspecial_event_map, |
| @@ -795,7 +1891,7 @@ | |||
| 795 | (emacswrite_sig, emacs_perror): New functions. | 1891 | (emacswrite_sig, emacs_perror): New functions. |
| 796 | * xrdb.c (fatal): Don't invoke perror, since errno might be garbage. | 1892 | * xrdb.c (fatal): Don't invoke perror, since errno might be garbage. |
| 797 | 1893 | ||
| 798 | 2013-07-08 Magnus Henoch <magnus.henoch@gmail.com> (tiny change). | 1894 | 2013-07-08 Magnus Henoch <magnus.henoch@gmail.com> (tiny change) |
| 799 | 1895 | ||
| 800 | * image.c (imagemagick_load_image): Do not use MagickExportImagePixels | 1896 | * image.c (imagemagick_load_image): Do not use MagickExportImagePixels |
| 801 | on NS even if it is present. Pixmap on NS is a void*. | 1897 | on NS even if it is present. Pixmap on NS is a void*. |
| @@ -1470,7 +2566,7 @@ | |||
| 1470 | Now static. | 2566 | Now static. |
| 1471 | * lisp.h: Remove the abovementioned defns and decls. | 2567 | * lisp.h: Remove the abovementioned defns and decls. |
| 1472 | 2568 | ||
| 1473 | Use functions, not macros, for XINT etc. (Bug#11935). | 2569 | Use functions, not macros, for XINT etc (Bug#11935). |
| 1474 | In lisp.h, prefer functions to function-like macros, and | 2570 | In lisp.h, prefer functions to function-like macros, and |
| 1475 | constants to object-like macros, when either will do. This: | 2571 | constants to object-like macros, when either will do. This: |
| 1476 | . simplifies use, as there's no more need to worry about | 2572 | . simplifies use, as there's no more need to worry about |