aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorDaniel Colascione2012-10-07 14:31:58 -0800
committerDaniel Colascione2012-10-07 14:31:58 -0800
commit36a305a723c63fd345be65c536c52fe9765c14be (patch)
treefb89d9e103552863214c60297a65320917109357 /src/ChangeLog
parent2ab329f3b5d52a39f0a45c3d9c129f1c19560142 (diff)
parent795b1482a9e314cda32d62ac2988f573d359366e (diff)
downloademacs-36a305a723c63fd345be65c536c52fe9765c14be.tar.gz
emacs-36a305a723c63fd345be65c536c52fe9765c14be.zip
Merge from trunk
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog1193
1 files changed, 1180 insertions, 13 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 36df05c25ae..29e831a2eb8 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,1172 @@
12012-10-07 Eli Zaretskii <eliz@gnu.org>
2
3 * ralloc.c (relinquish): If a heap is ready to be relinquished,
4 but it still has blocs in it, don't return it to the system,
5 instead of aborting. (Bug#12402)
6
72012-10-07 Jan Djärv <jan.h.d@swipnet.se>
8
9 * nsterm.m (ns_dumpglyphs_image): Only draw slice of image (Bug#12506).
10
11 * nsterm.m (ns_update_auto_hide_menu_bar): Remove defintion of
12 MAC_OS_X_VERSION_10_6.
13 (syms_of_nsterm): Remove comment about Panther and above for
14 ns-antialias-text.
15 * nsterm.h (MAC_OS_X_VERSION_10_3, onTiger): Remove.
16 (EmacsApp): Remove check for >= MAC_OS_X_VERSION_10_4.
17 (struct nsfont_info): Remove check for >= MAC_OS_X_VERSION_10_3.
18
19 * nsselect.m (ns_string_from_pasteboard): Remove check for >=
20 MAC_OS_X_VERSION_10_4.
21
22 * nsmenu.m (fillWithWidgetValue:): Remove code for <
23 MAC_OS_X_VERSION_10_2.
24
25 * nsimage.m (setPixmapData, getPixelAtX, setAlphaAtX): Remove onTiger.
26
27 * nsfns.m (Fns_list_services): Remove comment and check for OSX < 10.4.
28 (ns_do_applescript): Remove check for >= MAC_OS_X_VERSION_10_4.
29
30 * nsterm.m (ns_in_resize): Remove (Bug#12479).
31 (ns_resize_handle_rect, mouseDown, mouseUp, mouseDragged): Remove.
32 (ns_clear_frame, sendEvent, windowDidResize, drawRect:): Remove
33 ns_in_resize check.
34 (ns_clear_frame_area): Remove resize handle code.
35
36 * nsfns.m (ns_in_resize): Remove.
37 (x_set_icon_name, ns_set_name, ns_set_name_as_filename): Remove
38 ns_in_resize check.
39
402012-10-07 Paul Eggert <eggert@cs.ucla.edu>
41
42 Improve sys_siglist detection.
43 * sysdep.c (sys_siglist, init_signals): Use _sys_siglist if it's
44 defined as a macro, as is done in Solaris.
45 (sys_siglist_entries): New macro.
46 (save_strsignal): Use it.
47 * syssignal.h (safe_strsignal): Now ATTRIBUTE_CONST, to pacify
48 GCC 4.7.2 on Fedora 17 with the fixed sys_siglist detection.
49
502012-10-06 Jan Djärv <jan.h.d@swipnet.se>
51
52 * nsfns.m (Fx_create_frame): Call x_default_parameter with
53 fullscreen/Fullscreen.
54
55 * nsterm.h (EmacsView): Rename tbar_height to tibar_height.
56 tobar_height is new.
57
58 * nsterm.m (x_make_frame_visible): Check for fullscreen.
59 (ns_fullscreen_hook): Activate old style fullscreen with a timer.
60 (ns_term_init): Set activateIgnoringOtherApps if old style fullscreen.
61 (windowDidResize:): Check for correct window if old style fullscreen.
62 Capitalize word in comment. Remove incorrect comment.
63 (initFrameFromEmacs:): tbar_height renamed tibar_height.
64 (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix
65 error in drawing background.
66 (toggleFullScreen:): Remove comment. Rearrange calls.
67 Set toolbar values to zero, save old height in tobar_height.
68 Restore tool bar height when leaving fullscreen.
69 (canBecomeMainWindow): New function.
70
712012-10-06 Paul Eggert <eggert@cs.ucla.edu>
72
73 * keyboard.c (read_char): Remove unnecessary 'volatile's and label.
74
752012-10-05 Eli Zaretskii <eliz@gnu.org>
76
77 * w32proc.c (stop_timer_thread): Fix declaration of 'err'.
78
79 * w32.c (utime): Open the file with FILE_FLAG_BACKUP_SEMANTICS, so
80 that time stamps of directories could also be changed. Don't
81 request the too broad GENERIC_WRITE, only the more restrictive
82 FILE_WRITE_ATTRIBUTES access rights.
83
84 * fileio.c (Fset_file_times): Special-case ignoring errors for
85 directories only on MSDOS, not on MS-Windows.
86
872012-10-05 Ikumi Keita <ikumi@ikumi.que.jp> (tiny change)
88
89 * minibuf.c (Fcompleting_read): Doc fix. (Bug#12555)
90
912012-10-04 Eli Zaretskii <eliz@gnu.org>
92
93 * w32.c (utime): Test for INVALID_HANDLE_VALUE, not for NULL, to
94 see whether CreateFile failed.
95
962012-10-04 Paul Eggert <eggert@cs.ucla.edu>
97
98 * profiler.c (handle_profiler_signal): Inhibit pending signals too,
99 to avoid similar races.
100 * keyboard.c (pending_signals): Now bool, not int.
101
102 Port timers to OpenBSD, plus check for timer failures.
103 OpenBSD problem reported by Han Boetes.
104 * profiler.c (setup_cpu_timer): Check for failure of timer_settime
105 and/or setitimer.
106 (Fprofiler_cpu_stop): Don't assume HAVE_SETITIMER.
107 * syssignal.h (HAVE_ITIMERSPEC): New macro. This is for platforms
108 like OpenBSD, which has timer_settime but does not declare it.
109 OpenBSD does not define SIGEV_SIGNAL, so use that when deciding
110 whether to use itimerspec-related primitives. All uses of
111 HAVE_TIMER_SETTIME replaced with HAVE_ITIMERSPEC.
112
1132012-10-02 Paul Eggert <eggert@cs.ucla.edu>
114
115 * profiler.c (handle_profiler_signal): Fix a malloc race
116 that caused Emacs to hang on Fedora 17 when profiling Lisp.
117
1182012-10-02 Jan Djärv <jan.h.d@swipnet.se>
119
120 * nsterm.m (windowDidEnterFullScreen): Remove fprintf.
121
1222012-10-02 Eli Zaretskii <eliz@gnu.org>
123
124 * w32proc.c (sys_wait): Declare 'signame' 'const char *', to be
125 consistent with the change in return value of 'safe_strsignal'.
126
1272012-10-02 Paul Eggert <eggert@cs.ucla.edu>
128
129 Prefer plain 'static' to 'static inline' (Bug#12541).
130 * bidi.c (bidi_get_type, bidi_check_type, bidi_get_category)
131 (bidi_set_sor_type, bidi_push_embedding_level)
132 (bidi_pop_embedding_level, bidi_remember_char, bidi_copy_it)
133 (bidi_cache_reset, bidi_cache_shrink, bidi_cache_fetch_state)
134 (bidi_cache_search, bidi_cache_ensure_space)
135 (bidi_cache_iterator_state, bidi_cache_find)
136 (bidi_peek_at_next_level, bidi_set_paragraph_end)
137 (bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char)
138 (bidi_explicit_dir_char, bidi_resolve_neutral_1):
139 Now 'static', not 'static inline'.
140
141 Count overruns when profiling; change units to ns.
142 * profiler.c (handle_profiler_signal): Count sampling intervals, not ms.
143 Give extra weight to samples after overruns, to attempt to count
144 the time more accurately.
145 (setup_cpu_timer): Change sampling interval units from ms to ns, since
146 the underlying primitives nominally do ns.
147 (Fprofiler_cpu_start): Document the change. Mention that
148 the sampling intervals are only approximate.
149
1502012-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
151
152 * frame.c (Fmake_terminal_frame): Prefer safer CONSP over !NILP.
153
154 * coding.h (ENCODE_FILE, DECODE_FILE, DECODE_SYSTEM): Remove special
155 case for the special 0 coding-system.
156
157 * buffer.c (Fset_buffer_multibyte): Signal an error instead of widening.
158 (Fmake_overlay): Remove redundant tests.
159 (fix_start_end_in_overlays): Remove redundant recentering.
160
1612012-10-02 Juanma Barranquero <lekktu@gmail.com>
162
163 * makefile.w32-in ($(BLD)/alloc.$(O), $(BLD)/gmalloc.$(O)):
164 Update dependencies.
165
1662012-10-01 Paul Eggert <eggert@cs.ucla.edu>
167
168 Fix a malloc race condition involving strsignal.
169 A signal can arrive in the middle of a malloc, and Emacs's signal
170 handler can invoke strsignal, which can invoke malloc, which is
171 not portable. This race condition bug makes Emacs hang on GNU/Linux.
172 Fix it by altering the signal handler so that it does not invoke
173 strsignal.
174 * emacs.c (shut_down_emacs): Use safe_strsignal, not strsignal.
175 * process.c (status_message): Use const pointer, in case strsignal
176 is #defined to safe_strsignal.
177 * sysdep.c (sys_siglist, init_signals): Always define and
178 initialize a substitute sys_siglist if the system does not define
179 one, even if HAVE_STRSIGNAL.
180 (safe_strsignal): Rename from strsignal. Always define,
181 using sys_siglist. Return a const pointer.
182 * syssignal.h (safe_strsignal): New decl.
183 (strsignal) [!HAVE_STRSIGNAL]: Define in terms of safe_strsignal.
184
1852012-10-01 Eli Zaretskii <eliz@gnu.org>
186
187 * w32proc.c (timer_loop): Fix code that waits for timer
188 expiration, to avoid high CPU usage.
189
1902012-10-01 Stefan Monnier <monnier@iro.umontreal.ca>
191
192 * fns.c (check_hash_table, get_key_arg, maybe_resize_hash_table)
193 (sweep_weak_table): Remove redundant prototypes.
194
1952012-10-01 Fabrice Popineau <fabrice.popineau@gmail.com>
196
197 * emacs.c: Move the inclusion of TERM_HEADER after including
198 windows.h on WINDOWSNT. This avoids compilation problems with
199 MSVC.
200
2012012-10-01 Eli Zaretskii <eliz@gnu.org>
202
203 * unexw32.c (OFFSET_TO_RVA, RVA_TO_OFFSET)
204 (RVA_TO_SECTION_OFFSET): Encode all macro arguments in parentheses.
205 (RVA_TO_PTR): Cast the result of RVA_TO_OFFSET to 'unsigned char *',
206 as the previous version used 'void *'.
207
208 * ralloc.c (ROUNDUP): Fix last change.
209 (MEM_ROUNDUP): Don't cast MEM_ALIGN, it is already of type
210 'size_t'.
211
212 * w32proc.c <disable_itimers>: New static flag.
213 (init_timers): Initialize it to zero, after creating the critical
214 sections used by the timer threads.
215 (term_timers): Set to 1 before deleting the critical sections.
216 (getitimer, setitimer): If disable_itimers is non-zero, return an
217 error indication without doing anything. Reported by Fabrice
218 Popineau <fabrice.popineau@supelec.fr> as part of bug#12544.
219 (alarm) [HAVE_SETITIMER]: Be more conformant to the expected
220 return results.
221 [!HAVE_SETITIMER]: Behave as the previous version that didn't
222 support timers.
223
224 * emacs.c (shut_down_emacs) [WINDOWSNT]: Move the call to
225 term_ntproc after all the other bookkeeping, to get timers working
226 as long as possible.
227
2282012-10-01 Paul Eggert <eggert@cs.ucla.edu>
229
230 * xdisp.c (syms_of_xdisp): Default message-log-max to 1000, not 100.
231 Suggested by Juri Linkov in
232 <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00821.html>.
233
234 Prefer plain 'static' to 'static inline' (Bug#12541).
235 With static functions, modern compilers inline pretty well by
236 themselves; advice from programmers often hurts as much as it helps.
237 On my host (x86-64, Fedora 17, GCC 4.7.2, default 'configure'),
238 this change shrinks the text size of the Emacs executable by 1.1%
239 without affecting CPU significantly in my benchmark.
240 * alloc.c (mem_find, live_string_p, live_cons_p, live_symbol_p)
241 (live_float_p, live_misc_p, live_vector_p, live_buffer_p)
242 (mark_maybe_object, mark_maybe_pointer, bounded_number):
243 * buffer.c (bset_abbrev_mode, bset_abbrev_table)
244 (bset_auto_fill_function, bset_auto_save_file_format)
245 (bset_auto_save_file_name, bset_backed_up, bset_begv_marker)
246 (bset_bidi_display_reordering, bset_buffer_file_coding_system)
247 (bset_cache_long_line_scans, bset_case_fold_search)
248 (bset_ctl_arrow, bset_cursor_in_non_selected_windows)
249 (bset_cursor_type, bset_display_table, bset_extra_line_spacing)
250 (bset_file_format, bset_file_truename, bset_fringe_cursor_alist)
251 (bset_fringe_indicator_alist, bset_fringes_outside_margins)
252 (bset_header_line_format, bset_indicate_buffer_boundaries)
253 (bset_indicate_empty_lines, bset_invisibility_spec)
254 (bset_left_fringe_width, bset_major_mode, bset_mark)
255 (bset_minor_modes, bset_mode_line_format, bset_mode_name)
256 (bset_name, bset_overwrite_mode, bset_pt_marker)
257 (bset_right_fringe_width, bset_save_length)
258 (bset_scroll_bar_width, bset_scroll_down_aggressively)
259 (bset_scroll_up_aggressively, bset_selective_display)
260 (bset_selective_display_ellipses, bset_vertical_scroll_bar_type)
261 (bset_word_wrap, bset_zv_marker, set_buffer_overlays_before)
262 (set_buffer_overlays_after):
263 * category.c (bset_category_table):
264 * charset.c (read_hex):
265 * coding.c (produce_composition, produce_charset)
266 (handle_composition_annotation, handle_charset_annotation)
267 (char_encodable_p):
268 * dispnew.c (swap_glyph_pointers, copy_row_except_pointers)
269 (assign_row, set_frame_matrix_frame, make_current)
270 (add_row_entry):
271 * eval.c (set_specpdl_symbol, set_specpdl_old_value):
272 * fns.c (maybe_resize_hash_table):
273 * frame.c (fset_buffer_predicate, fset_minibuffer_window):
274 * gmalloc.c (register_heapinfo):
275 * image.c (lookup_image_type):
276 * intervals.c (set_interval_object, set_interval_left)
277 (set_interval_right, copy_interval_parent, rotate_right)
278 (rotate_left, balance_possible_root_interval):
279 * keyboard.c (kset_echo_string, kset_kbd_queue)
280 (kset_keyboard_translate_table, kset_last_prefix_arg)
281 (kset_last_repeatable_command, kset_local_function_key_map)
282 (kset_overriding_terminal_local_map, kset_real_last_command)
283 (kset_system_key_syms, clear_event, set_prop):
284 * lread.c (digit_to_number):
285 * marker.c (attach_marker, live_buffer, set_marker_internal):
286 * nsterm.m (ns_compute_glyph_string_overhangs):
287 * process.c (pset_buffer, pset_command)
288 (pset_decode_coding_system, pset_decoding_buf)
289 (pset_encode_coding_system, pset_encoding_buf, pset_filter)
290 (pset_log, pset_mark, pset_name, pset_plist, pset_sentinel)
291 (pset_status, pset_tty_name, pset_type, pset_write_queue):
292 * syntax.c (bset_syntax_table, dec_bytepos):
293 * terminal.c (tset_param_alist):
294 * textprop.c (interval_has_some_properties)
295 (interval_has_some_properties_list):
296 * window.c (wset_combination_limit, wset_dedicated)
297 (wset_display_table, wset_hchild, wset_left_fringe_width)
298 (wset_left_margin_cols, wset_new_normal, wset_new_total)
299 (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm)
300 (wset_right_fringe_width, wset_right_margin_cols)
301 (wset_scroll_bar_width, wset_start, wset_temslot, wset_vchild)
302 (wset_vertical_scroll_bar_type, wset_window_parameters):
303 * xdisp.c (wset_base_line_number, wset_base_line_pos)
304 (wset_column_number_displayed, wset_region_showing)
305 (window_box_edges, run_window_scroll_functions)
306 (append_glyph_string_lists, prepend_glyph_string_lists)
307 (append_glyph_string, set_glyph_string_background_width)
308 (append_glyph, append_composite_glyph)
309 (take_vertical_position_into_account):
310 * xfaces.c (x_create_gc, x_free_gc, merge_face_vectors)
311 (face_attr_equal_p, lface_equal_p, hash_string_case_insensitive)
312 (lface_hash, lface_same_font_attributes_p, lookup_face):
313 * xml.c (libxml2_loaded_p):
314 * xterm.c (x_set_mode_line_face_gc, x_set_glyph_string_gc)
315 (x_set_glyph_string_clipping, x_clear_glyph_string_rect):
316 Now 'static', not 'static inline'.
317
318 * bidi.c: Tune.
319 (bidi_copy_it): Do the whole copy with a single memcpy.
320 (bidi_char_at_pos): Merge the two STRING_CHAR calls into one.
321
322 Revert the FOLLOW-SYMLINKS change for file-attributes.
323 Doing it right would require several changes to Tramp, and there's
324 not enough time to get that tested before the freeze today.
325 * dired.c (directory_files_internal, Ffile_attributes):
326 Undo last change.
327
328 * frame.c (x_report_frame_params): Port better to wider ints.
329 Do not assume that EMACS_UINT is the same width as uprintmax_t,
330 or that pointers can be printed in 15 decimal digits.
331 Avoid GCC warnings if EMACS_UINT is wider than a pointer.
332
3332012-09-30 Fabrice Popineau <fabrice.popineau@supelec.fr>
334
335 Support x64 build on MS-Windows.
336 * w32term.h (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK): Define for x64.
337 (SET_SCROLL_BAR_W32_WINDOW): Cast ID to intptr_t, for
338 compatibility with x64.
339 (x_get_focus_frame): Add prototype.
340
341 * w32term.c (w32_draw_underwave): Don't use GCC extensions for
342 defining an XRectangle structure.
343
344 * w32proc.c (RVA_TO_PTR, w32_executable_type): Fix pointer
345 arithmetics for compatibility with x64.
346
347 * w32menu.c (add_menu_item): Use UINT_PTR instead of UINT, for
348 compatibility with x64.
349
350 * w32heap.h: Adjust prototypes and declarations.
351
352 * w32heap.c (RVA_TO_PTR, allocate_heap, sbrk, init_heap)
353 (round_heap): Use DWORD_PTR, ptrdiff_t and size_t instead of
354 DWORD, long, and unsigned long, for compatibility with x64.
355 (allocate_heap) [_WIN64]: Reserve 32GB of memory.
356 (sbrk): Argument is now of type ptrdiff_t.
357
358 * w32fns.c (HMONITOR): Condition declaration on _WIN32_WINNT being
359 less than 0x0500.
360 (w32_msg_pump): Use WPARAM type for 'result'.
361
362 * w32.c (init_environment, get_emacs_configuration): Support AMD64
363 architecture.
364 (init_ntproc): Cast arguments of _open_osfhandle to intptr_t, for
365 compatibility with x64.
366
367 * vm-limit.c (lim_data): Now size_t.
368 (check_memory_limits): Adjust prototypes of real_morecore and
369 __morecore to receive argument of type ptrdiff_t. Use size_t for
370 five_percent and data_size.
371
372 * unexw32.c: Use DWORD_PTR instead of DWORD for file-scope
373 variables, for compatibility with x64.
374 (rva_to_section, offset_to_section, relocate_offset)
375 (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET)
376 (PTR_TO_RVA, RVA_TO_PTR, OFFSET_TO_PTR, get_section_info)
377 (copy_executable_and_dump_data): Use DWORD_PTR instead of DWORD
378 for compatibility with x64.
379
380 * sysdep.c (STDERR_FILENO): Define if not already defined.
381
382 * ralloc.c (real_morecore): Argument type is now ptrdiff_t.
383 (__morecore): Argument type is now ptrdiff_t.
384 (ROUNDUP, MEM_ROUNDUP): Use size_t instead of 'unsigned long'.
385 (relinquish): Use ptrdiff_t type for 'excess'.
386 (r_alloc_sbrk): Argument type is now ptrdiff_t.
387
388 * makefile.w32-in (HEAPSIZE): Get value from EMACS_HEAPSIZE.
389 (bootstrap-temacs-CMD, bootstrap-temacs-SH): Use $(EMACS_PURESIZE)
390 instead of a literal number.
391
392 * gmalloc.c [WINDOWSNT]: Include w32heap.h.
393 (min): Define only if not already defined.
394
395 * frame.c (x_report_frame_params): Use EMACS_UINT for the return
396 value of FRAME_X_WINDOW, to fit a 64-bit pointer on 64-bit Windows
397 hosts.
398
399 * image.c (x_bitmap_pixmap): Return ptrdiff_t, not int, since
400 'bitmaps' is a pointer.
401
402 * dispextern.h (x_bitmap_pixmap): Adjust prototype.
403
404 * alloc.c (gdb_make_enums_visible): Now conditional on __GNUC__.
405
4062012-09-30 Paul Eggert <eggert@cs.ucla.edu>
407
408 file-attributes has a new optional arg FOLLOW-SYMLINKS.
409 * dired.c (directory_files_internal, Ffile_attributes):
410 New arg follow_symlinks. All uses changed.
411
4122012-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
413
414 * .gdbinit (xbacktrace): Adjust to recent "struct backtrace" change.
415
4162012-09-30 Eli Zaretskii <eliz@gnu.org>
417
418 Support atimers and CPU profiler via profile.c on MS-Windows.
419 * w32proc.c (sig_mask, crit_sig): New static variables.
420 (sys_signal): Support SIGALRM and SIGPROF.
421 (sigemptyset, sigaddset, sigfillset, sigprocmask)
422 (pthread_sigmask, setpgrp): Move here from w32.c. sigaddset,
423 sigfillset, and sigprocmask are no longer no-ops.
424 (sigismember): New function.
425 (struct itimer_data): New definition.
426 (ticks_now, real_itimer, prof_itimer, clocks_min, crit_real)
427 (crit_prof): New static variables.
428 (MAX_SINGLE_SLEEP): New definition.
429 (timer_loop, stop_timer_thread, term_timers, init_timers)
430 (start_timer_thread, getitimer, setitimer): New functions.
431 (alarm): No longer a no-op, calls setitimer.
432
433 * w32.c (term_ntproc): Call term_timers.
434 (init_ntproc): Make sure all signals are unblocked at startup, to
435 erase any traces of dumping. Call init_timers.
436
437 * w32fns.c (hourglass_timer, HOURGLASS_ID): Remove.
438 Windows-specific code to display the hourglass mouse pointer is no
439 longer used.
440 (w32_wnd_proc): Remove code that handled the WM_TIMER message due
441 to hourglass timer expiration.
442 (start_hourglass, cancel_hourglass, DEFAULT_HOURGLASS_DELAY):
443 Remove, no longer used.
444 (w32_note_current_window, show_hourglass, hide_hourglass):
445 New functions, in support of hourglass cursor display similar to other
446 window systems.
447 (syms_of_w32fns): Don't initialize hourglass_timer.
448
449 * xdisp.c (start_hourglass, cancel_hourglass): Now used on
450 WINDOWSNT as well.
451 (start_hourglass) [WINDOWSNT]: Call w32_note_current_window.
452
453 * w32.h (init_timers, term_timers): Add prototypes.
454
4552012-09-30 Kenichi Handa <handa@gnu.org>
456
457 * coding.c (decode_coding_ccl, encode_coding_ccl): Pay attention
458 to the buffer relocation which may be caused by ccl_driver.
459
4602012-09-30 Jan Djärv <jan.h.d@swipnet.se>
461
462 * xfns.c (Fx_file_dialog): Update comment.
463
464 * w32fns.c (Fx_file_dialog): Update comment.
465
466 * nsfns.m (Fns_read_file_name): Add argument DIR_ONLY_P.
467 Initialize panel name field if OSX >= 10.6.
468
469 * fileio.c (Fnext_read_file_uses_dialog_p): Add HAVE_NS.
470
471 * nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen.
472
473 * nsterm.m (NEW_STYLE_FS): New define.
474 (ns_fullscreen_hook, windowWillEnterFullScreen)
475 (windowDidEnterFullScreen, windowWillExitFullScreen)
476 (windowDidExitFullScreen, toggleFullScreen, handleFS)
477 (setFSValue): New functions.
478 (EmacsFSWindow): New implementation.
479 (canBecomeKeyWindow): New function for EmacsFSWindow.
480 (ns_create_terminal): Set fullscreen_hook to ns_fullscreen_hook.
481 (dealloc): Release nonfs_window if in fullscreen.
482 (updateFrameSize:): Call windowDidMove to update top/left.
483 (windowWillResize:toSize:): Check if frame is still maximized.
484 (initFrameFromEmacs:): Initialize fs_state, fs_before_fs,
485 next_maximized, maximized_width, maximized_height and nonfs_window.
486 Call setCollectionBehavior if NEW_STYLE_FS. Initialize bwidth and
487 tbar_height.
488 (windowWillUseStandardFrame:defaultFrame:): Update frame parameter
489 fullscreen. Set maximized_width/height. Act on next_maximized.
490
491 * nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New.
492 (EmacsView): Add variables for fullscreen.
493 (handleFS, setFSValue, toggleFullScreen): New in EmacsView.
494 (EmacsFSWindow): New interface for fullscreen.
495
4962012-09-30 Juanma Barranquero <lekktu@gmail.com>
497
498 * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
499
5002012-09-30 Chong Yidong <cyd@gnu.org>
501
502 * fns.c (Frandom): Doc fix.
503
5042012-09-30 Martin Rudalics <rudalics@gmx.at>
505
506 * window.c (Vwindow_combination_limit): New default value.
507 (Qwindow_size): New symbol replacing Qtemp_buffer_resize.
508
5092012-09-30 Paul Eggert <eggert@cs.ucla.edu>
510
511 * syssignal.h (PROFILER_CPU_SUPPORT): Don't define if PROFILING.
512 Suggested by Eli Zaretskii in
513 <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00811.html>.
514
5152012-09-30 Eli Zaretskii <eliz@gnu.org>
516
517 * profiler.c (Fprofiler_cpu_stop): Use timer_settime only if
518 HAVE_TIMER_SETTIME is defined.
519
5202012-09-30 Paul Eggert <eggert@cs.ucla.edu>
521
522 Profiler improvements: more-accurate timers, overflow checks.
523 * profiler.c: Don't include stdio.h, limits.h, sys/time.h,
524 signal.h, setjmp.h. Include systime.h instead.
525 (saturated_add): New function.
526 (record_backtrace, current_sample_interval): Use EMACS_INT, not size_t.
527 (record_backtrace, handle_profiler_signal): Saturate on fixnum overflow.
528 (profiler_timer, profiler_timer_ok) [HAVE_TIMER_SETTIME]:
529 New static vars.
530 (enum profiler_cpu_running): New enum.
531 (profiler_cpu_running): Now of that enum type, not bool.
532 All uses changed to store the new value.
533 (handle_profiler_signal): Rename from sigprof_handler_1,
534 for consistency with other handlers. Do not check whether
535 cpu_log is a hash-table if garbage collecting, since it
536 doesn't matter in that case.
537 (deliver_profiler_signal): Rename from sigprof_handler,
538 for consistency with other handlers.
539 (setup_cpu_timer): New function, with much of what used to be in
540 Fprofiler_cpu_start. Check for out-of-range argument.
541 Prefer timer_settime if available, and prefer
542 thread cputime clocks, then process cputime clocks, then
543 monotonic clocks, to the old realtime clock. Use make_timeval
544 to round more-correctly when falling back to setitimer.
545 (Fprofiler_cpu_start): Use it.
546 (Fprofiler_cpu_stop): Prefer timer_settime if available.
547 Don't assume that passing NULL as the 2nd argument of setitimer
548 is the same as passing a pointer to all-zero storage.
549 Ignore SIGPROF afterwards.
550 (malloc_probe): Saturate at MOST_POSITIVE_FIXNUM.
551 * sysdep.c (emacs_sigaction_init): Also mask out SIGPROF in
552 non-fatal signal handlers. Ignore SIGPROF on startup.
553 * syssignal.h (PROFILER_CPU_SUPPORT): Define this macro here, not
554 in profiler.c, since sysdep.c now uses it.
555
556 * sysdep.c (handle_fatal_signal): Bump backtrace size to 40.
557 Suggested by Eli Zaretskii in
558 <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00796.html>.
559
5602012-09-29 Juanma Barranquero <lekktu@gmail.com>
561
562 * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
563
5642012-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
565
566 * lisp.h (struct backtrace): Remove indirection for `function' field.
567 * xdisp.c (redisplay_internal):
568 * profiler.c (record_backtrace, sigprof_handler_1):
569 * alloc.c (Fgarbage_collect):
570 * eval.c (interactive_p, Fsignal, eval_sub, Ffuncall, Fbacktrace)
571 (Fbacktrace_frame): Adjust accordingly.
572
5732012-09-28 Glenn Morris <rgm@gnu.org>
574
575 * eval.c (Frun_hook_with_args, Frun_hook_with_args_until_success)
576 (Frun_hook_with_args_until_failure): Doc fixes.
577
5782012-09-28 Eli Zaretskii <eliz@gnu.org>
579
580 * xdisp.c (syms_of_xdisp) <Qredisplay_internal>: Rename from
581 Qautomatic_redisplay and change the symbol name. All users changed.
582
5832012-09-28 Tomohiro Matsuyama <tomo@cx4a.org>
584
585 * profiler.c (sigprof_handler): Fix race condition.
586
5872012-09-28 Glenn Morris <rgm@gnu.org>
588
589 * lread.c (lisp_file_lexically_bound_p): Handle #! lines. (Bug#12528)
590
5912012-09-27 Paul Eggert <eggert@cs.ucla.edu>
592
593 Check more robustly for timer_settime.
594 * Makefile.in (LIB_TIMER_TIME): New macro.
595 (LIBES): Add it.
596 * atimer.c (alarm_timer, alarm_timer_ok, set_alarm, init_atimer):
597 Use HAVE_TIMER_SETTIME, not SIGEV_SIGNAL, to decide whether to
598 call timer_settime.
599
6002012-09-26 Tomohiro Matsuyama <tomo@cx4a.org>
601
602 * profiler.c (Fprofiler_cpu_start): Remove unnecessary flag SA_SIGINFO.
603
6042012-09-26 Juanma Barranquero <lekktu@gmail.com>
605
606 * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
607
6082012-09-26 Paul Eggert <eggert@cs.ucla.edu>
609
610 * character.h (MAYBE_UNIFY_CHAR): Remove.
611 * charset.c, charset.h (maybe_unify_char): Now static.
612 * charset.c (decode_char): Use maybe_unify_char, not MAYBE_UNIFY_CHAR.
613 Since this stuff is now private to charset.c, there's no need for
614 a public macro and no need to inline by hand.
615
6162012-09-26 Tomohiro Matsuyama <tomo@cx4a.org>
617 Stefan Monnier <monnier@iro.umontreal.ca>
618 Juanma Barranquero <lekktu@gmail.com>
619
620 * profiler.c: New file.
621 * Makefile.in (base_obj): Add profiler.o.
622 * makefile.w32-in (OBJ2, GLOBAL_SOURCES): Add profiler.c.
623 ($(BLD)/profiler.$(O)): New target.
624 * emacs.c (main): Call syms_of_profiler.
625 * alloc.c (Qautomatic_gc): New constant.
626 (MALLOC_PROBE): New macro.
627 (xmalloc, xzalloc, xrealloc, lisp_malloc, lisp_align_malloc): Use it.
628 (total_bytes_of_live_objects): New function.
629 (Fgarbage_collect): Use it. Record itself in backtrace_list.
630 Call malloc_probe for the memory profiler.
631 (syms_of_alloc): Define Qautomatic_gc.
632 * eval.c (eval_sub, Ffuncall): Reorder assignments to avoid
633 race condition.
634 (struct backtrace): Move definition...
635 * lisp.h (struct backtrace): ..here.
636 (Qautomatic_gc, profiler_memory_running): Declare vars.
637 (malloc_probe, syms_of_profiler): Declare functions.
638 * xdisp.c (Qautomatic_redisplay): New constant.
639 (redisplay_internal): Record itself in backtrace_list.
640 (syms_of_xdisp): Define Qautomatic_redisplay.
641
6422012-09-25 Eli Zaretskii <eliz@gnu.org>
6432012-09-25 Juanma Barranquero <lekktu@gmail.com>
644
645 * makefile.w32-in ($(BLD)/callproc.$(O)): Update dependencies.
646
6472012-09-25 Paul Eggert <eggert@cs.ucla.edu>
648
649 Prefer POSIX timers if available.
650 They avoid a race if the timer is too close to the current time.
651 * atimer.c (alarm_timer, alarm_timer_ok) [SIGEV_SIGNAL]: New static vars.
652 (set_alarm) [SIGEV_SIGNAL]: Use POSIX timers if available.
653 (init_atimer) [SIGEV_SIGNAL]: Initialize them.
654
6552012-09-25 Eli Zaretskii <eliz@gnu.org>
656
657 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY): Make it an alias of
658 CHAR_STRING_ADVANCE.
659 (STRING_CHAR_ADVANCE_NO_UNIFY): Make it an alias of
660 STRING_CHAR_ADVANCE.
661
6622012-09-25 Juanma Barranquero <lekktu@gmail.com>
663
664 Move Vlibrary_cache to emacs.c and reset before dumping.
665
666 * lisp.h (reset_image_types): Declare.
667 [WINDOWSNT] (Vlibrary_cache): Declare.
668
669 * image.c (reset_image_types): New function.
670
671 * emacs.c [WINDOWSNT] (Vlibrary_cache): Move from w32.c.
672 (syms_of_emacs) [WINDOWSNT] <Vlibrary_cache>: Initialize and staticpro.
673 (Fdump_emacs): Reset Vlibrary_cache and image_types.
674
675 * w32.c (Vlibrary_cache): Do not define; moved to emacs.c
676 (globals_of_w32) <Vlibrary_cache>: Do not initialize.
677
678 * w32.h (Vlibrary_cache): Do not declare.
679
6802012-09-25 Eli Zaretskii <eliz@gnu.org>
681
682 * w32proc.c (sys_signal): Handle all signals defined by the
683 MS-Windows runtime, not just SIGCHLD. Actually install the signal
684 handlers for signals supported by Windows. Don't override
685 term_ntproc as the handler for SIGABRT.
686 (sigaction): Rewrite to call sys_signal instead of duplicating its
687 code.
688 (sys_kill): Improve commentary.
689
690 * w32.c (term_ntproc): Accept (and ignore) one argument, for
691 consistency with a signature of a signal handler. All callers
692 changed.
693 (init_ntproc): Accept an argument DUMPING. If dumping, don't
694 install term_ntproc as a signal handler for SIGABRT, as that
695 should be done by the dumped Emacs.
696
697 * w32.h (init_ntproc, term_ntproc): Adjust prototypes.
698
699 * w32select.c (term_w32select): Protect against repeated
700 invocation by setting clipboard_owner to NULL after calling
701 DestroyWindow.
702
703 * emacs.c (shut_down_emacs, main): Adapt the calls to init_ntproc
704 and term_ntproc to their modified signatures.
705
706 * character.c (char_string, string_char): Remove calls to
707 MAYBE_UNIFY_CHAR. See the discussion starting at
708 http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00433.html
709 for the details.
710
7112012-09-25 Chong Yidong <cyd@gnu.org>
712
713 * xdisp.c (mode_line_inverse_video): Delete obsolete variable.
714
7152012-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
716
717 * bytecode.c (exec_byte_code): Signal an error instead of aborting,
718 when encountering an unknown bytecode.
719
7202012-09-24 Paul Eggert <eggert@cs.ucla.edu>
721
722 image.c, indent.c: Use bool for booleans.
723 * dispextern.h (struct image_type): Members valid_p, load, init
724 now return bool, not int. All uses changed.
725 * image.c: Omit unnecessary static decls.
726 (x_create_bitmap_mask, x_build_heuristic_mask):
727 Return void, not int, since callers don't care about the return value.
728 (x_create_bitmap_mask, define_image_type, valid_image_p)
729 (struct image_keyword, parse_image_spec, image_spec_value)
730 (check_image_size, image_background)
731 (image_background_transparent, x_clear_image_1)
732 (postprocess_image, lookup_image, x_check_image_size)
733 (x_create_x_image_and_pixmap, xbm_image_p)
734 (Create_Pixmap_From_Bitmap_Data, xbm_read_bitmap_data)
735 (xbm_load_image, xbm_file_p, xbm_load, xpm_lookup_color)
736 (init_xpm_functions, xpm_valid_color_symbols_p, xpm_image_p)
737 (xpm_load, xpm_load_image, lookup_rgb_color, lookup_pixel_color)
738 (x_to_xcolors, x_build_heuristic_mask, pbm_image_p, pbm_load)
739 (png_image_p, init_png_functions, png_load_body, png_load)
740 (jpeg_image_p, init_jpeg_functions, jpeg_load_body, jpeg_load)
741 (tiff_image_p, init_tiff_functions, tiff_load, gif_image_p)
742 (init_gif_functions, gif_load, imagemagick_image_p)
743 (imagemagick_load_image, imagemagick_load, svg_image_p)
744 (init_svg_functions, svg_load, svg_load_image, gs_image_p)
745 (gs_load):
746 * nsimage.m (ns_load_image):
747 * nsterm.m (ns_defined_color):
748 * xfaces.c (tty_lookup_color, tty_defined_color, defined_color):
749 * xfns.c (x_defined_color):
750 * xterm.c (x_alloc_lighter_color_for_widget)
751 (x_alloc_nearest_color_1, x_alloc_nearest_color)
752 (x_alloc_lighter_color):
753 * indent.c (disptab_matches_widthtab, current_column)
754 (scan_for_column, string_display_width, indented_beyond_p)
755 (compute_motion, vmotion, Fvertical_motion):
756 Use bool for booleans.
757
7582012-09-24 Chong Yidong <cyd@gnu.org>
759
760 * chartab.c (Fset_char_table_default): Obsolete function removed.
761
7622012-09-23 Paul Eggert <eggert@cs.ucla.edu>
763
764 Move pid_t related decls out of lisp.h.
765 * lisp.h, syswait.h (record_child_status_change, wait_for_termination)
766 (interruptible_wait_for_termination):
767 Move these decls from lisp.h to syswait.h, since they use pid_t.
768 Needed on FreeBSD; see Herbert J. Skuhra in
769 <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00571.html>.
770 * callproc.c: Include syswait.h.
771
772 gnutls.c, gtkutil.c: Use bool for boolean.
773 * gnutls.c (gnutls_global_initialized, init_gnutls_functions)
774 (emacs_gnutls_handle_error):
775 * gtkutil.c (xg_check_special_colors, xg_prepare_tooltip)
776 (xg_hide_tooltip, xg_create_frame_widgets)
777 (create_dialog, xg_uses_old_file_dialog)
778 (xg_get_file_with_chooser, xg_get_file_with_selection)
779 (xg_get_file_name, xg_have_tear_offs, create_menus, xg_create_widget)
780 (xg_item_label_same_p, xg_update_menubar)
781 (xg_modify_menubar_widgets, xg_event_is_for_menubar)
782 (xg_ignore_gtk_scrollbar, xg_set_toolkit_scroll_bar_thumb)
783 (xg_event_is_for_scrollbar, xg_pack_tool_bar, xg_make_tool_item)
784 (is_box_type, xg_tool_item_stale_p, xg_update_tool_bar_sizes)
785 (update_frame_tool_bar, free_frame_tool_bar):
786 * gtkutil.c, w32term.c, xterm.c (x_wm_set_size_hint):
787 * nsmenu.m (ns_update_menubar):
788 * nsmenu.m, w32menu.c, xmenu.c (set_frame_menubar):
789 * xfns.c (Fx_show_tip) [USE_GTK]:
790 Use bool for boolean.
791 * gtkutil.c (xg_update_frame_menubar):
792 * xmenu.c (update_frame_menubar):
793 Return void, not int, since caller ignores return value.
794 * gtkutil.c (xg_change_toolbar_position):
795 Return void, not 1.
796
7972012-09-23 Juanma Barranquero <lekktu@gmail.com>
798
799 * makefile.w32-in (BLOCKINPUT_H): Remove.
800 (SYSSIGNAL_H): New macro.
801 ($(BLD)/alloc.$(O), $(BLD)/atimer.$(O), $(BLD)/buffer.$(O))
802 ($(BLD)/callproc.$(O), $(BLD)/data.$(O), $(BLD)/dired.$(O))
803 ($(BLD)/dispnew.$(O), $(BLD)/editfns.$(O), $(BLD)/emacs.$(O))
804 ($(BLD)/eval.$(O), $(BLD)/fileio.$(O), $(BLD)/floatfns.$(O))
805 ($(BLD)/fns.$(O), $(BLD)/fontset.$(O), $(BLD)/frame.$(O))
806 ($(BLD)/fringe.$(O), $(BLD)/image.$(O), $(BLD)/insdel.$(O))
807 ($(BLD)/keyboard.$(O), $(BLD)/keymap.$(O), $(BLD)/lread.$(O))
808 ($(BLD)/menu.$(O), $(BLD)/w32inevt.$(O), $(BLD)/w32proc.$(O))
809 ($(BLD)/print.$(O), $(BLD)/process.$(O), $(BLD)/ralloc.$(O))
810 ($(BLD)/search.$(O), $(BLD)/sound.$(O), $(BLD)/sysdep.$(O))
811 ($(BLD)/term.$(O), $(BLD)/window.$(O), $(BLD)/xdisp.$(O))
812 ($(BLD)/xfaces.$(O), $(BLD)/w32fns.$(O), $(BLD)/w32menu.$(O))
813 ($(BLD)/w32term.$(O), $(BLD)/w32select.$(O), $(BLD)/w32reg.$(O))
814 ($(BLD)/w32xfns.$(O)): Update dependencies.
815
8162012-09-23 Eli Zaretskii <eliz@gnu.org>
817
818 * .gdbinit: Set breakpoint on terminate_due_to_signal, not on
819 fatal_error_backtrace.
820
821 * w32proc.c (sys_kill): Undo last change: don't do anything when
822 invoked to deliver SIGABRT to our own process. This is now
823 handled by emacs_raise.
824
8252012-09-23 Juanma Barranquero <lekktu@gmail.com>
826
827 * w32term.c (w32_read_socket): Remove leftover reference to
828 interrupt_input_pending.
829
8302012-09-23 Paul Eggert <eggert@cs.ucla.edu>
831
832 Do not use SA_NODEFER.
833 Problem reported by Dani Moncayo in
834 <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00557.html>.
835 * alloc.c (die):
836 * sysdep.c (emacs_abort): Do not reset signal handler.
837 * emacs.c (terminate_due_to_signal): Reset signal handler here.
838 * sysdep.c (init_signals): Do not use SA_NODEFER. It wasn't
839 wanted even on POSIXish hosts, and it doesn't work on Windows.
840
8412012-09-23 Jan Djärv <jan.h.d@swipnet.se>
842
843 * xterm.c (x_term_init): Call fixup_locale before and after calling
844 gtk_init (Bug#12392).
845
8462012-09-23 Chong Yidong <cyd@gnu.org>
847
848 * w32.c (w32_delayed_load): Remove LIBRARIES argument; always use
849 Vdynamic_library_alist.
850
851 * gnutls.c (init_gnutls_functions): Caller changed; remove arg.
852 (Fgnutls_available_p): Caller changed.
853
854 * xml.c (init_libxml2_functions, Flibxml_parse_html_region)
855 (Flibxml_parse_xml_region): Likewise.
856
857 * dispextern.h (struct image_type): Remove arg from init function.
858
859 * image.c (Finit_image_library, lookup_image_type)
860 (define_image_type): Remove now-unneeded second arg.
861 (init_xpm_functions, init_png_functions, init_jpeg_functions)
862 (init_tiff_functions, init_gif_functions, init_svg_functions):
863 Arglist and w32_delayed_load calling convention changed.
864 (gs_type): Remove init_gs_functions; there is no such function.
865 (valid_image_p, make_image): Fix caller to lookup_image_type.
866
8672012-09-23 Paul Eggert <eggert@cs.ucla.edu>
868
869 Simplify and avoid signal-handling races (Bug#12471).
870 * alloc.c (die):
871 * sysdep.c (emacs_abort) [HAVE_NTGUI]:
872 Avoid recursive loop if there's a fatal error in the function itself.
873 * atimer.c (pending_atimers):
874 * blockinput.h: Don't include "atimer.h"; no longer needed.
875 (interrupt_input_pending): Remove. All uses removed.
876 pending_signals now counts both atimers and ordinary interrupts.
877 This is less racy than having three separate pending-signal flags.
878 (block_input, unblock_input, totally_unblock_input, unblock_input_to)
879 (input_blocked_p):
880 Rename from their upper-case counterparts BLOCK_INPUT,
881 UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT_TO,
882 INPUT_BLOCKED_P, and turn into functions. All uses changed.
883 This makes it easier to access volatile variables more accurately.
884 (BLOCK_INPUT_RESIGNAL): Remove. All uses replaced by unblock_input ().
885 (input_blocked_p): Prefer this to 'interrupt_input_blocked', as
886 that's more reliable if the code is buggy and sets
887 interrupt_input_blocked to a negative value. All uses changed.
888 * atimer.c (deliver_alarm_signal):
889 Remove. No need to deliver this to the parent; any thread can
890 handle this signal now. All uses replaced by underlying handler.
891 * atimer.c (turn_on_atimers):
892 * dispnew.c (handle_window_change_signal):
893 * emacs.c (handle_danger_signal):
894 * keyboard.c (kbd_buffer_get_event):
895 Don't reestablish signal handler; not needed with sigaction.
896 * blockinput.h (UNBLOCK_INPUT_TO, TOTALLY_UNBLOCK_INPUT)
897 (UNBLOCK_INPUT_TO):
898 Rework to avoid unnecessary accesses to volatile variables.
899 (UNBLOCK_INPUT_TO): Now a function.
900 (totally_unblock_input, unblock_input): New decls.
901 * data.c (handle_arith_signal, deliver_arith_signal): Move to sysdep.c
902 (init_data): Remove. Necessary stuff now done in init_signal.
903 * emacs.c, xdisp.c: Include "atimer.h", since we invoke atimer functions.
904 * emacs.c (handle_fatal_signal, deliver_fatal_signal): Move to sysdep.c.
905 (fatal_error_code): Remove; no longer needed.
906 (terminate_due_to_signal): Rename from fatal_error_backtrace, since
907 it doesn't always backtrace. All uses changed. No need to reset
908 signal to default, since sigaction and/or die does that for us now.
909 Use emacs_raise (FOO), not kill (getpid (), FOO).
910 (main): Check more-accurately whether we're dumping.
911 Move fatal-error setup to sysdep.c
912 * floatfns.c: Do not include "syssignal.h"; no longer needed.
913 * gtkutil.c (xg_get_file_name, xg_get_font):
914 Remove no-longer-needed signal-mask manipulation.
915 * keyboard.c, process.c (POLL_FOR_INPUT):
916 Don't depend on USE_ASYNC_EVENTS, a symbol that is never defined.
917 * keyboard.c (read_avail_input): Remove.
918 All uses replaced by gobble_input.
919 (Ftop_level): Use TOTALLY_UNBLOCK_INPUT rather than open code.
920 (kbd_buffer_store_event_hold, gobble_input):
921 (record_asynch_buffer_change) [USABLE_SIGIO]:
922 (store_user_signal_events):
923 No need to mess with signal mask.
924 (gobble_input): If blocking input and there are terminals, simply
925 set pending_signals to 1 and return. All hooks changed to not
926 worry about whether input is blocked.
927 (process_pending_signals): Clear pending_signals before processing
928 them, in case a signal comes in while we're processing.
929 By convention callers now test pending_signals before calling us.
930 (UNBLOCK_INPUT_TO, unblock_input, totally_unblock_input):
931 New functions, to support changes to blockinput.h.
932 (handle_input_available_signal): Now extern.
933 (reinvoke_input_signal): Remove. All uses replaced by
934 handle_async_input.
935 (quit_count): Now volatile, since a signal handler uses it.
936 (handle_interrupt): Now takes bool IN_SIGNAL_HANDLER as arg.
937 All callers changed. Block SIGINT only if not already blocked.
938 Clear sigmask reliably, even if Fsignal returns, which it can.
939 Omit unnecessary accesses to volatile var.
940 (quit_throw_to_read_char): No need to restore sigmask.
941 * keyboard.c (gobble_input, handle_user_signal):
942 * process.c (wait_reading_process_output):
943 Call signal-handling code rather than killing ourselves.
944 * lisp.h: Include <float.h>, for...
945 (IEEE_FLOATING_POINT): New macro, moved here to avoid duplication.
946 (pending_signals): Now volatile.
947 (syms_of_data): Now const if IEEE floating point.
948 (handle_input_available_signal) [USABLE_SIGIO]:
949 (terminate_due_to_signal, record_child_status_change): New decls.
950 * process.c (create_process): Avoid disaster if memory is exhausted
951 while we're processing a vfork, by tightening the critical section
952 around the vfork.
953 (send_process_frame, process_sent_to, handle_pipe_signal)
954 (deliver_pipe_signal): Remove. No longer needed, as Emacs now
955 ignores SIGPIPE.
956 (send_process): No need for setjmp/longjmp any more, since the
957 SIGPIPE stuff is now gone. Instead, report an error if errno
958 is EPIPE.
959 (record_child_status_change): Now extern. PID and W are now args.
960 Return void, not bool. All callers changed.
961 * sysdep.c (wait_debugging) [(BSD_SYSTEM || HPUX) && !defined (__GNU__)]:
962 Remove. All uses removed. This bug should be fixed now in a
963 different way.
964 (wait_for_termination_1): Use waitpid rather than sigsuspend,
965 and record the child status change directly. This avoids the
966 need to futz with the signal mask.
967 (process_fatal_action): Move here from emacs.c.
968 (emacs_sigaction_flags): New function, containing
969 much of what used to be in emacs_sigaction_init.
970 (emacs_sigaction_init): Use it. Block nonfatal system signals that are
971 caught by emacs, to make races less likely.
972 (deliver_process_signal): Rename from handle_on_main_thread.
973 All uses changed.
974 (BACKTRACE_LIMIT_MAX): Now at top level.
975 (thread_backtrace_buffer, threadback_backtrace_pointers):
976 New static vars.
977 (deliver_thread_signal, deliver_fatal_thread_signal):
978 New functions, for more-accurate delivery of thread-specific signals.
979 (handle_fatal_signal, deliver_fatal_signal): Move here from emacs.c.
980 (deliver_arith_signal): Handle in this thread, not
981 in the main thread, since it's triggered by this thread.
982 (maybe_fatal_sig): New function.
983 (init_signals): New arg DUMPING so that we can be more accurate
984 about whether we're dumping. Caller changed.
985 Treat thread-specific signals differently from process-general signals.
986 Block all signals while handling fatal error; that's safer.
987 xsignal from SIGFPE only on non-IEEE hosts, treating it as fatal
988 on IEEE hosts.
989 When batch, ignore SIGHUP, SIGINT, SIGTERM if they were already ignored.
990 Ignore SIGPIPE unless batch.
991 (emacs_backtrace): Output backtrace for the appropriate thread,
992 which is not necessarily the main thread.
993 * syssignal.h: Include <stdbool.h>.
994 (emacs_raise): New macro.
995 * xterm.c (x_connection_signal): Remove; no longer needed
996 now that we use sigaction.
997 (x_connection_closed): No need to mess with sigmask now.
998 (x_initialize): No need to reset SIGPIPE handler here, since
999 init_signals does this for us now.
1000
10012012-09-23 Jan Djärv <jan.h.d@swipnet.se>
1002
1003 * nsterm.m (ns_dumpglyphs_image): dr is a new rect to draw image into,
1004 background rect may be larger (Bug#12245).
1005
10062012-09-23 Chong Yidong <cyd@gnu.org>
1007
1008 * keyboard.c (timer_check): Avoid quitting during Fcopy_sequence.
1009
10102012-09-22 Paul Eggert <eggert@cs.ucla.edu>
1011
1012 * .gdbinit: Just stop at fatal_error_backtrace.
1013 See Stefan Monnier's request in
1014 <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00549.html>.
1015 Remove no-longer-used query of system type.
1016
10172012-09-22 Chong Yidong <cyd@gnu.org>
1018
1019 * search.c (Freplace_match): Doc fix (Bug#12325).
1020
1021 * minibuf.c (Finternal_complete_buffer): Doc fix (Bug#12391).
1022
1023 * editfns.c (Fline_beginning_position): Doc fix (Bug#12416).
1024 (Fline_end_position): Doc fix.
1025
1026 * cmds.c (Fforward_char, Fbackward_char): Doc fix (Bug#12414).
1027
10282012-09-22 Chong Yidong <cyd@gnu.org>
1029
1030 * dispextern.h (struct image_type): Add new slot, storing a type
1031 initialization function.
1032
1033 * image.c (define_image_type): Call the image initializer function
1034 if it is defined. Arguments and return value changed.
1035 (valid_image_p, make_image): Callers changed.
1036 (xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type)
1037 (gif_type, imagemagick_type, svg_type, gs_type):
1038 Add initialization functions.
1039 (Finit_image_library): Call lookup_image_type.
1040 (CHECK_LIB_AVAILABLE): Macro deleted.
1041 (lookup_image_type): Call define_image_type here, rather than via
1042 Finit_image_library, and without using CHECK_LIB_AVAILABLE.
1043 (syms_of_image): Move define_image_type calls for xbm_type and
1044 pbm_type to lookup_image_type.
1045
10462012-09-22 Eli Zaretskii <eliz@gnu.org>
1047
1048 * keyboard.c (timer_check_2): Move calculation of 'timers' and
1049 'idle_timers' from here ...
1050 (timer_check): ... to here. Use Fcopy_sequence to copy the timer
1051 lists, to avoid infloops when the timer does something stupid,
1052 like reinvoke itself with the same or smaller time-out.
1053 (Bug#12447)
1054
10552012-09-22 Martin Rudalics <rudalics@gmx.at>
1056
1057 * window.c (Fsplit_window_internal): Handle only Qt value of
1058 Vwindow_combination_limit separately.
1059 (Qtemp_buffer_resize): New symbol.
1060 (Vwindow_combination_limit): New default value.
1061 Rewrite doc-string.
1062
10632012-09-22 Eli Zaretskii <eliz@gnu.org>
1064
1065 * xdisp.c (next_overlay_string): Initialize it->end_charpos for
1066 the new overlay string. (Bug#10159)
1067
10682012-09-22 Paul Eggert <eggert@cs.ucla.edu>
1069
1070 * emacs.c (shut_down_emacs): Don't assume stderr is buffered,
1071 or that fprintf is async-signal-safe. POSIX doesn't require
1072 either assumption.
1073
10742012-09-22 Chong Yidong <cyd@gnu.org>
1075
1076 * buffer.c (Fset_buffer_modified_p): Handle indirect buffers
1077 (Bug#8207).
1078
10792012-09-22 Kenichi Handa <handa@gnu.org>
1080
1081 * composite.c (composition_reseat_it): Handle the case that a
1082 grapheme cluster is not covered by a single font (Bug#12352).
1083
10842012-09-21 Chong Yidong <cyd@gnu.org>
1085
1086 * image.c (define_image_type): Avoid adding duplicate types to
1087 image_types (Bug#12463). Suggested by Jörg Walter.
1088
10892012-09-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1090
1091 * unexmacosx.c: Define LC_DATA_IN_CODE if not defined.
1092 (print_load_command_name): Add case LC_DATA_IN_CODE.
1093 (dump_it) [LC_DATA_IN_CODE]: Call copy_linkedit_data.
1094
10952012-09-21 Glenn Morris <rgm@gnu.org>
1096
1097 * eval.c (Frun_hook_with_args_until_success)
1098 (Frun_hook_with_args_until_failure): Doc fixes. (Bug#12393)
1099
11002012-09-21 Andreas Schwab <schwab@linux-m68k.org>
1101
1102 * fileio.c (Ffile_selinux_context): Only call freecon when
1103 lgetfilecon succeeded.
1104 (Fset_file_selinux_context): Likewise. (Bug#12444)
1105
11062012-09-21 Eli Zaretskii <eliz@gnu.org>
1107
1108 * xdisp.c (try_window_reusing_current_matrix): Under bidi
1109 reordering, locate the cursor by calling set_cursor_from_row; if
1110 that fails, clear the desired glyph matrix before returning a
1111 failure indication to the caller. Fixes leaving garbled display
1112 when fast scrolling with a down-key. (Bug#12403)
1113 (compute_stop_pos_backwards): Fix a typo that caused crashes while
1114 scrolling through multibyte text.
1115
11162012-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
1117
1118 * alloc.c (mark_object) <PVEC_WINDOW>: Mark prev/next_buffers *after*
1119 calling mark_vectorlike since that's the one that marks the window.
1120 (mark_discard_killed_buffers): Mark the final cdr.
1121 * window.h (struct window): Move prev/next_buffers to the
1122 non-standard fields.
1123 * window.c (make_window): Initialize prev/next_buffers manually.
1124
11252012-09-20 Paul Eggert <eggert@cs.ucla.edu>
1126
1127 Omit unused arg EXPECTED from socket hooks.
1128 * keyboard.c (gobble_input, read_avail_input, tty_read_avail_input):
1129 * nsterm.m (ns_term_init):
1130 * termhooks.h (struct terminal.read_socket_hook):
1131 * w32inevt.c (w32_console_read_socket):
1132 * w32term.c (w32_read_socket):
1133 * xterm.c (XTread_socket):
1134 Omit unused arg EXPECTED. All callers changed.
1135 (store_user_signal_events): Return void, not int, since callers no
1136 longer care about the return value. All uses changed.
1137
11382012-09-20 Juanma Barranquero <lekktu@gmail.com>
1139
1140 * w32gui.h (XParseGeometry): Do not declare.
1141
11422012-09-19 Paul Eggert <eggert@cs.ucla.edu>
1143
1144 * w32inevt.c (w32_console_read_socket): Return -1 on failure, not 0.
1145 Ignore 'expected'. See Eli Zaretskii in
1146 <http://bugs.gnu.org/12471#8> (last line).
1147
1148 * frame.c (read_integer): Remove. All uses replaced by strtol/strtoul.
1149 (XParseGeometry): Now static. Substitute extremal values for
1150 values that are out of range.
1151
11522012-09-19 Jan Djärv <jan.h.d@swipnet.se>
1153
1154 * w32xfns.c (read_integer, XParseGeometry): Move to frame.c.
1155
1156 * nsfns.m (XParseGeometry): Remove.
1157 (Fx_create_frame): Call x_set_offset to correctly interpret
1158 top_pos in geometry.
1159
1160 * frame.c (read_integer, XParseGeometry): Move from w32xfns.c.
1161 (Fx_parse_geometry): If there is a space in string, call
1162 Qns_parse_geometry, otherwise do as on other terms (Bug#12368).
1163
12012-09-17 Eli Zaretskii <eliz@gnu.org> 11642012-09-17 Eli Zaretskii <eliz@gnu.org>
2 1165
1166 * search.c (scan_buffer): Use character positions in calls to
1167 region_cache_forward and region_cache_backward, not byte
1168 positions. (Bug#12196)
1169
3 * w32term.c (w32_read_socket): Set pending_signals to 1, like 1170 * w32term.c (w32_read_socket): Set pending_signals to 1, like
4 xterm.c does. Reported by Daniel Colascione <dancol@dancol.org>. 1171 xterm.c does. Reported by Daniel Colascione <dancol@dancol.org>.
5 1172
@@ -79,7 +1246,7 @@
79 (clean): Simplify nextstep entry. 1246 (clean): Simplify nextstep entry.
80 * ns.mk: Remove file. 1247 * ns.mk: Remove file.
81 1248
822012-09-16 Kenichi Handa <handa@gnu.org> 12492012-09-17 Kenichi Handa <handa@gnu.org>
83 1250
84 * font.c (Ffont_shape_gstring): Fix previous change; GLYPHs may 1251 * font.c (Ffont_shape_gstring): Fix previous change; GLYPHs may
85 not covert the last few charactes. 1252 not covert the last few charactes.
@@ -91,8 +1258,8 @@
91 1258
922012-09-16 Martin Rudalics <rudalics@gmx.at> 12592012-09-16 Martin Rudalics <rudalics@gmx.at>
93 1260
94 * window.c (Fwindow_parameter, Fset_window_parameter): Accept 1261 * window.c (Fwindow_parameter, Fset_window_parameter):
95 any window as argument (Bug#12452). 1262 Accept any window as argument (Bug#12452).
96 1263
972012-09-16 Jan Djärv <jan.h.d@swipnet.se> 12642012-09-16 Jan Djärv <jan.h.d@swipnet.se>
98 1265
@@ -167,8 +1334,8 @@
1672012-09-14 Dmitry Antipov <dmantipov@yandex.ru> 13342012-09-14 Dmitry Antipov <dmantipov@yandex.ru>
168 1335
169 Avoid out-of-range marker position (Bug#12426). 1336 Avoid out-of-range marker position (Bug#12426).
170 * insdel.c (replace_range, replace_range_2): Adjust 1337 * insdel.c (replace_range, replace_range_2):
171 markers before overlays, as suggested by comments. 1338 Adjust markers before overlays, as suggested by comments.
172 (insert_1_both, insert_from_buffer_1, adjust_after_replace): 1339 (insert_1_both, insert_from_buffer_1, adjust_after_replace):
173 Remove redundant check before calling offset_intervals. 1340 Remove redundant check before calling offset_intervals.
174 1341
@@ -467,8 +1634,8 @@
467 in the internal border. 1634 in the internal border.
468 (x_set_window_size): Remove static variables and their usage. 1635 (x_set_window_size): Remove static variables and their usage.
469 (ns_redraw_scroll_bars): Fix NSTRACE arg. 1636 (ns_redraw_scroll_bars): Fix NSTRACE arg.
470 (ns_after_update_window_line, ns_draw_fringe_bitmap): Remove 1637 (ns_after_update_window_line, ns_draw_fringe_bitmap):
471 fringe/internal border adjustment (Bug#11052). 1638 Remove fringe/internal border adjustment (Bug#11052).
472 (ns_draw_fringe_bitmap): Make code more like other terms (xterm.c). 1639 (ns_draw_fringe_bitmap): Make code more like other terms (xterm.c).
473 (ns_draw_window_cursor): Remove fringe/internal border adjustment. 1640 (ns_draw_window_cursor): Remove fringe/internal border adjustment.
474 (ns_fix_rect_ibw): Remove. 1641 (ns_fix_rect_ibw): Remove.
@@ -685,8 +1852,8 @@
685 (init_signals) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it; 1852 (init_signals) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it;
686 code moved here from emacs.c's main function. 1853 code moved here from emacs.c's main function.
687 * sysdep.c, syssignal.h (handle_on_main_thread): New function, 1854 * sysdep.c, syssignal.h (handle_on_main_thread): New function,
688 replacing the old SIGNAL_THREAD_CHECK. All uses changed. This 1855 replacing the old SIGNAL_THREAD_CHECK. All uses changed.
689 lets callers save and restore errno properly. 1856 This lets callers save and restore errno properly.
690 1857
6912012-09-05 Dmitry Antipov <dmantipov@yandex.ru> 18582012-09-05 Dmitry Antipov <dmantipov@yandex.ru>
692 1859
@@ -995,8 +2162,8 @@
995 * process.c: Include TERM_HEADER instead of listing all possible 2162 * process.c: Include TERM_HEADER instead of listing all possible
996 window-system headers. 2163 window-system headers.
997 2164
998 * nsterm.h: Remove declarations now in frame.h. Define 2165 * nsterm.h: Remove declarations now in frame.h.
999 FRAME_X_SCREEN, FRAME_X_VISUAL. 2166 Define FRAME_X_SCREEN, FRAME_X_VISUAL.
1000 2167
1001 * menu.c: Include TERM_HEADER instead of listing all possible 2168 * menu.c: Include TERM_HEADER instead of listing all possible
1002 window-system headers. 2169 window-system headers.
@@ -1192,8 +2359,8 @@
1192 2359
1193 * nsterm.h (NSPanel): New class variable dialog_return. 2360 * nsterm.h (NSPanel): New class variable dialog_return.
1194 2361
1195 * nsmenu.m (initWithContentRect:styleMask:backing:defer:): Initialize 2362 * nsmenu.m (initWithContentRect:styleMask:backing:defer:):
1196 dialog_return. 2363 Initialize dialog_return.
1197 (windowShouldClose:): Use stop instead of stopModalWithCode. 2364 (windowShouldClose:): Use stop instead of stopModalWithCode.
1198 (clicked:): Ditto, and also set dialog_return (Bug#12258). 2365 (clicked:): Ditto, and also set dialog_return (Bug#12258).
1199 (timeout_handler:): Use stop instead of abortModal. Send a dummy 2366 (timeout_handler:): Use stop instead of abortModal. Send a dummy