aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorDaniel Colascione2012-09-17 04:07:36 -0800
committerDaniel Colascione2012-09-17 04:07:36 -0800
commit2ab329f3b5d52a39f0a45c3d9c129f1c19560142 (patch)
tree6dd6784d63e54cb18071df8e28fbdbc27d418728 /src/ChangeLog
parentf701ab72dd55460d23c8b029550aa4d7ecef3cfa (diff)
parentbb7dce392f6d9d5fc4b9d7de09ff920a52f07669 (diff)
downloademacs-2ab329f3b5d52a39f0a45c3d9c129f1c19560142.tar.gz
emacs-2ab329f3b5d52a39f0a45c3d9c129f1c19560142.zip
Merge from trunk
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog924
1 files changed, 911 insertions, 13 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2ea13df1261..36df05c25ae 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,901 @@
12012-09-17 Eli Zaretskii <eliz@gnu.org>
2
3 * w32term.c (w32_read_socket): Set pending_signals to 1, like
4 xterm.c does. Reported by Daniel Colascione <dancol@dancol.org>.
5
6 * ralloc.c (r_alloc_init) [!SYSTEM_MALLOC]: Initialize
7 __malloc_extra_blocks to 32 instead of 64, like alloc.c did in
8 emacs_blocked_malloc, now deleted.
9
102012-09-17 Paul Eggert <eggert@cs.ucla.edu>
11
12 Remove no-longer-needed Solaris 2.4 vfork bug workaround.
13 The workaround was for improving performance on Solaris 2.4, but
14 is getting in the way now. Emacs will still work if someone is
15 still running Solaris 2.4 in a museum somewhere; Sun dropped
16 support for Solaris 2.4 in 2003.
17 * callproc.c (Fcall_process) [HAVE_WORKING_VFORK]:
18 * process.c (create_process) [HAVE_WORKING_VFORK]:
19 Omit now-unnecessary workaround for the Solaris 2.4 vfork bug,
20 since Emacs no longer uses vfork on that platform.
21
222012-09-17 Glenn Morris <rgm@gnu.org>
23
24 * emacs.c: Use COPYRIGHT.
25
262012-09-16 Paul Eggert <eggert@cs.ucla.edu>
27
28 Remove configure's --without-sync-input option (Bug#12450).
29 When auditing signal-handling in preparation for cleaning it up,
30 I found that SYNC_INPUT has race conditions and would be a real
31 pain to fix. Since it's an undocumented and deprecated
32 configure-time option, now seems like a good time to remove it.
33 Also see <http://bugs.gnu.org/11080#16>.
34 * alloc.c (_bytes_used, __malloc_extra_blocks, _malloc_internal)
35 (_free_internal) [!DOUG_LEA_MALLOC]: Remove decls.
36 (alloc_mutex) [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]:
37 (malloc_hysteresis):
38 (check_depth) [XMALLOC_OVERRUN_CHECK]:
39 (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT):
40 (__malloc_hook, __realloc_hook, __free_hook, BYTES_USED)
41 (dont_register_blocks, bytes_used_when_reconsidered)
42 (bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc)
43 (emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc):
44 [!SYSTEM_MALLOC && !SYNC_INPUT]:
45 Remove. All uses removed.
46 (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different
47 implementation, one that depends on whether the new macro
48 XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT
49 is defined.
50 * atimer.c (run_timers, handle_alarm_signal):
51 * keyboard.c (pending_signal, poll_for_input_1, poll_for_input)
52 (handle_async_input, process_pending_signals)
53 (handle_input_available_signal, init_keyboard):
54 * nsterm.m (ns_read_socket):
55 * process.c (wait_reading_process_output):
56 * regex.c (immediate_quit, IMMEDIATE_QUIT_CHECK):
57 * sysdep.c (emacs_sigaction_init) [SA_RESTART]:
58 (emacs_write):
59 * xterm.c (XTread_socket):
60 Assume SYNC_INPUT.
61 * conf_post.h (SA_RESTART) [IRIX6_5]: Do not #undef.
62 * eval.c (handling_signal): Remove. All uses removed.
63 * lisp.h (ELSE_PENDING_SIGNALS): Remove.
64 All uses replaced with the SYNC_INPUT version.
65 (reset_malloc_hooks, uninterrupt_malloc, handling_signal):
66 Remove decls.
67 * sysdep.c, syssignal.h (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
68 Now static.
69
70 * font.c (Ffont_shape_gstring): Remove unused local.
71
722012-09-16 Glenn Morris <rgm@gnu.org>
73
74 * Makefile.in (clean): No longer run nextstep's clean.
75
76 * Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Remove variables.
77 (ns_frag): Remove.
78 (ns-app): Move here from ns.mk, and simplify.
79 (clean): Simplify nextstep entry.
80 * ns.mk: Remove file.
81
822012-09-16 Kenichi Handa <handa@gnu.org>
83
84 * font.c (Ffont_shape_gstring): Fix previous change; GLYPHs may
85 not covert the last few charactes.
86
872012-09-16 Kenichi Handa <handa@gnu.org>
88
89 * font.c (Ffont_shape_gstring): Don't adjust grapheme cluster
90 here, but just check the validity of glyphs in the glyph-string.
91
922012-09-16 Martin Rudalics <rudalics@gmx.at>
93
94 * window.c (Fwindow_parameter, Fset_window_parameter): Accept
95 any window as argument (Bug#12452).
96
972012-09-16 Jan Djärv <jan.h.d@swipnet.se>
98
99 * nsfns.m (Fx_open_connection): Move initialization of ns_*_types
100 to ns_term_init to avoid memory leak.
101
102 * nsterm.m (ns_update_begin): Initialize bp after lcokFocus, use
103 explicit retain/release.
104 (ns_term_init): Only allow one display. Initialize outerpool and
105 ns_*_types.
106
1072012-09-15 Paul Eggert <eggert@cs.ucla.edu>
108
109 Port _setjmp fix to POSIXish hosts as well as Microsoft.
110 * image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as
111 it's needed on POSIXish hosts that lack _setjmp. Attempt to solve
112 the Microsoft problem in a different way, by altering ../nt/config.nt.
113
1142012-09-15 Eli Zaretskii <eliz@gnu.org>
115
116 * w32xfns.c:
117 * w32uniscribe.c:
118 * w32term.c:
119 * w32select.c:
120 * w32reg.c:
121 * w32proc.c:
122 * w32menu.c:
123 * w32inevt.c:
124 * w32heap.c:
125 * w32font.c:
126 * w32fns.c:
127 * w32console.c:
128 * w32.c:
129 * w16select.c: Remove inclusion of setjmp.h, as it is now included
130 by lisp.h. This completes removal of setjmp.h inclusion
131 erroneously announced in the previous commit. (Bug#12446)
132
133 * lisp.h [!HAVE__SETJMP, !HAVE_SIGSETJMP]: Make the commentary
134 more accurate.
135
136 * image.c (_setjmp) [!HAVE__SETJMP]: Define only if 'setjmp' is
137 not defined as a macro. The latter happens on MS-Windows.
138 (Bug#12446)
139
1402012-09-15 Paul Eggert <eggert@cs.ucla.edu>
141
142 Port better to POSIX hosts lacking _setjmp (Bug#12446).
143 * lisp.h: Include <setjmp.h> here, since we use its symbols here.
144 Some instances of '#include <setjmp.h>' removed, if the
145 only reason for the instance was because "lisp.h" was included.
146 (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols.
147 Unless otherwise specified, replace all uses of jmp_buf, _setjmp,
148 and _longjmp with the new symbols. Emacs already uses _setjmp if
149 available, so this change affects only POSIXish hosts that have
150 sigsetjmp but not _setjmp, such as some versions of Solaris and
151 Unixware. (Also, POSIX-2008 marks _setjmp as obsolescent.)
152 * image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros.
153 (png_load_body) [HAVE_PNG]:
154 (PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]:
155 (PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]:
156 Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp,
157 since PNG requires jmp_buf. This is the only exception to the
158 general rule that we now use sys_setjmp and sys_longjmp.
159 This exception is OK since this code does not change the signal
160 mask or longjmp out of a signal handler.
161
1622012-09-14 Paul Eggert <eggert@cs.ucla.edu>
163
164 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]:
165 Include "syssignal.h", for 'main_thread'.
166
1672012-09-14 Dmitry Antipov <dmantipov@yandex.ru>
168
169 Avoid out-of-range marker position (Bug#12426).
170 * insdel.c (replace_range, replace_range_2): Adjust
171 markers before overlays, as suggested by comments.
172 (insert_1_both, insert_from_buffer_1, adjust_after_replace):
173 Remove redundant check before calling offset_intervals.
174
1752012-09-14 Martin Rudalics <rudalics@gmx.at>
176
177 * xdisp.c (Fformat_mode_line): Unconditionally save/restore
178 current buffer (Bug#12387).
179
1802012-09-14 Juanma Barranquero <lekktu@gmail.com>
181
182 * makefile.w32-in ($(BLD)/alloc.$(O)): Update dependencies.
183
1842012-09-13 Paul Eggert <eggert@cs.ucla.edu>
185
186 Use a more backwards-compatible timer format (Bug#12430).
187 * keyboard.c (decode_timer): Get PSECS from the 8th (origin-0)
188 vector element, not from the 4th, since PSECS is now at the end.
189 (Fcurrent_idle_time): Doc fix.
190
1912012-09-13 Dmitry Antipov <dmantipov@yandex.ru>
192
193 Function to mark objects and remove killed buffers at once.
194 * alloc.c (discard_killed_buffers): Rename to ...
195 (mark_discard_killed buffers) ... new name. Add marking
196 of remaining objects. Fix comment. Adjust users.
197 (mark_object): Do not touch frame buffer lists here.
198 * frame.c (delete_frame): Reset frame buffer lists here.
199
2002012-09-13 Paul Eggert <eggert@cs.ucla.edu>
201
202 Better workaround for GNOME bug when --enable-gcc-warnings.
203 * emacsgtkfixed.c (G_STATIC_ASSERT): Remove, undoing last change.
204 Instead, disable -Wunused-local-typedefs. See Dmitry Antipov in
205 <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00335.html>.
206
207 Simplify SIGIO usage (Bug#12408).
208 The code that dealt with SIGIO was crufty and confusing, e.g., it
209 played tricks like "#undef SIGIO" but these tricks were not used
210 consistently. Simplify mostly by not #undeffing standard symbols,
211 e.g., use "defined USABLE_SIGIO" (our symbol, which we can define
212 or not as we please) rather than "defined SIGIO" (standard symbol
213 that we probably shouldn't #undef).
214 * conf_post.h [USG5_4]: Do not include <sys/wait.h> here.
215 Modules that need it can include it.
216 [USG5_4 && emacs]: Likewise, do not include the streams stuff here.
217 * dispextern.h (ignore_sigio): New decl.
218 * emacs.c (shut_down_emacs): Invoke unrequest_sigio
219 unconditionally, since it's now a no-op if !USABLE_SIGIO.
220 * emacs.c (shut_down_emacs):
221 * keyboard.c (kbd_buffer_store_event_hold):
222 Use ignore_sigio rather than invoking 'signal' directly.
223 * keyboard.c (USABLE_FIONREAD && USG5_4): Include <sys/filio.h>,
224 for FIONREAD.
225 (FIONREAD, SIGIO): Do not #undef.
226 (tty_read_avail_input): Use #error rather than a syntax error.
227 * process.c [USG5_4]: Include <sys/stream.h> and <sys/stropts.h>,
228 for I_PIPE, used by SETUP_SLAVE_PTY.
229 (DATAGRAM_SOCKETS): Simplify defn, based on USABLE_FIONREAD.
230 * sysdep.c (croak): Remove; no longer needed. This bit of
231 temporary code, with Fred N. Fish's comment that it's temporary,
232 has been in Emacs since at least 1992!
233 (init_sigio, reset_sigio, request_sigio, unrequest_sigio):
234 Arrange for them to be no-ops in all cases when ! USABLE_SIGIO.
235 * syssignal.h (croak): Remove decl.
236 (SIGIO, SIGPOO, SIGAIO, SIGPTY): Do not #undef; that's too fragile.
237 * systty.h [!NO_TERMIO]: Do not include <termio.h>; no longer needed
238 now that we're termios-only.
239 (FIONREAD, ASYNC) [BROKEN_FIONREAD]: Do not #undef.
240 * term.c (dissociate_if_controlling_tty): Use #error rather than
241 a run-time error.
242
243 Work around GCC and GNOME bugs when --enable-gcc-warnings.
244 * emacsgtkfixed.c (G_STATIC_ASSERT): Redefine to use 'verify',
245 to work around GNOME bug 683906.
246 * image.c (jpeg_load_body) [HAVE_JPEG && lint]: Pacify gcc -Wclobber.
247 (struct my_jpeg_error_mgr) [HAVE_JPEG && lint]: New member fp.
248 This works around GCC bug 54561.
249
2502012-09-12 Paul Eggert <eggert@cs.ucla.edu>
251
252 More fixes for 'volatile' and setjmp/longjmp.
253 * eval.c (Fdefvar, Fcondition_case): Remove unnecessary 'volatile's.
254 * image.c (struct png_load_context) [HAVE_PNG]: New type.
255 (png_load_body) [HAVE_PNG]:
256 (jpeg_load_body) [HAVE_JPEG]:
257 New function, with most of the old parent function's body.
258 (png_load) [HAVE_PNG]:
259 (jpeg_load) [HAVE_JPEG]:
260 Invoke the new function, to avoid longjmp munging our locals.
261 (struct my_jpeg_error_mgr) [HAVE_JPEG]: New members cinfo, failure_code.
262 (my_error_exit) [HAVE_JPEG]: Don't trust 'setjmp' to return 2 when
263 longjmp is passed 2, as the C standard doesn't guarantee this.
264 Instead, store the failure code into mgr->failure_code.
265
2662012-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
267
268 * keyboard.c (read_char, requeued_events_pending_p, Finput_pending_p)
269 (Fdiscard_input, quit_throw_to_read_char, init_keyboard)
270 (syms_of_keyboard): Remove support for unread-command-char.
271
2722012-09-12 Eli Zaretskii <eliz@gnu.org>
273
274 * w32proc.c (sys_kill): If PID is our process ID and the signal is
275 SIGABRT, call emacs_abort. Avoids silently exiting upon assertion
276 violation. (Bug#12426)
277
2782012-09-12 Paul Eggert <eggert@cs.ucla.edu>
279
280 * image.c (jpeg_memory_src): Don't assume string len fits in unsigned.
281
2822012-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
283
284 * eval.c: Add `inhibit-debugger'.
285 (Qinhibit_debugger): New symbol.
286 (call_debugger): Bind it instead of Qdebug_on_error.
287 (maybe_call_debugger): Test Vinhibit_debugger.
288 (syms_of_eval): Define inhibit-debugger.
289 * xdisp.c (set_message): Don't bind Qinhibit_debug_on_message.
290 (syms_of_xdisp): Remove inhibit-debug-on-message.
291
2922012-09-11 Paul Eggert <eggert@cs.ucla.edu>
293
294 Avoid _setjmp/_longjmp problems with local nonvolatile variables.
295 If a nonvolatile local variable is written before a _longjmp to
296 the frame containing the variable, and is read after the _longjmp,
297 the value read is indeterminate. Some local variables of type
298 'struct handler' and 'struct catchtag' are used in this way, so
299 mark each of their slots as volatile if the slot can be set before
300 _longjmp and read afterwards.
301 * lisp.h (struct handler): var and chosen_clause are now volatile.
302 (struct catchtag): val, next, and pdlcount are now volatile.
303
304 * bidi.c (bidi_push_it, bidi_pop_it):
305 * fns.c (copy_hash_table):
306 * image.c (define_image_type):
307 * keyboard.c (kbd_buffer_store_event_hold):
308 * process.c (Fprocess_send_eof):
309 * xfaces.c (x_create_gc) [HAVE_NS]:
310 * xgselect.c (xg_select):
311 Prefer assignment to memcpy when either will do.
312
313 * alloc.c (discard_killed_buffers): Tune and simplify a bit.
314 Use pointer-to-a-pointer to simplify and avoid a NILP check each
315 time an item is removed. No need to mark this function 'inline';
316 the compiler knows better than we do.
317
3182012-09-11 Jan Djärv <jan.h.d@swipnet.se>
319
320 * nsterm.m (ns_judge_scroll_bars): Pass NO to updateFrameSize.
321 (updateFrameSize:): Add delay parameter to updateFrameSize, send it
322 to change_frame_size (Bug#12388).
323 (windowDidResize:): Pass YES to updateFrameSize.
324
325 * nsterm.h: Add delay parameter to updateFrameSize.
326
3272012-09-11 Dmitry Antipov <dmantipov@yandex.ru>
328
329 Discard killed buffers from deleted window and frame objects.
330 This reduces an amount of references to killed buffers and
331 helps GC to reclaim them faster.
332 * alloc.c (discard_killed_buffers): New function.
333 (mark_object): Use it for deleted windows and frames.
334 (mark_object): If symbol's value is set up for a killed buffer
335 or deleted frame, restore it's global binding.
336 * data.c (swap_in_global_binding): Add GC notice.
337 (swap_in_symval_forwarding): Use convenient set_blv_where.
338 * window.c (wset_next_buffers, wset_prev_buffers): Move ...
339 * window.h: ... to here.
340
3412012-09-11 Dmitry Antipov <dmantipov@yandex.ru>
342
343 Convenient macro to check whether the buffer is live.
344 * buffer.h (BUFFER_LIVE_P): New macro.
345 * alloc.c, buffer.c, editfns.c, insdel.c, lread.c, marker.c:
346 * minibuf.c, print.c, process.c, window.c, xdisp.c: Use it.
347
3482012-09-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
349
350 * xdisp.c (right_overwritten, right_overwriting): Also handle gstring
351 composition cases (Bug#12364).
352
353 * xterm.c (x_draw_glyph_string): Avoid overwriting inverted left
354 overhang of succeeding glyphs overlapping box cursor.
355
356 * w32term.c (x_draw_glyph_string): Likewise.
357
3582012-09-11 Paul Eggert <eggert@cs.ucla.edu>
359
360 Simplify, document, and port floating-point (Bug#12381).
361 The porting part of this patch fixes bugs on non-IEEE platforms
362 with frexp, ldexp, logb.
363 * data.c, lisp.h (Qdomain_error, Qsingularity_error, Qunderflow_error):
364 Now static.
365 * floatfns.c: Simplify discussion of functions that Emacs doesn't
366 support, by removing commented-out code and briefly listing the
367 C89 functions excluded. The commented-out stuff was confusing
368 maintenance, e.g., we thought we needed cbrt but it was commented out.
369 (logb): Remove decl; no longer needed.
370 (isfinite): New macro, if not already supplied.
371 (isnan): Don't replace any existing macro.
372 (Ffrexp, Fldexp): Define even if !HAVE_COPYSIGN, as frexp and ldexp
373 are present on all C89 platforms.
374 (Ffrexp): Do not special-case zero, as frexp does the right thing
375 for that case.
376 (Flogb): Do not use logb, as it doesn't have the desired meaning
377 on hosts that use non-base-2 floating point. Instead, stick with
378 frexp, which is C89 anyway. Do not pass an infinity or a NaN to
379 frexp, to avoid getting an unspecified result.
380
381 * xdisp.c (Qinhibit_debug_on_message): Now static.
382
3832012-09-10 Jan Djärv <jan.h.d@swipnet.se>
384
385 * nsterm.m (ns_update_begin): Set clip path to whole view by using
386 NSBezierPath (Bug#12131).
387
3882012-09-10 Chong Yidong <cyd@gnu.org>
389
390 * fns.c (Fdelq, Fdelete): Doc fix.
391
3922012-09-10 Paul Eggert <eggert@cs.ucla.edu>
393
394 * lisp.h (XSETINT, XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL)
395 (XSETFLOAT, XSETMISC): Parenthesize macro bodies.
396
3972012-09-09 Stefan Monnier <monnier@iro.umontreal.ca>
398
399 * lisp.h (make_lisp_ptr): New macro to replace XSET.
400 (XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL, XSETFLOAT, XSETMISC):
401 Use it.
402
4032012-09-09 Eli Zaretskii <eliz@gnu.org>
404
405 * fringe.c (draw_fringe_bitmap_1): Don't reduce the width of the
406 left fringe if the window has a left margin. This avoids leaving
407 traces of the cursor because its leftmost pixel is not drawn over.
408
409 * dispnew.c (update_window_line): When the left margin area of a
410 screen line is updated, set the redraw_fringe_bitmaps_p flag of
411 that screen line. (Bug#12277)
412
4132012-09-09 Paul Eggert <eggert@cs.ucla.edu>
414
415 Assume C89 or later for math functions (Bug#12381).
416 This simplifies the code, and makes it a bit smaller and faster,
417 and (most important) makes it easier to clean up signal handling
418 since we can stop worring about floating-point exceptions in
419 library code. That was a problem before C89, but the problem
420 went away many years ago on all practical Emacs targets.
421 * data.c, image.c, lread.c, print.c:
422 Don't include <math.h>; no longer needed.
423 * data.c, floatfns.c (IEEE_FLOATING_POINT): Don't worry that it
424 might be autoconfigured, as that never happens.
425 * data.c (fmod):
426 * doprnt.c (DBL_MAX_10_EXP):
427 * print.c (DBL_DIG):
428 Remove. C89 or later always defines these.
429 * floatfns.c (HAVE_MATHERR, FLOAT_CHECK_ERRNO, FLOAT_CHECK_DOMAIN)
430 (in_float, float_error_arg, float_error_arg2, float_error_fn_name)
431 (arith_error, domain_error, domain_error2):
432 Remove all this pre-C89 cruft. Do not include <errno.h> as that's
433 no longer needed -- we simply return what C returns. All uses removed.
434 (IN_FLOAT, IN_FLOAT2): Remove. All uses replaced with
435 the wrapped code.
436 (FLOAT_TO_INT, FLOAT_TO_INT2, range_error, range_error2):
437 Remove. All uses expanded, as these macros are no longer used
438 more than once and are now more trouble than they're worth.
439 (Ftan): Use tan, not sin / cos.
440 (Flogb): Assume C89 frexp.
441 (fmod_float): Assume C89 fmod.
442 (matherr) [HAVE_MATHERR]: Remove; no longer needed.
443 (init_floatfns): Remove. All uses removed.
444
4452012-09-08 Jan Djärv <jan.h.d@swipnet.se>
446
447 * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Take back
448 compositeToPoint for OSX < 10.6 (Bug#12390).
449
4502012-09-08 Paul Eggert <eggert@cs.ucla.edu>
451
452 * floatfns.c (Ftan): Use tan (x), not (sin (x) / cos (x)).
453 This produces more-accurate results.
454
4552012-09-08 Jan Djärv <jan.h.d@swipnet.se>
456
457 * nsterm.m (updateFrameSize): Call setFrame: on the view when size
458 changes (Bug#12088).
459
4602012-09-08 Chong Yidong <cyd@gnu.org>
461
462 * syntax.c (Fstring_to_syntax): Doc fix.
463
4642012-09-08 Jan Djärv <jan.h.d@swipnet.se>
465
466 * nsterm.m (ns_clip_to_row): Remove code that deals with drawing fringe
467 in the internal border.
468 (x_set_window_size): Remove static variables and their usage.
469 (ns_redraw_scroll_bars): Fix NSTRACE arg.
470 (ns_after_update_window_line, ns_draw_fringe_bitmap): Remove
471 fringe/internal border adjustment (Bug#11052).
472 (ns_draw_fringe_bitmap): Make code more like other terms (xterm.c).
473 (ns_draw_window_cursor): Remove fringe/internal border adjustment.
474 (ns_fix_rect_ibw): Remove.
475 (ns_get_glyph_string_clip_rect): Remove call to ns_fix_rect_ibw.
476 (ns_dumpglyphs_box_or_relief): Ditto.
477 (ns_maybe_dumpglyphs_background): Remove fringe/internal border
478 adjustment.
479 (ns_dumpglyphs_image): Ditto.
480 (ns_dumpglyphs_stretch): Fix coding style. Remove fringe/internal
481 border adjustment.
482 (ns_set_vertical_scroll_bar): Remove variables barOnVeryLeft/Right and
483 their usage. Add fringe_extended_p and its use as in other terms.
484 (ns_judge_scroll_bars): Code style fix. Call updateFrameSize if
485 scroll bar was removed.
486 (updateFrameSize): New function.
487 (windowDidResize): Move code to updateFrameSize and call it.
488
489 * nsterm.h (EmacsView): Add updateFrameSize.
490
4912012-09-07 Chong Yidong <cyd@gnu.org>
492
493 * textprop.c (Fget_text_property): Minor doc fix (Bug#12323).
494
495 * data.c (Flocal_variable_if_set_p): Doc fix (Bug#10713).
496
4972012-09-07 Paul Eggert <eggert@cs.ucla.edu>
498
499 More signal-handler cleanup (Bug#12327).
500 * emacs.c (main): Convert three 'signal' calls to 'sigaction' calls.
501 Problem introduced when merging patches. Noted by Eli Zaretskii in
502 <http://bugs.gnu.org/12327#67>.
503 * floatfns.c: Comment fix.
504 * lisp.h (force_auto_save_soon): Declare regardless of SIGDANGER.
505 SIGDANGER might not be in scope so "#ifdef SIGDANGER" is not right,
506 and anyway the declaration is harmless even if SIGDANGER is not defined.
507 * syssignal.h (SIGIO): Also #undef if (! defined FIONREAD ||
508 defined BROKEN_FIONREAD). systty.h formerly did this, but other
509 source files not surprisingly expected syssignal.h to define, or
510 not define, SIGIO, and it's cleaner to do it that way, for consistency.
511 Include <sys/ioctl.h>, for FIONREAD.
512 * systty.h (SIGIO): Do not #undef here; it's now syssignal.h's job.
513 This eliminates a problem whereby other files mysteriously had
514 to include "syssignal.h" before including "systty.h" if they
515 wanted to use "#ifdef SIGIO".
516
5172012-09-07 Eli Zaretskii <eliz@gnu.org>
518
519 * w32proc.c (sigaction): New function, emulates Posix 'sigaction'.
520
521 * w32.c (sigemptyset): Empty the set.
522 (sigsetmask, sigmask, sigblock, sigunblock): Remove unused functions.
523
524 * alloc.c [ENABLE_CHECKING]: Include signal.h, since we need SIGABRT.
525
5262012-09-07 Dmitry Antipov <dmantipov@yandex.ru>
527
528 * alloc.c (mark_buffer): Revert unsafe marking optimization.
529 (mark_object): Likewise for frame objects.
530
5312012-09-07 Paul Eggert <eggert@cs.ucla.edu>
532
533 * syssignal.h (handle_on_main_thread): Always declare,
534 even if FORWARD_SIGNAL_TO_MAIN_THREAD is not defined.
535 This ports to platforms without HAVE_PTHREAD.
536
5372012-09-06 Paul Eggert <eggert@cs.ucla.edu>
538
539 Signal-handler cleanup (Bug#12327).
540 Emacs's signal handlers were written in the old 4.2BSD style with
541 sigblock and sigmask and so forth, and this led to some
542 inefficiencies and confusion. Rewrite these to use
543 pthread_sigmask etc. without copying signal sets around. Also,
544 get rid of the confusing macros 'SIGNAL_THREAD_CHECK' and
545 'signal', and instead use functions that do not attempt to take
546 over the system name space. This patch causes Emacs's text
547 segment to shrink by 0.7% on my platform, Fedora 17 x86-64.
548 * alloc.c, emacsgtkfixed.c, nsfns.m, widget.c, xmenu.c:
549 Do not include <signal.h> or "syssignal.h", as these
550 modules do not use signals.
551 * atimer.c, callproc.c, data.c, dispnew.c, emacs.c, floatfns.c:
552 * gtkutil.c, keyboard.c, process.c, sound.c, sysdep.c, term.c, xterm.c:
553 Do not include <signal.h>, as "syssignal.h" does that for us now.
554 * atimer.c (sigmask_atimers): New function.
555 (block_atimers, unblock_atimers): New functions,
556 replacing the old macros BLOCK_ATIMERS and UNBLOCK_ATIMERS.
557 All uses replaced.
558 * conf_post.h [SIGNAL_H_AHB]: Do not include <signal.h>;
559 no longer needed here.
560 * emacs.c (main): Inspect existing signal handler with sigaction,
561 so that there's no need to block and unblock SIGHUP.
562 * sysdep.c (struct save_signal): New member 'action', replacing
563 old member 'handler'.
564 (save_signal_handlers, restore_signal_handlers):
565 Use sigaction instead of 'signal' to save and restore.
566 (get_set_sighandler, set_sighandler) [!WINDOWSNT]:
567 New function. All users of 'signal' modified to use set_sighandler
568 if they're writeonly, and to use sys_signal if they're read+write.
569 (emacs_sigaction_init, forwarded_signal): New functions.
570 (sys_signal): Remove. All uses replaced by calls to sigaction
571 and emacs_sigaction_init, or by direct calls to 'signal'.
572 (sys_sigmask) [!__GNUC__]: Remove; no longer needed.
573 (sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove;
574 all uses replaced by pthread_sigmask etc. calls.
575 * syssignal.h: Include <signal.h>.
576 (emacs_sigaction_init, forwarded_signal): New decls.
577 (SIGMASKTYPE): Remove. All uses replaced by its definiens, sigset_t.
578 (SIGEMPTYMASK): Remove; all uses replaced by its definiens, empty_mask.
579 (sigmask, sys_sigmask): Remove; no longer needed.
580 (sigpause): Remove. All uses replaced by its definiens, sigsuspend.
581 (sigblock, sigunblock, sigfree):
582 (sigsetmask) [!defined sigsetmask]:
583 Remove. All uses replaced by pthread_sigmask.
584 (signal): Remove. Its remaining uses (with SIG_DFL and SIG_IGN)
585 no longer need to be replaced, and its typical old uses
586 are now done via emacs_sigaction_init and sigaction.
587 (sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove decls.
588 (sys_sigdel): Remove; unused.
589 (NSIG): Remove a FIXME; the code's fine. Remove an unnecessary ifdef.
590
5912012-09-06 Eli Zaretskii <eliz@gnu.org>
592
593 * process.c (CAN_HANDLE_MULTIPLE_CHILDREN): Fix a typo that broke
594 SIGCHLD handling on systems that don't have WNOHANG. (Bug#12327)
595
5962012-09-06 Dmitry Antipov <dmantipov@yandex.ru>
597
598 Explicitly mark buffer_defaults and buffer_local_symbols.
599 * alloc.c (Fgarbage_collect): Mark buffer_defaults and
600 mark_local_symbols here.
601 (mark_object): If GC_CHECK_MARKED_OBJECTS, simplify checking
602 since special buffers aren't marked here any more.
603 (allocate_buffer): Chain new buffer with all_buffers here...
604 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): ...and
605 not here.
606 (Vbuffer_defaults, Vbuffer_local_symbols): Remove.
607 (syms_of_buffer): Remove staticpro of the above.
608 (init_buffer_once): Set names for buffer_defaults and
609 buffer_local_symbols.
610
6112012-09-06 Paul Eggert <eggert@cs.ucla.edu>
612
613 Use bool for booleans in font-related modules.
614 * font.c (font_intern_prop, font_style_to_value)
615 (font_style_symbolic, font_parse_xlfd, font_parse_fcname)
616 (generate_otf_features, font_check_otf_features, font_check_otf)
617 (font_match_p, font_list_entities, font_at):
618 * fontset.c (fontset_id_valid_p, reorder_font_vector
619 (fontset_find_font, Fset_fontset_font)
620 (face_suitable_for_char_p) [0]:
621 * ftfont.c (fc_initialized, ftfont_get_open_type_spec)
622 (ftfont_open, ftfont_text_extents, ftfont_check_otf):
623 (m17n_flt_initialized, ftfont_shape_by_flt):
624 * ftxfont.c (ftxfont_draw_bitmap, ftxfont_draw):
625 * nsfont.m (nsfont_draw):
626 * w32font.c (w32font_draw):
627 * w32term.c (x_draw_glyphless_glyph_string_foreground):
628 Use bool for booleans.
629 * font.h: Adjust to above API changes.
630 (struct font, struct font_driver, struct font_driver_list):
631 Use bool for booleans.
632 (struct font): Remove useless member encoding_type.
633 All users removed.
634 * fontset.c, xftfont.c: Omit unnecessary static decls.
635
6362012-09-06 Dmitry Antipov <dmantipov@yandex.ru>
637
638 * alloc.c (mark_object): Revert window marking code
639 since it's unsafe for the Fset_window_configuration.
640
6412012-09-05 Paul Eggert <eggert@cs.ucla.edu>
642
643 Fix race conditions with signal handlers and errno (Bug#12327).
644 Be more systematic about preserving errno whenever a signal
645 handler returns, even if it's not in the main thread. Do this by
646 renaming signal handlers to distinguish between signal delivery
647 and signal handling. All uses changed.
648 * atimer.c (deliver_alarm_signal): Rename from alarm_signal_handler.
649 * data.c (deliver_arith_signal): Rename from arith_error.
650 * dispnew.c (deliver_window_change_signal): Rename from
651 window_change_signal.
652 * emacs.c (deliver_error_signal): Rename from fatal_error_signal.
653 (deliver_danger_signal) [SIGDANGER]: Rename from memory_warning_signal.
654 * keyboard.c (deliver_input_available_signal): Rename from
655 input_available_signal.
656 (deliver_user_signal): Rename from handle_user_signal.
657 (deliver_interrupt_signal): Rename from interrupt_signal.
658 * process.c (deliver_pipe_signal): Rename from send_process_trap.
659 (deliver_child_signal): Rename from sigchld_handler.
660 * atimer.c (handle_alarm_signal):
661 * data.c (handle_arith_signal):
662 * dispnew.c (handle_window_change_signal):
663 * emacs.c (handle_fatal_signal, handle_danger_signal):
664 * keyboard.c (handle_input_available_signal):
665 * keyboard.c (handle_user_signal, handle_interrupt_signal):
666 * process.c (handle_pipe_signal, handle_child_signal):
667 New functions, with the actual signal-handling code taken from the
668 original respective signal handlers, sans the sporadic attempts to
669 preserve errno, since that's now done by handle_on_main_thread.
670 * atimer.c (alarm_signal_handler): Remove unnecessary decl.
671 * emacs.c, floatfns.c, lisp.h: Remove unused FLOAT_CATCH_SIGKILL cruft.
672 * emacs.c (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
673 Move to sysdep.c.
674 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
675 Move initialization of main_thread to sysdep.c's init_signals.
676 * process.c (waitpid) [!WNOHANG]: #define to wait; that's good enough for
677 our usage, and simplifies the mainline code.
678 (record_child_status_change): New static function, as a helper
679 for handle_child_signal, and with most of the old child handler's
680 contents.
681 (CAN_HANDLE_MULTIPLE_CHILDREN): New constant.
682 (handle_child_signal): Use the above.
683 * sysdep.c (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
684 Moved here from emacs.c.
685 (init_signals) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it;
686 code moved here from emacs.c's main function.
687 * sysdep.c, syssignal.h (handle_on_main_thread): New function,
688 replacing the old SIGNAL_THREAD_CHECK. All uses changed. This
689 lets callers save and restore errno properly.
690
6912012-09-05 Dmitry Antipov <dmantipov@yandex.ru>
692
693 Remove redundant or unused things here and there.
694 * lisp.h (CYCLE_CHECK, CHAR_TABLE_TRANSLATE): Remove.
695 * conf_post.h (RE_TRANSLATE): Use char_table_translate.
696 * editfns.c (Fcompare_buffer_substrings): Likewise.
697 * frame.h (struct terminal, struct font_driver_list):
698 Remove redundant declarations.
699 * window.h (Qleft, Qright): Likewise.
700
7012012-09-05 Dmitry Antipov <dmantipov@yandex.ru>
702
703 Do not mark objects from deleted buffers, windows and frames.
704 * alloc.c (mark_buffer): Mark just the buffer if it is dead.
705 (mark_object): Likewise for windows and frames.
706
7072012-09-05 Dmitry Antipov <dmantipov@yandex.ru>
708
709 * alloc.c (valid_lisp_object_p): Treat killed buffers,
710 buffer_defaults and buffer_local_symbols as valid objects.
711 Return special value to denote them.
712
7132012-09-05 Paul Eggert <eggert@cs.ucla.edu>
714
715 * fileio.c, filelock.c, floatfns.c, fns.c: Use bool for boolean.
716 * fileio.c (auto_saving, auto_save_error_occurred, make_temp_name)
717 (Fexpand_file_name, barf_or_query_if_file_exists, Fcopy_file)
718 (file_name_absolute_p, Fsubstitute_in_file_name):
719 (check_executable, check_writable, Ffile_accessible_directory_p)
720 (Fset_file_selinux_context, Fdefault_file_modes)
721 (Finsert_file_contents, choose_write_coding_system)
722 (Fwrite_region, build_annotations, a_write, e_write)
723 (Fdo_auto_save):
724 * filelock.c (boot_time_initialized, get_boot_time)
725 (get_boot_time_1, lock_file_1, within_one_second):
726 * floatfns.c (in_float):
727 * fns.c (concat, internal_equal, Frequire, base64_encode_1)
728 (base64_decode_1, cmpfn_eql, cmpfn_user_defined)
729 (sweep_weak_table, sweep_weak_hash_tables, secure_hash):
730 * lisp.h (struct Lisp_Hash_Table.cmpfn):
731 * window.c (compare_window_configurations):
732 Use bool for booleans.
733 * fileio.c (auto_saving_dir_umask, auto_saving_mode_bits)
734 (Fdefault_file_modes): Now mode_t, not int, for modes.
735 (Fdo_auto_save): Set a boolean to 1 rather than using ++.
736 (internal_delete_file): Now returns void, not a (boolean) int,
737 since nobody was looking at the return value.
738 * lisp.h, window.h: Adjust to above API changes.
739
740 * xdisp.c (set_message): Simplify and reindent last change.
741
7422012-09-05 Juanma Barranquero <lekktu@gmail.com>
743
744 * makefile.w32-in ($(BLD)/sysdep.$(O)): Update dependencies.
745
7462012-09-04 Lars Ingebrigtsen <larsi@gnus.org>
747
748 * eval.c (call_debugger): Make the function non-static so that we
749 can call it from set_message.
750
751 * xdisp.c (set_message): Implement the new variable `debug-on-message'.
752 (syms_of_xdisp): Defvar it and `inhibit-debug-on-message'.
753
7542012-09-04 Paul Eggert <eggert@cs.ucla.edu>
755
756 Give more-useful info on a fatal error (Bug#12328).
757 * alloc.c [ENABLE_CHECKING]: Do not include <execinfo.h>.
758 (die) [ENABLE_CHECKING]: Call fatal_error_backtrace instead
759 of doing the work ourselves.
760 * emacs.c (fatal_error_signal): Let fatal_error_backtrace
761 do most of the work.
762 (fatal_error_backtrace): New function, taken from the guts
763 of the old fatal_error_signal, but with a new option to output
764 a backtrace.
765 (shut_down_emacs) [!DOS_NT]: Use strsignal to give more-useful
766 info about the signal than just its number.
767 * lisp.h (fatal_error_backtrace, emacs_backtrace): New decls.
768 * sysdep.c: Include <execinfo.h>
769 (emacs_backtrace): New function, taken partly from the previous
770 code of the 'die' function.
771 (emacs_abort): Call fatal_error_backtrace rather than abort.
772
7732012-09-04 Stefan Monnier <monnier@iro.umontreal.ca>
774
775 * lread.c (readevalloop): Call internal-macroexpand-for-load to perform
776 eager (load-time) macro-expansion.
777 * lisp.mk (lisp): Add macroexp.
778
7792012-09-04 Paul Eggert <eggert@cs.ucla.edu>
780
781 Simplify redefinition of 'abort' (Bug#12316).
782 Do not try to redefine the 'abort' function. Instead, redo
783 the code so that it calls 'emacs_abort' rather than 'abort'.
784 This removes the need for the NO_ABORT configure-time macro
785 and makes it easier to change the abort code to do a backtrace.
786 * .gdbinit: Just stop at emacs_abort, not at w32_abort or abort.
787 * emacs.c (abort) [!DOS_NT && !NO_ABORT]:
788 Remove; sysdep.c's emacs_abort now takes its place.
789 * lisp.h (emacs_abort): New decl. All calls from Emacs code to
790 'abort' changed to use 'emacs_abort'.
791 * msdos.c (dos_abort) [defined abort]: Remove; not used.
792 (abort) [!defined abort]: Rename to ...
793 (emacs_abort): ... new name.
794 * sysdep.c (emacs_abort) [!HAVE_NTGUI]: New function, taking
795 the place of the old 'abort' in emacs.c.
796 * w32.c, w32fns.c (abort): Do not #undef.
797 * w32.c (emacs_abort): Rename from w32_abort.
798
7992012-09-04 Eli Zaretskii <eliz@gnu.org>
800
801 * w32uniscribe.c (uniscribe_shape): Reverse the sign of
802 offsets[j].dv, since the y axis of the screen coordinates points
803 down, while the y axis of the font definition coordinates points
804 up. This fixes display of Arabic diacritics such as KASRA and
805 KASRATAN. (Bug#11860)
806
8072012-09-04 Paul Eggert <eggert@cs.ucla.edu>
808
809 Be more systematic about _setjmp vs setjmp.
810 * alloc.c (test_setjmp, mark_stack):
811 * image.c (PNG_LONGJMP) [PNG_LIBPNG_VER < 10500]:
812 (PNG_JMPBUF) [! (PNG_LIBPNG_VER < 10500)]:
813 (png_load, my_error_exit, jpeg_load):
814 * process.c (send_process_trap, send_process):
815 Uniformly prefer _setjmp and _longjmp to setjmp and longjmp.
816 The underscored versions are up to 30x faster on some hosts.
817 Formerly, the code used setjmp+longjmp sometimes and
818 _setjmp+_longjmp at other times, with no particular reason to
819 prefer setjmp+longjmp.
820
8212012-09-03 Paul Eggert <eggert@cs.ucla.edu>
822
823 Fix minor problem found by static checking.
824 * buffer.c (Fdelete_all_overlays): Return nil.
825
8262012-09-03 Martin Rudalics <rudalics@gmx.at>
827
828 * buffer.c (Fdelete_all_overlays): New function.
829
8302012-09-03 Chong Yidong <cyd@gnu.org>
831
832 * gtkutil.c: Add extern decl for Qxft.
833
8342012-09-02 Paul Eggert <eggert@cs.ucla.edu>
835
836 * emacs.c, eval.c: Use bool for boolean.
837 * emacs.c (initialized, inhibit_window_system, running_asynch_code):
838 (malloc_using_checking) [DOUG_LEA_MALLOC]:
839 (display_arg) [HAVE_X_WINDOWS || HAVE_NS]:
840 (noninteractive, no_site_lisp, fatal_error_in_progress, argmatch)
841 (main, decode_env_path, Fdaemon_initialized):
842 * eval.c (call_debugger, Finteractive_p, interactive_p):
843 (unwind_to_catch, Fsignal, wants_debugger, skip_debugger)
844 (maybe_call_debugger, Fbacktrace):
845 * process.c (read_process_output, exec_sentinel):
846 Use bool for booleans.
847 * emacs.c (shut_down_emacs): Omit unused boolean argument NO_X.
848 All callers changed.
849 * eval.c (interactive_p): Omit always-true boolean argument
850 EXCLUDE_SUBRS_P. All callers changed.
851 * dispextern.h, lisp.h: Reflect above API changes.
852 * firstfile.c (dummy): Use the address of 'main', whose signature
853 won't change, instead of the address of 'initialize', whose
854 signature just changed from int to bool.
855 * lisp.h (fatal_error_in_progress): New decl of boolean, moved here ...
856 * msdos.c (fatal_error_in_progress): ... from here.
857 * xdisp.c (redisplaying_p): Now a boolean. Set it to 1 instead
858 of incrementing it.
859 (redisplay_internal, unwind_redisplay): Simply clear
860 REDISPLAYING_P when unwinding, instead of saving its previous,
861 always-false value and then restoring it.
862
863 Clean up some extern decls.
864 Mostly, this hoists extern decls out of .c files and into .h files.
865 That way, we're more likely to catch errors if the interfaces change.
866 * alloc.c [USE_GTK]: Include "gtkutil.h" so that we need not
867 declare xg_mark_data.
868 * dispextern.h (x_frame_parm_handlers):
869 * font.h (Qxft):
870 * lisp.h (Qlexical_binding, Qinternal_interpreter_environment)
871 (Qextra_light, Qlight, Qsemi_light, Qsemi_bold, Qbold, Qextra_bold)
872 (Qultra_bold, Qoblique, Qitalic):
873 Move extern decl here from .c file.
874 * alloc.c (xg_mark_data) [USE_GTK]:
875 * doc.c (Qclosure):
876 * eval.c (Qlexical_binding):
877 * fns.c (time) [!HAVE_UNISTD_H]:
878 * gtkutil.c (Qxft, Qnormal, Qextra_light, Qlight, Qsemi_light)
879 (Qsemi_bold, Qbold, Qextra_bold, Qultra_bold, Qoblique, Qitalic):
880 * image.c (Vlibrary_cache, QCloaded_from) [HAVE_NTGUI]:
881 * lread.c (Qinternal_interpreter_environment):
882 * minibuf.c (Qbuffer):
883 * process.c (QCfamily, QCfilter):
884 * widget.c (free_frame_faces):
885 * xfaces.c (free_frame_menubar) [USE_X_TOOLKIT]:
886 * xfont.c (x_clear_errors):
887 * xterm.c (x_frame_parm_handlers):
888 Remove now-redundant extern decls.
889 * keyboard.c, keyboard.h (ignore_mouse_drag_p) [USE_GTK || HAVE_NS]:
890 * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic):
891 Now static.
892 * xfaces.c: Remove unnecessary static decls.
893 * xterm.c (updating_frame): Remove decl of nonexistent object.
894
895 * Makefile.in (gl-stamp): Don't scan $(SOME_MACHINE_OBJECTS)
896 when building globals.h, as the objects that are not built on
897 this host are not needed to compile C files on this host.
898
12012-09-02 Jan Djärv <jan.h.d@swipnet.se> 8992012-09-02 Jan Djärv <jan.h.d@swipnet.se>
2 900
3 * gtkutil.h: Remove prototype for x_wm_set_size_hint. 901 * gtkutil.h: Remove prototype for x_wm_set_size_hint.
@@ -187,18 +1085,18 @@
1872012-08-28 Jan Djärv <jan.h.d@swipnet.se> 10852012-08-28 Jan Djärv <jan.h.d@swipnet.se>
188 1086
189 * nsmenu.m (initWithContentRect:styleMask:backing:defer:): Initialize 1087 * nsmenu.m (initWithContentRect:styleMask:backing:defer:): Initialize
190 button_values to NULL. Call setStykeMask so dialogs get a close button. 1088 button_values to NULL. Call setStykeMask so dialogs get a close button.
191 (windowShouldClose:): Set window_closed. 1089 (windowShouldClose:): Set window_closed.
192 (dealloc): New member, free button_values. 1090 (dealloc): New member, free button_values.
193 (process_dialog:): Make member function. Remove window argument, 1091 (process_dialog:): Make member function. Remove window argument,
194 replace window with self. Count buttons and allocate and store values 1092 replace window with self. Count buttons and allocate and store values
195 in button_values. 1093 in button_values.
196 (addButton:value:row:): value is int with the name tag. Call setTag 1094 (addButton:value:row:): value is int with the name tag. Call setTag
197 with tag. Remove return self, declare return value as void. 1095 with tag. Remove return self, declare return value as void.
198 (addString:row:): Remove return self, declare return value as void. 1096 (addString:row:): Remove return self, declare return value as void.
199 (addSplit): Remove return self, declare return value as void. 1097 (addSplit): Remove return self, declare return value as void.
200 (clicked:): Remove return self, declare return value as void. 1098 (clicked:): Remove return self, declare return value as void.
201 Set dialog_return to button_values[seltag]. Code formatting change. 1099 Set dialog_return to button_values[seltag]. Code formatting change.
202 (initFromContents:isQuestion:): Adjust call to process_dialog. 1100 (initFromContents:isQuestion:): Adjust call to process_dialog.
203 Code formatting change. 1101 Code formatting change.
204 (timeout_handler:): Set timer_fired to YES. 1102 (timeout_handler:): Set timer_fired to YES.
@@ -533,7 +1431,7 @@
533 1431
534 * fontset.c (FONTSET_ADD): Return void, not Lisp_Object. 1432 * fontset.c (FONTSET_ADD): Return void, not Lisp_Object.
535 Otherwise, the compiler complains about (A?B:C) where B is void 1433 Otherwise, the compiler complains about (A?B:C) where B is void
536 and C is Lisp_Object. This fixes an incompatibility with Sun C 5.12. 1434 and C is Lisp_Object. This fixes an incompatibility with Sun C 5.12.
537 (fontset_add): Return void, for FONTSET_ADD. 1435 (fontset_add): Return void, for FONTSET_ADD.
538 1436
5392012-08-21 Paul Eggert <eggert@cs.ucla.edu> 14372012-08-21 Paul Eggert <eggert@cs.ucla.edu>
@@ -1049,7 +1947,7 @@
1049 Start main loop and wait for application defined event. 1947 Start main loop and wait for application defined event.
1050 Inform select thread to stop selecting after main loop is exited. 1948 Inform select thread to stop selecting after main loop is exited.
1051 (ns_term_init): Create selfds pipe and set non-blocking. 1949 (ns_term_init): Create selfds pipe and set non-blocking.
1052 Initialize select_mutex. Start the select thread (fd_handler). 1950 Initialize select_mutex. Start the select thread (fd_handler).
1053 (fd_handler:): Loop forever, wait for info from the main thread 1951 (fd_handler:): Loop forever, wait for info from the main thread
1054 to either start or stop selecting. When select returns, send 1952 to either start or stop selecting. When select returns, send
1055 and appdefined event. 1953 and appdefined event.
@@ -1181,7 +2079,7 @@
1181 (xg_create_tool_bar): Allocate and initialize a xg_frame_tb_info 2079 (xg_create_tool_bar): Allocate and initialize a xg_frame_tb_info
1182 if not present. 2080 if not present.
1183 (update_frame_tool_bar): Return early if data in xg_frame_tb_info 2081 (update_frame_tool_bar): Return early if data in xg_frame_tb_info
1184 is up to date. Otherwise store new data. 2082 is up to date. Otherwise store new data.
1185 (free_frame_tool_bar): Free xg_frame_tb_info if present. 2083 (free_frame_tool_bar): Free xg_frame_tb_info if present.
1186 2084
11872012-08-13 Dmitry Antipov <dmantipov@yandex.ru> 20852012-08-13 Dmitry Antipov <dmantipov@yandex.ru>
@@ -1208,7 +2106,7 @@
12082012-08-11 Jan Djärv <jan.h.d@swipnet.se> 21062012-08-11 Jan Djärv <jan.h.d@swipnet.se>
1209 2107
1210 * nsterm.m (not_in_argv): New function. 2108 * nsterm.m (not_in_argv): New function.
1211 (application:openFile, application:openTempFile:): 2109 (application:openFile, application:openTempFile:):
1212 (application:openFileWithoutUI:, application:openFiles:): Open file 2110 (application:openFileWithoutUI:, application:openFiles:): Open file
1213 if not_in_argv returns non-zero (bug#12171). 2111 if not_in_argv returns non-zero (bug#12171).
1214 2112
@@ -2395,7 +3293,7 @@
2395 3293
23962012-07-21 Jan Djärv <jan.h.d@swipnet.se> 32942012-07-21 Jan Djärv <jan.h.d@swipnet.se>
2397 3295
2398 * nsterm.m (accessibilityAttributeValue): New function. (Bug#11134). 3296 * nsterm.m (accessibilityAttributeValue): New function. (Bug#11134).
2399 (conversationIdentifier): Return value is NSInteger. 3297 (conversationIdentifier): Return value is NSInteger.
2400 * nsterm.m (accessibilityAttributeValue): Surround with NS_IMPL_COCOA. 3298 * nsterm.m (accessibilityAttributeValue): Surround with NS_IMPL_COCOA.
2401 3299
@@ -4905,7 +5803,7 @@
4905 * lisp.h (struct vectorlike_header): New field `nbytes', 5803 * lisp.h (struct vectorlike_header): New field `nbytes',
4906 adjust comment accordingly. 5804 adjust comment accordingly.
4907 * alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK' 5805 * alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK'
4908 to denote vector blocks. Adjust users (live_vector_p, 5806 to denote vector blocks. Adjust users (live_vector_p,
4909 mark_maybe_pointer, valid_lisp_object_p) accordingly. 5807 mark_maybe_pointer, valid_lisp_object_p) accordingly.
4910 (COMMON_MULTIPLE): Move outside #if USE_LSB_TAG. 5808 (COMMON_MULTIPLE): Move outside #if USE_LSB_TAG.
4911 (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES), 5809 (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES),
@@ -4919,7 +5817,7 @@
4919 (allocate_vector_from_block, init_vectors, allocate_vector_from_block) 5817 (allocate_vector_from_block, init_vectors, allocate_vector_from_block)
4920 (sweep_vectors): New functions. 5818 (sweep_vectors): New functions.
4921 (allocate_vectorlike): Return `zero_vector' as the only vector of 5819 (allocate_vectorlike): Return `zero_vector' as the only vector of
4922 0 items. Allocate new vector from block if vector size is less than 5820 0 items. Allocate new vector from block if vector size is less than
4923 or equal to VBLOCK_BYTES_MAX. 5821 or equal to VBLOCK_BYTES_MAX.
4924 (Fgarbage_collect): Move all vector sweeping code to sweep_vectors. 5822 (Fgarbage_collect): Move all vector sweeping code to sweep_vectors.
4925 (init_alloc_once): Add call to init_vectors. 5823 (init_alloc_once): Add call to init_vectors.
@@ -5009,7 +5907,7 @@
5009 change it's type from Lisp_Object to bitfield. 5907 change it's type from Lisp_Object to bitfield.
5010 Change type of 'force_start', 'optional_new_start', 5908 Change type of 'force_start', 'optional_new_start',
5011 'last_had_star', 'update_mode_line' and 'start_at_line_beg' 5909 'last_had_star', 'update_mode_line' and 'start_at_line_beg'
5012 fields from Lisp_Object to bitfield. Adjust users accordingly. 5910 fields from Lisp_Object to bitfield. Adjust users accordingly.
5013 5911
50142012-05-31 Paul Eggert <eggert@cs.ucla.edu> 59122012-05-31 Paul Eggert <eggert@cs.ucla.edu>
5015 5913