aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog1104
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 @@
12013-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
82013-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
242013-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
322013-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
482013-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
532013-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
582013-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
672013-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
732013-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
812013-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
892013-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
992013-08-15 Jan Djärv <jan.h.d@swipnet.se>
100
101 * nsmenu.m (menuWillOpen:): Fix preprocessor test (Bug#15001).
102
1032013-08-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
104
105 * image.c (imagemagick_compute_animated_image): Respect the GIF
106 disposal methods.
107
1082013-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
1142013-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
1252013-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
1302013-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
1412013-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
1492013-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
1582013-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
1672013-08-14 Ken Brown <kbrown@cornell.edu>
168
169 * gmalloc.c (memalign) [CYGWIN]: Rename to emacs_memalign
170 (Bug#15094).
171
1722013-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
1862013-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
1942013-08-14 Xue Fuqiao <xfq.free@gmail.com>
195
196 * marker.c (set_marker): Reformat documentation.
197
1982013-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
2062013-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
2142013-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
2302013-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
2362013-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
2442013-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
2582013-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
2662013-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
2712013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
272
273 * image.c (imagemagick_filename_hint): Check for errors in the
274 alist structure.
275
2762013-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
2882013-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
2942013-08-13 Eli Zaretskii <eliz@gnu.org>
295
296 * decompress.c (Fzlib_decompress_region) [WINDOWSNT]: Return Qnil
297 if loading zlib failed.
298
2992013-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
3072013-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
3212013-08-13 Paul Eggert <eggert@cs.ucla.edu>
322
323 * decompress.c (Fzlib_decompress_region): Try to clarify 'avail_out'.
324
3252013-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
3452013-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
3502013-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
3662013-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
3742013-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
3822013-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
3872013-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
3932013-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
3992013-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
400
401 * decompress.c (Fzlib_decompress_region): Support zlib
402 decompression, too, and rename.
403
4042013-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
4102013-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
411
412 * decompress.c (Fzlib_decompress_gzipped_region): Rename to
413 include the zlib prefix.
414
4152013-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
4292013-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
4432013-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
5222013-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
5332013-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
5442013-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
5742013-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
6282013-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
6352013-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
6402013-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
6462013-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
6622013-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
6702013-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
6752013-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
7012013-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
7142013-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
7202013-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
7262013-08-07 Martin Rudalics <rudalics@gmx.at>
727
728 * w32term.c (w32fullscreen_hook): Really maximize frame when
729 asked for (Bug#14841).
730
7312013-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
7402013-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
7582013-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
7632013-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
7752013-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
7942013-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
8122013-08-05 Stefan Monnier <monnier@iro.umontreal.ca>
813
814 * lisp.mk (lisp): Add nadvice.elc.
815
8162013-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
8312013-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
8382013-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
8452013-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
8532013-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
8622013-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
8772013-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
8892013-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
8992013-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
9092013-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
9192013-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
9252013-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
9372013-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
9422013-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
9522013-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
9582013-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
9772013-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
9872013-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
10022013-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
10152013-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
10232013-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
10352013-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
10412013-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
10472013-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
10672013-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
10722013-07-29 Dmitry Antipov <dmantipov@yandex.ru>
1073
1074 * fns.c (toplevel): Remove comment before Fsafe_length because
1075 it checks for QUIT.
1076
10772013-07-28 Paul Eggert <eggert@cs.ucla.edu>
1078
1079 * frame.c (delete_frame): Avoid unnecessary 'this_f' test (Bug#14970).
1080
10812013-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
10902013-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
12013-07-26 Eli Zaretskii <eliz@gnu.org> 10972013-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
7982013-07-08 Magnus Henoch <magnus.henoch@gmail.com> (tiny change). 18942013-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