aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog4133
1 files changed, 4082 insertions, 51 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 3cf90d10289..028b8325aae 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,4032 @@
12012-03-23 Eli Zaretskii <eliz@gnu.org>
2
3 * bidi.c (bidi_fetch_char): Use STRING_CHAR_AND_LENGTH instead of
4 FETCH_MULTIBYTE_CHAR followed by CHAR_BYTES. Prevents crashes
5 when fetching a multibyte character consumes more bytes than
6 CHAR_BYTES returns, due to unification of CJK characters in
7 string_char. (Bug#11073)
8
92012-03-23 Troels Nielsen <bn.troels@gmail.com> (tiny change)
10
11 * process.c (wait_reading_process_output): Handle pty disconnect
12 by refraining from sending oneself a SIGCHLD (bug#10933).
13
142012-03-22 Chong Yidong <cyd@gnu.org>
15
16 * dispextern.h (struct it): New member string_from_prefix_prop_p.
17
18 * xdisp.c (push_prefix_prop): Rename from push_display_prop.
19 Mark string as coming from a prefix property.
20 (handle_face_prop): Use default face for prefix strings (Bug#4281).
21 (pop_it, reseat_1): Save and restore string_from_prefix_prop_p.
22
232012-03-21 Chong Yidong <cyd@gnu.org>
24
25 * xfaces.c (Vface_remapping_alist): Doc fix.
26
272012-03-20 Eli Zaretskii <eliz@gnu.org>
28
29 * w32proc.c (Fw32_set_console_codepage)
30 (Fw32_set_console_output_codepage, Fw32_get_codepage_charset):
31 Doc fixes.
32
332012-03-20 Chong Yidong <cyd@gnu.org>
34
35 * dispnew.c (Fredisplay, Vredisplay_preemption_period): Update doc
36 to reflect default non-nil value of redisplay-dont-pause.
37
382012-03-19 Kenichi Handa <handa@m17n.org>
39
40 * ftfont.c (ftfont_drive_otf): Mask bits of character code to make
41 it fit in a valid range (Bug#11003).
42
432012-03-18 Eli Zaretskii <eliz@gnu.org>
44
45 * xdisp.c (cursor_row_p): Even if the glyph row ends in a string
46 that is not from display property, accept the row as a "cursor
47 row" if one of the string's character has a non-nil `cursor'
48 property. Fixes cursor positioning when there are newlines in
49 overlay strings, e.g. in icomplete.el. (Bug#11035)
50
512012-03-12 Paul Eggert <eggert@cs.ucla.edu>
52
53 * buffer.c (compare_overlays): Don't assume args differ (Bug#6830).
54
552012-03-12 Chong Yidong <cyd@gnu.org>
56
57 * eval.c (inhibit_lisp_code): Rename from
58 inhibit_window_configuration_change_hook; move from window.c.
59
60 * xfns.c (unwind_create_frame_1, Fx_create_frame):
61 * window.c (run_window_configuration_change_hook)
62 (syms_of_window): Callers changed.
63
642012-03-11 Chong Yidong <cyd@gnu.org>
65
66 * keymap.c (Fkey_description): Doc fix (Bug#9700).
67
68 * editfns.c (Fconstrain_to_field): Doc fix (Bug#9452).
69
702012-03-10 Chong Yidong <cyd@gnu.org>
71
72 * frame.c (other_visible_frames): Don't assume the selected frame
73 is visible (Bug#10955).
74
752012-03-09 Stefan Monnier <monnier@iro.umontreal.ca>
76
77 * buffer.c (compare_overlays): Avoid qsort's instability (bug#6830).
78
792012-03-08 Jan Djärv <jan.h.d@swipnet.se>
80
81 * gtkutil.c (x_wm_set_size_hint): Use one row in call to
82 FRAME_TEXT_LINES_TO_PIXEL_HEIGHT so base_height is greater than
83 zero (Bug#10954).
84
852012-03-03 Glenn Morris <rgm@gnu.org>
86
87 * alloc.c (Fgarbage_collect, misc-objects-consed): Doc fixes.
88
892012-03-02 Eli Zaretskii <eliz@gnu.org>
90
91 * xdisp.c (try_window_reusing_current_matrix): Don't move cursor
92 position past the first glyph_row that ends at ZV. (Bug#10902)
93 (redisplay_window, next_element_from_string): Fix typos in
94 comments.
95 (redisplay_window): Pass to move_it_vertically the margin in
96 pixels, not in screen lines.
97
982012-03-02 Glenn Morris <rgm@gnu.org>
99
100 * buffer.c (buffer-list-update-hook): Doc fix.
101
1022012-02-29 Eli Zaretskii <eliz@gnu.org>
103
104 * xdisp.c (get_overlay_strings_1): Under bidi redisplay, call
105 push_it before setting up the iterator for the first overlay
106 string, even if we have an empty string loaded.
107 (next_overlay_string): If there's an empty string on the iterator
108 stack, pop the stack. (Bug#10903)
109
1102012-02-25 Paul Eggert <eggert@cs.ucla.edu>
111
112 Generalize fix for crash due to non-contiguous EMACS_INT (Bug#10780).
113 Suggested by Stefan Monnier in
114 <http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00692.html>.
115 * alloc.c (widen_to_Lisp_Object): New static function.
116 (mark_memory): Also mark Lisp_Objects by fetching pointer words
117 and widening them to Lisp_Objects. This would work even if
118 USE_LSB_TAG is defined and wide integers are used, which might
119 happen in a future version of Emacs.
120
1212012-02-25 Chong Yidong <cyd@gnu.org>
122
123 * fileio.c (Ffile_selinux_context, Fset_file_selinux_context):
124 Doc fix.
125
126 * xselect.c (Fx_selection_exists_p): Doc fix.
127 (x_clipboard_manager_save_all): Print an informative message
128 before saving to clipboard manager.
129
1302012-02-24 Chong Yidong <cyd@gnu.org>
131
132 * keyboard.c (process_special_events): Handle all X selection
133 requests in kbd_buffer, not just the next one (Bug#8869).
134
1352012-02-23 Chong Yidong <cyd@gnu.org>
136
137 * xfns.c (Fx_create_frame): Avoid window-configuration-change-hook
138 call when setting menu-bar-lines and tool-bar-lines parameters.
139 (unwind_create_frame_1): New helper function.
140
141 * window.c (inhibit_window_configuration_change_hook): New var.
142 (run_window_configuration_change_hook): Obey it.
143 (syms_of_window): Initialize it.
144
1452012-02-22 Chong Yidong <cyd@gnu.org>
146
147 * xterm.c (x_draw_image_relief): Add missing type check for
148 Vtool_bar_button_margin (Bug#10743).
149
1502012-02-21 Chong Yidong <cyd@gnu.org>
151
152 * fileio.c (Vfile_name_handler_alist): Doc fix.
153
154 * buffer.c (Fget_file_buffer): Protect against invalid file
155 handler return value.
156
1572012-02-20 Paul Eggert <eggert@cs.ucla.edu>
158
159 * .gdbinit (xreload): Don't assume EMACS_INT fits in 'long'
160 when computing $valmask.
161
162 Fix crash due to non-contiguous EMACS_INT (Bug#10780).
163 * lisp.h (VALBITS): Move definition up, so that USE_LSB_TAG can use it.
164 (USE_LSB_TAG): Do not define if UINTPTR_MAX >> VALBITS == 0.
165 It's useless in that case, and it can cause problems on hosts
166 that allocate halves of EMACS_INT values separately.
167 Reported by Dan Horák. Diagnosed by Andreas Schwab in
168 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10780#30>.
169 * mem-limits.h (EXCEEDS_LISP_PTR): Define to 0 on hosts where
170 UINTPTR_MAX >> VALBITS == 0. This is required by the above change;
171 it avoids undefined behavior on hosts where shifting right by more
172 than the word width has undefined behavior.
173
1742012-02-19 Chong Yidong <cyd@gnu.org>
175
176 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory)
177 (Funhandled_file_name_directory, Ffile_name_as_directory)
178 (Fdirectory_file_name, Fexpand_file_name)
179 (Fsubstitute_in_file_name): Protect against invalid file handler
180 return values (Bug#10845).
181
1822012-02-18 Eli Zaretskii <eliz@gnu.org>
183
184 * .gdbinit (pitx): Fix incorrect references to fields of the
185 iterator stack.
186
1872012-02-17 Chong Yidong <cyd@gnu.org>
188
189 * syntax.c (Fscan_lists): Doc fix (Bug#10833).
190
1912012-02-15 Paul Eggert <eggert@cs.ucla.edu>
192
193 * image.c (MAX_IMAGE_SIZE): Increase from 6.0 to 10.0; see
194 <http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00540.html>.
195
1962012-02-15 Chong Yidong <cyd@gnu.org>
197
198 * eval.c (Fdefvar, Fdefconst): Doc fix; note that the variable is
199 marked as special. Also, starting docstrings with * is obsolete.
200
2012012-02-13 Andreas Schwab <schwab@linux-m68k.org>
202
203 * gnutls.c (emacs_gnutls_write): Fix last change.
204
2052012-02-13 Lars Ingebrigtsen <larsi@gnus.org>
206
207 * gnutls.c (emacs_gnutls_write): Set errno appropriately for
208 send_process.
209
2102012-02-13 Stefan Monnier <monnier@iro.umontreal.ca>
211
212 * keymap.c (Fsingle_key_description): Handle char ranges.
213
2142012-02-12 Chong Yidong <cyd@gnu.org>
215
216 * xdisp.c (handle_stop): Avoid assigning -1 to it->face_id here,
217 as that creates a dangerous corner case.
218
219 * window.c (Fdelete_window_internal): Invalidate the mouse
220 highlight (Bug#9904).
221
2222012-02-12 Glenn Morris <rgm@gnu.org>
223
224 * xselect.c (Fx_own_selection_internal)
225 (Fx_get_selection_internal, Fx_disown_selection_internal)
226 (Fx_selection_owner_p, Fx_selection_exists_p): Doc fixes.
227 * nsselect.m (Fx_own_selection_internal)
228 (Fx_disown_selection_internal, Fx_selection_exists_p)
229 (Fx_selection_owner_p, Fx_get_selection_internal):
230 Sync docs and argument specs with the xselect.c versions.
231
2322012-02-11 Lars Ingebrigtsen <larsi@gnus.org>
233
234 * gnutls.c (emacs_gnutls_write): Don't infloop if sendto fails.
235
2362012-02-11 Eli Zaretskii <eliz@gnu.org>
237
238 * w32select.c (Fx_selection_exists_p): Sync doc string and
239 argument list with xselect.c. (Bug#10783)
240
241 * w16select.c (Fx_selection_exists_p): Sync doc string and
242 argument list with xselect.c. (Bug#10783)
243
2442012-02-10 Glenn Morris <rgm@gnu.org>
245
246 * fns.c (Fsecure_hash): Doc fix.
247
2482012-02-09 Kenichi Handa <handa@m17n.org>
249
250 * coding.c (produce_chars): Fix updating of src_end (Bug#10701).
251
2522012-02-07 Chong Yidong <cyd@gnu.org>
253
254 * buffer.c (Fbuffer_local_variables)
255 (buffer_lisp_local_variables): Handle unbound vars correctly;
256 don't let Qunbound leak into Lisp.
257
2582012-02-07 Glenn Morris <rgm@gnu.org>
259
260 * image.c (Fimagemagick_types): Doc fix.
261
262 * image.c (imagemagick-render-type): Change it from a lisp object
263 to an integer. Move the doc here from the lisp manual.
264 Treat all values not equal to 0 the same.
265
2662012-02-06 Chong Yidong <cyd@gnu.org>
267
268 * doc.c (store_function_docstring): Avoid applying docstring of
269 alias to base function (Bug#2603).
270
2712012-02-04 Andreas Schwab <schwab@linux-m68k.org>
272
273 * .gdbinit (pp1, pv1): Remove redundant defines.
274 (pr): Use pp.
275
2762012-02-04 Chong Yidong <cyd@gnu.org>
277
278 * nsterm.m: Declare a global (Bug#10694).
279
2802012-02-04 Eli Zaretskii <eliz@gnu.org>
281
282 * w32.c (get_emacs_configuration_options):
283 Include --enable-checking, if specified, in the return value.
284
2852012-02-04 Martin Rudalics <rudalics@gmx.at>
286
287 * dispnew.c (change_frame_size_1): Calculate new_frame_total_cols
288 after rounding frame sizes. (Bug#9723)
289
2902012-02-04 Eli Zaretskii <eliz@gnu.org>
291
292 * keyboard.c (adjust_point_for_property): Don't position point
293 before BEGV. (Bug#10696)
294
2952012-02-03 Paul Eggert <eggert@cs.ucla.edu>
296
297 Handle overflow when computing char display width (Bug#9496).
298 * character.c (char_width): Return EMACS_INT, not int.
299 (char_width, c_string_width): Check for overflow when
300 computing the width; this is possible now that individual
301 characters can have unbounded width. Problem introduced
302 by merge from Emacs 23 on 2012-01-19.
303
3042012-02-02 Michael Albinus <michael.albinus@gmx.de>
305
306 * dbusbind.c (Fdbus_register_method): Mention the return value
307 :ignore in the docstring.
308
3092012-02-02 Glenn Morris <rgm@gnu.org>
310
311 * callproc.c (Fcall_process, Fcall_process_region): Doc fix.
312
313 * nsterm.m (syms_of_nsterm) <x-toolkit-scroll-bars>:
314 Unconditionally set to t. (Bug#10673)
315 * nsterm.m (syms_of_nsterm) <x-toolkit-scroll-bars>:
316 * w32term.c (syms_of_w32term) <x-toolkit-scroll-bars>:
317 * xterm.c (syms_of_xterm) <x-toolkit-scroll-bars>: Doc fix.
318
3192012-02-02 Kenichi Handa <handa@m17n.org>
320
321 (x_produce_glyphs): Cancel previous change. If cmp->glyph_len is
322 0, do not call append_composite_glyph.
323
3242012-02-02 Kenichi Handa <handa@m17n.org>
325
326 * xdisp.c (BUILD_COMPOSITE_GLYPH_STRING): Initialize first_s to
327 NULL (Bug#6988).
328 (x_produce_glyphs): If the component of a composition is a null
329 string, set it->pixel_width to 1 to avoid zero-width glyph.
330
3312012-02-01 Eli Zaretskii <eliz@gnu.org>
332
333 * ralloc.c (resize_bloc, r_alloc_sbrk): Don't call memmove if its
334 first 2 arguments are identical. This makes inserting large
335 output from a subprocess an order of magnitude faster on
336 MS-Windows, where all sbrk'ed memory is always contiguous.
337
3382012-01-31 Glenn Morris <rgm@gnu.org>
339
340 * nsterm.m (syms_of_nsterm) <x-toolkit-scroll-bars>:
341 * w32term.c (syms_of_w32term) <x-toolkit-scroll-bars>:
342 * xterm.c (syms_of_xterm) <x-toolkit-scroll-bars>: Sync docs.
343
3442012-01-29 Glenn Morris <rgm@gnu.org>
345
346 * gnutls.c (syms_of_gnutls): More doc (from etc/NEWS).
347
3482012-01-28 Samuel Thibault <sthibault@debian.org> (tiny change)
349
350 * s/gnu.h: Define POSIX_SIGNALS (Bug#10552).
351
3522012-01-28 Chong Yidong <cyd@gnu.org>
353
354 * minibuf.c (syms_of_minibuf): Doc fix (Bug#10550).
355
3562012-01-26 Chong Yidong <cyd@gnu.org>
357
358 * keyboard.c (Vecho_keystrokes): Document zero value (Bug#10503).
359
360 * search.c (Fsearch_forward, Fsearch_backward): Document negative
361 repeat counts (Bug#10507).
362
3632012-01-26 Glenn Morris <rgm@gnu.org>
364
365 * lread.c (syms_of_lread): Doc fix.
366
3672012-01-25 HIROSHI OOTA <nil@mad.dog.cx> (tiny change)
368
369 * coding.c (encode_designation_at_bol): Change return value to
370 EMACS_INT.
371
3722012-01-25 Chong Yidong <cyd@gnu.org>
373
374 * eval.c (Fuser_variable_p): Doc fix; mention custom-variable-p.
375
3762012-01-21 Chong Yidong <cyd@gnu.org>
377
378 * floatfns.c (Fcopysign): Make the second argument non-optional,
379 since nil is not allowed anyway.
380
3812012-01-21 Andreas Schwab <schwab@linux-m68k.org>
382
383 * process.c (read_process_output): Use p instead of XPROCESS (proc).
384 (send_process): Likewise.
385
3862012-01-19 Martin Rudalics <rudalics@gmx.at>
387
388 * window.c (save_window_save, Fcurrent_window_configuration)
389 (Vwindow_persistent_parameters): Do not use Qstate.
390 Rewrite doc-strings.
391
3922012-01-19 Kenichi Handa <handa@m17n.org>
393
394 * character.c (char_width): New function.
395 (Fchar_width, c_string_width, lisp_string_width):
396 Use char_width (Bug#9496).
397
3982012-01-16 Martin Rudalics <rudalics@gmx.at>
399
400 * window.c (Vwindow_persistent_parameters): New variable.
401 (Fset_window_configuration, save_window_save): Handle persistent
402 window parameters.
403
4042012-01-14 Eli Zaretskii <eliz@gnu.org>
405
406 * w32fns.c (signal_user_input): Don't do a QUIT, to avoid
407 thrashing the stack of the thread. (Bug#9087)
408
4092012-01-12 Paul Eggert <eggert@cs.ucla.edu>
410
411 * xdisp.c (rows_from_pos_range): Add parens as per gcc -Wparentheses.
412
4132012-01-11 Eli Zaretskii <eliz@gnu.org>
414
415 * xdisp.c (rows_from_pos_range): Handle the case where the
416 highlight ends on a newline. (Bug#10464)
417 (mouse_face_from_buffer_pos): Fix off-by-one error in calculating
418 he end column for display of highlight that ends on a newline
419 before a R2L line.
420
4212012-01-11 Glenn Morris <rgm@gnu.org>
422
423 * lread.c (init_lread): If no-site-lisp, remove site-lisp dirs
424 from load-path also when installation-directory is nil. (Bug#10208)
425
4262012-01-10 Glenn Morris <rgm@gnu.org>
427
428 * emacs.c (syms_of_emacs) <installation-directory>: Doc fix.
429
430 * epaths.in (PATH_LOADSEARCH, PATH_EXEC, PATH_DATA, PATH_DOC):
431 Update template values to be closer to their typical values these days.
432
4332012-01-09 Eli Zaretskii <eliz@gnu.org>
434
435 * xdisp.c (rows_from_pos_range): Accept additional argument
436 DISP_STRING, and accept any glyph in a row whose object is that
437 string as eligible for mouse highlight. Fixes mouse highlight of
438 display strings from overlays. (Bug#10464)
439
4402012-01-07 Paul Eggert <eggert@cs.ucla.edu>
441
442 emacs: fix an auto-save permissions race condition (Bug#10400)
443 * fileio.c (auto_saving_dir_umask): New static var.
444 (Fmake_directory_internal): Use it.
445 (do_auto_save_make_dir): Set it, instead of invoking chmod after
446 creating the directory. The old code temporarily assigns
447 too-generous permissions to the directory.
448 (do_auto_save_eh): Clear it.
449 (Fdo_auto_save): Catch all errors, not just file errors, so
450 that the var is always cleared.
451
4522012-01-07 Eli Zaretskii <eliz@gnu.org>
453
454 * search.c (scan_buffer): Pass character positions to
455 know_region_cache, not byte positions. (Bug#6540)
456
4572012-01-07 LynX <_LynX@bk.ru> (tiny change)
458
459 * w32.c (sys_rename): Report EXDEV when rename of a directory
460 fails because the target is on another logical disk. (Bug#10284)
461
4622012-01-07 David Benjamin <davidben@mit.edu> (tiny change)
463
464 * xterm.c (x_embed_request_focus): New function.
465
466 * xterm.h: Add prototype.
467
468 * xfns.c (Fx_focus_frame): Use it for embedded frames (Bug#9977).
469
4702012-01-05 Glenn Morris <rgm@gnu.org>
471
472 * emacs.c (emacs_copyright): Update short copyright year to 2012.
473
4742012-01-01 Eli Zaretskii <eliz@gnu.org>
475
476 * gnutls.c (init_gnutls_functions): Load gnutls_check_version.
477 Load gnutls_transport_set_lowat only if GnuTLS version is below
478 2.11.1.
479 (emacs_gnutls_handshake): Call gnutls_transport_set_lowat only for
480 GnuTLS versions below 2.11.1.
481
4822011-12-31 Antoine Levitt <antoine.levitt@gmail.com>
483
484 * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Add warning
485 to the doc string advising against its use for altering the way
486 windows are scrolled.
487
4882011-12-28 Kenichi Handa <handa@m17n.org>
489
490 * coding.c (Fdefine_coding_system_internal): Make an utf-8 base
491 coding-system ASCII compatible only when it does not produce BOM
492 on encoding (Bug#10383).
493
4942011-12-26 Jan Djärv <jan.h.d@swipnet.se>
495
496 * xmenu.c (x_menu_wait_for_event): Use xg_select for Gtk3 so menus
497 can scroll.
498 (create_and_show_popup_menu): Always use menu_position_func for
499 Gtk3 (Bug#10361).
500
5012011-12-24 Andreas Schwab <schwab@linux-m68k.org>
502
503 * callint.c (Fcall_interactively): Don't truncate prompt string.
504
5052011-12-23 Eli Zaretskii <eliz@gnu.org>
506
507 * xdisp.c (handle_invisible_prop): Handle correctly an invisible
508 property that ends at ZV, so that the bidi iteration could be
509 resumed from there (after widening). (Bug#10360)
510
5112011-12-22 Jan Djärv <jan.h.d@swipnet.se>
512
513 * nsfont.m (ns_spec_to_descriptor): Do not autorelease fdesc.
514
5152011-12-21 Jan Djärv <jan.h.d@swipnet.se>
516
517 * nsterm.m (x_free_frame_resources):
518 Release f->output_data.ns->miniimage.
519 (ns_index_color): Fix indentation. Do not retain
520 color_table->colors[i].
521
522 * nsmenu.m (ns_update_menubar): Call free_menubar_widget_value_tree
523 before returning.
524
525 * nsfns.m (x_set_background_color): Assign return value from
526 ns_index_color to face-background instead of NSColor*.
527 (ns_implicitly_set_icon_type): Fix indentation.
528 Change assignment in for loop to comparison.
529
530 * emacs.c (ns_pool): New variable.
531 (main): Assign ns_pool.
532 (Fkill_emacs): Call ns_release_autorelease_pool.
533
534 * nsfont.m (ns_spec_to_descriptor): Fix indentation,
535 autorelease fdesc, release fdAttrs and tdict.
536 (ns_get_covering_families): Release charset.
537 (ns_findfonts): Release NSFontDescriptor created with new.
538 (ns_uni_to_glyphs): Fix indentation.
539 (setString): Release attrStr before assigning new value.
540
5412011-12-18 Jan Djärv <jan.h.d@swipnet.se>
542
543 * nsmenu.m (NSMenuDidBeginTrackingNotification): Declare if OSX < 10.5
544 and NS_IMPL_COCOA.
545 (trackingNotification): Surround with ifdef NS_IMPL_COCOA.
546 (syms_of_nsmenu): Set trackingMenu to 1 if not NS_IMPL_COCOA.
547
5482011-12-18 David Reitter <reitter@cmu.edu>
549
550 * nsterm.m (ns_term_init): Subscribe for notifications
551 NSMenuDidBeginTrackingNotification and NSMenuDidEndTrackingNotification
552 to method trackingNotification in EmacsMenu.
553
554 * nsmenu.m (trackingMenu): New variable.
555 (trackingNotification): New method (from Aquamacs).
556 (menuNeedsUpdate): Expand comment and return if trackingMenu is 0,
557 from Aquamacs (Bug#7030).
558
5592011-12-18 Jan Djärv <jan.h.d@swipnet.se>
560
561 * nsselect.m (CUT_BUFFER_SUPPORT): Remove define.
562 (symbol_to_nsstring): Fix indentation.
563 (ns_symbol_to_pb): New function.
564 (Fns_get_selection_internal): Rename from Fns_get_cut_buffer_internal.
565 (Fns_rotate_cut_buffers_internal): Remove.
566 (Fns_store_selection_internal): Rename from
567 Fns_store_cut_buffer_internal.
568 (ns_get_foreign_selection, Fx_own_selection_internal)
569 (Fx_disown_selection_internal, Fx_selection_exists_p)
570 (Fns_get_selection_internal, Fns_store_selection_internal):
571 Use ns_symbol_to_pb and check if return value is nil.
572 (syms_of_nsselect): Remove ifdef CUT_BUFFER_SUPPORT. Remove defsubr
573 Sns_rotate_cut_buffers_internal. Sns_get_cut_buffer_internal
574 renamed to Sns_get_selection_internal, Sns_store_cut_buffer_internal
575 renamed to Sns_store_selection_internal.
576 (ns_handle_selection_request): Move code to Fx_own_selection_internal
577 and remove this function.
578 (ns_handle_selection_clear): Remove, never used.
579 (Fx_own_selection_internal): Move code from ns_handle_selection_request
580 here.
581
5822011-12-17 Ken Brown <kbrown@cornell.edu>
583
584 * fileio.c (check_writable) [CYGWIN]: Return non-zero if UID or
585 GID is unknown (Bug#10257).
586
5872011-12-17 Paul Eggert <eggert@cs.ucla.edu>
588
589 * s/gnu-linux.h: Fix mark_memory typo (Bug#10286).
590 (GC_MARK_SECONDARY_STACK): Omit removed 3rd arg to mark_memory,
591 which caused a build failure on GNU/Linux IA-64. This problem was
592 introduced by my 2011-10-07 patch.
593
5942011-12-15 Juri Linkov <juri@jurta.org>
595
596 * image.c (imagemagick_error): New function. (Bug#10112)
597 (imagemagick_load_image): Comment out `MagickSetResolution' call.
598 Use `imagemagick_error' where ImageMagick functions return
599 `MagickFalse'.
600 (Fimagemagick_types): Add `Fnreverse' to return the list in the
601 proper order.
602
6032011-12-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
604
605 * xftfont.c (xftfont_draw): Use the font metrics of s->font to
606 fill background (Bug#8992).
607
6082011-12-13 Martin Rudalics <rudalics@gmx.at>
609
610 * window.c (Vwindow_combination_resize)
611 (Vwindow_combination_limit): Use t instead of non-nil in
612 doc-strings.
613 (Vrecenter_redisplay): Add first sentence of doc-string on
614 separate line.
615 (Frecenter): Fix doc-string typo.
616
6172011-12-11 Kenichi Handa <handa@m17n.org>
618
619 * coding.c (Funencodable_char_position): Pay attention to the
620 buffer text relocation (Bug#9389).
621
6222011-12-10 Jan Djärv <jan.h.d@swipnet.se>
623
624 * xterm.c (x_term_init): Move call to gdk_window_add_filter before
625 gtk_init (Bug#10100).
626
6272011-12-10 Eli Zaretskii <eliz@gnu.org>
628
629 * xdisp.c (RECORD_MAX_MIN_POS): Use IT->cmp_it.charpos only if
630 IT->string is nil. (Bug#10263)
631
6322011-12-10 Jan Djärv <jan.h.d@swipnet.se>
633
634 * nsterm.h (x_free_frame_resources): Declare.
635
636 * nsfns.m (ns_get_defaults_value): New function (Bug#10103).
637 (Fns_get_resource, x_get_string_resource): Call ns_get_defaults_value.
638
639 * nsterm.h (ns_get_defaults_value): Declare.
640
641 * nsterm.m (ns_default): Call ns_get_defaults_value.
642
6432011-12-09 Eli Zaretskii <eliz@gnu.org>
644
645 * xdisp.c (try_scrolling): Don't set scroll_down_p if dy is zero.
646 (Bug#10170)
647
6482011-12-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
649
650 * unexelf.c (unexec) [NS_IMPL_GNUSTEP]: Take account of the case
651 that where the value of an _OBJC_* symbol points to is in the .bss
652 section (Bug#10240).
653
6542011-12-08 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
655
656 * coding.c (encode_coding_ccl): Check (charbuf < charbuf_end)
657 after the loop to call ccl_driver at least once (Bug#8619).
658
6592011-12-08 Kenichi Handa <handa@m17n.org>
660
661 * ftfont.c (get_adstyle_property): Fix previous change
662 (Bug#10233).
663
6642011-12-07 Juanma Barranquero <lekktu@gmail.com>
665
666 * w32.c (init_environment): If no_site_lisp, remove site-lisp
667 dirs from the default value of EMACSLOADPATH (bug#10208).
668
6692011-12-07 Glenn Morris <rgm@gnu.org>
670
671 * lread.c (init_lread): If no_site_lisp, exclude site-lisp/ in
672 installation and source directories as well. (Bug#10208)
673
6742011-12-06 Chong Yidong <cyd@gnu.org>
675
676 * minibuf.c (Fread_from_minibuffer): Doc fix (Bug#10228).
677
6782011-12-06 Glenn Morris <rgm@gnu.org>
679
680 * process.c (start_process_unwind): Treat any pid <= 0, except -2,
681 as an error, not just -1. (Bug#10217)
682
6832011-12-05 Chong Yidong <cyd@gnu.org>
684
685 * keyboard.c (process_special_events): New function.
686 (swallow_events, Finput_pending_p): Use it (Bug#10195).
687
6882011-12-05 Paul Eggert <eggert@cs.ucla.edu>
689
690 * coding.c (encode_designation_at_bol): Don't use uninitialized
691 local variable (Bug#9318).
692
6932011-12-05 Kenichi Handa <handa@m17n.org>
694
695 * ftfont.c (get_adstyle_property): If the font is not BDF nor PCF,
696 return Qnil (Bug#8046, Bug#10193).
697
6982011-12-05 Kenichi Handa <handa@m17n.org>
699
700 * coding.c (encode_designation_at_bol): New args charbuf_end and
701 dst. Return the number of produced bytes. Callers changed.
702 (coding_set_source): Return how many bytes coding->source was
703 relocated.
704 (coding_set_destination): Return how many bytes
705 coding->destination was relocated.
706 (CODING_DECODE_CHAR, CODING_ENCODE_CHAR, CODING_CHAR_CHARSET)
707 (CODING_CHAR_CHARSET_P): Adjust for the avove changes.
708
7092011-12-05 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
710
711 * coding.c (CODING_CHAR_CHARSET_P): New macro.
712 (encode_coding_emacs_mule, encode_coding_iso_2022): Use the above
713 macro (Bug#9318).
714
7152011-12-05 Andreas Schwab <schwab@linux-m68k.org>
716
717 The following changes are to fix Bug#9318.
718
719 * coding.c (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET): New macros.
720 (encode_coding_emacs_mule, ENCODE_ISO_CHARACTER)
721 (encode_coding_iso_2022, encode_coding_sjis)
722 (encode_coding_big5, encode_coding_charset): Use the above macros.
723
7242011-12-05 Juanma Barranquero <lekktu@gmail.com>
725
726 * lisp.h (process_quit_flag): Fix external declaration.
727
7282011-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
729
730 Don't macro-inline non-performance-critical code.
731 * eval.c (process_quit_flag): New function.
732 * lisp.h (QUIT): Use it.
733
7342011-12-04 Jan Djärv <jan.h.d@swipnet.se>
735
736 * nsfns.m (get_geometry_from_preferences): New function.
737 (Fx_create_frame): Call get_geometry_from_preferences (Bug#10103).
738
7392011-12-04 Andreas Schwab <schwab@linux-m68k.org>
740
741 * emacs.c (Qkill_emacs): Define.
742 (syms_of_emacs): Initialize it.
743 * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set
744 Qquit_flag to `kill-emacs' instead.
745 (quit_throw_to_read_char): Add parameter `from_signal'.
746 All callers changed. Call Fkill_emacs if requested and safe.
747 * lisp.h (QUIT): Call Fkill_emacs if requested.
748
7492011-12-03 Jan Djärv <jan.h.d@swipnet.se>
750
751 * widget.c (update_wm_hints): Return if wmshell is null.
752 (widget_update_wm_size_hints): New function.
753
754 * widget.h (widget_update_wm_size_hints): Declare.
755
756 * xterm.c (x_wm_set_size_hint): If USE_X_TOOLKIT, call
757 widget_update_wm_size_hints (Bug#10104).
758
7592011-12-03 Eli Zaretskii <eliz@gnu.org>
760
761 * xdisp.c (handle_invisible_prop): If the invisible text ends just
762 before a newline, prepare the bidi iterator for consuming the
763 newline, and keep the current paragraph direction. (Bug#10183)
764 (redisplay_window): Don't let `margin' become negative. (Bug#10192)
765
7662011-12-02 Juri Linkov <juri@jurta.org>
767
768 * search.c (Fword_search_regexp): New Lisp function created from
769 `wordify'. Change type of arg `lax' from `int' to `Lisp_Object'.
770 (Fword_search_backward, Fword_search_forward)
771 (Fword_search_backward_lax, Fword_search_forward_lax):
772 Use `Fword_search_regexp' instead of `wordify'. Doc fix.
773 (syms_of_search): Define `Sword_search_regexp'. (Bug#10145)
774
7752011-12-01 Stefan Monnier <monnier@iro.umontreal.ca>
776
777 * fileio.c (Finsert_file_contents): Move after-change-function call
778 to before the "handled:" label, since all "goto handled" appear in
779 cases where the *-change-functions have already been properly called
780 (bug#10117).
781
7822011-12-01 Andreas Schwab <schwab@linux-m68k.org>
783
784 * keyboard.c (interrupt_signal): Don't call kill-emacs when
785 waiting for input. (Bug#10169)
786
7872011-11-30 Eli Zaretskii <eliz@gnu.org>
788
789 * dispnew.c (adjust_glyph_matrix): Remove the assertion that
790 verifies glyph row's hash code--we have just reallocated the
791 glyphs, so their contents can be complete garbage. (Bug#10164)
792
7932011-11-30 Juanma Barranquero <lekktu@gmail.com>
794
795 * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Add missing check.
796
7972011-11-30 Eli Zaretskii <eliz@gnu.org>
798
799 * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Ensure ROW's
800 attributes are tested _before_ calling verify_row_hash, to protect
801 against GCC re-ordering of the tests. (Bug#10164)
802
8032011-11-29 Jan Djärv <jan.h.d@swipnet.se>
804
805 * xterm.h (struct x_output): net_wm_state_hidden_seen is new.
806
807 * xterm.c (handle_one_xevent): Only set async_visible and friends
808 if net_wm_state_hidden_seen is non-zero (Bug#10002)
809 (get_current_wm_state): Set net_wm_state_hidden_seen to 1 if
810 _NET_WM_STATE_HIDDEN is in NET_WM_STATE.
811
8122011-11-28 Paul Eggert <eggert@cs.ucla.edu>
813
814 Remove GCPRO-related macros that exist only to avoid shadowing locals.
815 * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR)
816 (GCPRO6_VAR, UNGCPRO_VAR): Remove. See
817 <http://lists.gnu.org/archive/html/emacs-diffs/2011-11/msg00265.html>.
818 All uses changed to use GCPRO1 etc.
819 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, UNGCPRO):
820 Revert to old implementation (i.e., before 2011-03-11).
821
8222011-11-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
823
824 * dispnew.c (scrolling_window): Truncate overlaps in copy destination
825 of scroll runs so as to avoid assigning disabled bogus rows and
826 unnecessary graphics copy operations.
827
8282011-11-27 Eli Zaretskii <eliz@gnu.org>
829
830 * s/ms-w32.h (utimbuf) [_MSC_VER]: Don't define.
831 (snprintf) [_MSC_VER]: Redirect to _snprintf.
832 (strtoll) [_MSC_VER]: Redirect to _strtoi64.
833 (malloc, free, realloc, calloc): Redirect to e_* only when
834 compiling Emacs.
835
836 * lisp.h (GCTYPEBITS): Move before first use.
837 (ALIGN_GCTYPEBITS) [_MSC_VER]: Define.
838 (DECL_ALIGN) [_MSC_VER]: Use it, as MSVC doesn't like bit ops in
839 this macro definition.
840
841 * s/ms-w32.h (tzname): Redirect to _tzname for all values of
842 _MSC_VER.
843
8442011-11-27 Jan Djärv <jan.h.d@swipnet.se>
845
846 * gtkutil.c (xg_create_frame_widgets):
847 Call gtk_window_set_has_resize_grip (FALSE) if that function is
848 present with Gtk+ 2.0.
849
8502011-11-26 Paul Eggert <eggert@cs.ucla.edu>
851
852 * fileio.c (Finsert_file_contents): Undo previous change; see
853 <http://lists.gnu.org/archive/html/emacs-diffs/2011-11/msg00265.html>.
854
8552011-11-26 Paul Eggert <eggert@cs.ucla.edu>
856
857 Rename locals to avoid shadowing.
858 * fileio.c (Finsert_file_contents):
859 Rename inner 'gcpro1' to 'inner_gcpro1' to avoid shadowing.
860 * process.c (wait_reading_process_output):
861 Rename inner 'proc' to 'p' to avoid shadowing.
862 Indent for consistency with usual Emacs style.
863
8642011-11-25 Eli Zaretskii <eliz@gnu.org>
865
866 * xdisp.c (redisplay_window): If cursor row is not fully visible
867 after recentering, and scroll-conservatively is set to a large
868 number, scroll window by a few more lines to make the cursor fully
869 visible and out of scroll-margin. (Bug#10105)
870 (start_display): Don't move to the next line if the display should
871 start at a newline that is part of a display vector or an overlay
872 string. (Bug#10119)
873
8742011-11-24 Juri Linkov <juri@jurta.org>
875
876 * image.c (imagemagick_load_image): Move `MagickSetResolution' down
877 after the `MagickPingImage' call. (Bug#10112)
878
8792011-11-23 Chong Yidong <cyd@gnu.org>
880
881 * window.c (Fcoordinates_in_window_p): Accept only live windows.
882
8832011-11-23 Martin Rudalics <rudalics@gmx.at>
884
885 * buffer.c (Fkill_buffer): Run replace_buffer_in_windows before
886 making another buffer current. (Bug#10114)
887
8882011-11-23 Glenn Morris <rgm@gnu.org>
889
890 * font.c (font_find_for_lface) [HAVE_NS]: Ignore case. (Bug#2526)
891
8922011-11-23 Chong Yidong <cyd@gnu.org>
893
894 * xdisp.c (compute_stop_pos): Check validity of end_charpos before
895 using it (Bug#5984).
896
8972011-11-22 Eli Zaretskii <eliz@gnu.org>
898
899 * dispnew.c (adjust_glyph_matrix): Don't verify hash code of mode-
900 and header-lines, as they don't have one computed for them.
901 (Bug#10098)
902
903 * .gdbinit (prow): Make displayed values more self-explaining.
904 Add row's hash code.
905
9062011-11-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
907
908 * process.c (wait_reading_process_output): Fix asynchrounous
909 GnuTLS socket handling on some versions of the GnuTLS library.
910 (wait_reading_process_output): Add comment and URL.
911
9122011-11-21 Jan Djärv <jan.h.d@swipnet.se>
913
914 * xterm.c (x_clear_frame): Reinstate the XClearWindow call.
915
9162011-11-21 Chong Yidong <cyd@gnu.org>
917
918 * window.c (Fnext_window, Fprevious_window): Doc fix.
919
9202011-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
921
922 * window.c (get_phys_cursor_glyph): Fix Lisp_Object/int mixup.
923
9242011-11-20 Juanma Barranquero <lekktu@gmail.com>
925
926 * nsfont.m (syms_of_nsfont) <ns-reg-to-script>: Fix typo.
927
9282011-11-20 Martin Rudalics <rudalics@gmx.at>
929
930 * window.c (Fset_window_combination_limit): Rename argument
931 STATUS to LIMIT.
932 (Vwindow_combination_limit): Remove "status" from doc-string.
933
9342011-11-20 Andreas Schwab <schwab@linux-m68k.org>
935
936 * m/ibms390.h: Remove.
937 * m/ibms390x.h: Don't include "ibms390.h".
938
9392011-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
940
941 * fileio.c (Finsert_file_contents): Add missing gcpro1 variable.
942 Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
943
9442011-11-20 Juanma Barranquero <lekktu@gmail.com>
945
946 * casetab.c (Fset_case_table):
947 * charset.c (Fcharset_after): Fix typos.
948
9492011-11-20 Paul Eggert <eggert@cs.ucla.edu>
950
951 Standardize on VIRT_ADDR_VARIES behavior (Bug#10042).
952 Otherwise, valgrind does not work on some platforms.
953 Problem reported by Andreas Schwab in
954 <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00081.html>.
955 * puresize.h (pure, PURE_P): Always behave as if VIRT_ADDR_VARIES
956 is set, removing the need for VIRT_ADDRESS_VARIES.
957 (PURE_P): Use a more-efficient implementation that needs just one
958 comparison, not two: on x86-64 with GCC 4.6.2, this cut down the
959 number of instructions from 6 (xorl, cmpq, jge, xorl, cmpq, setge)
960 to 4 (xorl, subq, cmpq, setbe).
961 * alloc.c (pure): Always extern now, since that's the
962 VIRT_ADDR_VARIES behavior.
963 (PURE_POINTER_P): Use a single comparison, not two, for
964 consistency with the new puresize.h.
965 * lisp.h (PNTR_COMPARISON_TYPE): Remove; no longer needed.
966 * m/ibms390.h, m/intel386.h, m/template.h, s/cygwin.h, s/hpux10-20.h:
967 Remove VIRT_ADDR_VARIES no longer needed.
968
9692011-11-19 Eli Zaretskii <eliz@gnu.org>
970
971 * xdisp.c (x_write_glyphs, draw_phys_cursor_glyph)
972 (erase_phys_cursor, update_window_cursor, show_mouse_face)
973 (cursor_in_mouse_face_p): If the cursor position is out of bounds,
974 behave as if the cursor position were at the window margin.
975
976 * window.c (get_phys_cursor_glyph): If the window is hscrolled,
977 and the cursor position is out of bounds, behave as if the cursor
978 position were at the window margin. (Bug#10075)
979
9802011-11-18 Chong Yidong <cyd@gnu.org>
981
982 * window.c (Fwindow_combination_limit): Make first argument
983 non-optional, since it is meaningless for live windows like the
984 selected window.
985
9862011-11-18 Dmitry Antipov <dmantipov@yandex.ru>
987
988 * keymap.c (Fwhere_is_internal): Add missing RETURN_UNGCPROs.
989
9902011-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
991
992 * intervals.c: Fix grafting over the whole buffer (bug#10071).
993 (graft_intervals_into_buffer): Simplify.
994
9952011-11-18 Eli Zaretskii <eliz@gnu.org>
996
997 * dispnew.c (swap_glyph_pointers): Swap the used[] arrays and the
998 hash values of the two rows.
999 (copy_row_except_pointers): Preserve the used[] arrays and the
1000 hash values of the two rows. (Bug#10035)
1001 (add_row_entry): Add xassert to verify that ROW's hash code is valid.
1002
1003 * xdisp.c (row_hash): New function, body extracted from
1004 compute_line_metrics.
1005 (compute_line_metrics): Call row_hash, instead of computing the
1006 hash code inline.
1007
1008 * dispnew.c (verify_row_hash): Call row_hash for computing the
1009 hash code of a row, instead of duplicating code from xdisp.c.
1010
1011 * dispextern.h (row_hash): Add prototype.
1012
10132011-11-18 Tassilo Horn <tassilo@member.fsf.org>
1014
1015 * frame.c (delete_frame): Don't delete the terminal when the last
1016 X frame is closed if emacs is built with GTK toolkit.
1017
10182011-11-17 Juanma Barranquero <lekktu@gmail.com>
1019
1020 * window.c (syms_of_window) <window-combination-resize>: Fix typo.
1021
10222011-11-17 Martin Rudalics <rudalics@gmx.at>
1023
1024 * window.c (Vwindow_splits): Rename to
1025 Vwindow_combination_resize. Suggested by Juri Linkov.
1026 (Fsplit_window_internal): Use Vwindow_combination_resize instead
1027 of Vwindow_splits.
1028
10292011-11-16 Juanma Barranquero <lekktu@gmail.com>
1030
1031 * nsfns.m (Fns_font_name):
1032 * window.c (syms_of_window) <window-combination-limit>: Fix typos.
1033
10342011-11-16 Martin Rudalics <rudalics@gmx.at>
1035
1036 * window.h (window): Rename slot "nest" to "combination_limit".
1037 * window.c (Fwindow_nest): Rename to Fwindow_combination_limit.
1038 (Fset_window_nest): Rename to Fset_window_combination_limit.
1039 (Vwindow_nest): Rename to Vwindow_combination_limit.
1040 (recombine_windows, make_parent_window, make_window)
1041 (Fsplit_window_internal, saved_window)
1042 (Fset_window_configuration, save_window_save): Rename all
1043 occurrences of window_nest to window_combination_limit.
1044
10452011-11-15 Juanma Barranquero <lekktu@gmail.com>
1046
1047 * image.c (imagemagick_load_image): Fix typo.
1048
10492011-11-14 Eli Zaretskii <eliz@gnu.org>
1050
1051 * xdisp.c (display_line): Move the call to
1052 highlight_trailing_whitespace before the call to
1053 compute_line_metrics, since the latter needs to see the final
1054 faces of all the glyphs to compute ROW's hash value.
1055 Fixes assertion violations in row_equal_p. (Bug#10035)
1056
10572011-11-14 Juanma Barranquero <lekktu@gmail.com>
1058
1059 * w32proc.c (reader_thread): Don't check pending input if cp->fd < 0,
1060 just return (bug#10044).
1061
10622011-11-12 Eli Zaretskii <eliz@gnu.org>
1063
1064 * makefile.w32-in (HEAPSIZE): New variable, allows to build temacs
1065 with user-defined heap size. Bump the default size of the temacs
1066 heap to 27MB, to avoid memory warning when running temacs.
1067 ($(TEMACS)): Use HEAPSIZE instead of a hardcoded value.
1068
1069 * dispnew.c (scrolling_window): Fix incorrect indices in accessing
1070 current_matrix and desired_matrix. (Bug#9990)
1071 (verify_row_hash) [XASSERTS]: New function.
1072 (adjust_glyph_matrix, row_equal_p): Use it in xassert to verify
1073 that the hash value of glyph rows is correct.
1074
10752011-11-12 Martin Rudalics <rudalics@gmx.at>
1076
1077 * window.h (window): Remove splits slot.
1078 * window.c (Fwindow_splits, Fset_window_splits): Remove.
1079 (Fdelete_other_windows_internal, make_parent_window)
1080 (make_window, Fsplit_window_internal, Fdelete_window_internal)
1081 (Fset_window_configuration, save_window_save): Don't deal with
1082 split status of windows.
1083 (saved_window): Remove splits slot.
1084 (Vwindow_splits): Rewrite doc-string.
1085
10862011-11-11 Jan Djärv <jan.h.d@swipnet.se>
1087
1088 * xfns.c (unwind_create_frame):
1089 * nsfns.m (unwind_create_frame):
1090 * w32fns.c (unwind_create_frame): Use Fmemq to check if frame is in
1091 Vframe_list (Bug#9999).
1092
10932011-11-11 Dmitry Antipov <dmantipov@yandex.ru>
1094
1095 * xdisp.c (syms_of_xdisp): Remove duplicated definition of Qtext.
1096
10972011-11-11 Kenichi Handa <handa@m17n.org>
1098
1099 * callproc.c (Fcall_process): Set the member dst_multibyte of
1100 process_coding.
1101
11022011-11-11 Johan Bockgård <bojohan@gnu.org>
1103
1104 * xdisp.c (fill_composite_glyph_string): Always set s->face, to
1105 avoid a crash (bug#9496).
1106
11072011-11-09 Chong Yidong <cyd@gnu.org>
1108
1109 * window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
1110 (Fwindow_inside_absolute_pixel_edges): Only allow live windows.
1111
11122011-11-08 Paul Eggert <eggert@cs.ucla.edu>
1113
1114 * s/gnu.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS (Bug#9926).
1115
11162011-11-08 Paul Eggert <eggert@cs.ucla.edu>
1117
1118 Avoid some portability problems by eschewing 'extern inline' functions.
1119 The trivial performance wins aren't worth the portability hassles; see
1120 <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00084.html>
1121 et seq.
1122 * dispextern.h (window_box, window_box_height, window_text_bottom_y)
1123 (window_box_width, window_box_left, window_box_left_offset)
1124 (window_box_right, window_box_right_offset): Undo previous change,
1125 by removing the "extern"s.
1126 * intervals.c (adjust_intervals_for_insertion)
1127 (adjust_intervals_for_deletion): Undo previous change,
1128 making these static again.
1129 (offset_intervals, temp_set_point_both, temp_set_point)
1130 (copy_intervals_to_string): No longer inline.
1131 * xdisp.c (window_text_bottom_y, window_box_width)
1132 (window_box_height, window_box_left_offset)
1133 (window_box_right_offset, window_box_left, window_box_right)
1134 (window_box): No longer inline.
1135
11362011-11-08 Chong Yidong <cyd@gnu.org>
1137
1138 * window.c (Fwindow_left_column, Fwindow_top_line): Doc fix.
1139 (Fwindow_body_height, Fwindow_body_width): Move from Lisp.
1140 Signal an error if not a live window.
1141 (Fwindow_total_width, Fwindow_total_height): Move from Lisp.
1142 (Fwindow_total_size, Fwindow_body_size): Move to Lisp.
1143
11442011-11-07 Juanma Barranquero <lekktu@gmail.com>
1145
1146 * lisp.h (syms_of_abbrev): Remove declaration.
1147 Reported by CHENG Gao <chenggao@royau.me>.
1148
11492011-11-07 Eli Zaretskii <eliz@gnu.org>
1150
1151 * w32.c (check_windows_init_file): Don't look for term/w32-win.el
1152 if Vpurify_flag is non-nil. Fixes a crash when running w32 build
1153 of temacs in GUI mode.
1154
11552011-11-07 Martin Rudalics <rudalics@gmx.at>
1156
1157 * window.h: Declare delete_all_child_windows instead of
1158 delete_all_subwindows.
1159 * window.c (Fwindow_nest, Fset_window_nest)
1160 (Fset_window_new_total, Fset_window_new_normal)
1161 (Fwindow_resize_apply): Don't use term subwindow in doc-strings.
1162 (delete_all_subwindows): Rename to delete_all_child_windows.
1163 (Fdelete_other_windows_internal, Fset_window_configuration):
1164 Call delete_all_child_windows instead of delete_all_subwindows.
1165 * frame.c (delete_frame): Call delete_all_child_windows instead
1166 of delete_all_subwindows.
1167
11682011-11-07 Paul Eggert <eggert@cs.ucla.edu>
1169
1170 * alloc.c (DEADP): New macro, for porting to GNU/Hurd (Bug#9926).
1171 This is also needed for porting to any host where GC_MARK_STACK is
1172 not GC_MAKE_GCPROS_NOOPS.
1173 (which_symbols): Use it.
1174
11752011-11-07 Kenichi Handa <handa@m17n.org>
1176
1177 * coding.c (coding_set_destination): Check coding->src_pos only
1178 when coding->src_object is a buffer (bug#9910).
1179
1180 * process.c (send_process): Set the member src_multibyte of coding
1181 to 0 (bug#9911) when sending a unibyte text.
1182
1183 * callproc.c (Fcall_process): Set the member src_multibyte of
1184 process_coding to 0 (bug#9912).
1185
11862011-11-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1187
1188 * xmenu.c (cleanup_widget_value_tree): New function.
1189 (xmenu_show, xdialog_show): Use it in record_unwind_protect instead of
1190 calling free_menubar_widget_value_tree directly (Bug#9830).
1191
11922011-11-06 Paul Eggert <eggert@cs.ucla.edu>
1193
1194 Fix some portability problems with 'inline'.
1195 * dispextern.h (window_box, window_box_height, window_text_bottom_y)
1196 (window_box_width, window_box_left, window_box_left_offset)
1197 (window_box_right, window_box_right_offset): Declare extern.
1198 Otherwise, these inline functions do not conform to C99 and
1199 are miscompiled by Microsoft compilers. Reported by Eli Zaretskii in
1200 <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00084.html>.
1201 * intervals.c (adjust_intervals_for_insertion)
1202 (adjust_intervals_for_deletion): Now extern, because otherwise the
1203 extern inline functions 'offset_intervals' couldn't refer to it.
1204 (static_offset_intervals): Remove.
1205 (offset_intervals): Rewrite using the old contents of
1206 static_offset_intervals. The old version didn't conform to C99
1207 because an extern inline function contained a reference to an
1208 identifier with static linkage.
1209
12102011-11-06 Andreas Schwab <schwab@linux-m68k.org>
1211
1212 * keyboard.c (interrupt_signal): Don't call kill-emacs while in
1213 GC.
1214
12152011-11-06 Eli Zaretskii <eliz@gnu.org>
1216
1217 * xdisp.c (init_iterator, reseat_to_string): Don't set the
1218 iterator's bidi_p flag if Vpurify_flag is non-nil. (Bug#9963)
1219 (Fcurrent_bidi_paragraph_direction): If Vpurify_flag is non-nil,
1220 return Qleft_to_right.
1221
12222011-11-06 Chong Yidong <cyd@gnu.org>
1223
1224 * window.c (Fwindow_live_p, Fwindow_frame, Fframe_root_window)
1225 (Fminibuffer_window, Fwindow_buffer, Fwindow_splits)
1226 (Fset_window_splits, Fwindow_nest, Fset_window_nest)
1227 (Fwindow_use_time, Fwindow_total_size, Fwindow_normal_size)
1228 (Fwindow_new_normal, Fwindow_left_column, Fwindow_top_line)
1229 (Fwindow_margins, Fwindow_fringes, Fwindow_scroll_bars)
1230 (Fwindow_vscroll): Doc fix.
1231 (Fwindow_top_child, Fwindow_left_child): Eliminate a nil default
1232 argument, since it makes no sense to pass a live window and for
1233 consistency with window-child.
1234
12352011-11-05 Christoph Scholtes <cschol2112@googlemail.com>
1236
1237 * makefile.w32-in ($(TEMACS), (gl-stamp)): Use $(THISDIR) to
1238 support MSVC.
1239
12402011-11-05 Jason Rumney <jasonr@gnu.org>
1241
1242 * w32font.c (font_matches_spec): Filter out non-Japanese kana fonts.
1243 (add_font_entity_to_list): Filter out non-Japanese Shift-JIS
1244 fonts (Bug#6029).
1245 (add_font_entity_to_list): Fix logic errors in mixed boolean and
1246 bitwise arithmetic preventing use of unicode-sip and non-truetype
1247 opentype fonts.
1248
12492011-11-05 Eli Zaretskii <eliz@gnu.org>
1250
1251 * s/ms-w32.h (fstat, stat, utime): Move redirections to
1252 "emacs"-only part.
1253
1254 * w32fns.c (x_create_tip_frame, Fx_create_frame): Rearrange
1255 initialization code to keep similarity to xfns.c after changes
1256 from 2011-11-05.
1257
12582011-11-05 Jan Djärv <jan.h.d@swipnet.se>
1259
1260 * nsfns.m: Declare image_cache_refcount if GLYPH_DEBUG.
1261 (unwind_create_frame): New function (Bug#9943).
1262 (Fx_create_frame): Restructure code to be more similar to the one in
1263 xfns.c. Call record_unwind_protect with unwind_create_frame (Bug#9943).
1264 Initialize image_cache_refcount if GLYPH_DEBUG (Bug#9943).
1265 Move terminal->reference_count++ just before making the frame official
1266 (Bug#9943).
1267
1268 * nsterm.m (x_free_frame_resources): New function.
1269 (x_destroy_window): Move code to x_free_frame_resources.
1270
1271 * xfns.c (unwind_create_frame): Fix comment.
1272 (Fx_create_frame, x_create_tip_frame):
1273 Move terminal->reference_count++ just before making the frame
1274 official. Move initialization of image_cache_refcount and
1275 dpyinfo_refcount before calling init_frame_faces (Bug#9943).
1276
12772011-11-05 Eli Zaretskii <eliz@gnu.org>
1278
1279 Support MSVC build with newer versions of Visual Studio.
1280 * makefile.w32-in (TAGS-gmake): Don't use $(patsubst ...), as
1281 Nmake barfs on that. Use $(OBJ*_c) variables instead, defined on
1282 nt/gmake.defs.
1283
1284 * lisp.h (ENUM_BF): New macro, for enumerated types in bitfields,
1285 which are not supported by MSVC.
1286 (Lisp_Symbol, Lisp_Misc_Any, Lisp_Marker, Lisp_Misc_Overlay)
1287 (Lisp_Save_Value, Lisp_Free): Use ENUM_BF for enumerated types in
1288 bitfields.
1289 (Lisp_Object) [USE_LISP_UNION_TYPE]: Use ENUM_BF for enumerated
1290 types in bitfields.
1291 (DEFUN) [_MSC_VER]: Define in a different way for MSVC.
1292
1293 * w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version.
1294
12952011-11-05 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1296
1297 Support MSVC build with newer versions of Visual Studio.
1298 * w32.c: Don't include w32api.h for MSVC.
1299 (init_environment) [_MSC_VER]: Call sys_access, not _access.
1300
1301 * s/ms-w32.h <sigset_t, ssize_t> [_MSC_VER]: Typedefs for MSVC.
1302 [_MSC_VER]: Include sys/timeb.h, sys/stat.h, and signal.h.
1303 (fstat, stat, utime) [_MSC_VER]: Redirect to their sys_* cousins.
1304 (malloc, free, realloc, calloc) [_MSC_VER]: Always redirect to the
1305 e_* cousins.
1306 (alloca) [_MSC_VER]: Define to _alloca.
1307
1308 * lisp.h (DECL_ALIGN) [_MSC_VER]: Define for MSVC.
1309
1310 * regex.c <re_char> [_MSC_VER]: A separate definition for MSVC.
1311
13122011-11-04 Eli Zaretskii <eliz@gnu.org>
1313
1314 * xdisp.c (note_mouse_highlight): If either of
1315 previous/next-single-property-change returns nil, treat that as
1316 the beginning or the end of the buffer. (Bug#9955)
1317
13182011-11-04 Jan Djärv <jan.h.d@swipnet.se>
1319
1320 * gtkutil.c (xg_make_tool_item): Add callbacks if one of wimage or
1321 label is not null (Bug#9951).
1322 (xg_tool_item_stale_p): Handle the fact that wimage and/or wlbl
1323 may be NULL.
1324
13252011-11-04 Eli Zaretskii <eliz@gnu.org>
1326
1327 * window.c (Fwindow_body_size): Mention in the doc string that the
1328 return value is in frame's canonical units. (Bug#9949)
1329
13302011-11-03 Eli Zaretskii <eliz@gnu.org>
1331
1332 * xdisp.c (note_mouse_highlight): Initialize `area'. (Bug#9947)
1333
1334 * w32fns.c (unwind_create_frame): If needed, free the glyph
1335 matrices of the partially constructed frame. (Bug#9943)
1336 * xfns.c (unwind_create_frame): Likewise.
1337
13382011-11-01 Eli Zaretskii <eliz@gnu.org>
1339
1340 * xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment.
1341 Don't stop backward scan on the continuation glyph, even though
1342 its CHARPOS is positive.
1343 (mouse_face_from_buffer_pos, note_mouse_highlight):
1344 Rename cover_string to disp_string.
1345
13462011-11-01 Martin Rudalics <rudalics@gmx.at>
1347
1348 * window.c (temp_output_buffer_show): Don't use
1349 Vtemp_buffer_show_specifiers.
1350 (Vtemp_buffer_show_specifiers): Remove unused variable.
1351
13522011-10-30 Eli Zaretskii <eliz@gnu.org>
1353
1354 * xdisp.c (try_cursor_movement): Make sure ROW isn't decremented
1355 past the beginning of the current glyph matrix.
1356
13572011-10-30 Adam Sjøgren <asjo@koldfront.dk> (tiny change)
1358
1359 * xterm.c: Include X11/Xproto.h if HAVE_GTK3.
1360 (x_error_handler): Ignore BadMatch for X_SetInputFocus for
1361 HAVE_GTK3 (Bug#9869).
1362
1363 * gtkutil.c (xg_win_to_widget, xg_event_is_for_menubar): Initialize
1364 type to GDK_NOTHING so valgrind does not complain (Bug#9901).
1365
1366 * xterm.h (x_display_info): Add Xatom_net_wm_state_hidden (Bug#9893).
1367
1368 * xterm.c: Declare x_handle_net_wm_state to return int.
1369 (handle_one_xevent): Check if we are iconified but don't have
1370 _NET_WM_STATE_HIDDEN. If do, treat as deiconify (Bug#9893).
1371 (get_current_wm_state): Return non-zero if not hidden,
1372 check for _NET_WM_STATE_HIDDEN (Bug#9893).
1373 (do_ewmh_fullscreen): Ignore return value from get_current_wm_state.
1374 (x_handle_net_wm_state): Return what get_current_wm_state returns.
1375 (x_term_init): Initialize dpyinfo->Xatom_net_wm_state_hidden.
1376
13772011-10-29 Paul Eggert <eggert@cs.ucla.edu>
1378
1379 * alloc.c (which_symbols): Declare EXTERNALLY_VISIBLE,
1380 so that this new function doesn't get optimized away by a
1381 whole-program optimizer. Make the 2nd arg EMACS_INT, not int.
1382
13832011-10-29 Andreas Schwab <schwab@linux-m68k.org>
1384
1385 * frame.h (MOUSE_HL_INFO): Remove excess parens.
1386
13872011-10-29 Eli Zaretskii <eliz@gnu.org>
1388
1389 Fix the `xbytecode' command.
1390 * .gdbinit (xprintbytestr): New command.
1391 (xwhichsymbols): Rename from `which'; all callers changed.
1392 (xbytecode): Print the byte-code string as well.
1393
13942011-10-29 Kim Storm <storm@cua.dk>
1395
1396 * alloc.c (which_symbols): New function.
1397
13982011-10-29 Andreas Schwab <schwab@linux-m68k.org>
1399
1400 * minibuf.c (read_minibuf_noninteractive): Allow reading empty
1401 line. (Bug#9903)
1402
14032011-10-29 Glenn Morris <rgm@gnu.org>
1404
1405 * process.c (wait_reading_process_output): Revert 2009-08-30 change.
1406 Not clear what it was for, and it causes various bugs. (Bug#9839)
1407
14082011-10-28 Eli Zaretskii <eliz@gnu.org>
1409
1410 * xdisp.c (note_mouse_highlight): Initialize `part', to avoid a
1411 possible random value that matches one of those tested as
1412 condition to clear the mouse face.
1413
14142011-10-28 Chong Yidong <cyd@gnu.org>
1415
1416 * xdisp.c (note_mouse_highlight): Fix use of uninitialized var.
1417
14182011-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1419
1420 * window.c (make_window): Initialize phys_cursor_on_p.
1421
14222011-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1423
1424 * lisp.h (struct Lisp_Symbol): Update comments.
1425
14262011-10-28 Juanma Barranquero <lekktu@gmail.com>
1427
1428 * w32font.c (w32_load_unicows_or_gdi32): Add missing return.
1429
14302011-10-28 Eli Zaretskii <eliz@gnu.org>
1431
1432 Fix Emacs on Windows 9X (bug#8562). Thanks to oslsachem
1433 <oslsachem@gmail.com> for helping to debug this.
1434
1435 * w32font.c (g_b_init_is_w9x, g_b_init_get_outline_metrics_w)
1436 (g_b_init_get_text_metrics_w, g_b_init_get_glyph_outline_w)
1437 (g_b_init_get_glyph_outline_w): New static variables.
1438 (GetOutlineTextMetricsW_Proc, GetTextMetricsW_Proc)
1439 (GetGlyphOutlineW_Proc): New typedefs.
1440 (w32_load_unicows_or_gdi32, get_outline_metrics_w)
1441 (get_text_metrics_w, get_glyph_outline_w, globals_of_w32font):
1442 New functions.
1443 (w32font_open_internal, compute_metrics):
1444 Call get_outline_metrics_w, get_text_metrics_w, and get_glyph_outline_w
1445 instead of calling the "wide" APIs directly.
1446
1447 * emacs.c (main) [HAVE_NTGUI]: Call globals_of_w32font.
1448
1449 * w32.h (syms_of_w32font): Add prototype.
1450
14512011-10-27 Juanma Barranquero <lekktu@gmail.com>
1452
1453 * window.c (Fframe_root_window, Fframe_first_window, Fwindow_end)
1454 (Fframe_selected_window, Ftemp_output_buffer_show, Fnext_window)
1455 (Fdelete_window_internal, Fwindow_parameters): Fix typos in docstrings.
1456 (Fmove_to_window_line): Doc fix.
1457
14582011-10-27 Chong Yidong <cyd@gnu.org>
1459
1460 * process.c (make_process): Set gnutls_state to NULL.
1461
1462 * gnutls.c (emacs_gnutls_deinit): Deinit the gnutls_state if it is
1463 non-NULL, regardless of GNUTLS_INITSTAGE.
1464 (Fgnutls_boot): Cleanups. Call emacs_gnutls_deinit if we signal
1465 an error. Set process slots as soon as we allocate them.
1466
1467 * gnutls.h (GNUTLS_LOG, GNUTLS_LOG2): Fix macros.
1468
14692011-10-27 Chong Yidong <cyd@gnu.org>
1470
1471 * gnutls.c (emacs_gnutls_deinit): New function.
1472 Deallocate credentials structures as well as calling gnutls_deinit.
1473 (Fgnutls_deinit, Fgnutls_boot): Use it.
1474
1475 * process.c (make_process): Initialize GnuTLS credentials to NULL.
1476 (deactivate_process): Call emacs_gnutls_deinit.
1477
14782011-10-27 Juanma Barranquero <lekktu@gmail.com>
1479
1480 * image.c (x_create_x_image_and_pixmap):
1481 * w32.c (sys_rename, w32_delayed_load):
1482 * w32font.c (fill_in_logfont):
1483 * w32reg.c (x_get_string_resource): Silence compiler warnings.
1484
14852011-10-26 Juanma Barranquero <lekktu@gmail.com>
1486
1487 * w32fns.c (w32_default_color_map): New function,
1488 extracted from Fw32_default_color_map.
1489 (Fw32_default_color_map, Fx_open_connection): Use it. (Bug#9785)
1490
14912011-10-25 Paul Eggert <eggert@cs.ucla.edu>
1492
1493 * dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2).
1494
14952011-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
1496
1497 * keyboard.c (test_undefined): New function (bug#9751).
1498 (read_key_sequence): Use it to detect when a key is bound to `undefined'.
1499
15002011-10-25 Enami Tsugutomo <tsugutomo.enami@jp.sony.com>
1501
1502 * sysdep.c (init_sys_modes): Fix the check for the controlling
1503 terminal (Bug#6649).
1504
15052011-10-20 Eli Zaretskii <eliz@gnu.org>
1506
1507 * dispextern.h (struct bidi_it): New member next_en_type.
1508
1509 * bidi.c (bidi_line_init): Initialize the next_en_type member.
1510 (bidi_resolve_explicit_1): When next_en_pos is valid for the
1511 current character, check also for next_en_type being WEAK_EN.
1512 (bidi_resolve_weak): Don't enter the expensive loop if the current
1513 position is before next_en_pos. Record the bidi type of the first
1514 non-ET, non-BN character we find, in addition to its position.
1515 (bidi_level_of_next_char): Invalidate next_en_type when
1516 next_en_pos is over-stepped.
1517
15182011-10-20 Paul Eggert <eggert@cs.ucla.edu>
1519
1520 Time zone name fixes for non-ASCII locales (Bug#641, Bug#9794)
1521 * editfns.c: Rewrite current-time-zone so that it invokes
1522 the equivalent of (format-time-string "%Z") to get the time zone name.
1523 This fixes a bug when the time zone name contains characters that
1524 need converting from the system time locale to Emacs internal format.
1525 This fixes a shortcoming that I introduced in my 1999-10-19 patch:
1526 that patch fixed format-time-string to do the conversion, but
1527 I forgot to fix current-time-zone.
1528 (format_time_string): New function, containing most of
1529 what Fformat_time_string used to contain.
1530 (Fformat_time_string): Rewrite in terms of format_time_string.
1531 This doesn't change this function's behavior.
1532 (current-time-zone): Rewrite to use format_time_string.
1533 This fixes the bug reported by Michael Schierl in
1534 <http://lists.gnu.org/archive/html/emacs-devel/2007-06/msg00334.html>.
1535 Jason Rumney's 2007-06-07 change worked around this bug, but
1536 didn't fix it.
1537 * systime.h (tzname, timezone): Remove no-longer-used declarations.
1538
15392011-10-19 Eli Zaretskii <eliz@gnu.org>
1540
1541 * xdisp.c (start_display): If the character at POS is displayed
1542 via a display vector, reset IT->current.dpvec_index to zero.
1543 (try_window_reusing_current_matrix): If a line ends in a display
1544 vector or the next line starts in a display vector, continue
1545 redrawing the window even though the character position of
1546 start_row was reached.
1547 (Bug#9771, part 2)
1548
15492011-10-18 Chong Yidong <cyd@gnu.org>
1550
1551 * xdisp.c (get_next_display_element): Handle U+2010 and U+2011
1552 with nobreak-char-display too.
1553
15542011-10-18 Eli Zaretskii <eliz@gnu.org>
1555
1556 Fix part 3 of bug#9771.
1557 * bidi.c (bidi_line_init): Initialize next_en_pos to zero, not -1.
1558 (bidi_resolve_neutral): Don't enter the expensive loop looking for
1559 non-neutral characters if the current character is a paragraph
1560 separator (a.k.a. Newline). This avoids running the same
1561 expensive loop twice, once when we consume the preceding newline
1562 and the other time when the line actually needs to be displayed.
1563 Avoid the loop when we see neutrals on the base embedding level
1564 following a character whose directionality is the same as the
1565 paragraph's. This avoids running the expensive loop when a line
1566 ends in a long sequence of neutrals, like control characters.
1567 Add assertion against STRONG_AL type. Slightly rearrange code
1568 that determines the type of a neutral given the first non-neutral
1569 that follows it.
1570 (bidi_level_of_next_char): Set next_en_pos to zero when
1571 invalidating its info.
1572
15732011-10-17 Eli Zaretskii <eliz@gnu.org>
1574
1575 * xdisp.c (push_display_prop): Determine whether to record string
1576 or buffer position by IT->string, not by IT->method. Allow
1577 GET_FROM_DISPLAY_VECTOR as IT->method on entry. (Bug#9771, part 4)
1578 (move_it_vertically_backward): Don't look for character position
1579 immediately after the newline when in a continuation line.
1580 (Bug#9771, part 1)
1581
15822011-10-15 Martin Rudalics <rudalics@gmx.at>
1583
1584 * window.c (coordinates_in_window): Rewrite and delabelize
1585 vertical border check. (Bug#5357) (Bug#9618)
1586
15872011-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
1588
1589 * xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained
1590 errors in XSetWindowBorder (bug#9310).
1591
15922011-10-13 Dmitry Antipov <dmantipov@yandex.ru>
1593
1594 * editfns.c (Fset_time_zone_rule): Replace free with xfree to
1595 avoid crash when xmalloc overrun checking is enabled.
1596
15972011-10-13 Eli Zaretskii <eliz@gnu.org>
1598
1599 * xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
1600 itb.paragraph_dir to NEUTRAL_DIR. Fixes an occasional incorrect
1601 cursor motion with <left> and <right> arrow keys.
1602
1603 * bidi.c (bidi_init_it): Don't initialize paragraph_dir here, as
1604 some callers set that themselves.
1605
16062011-10-12 Eli Zaretskii <eliz@gnu.org>
1607
1608 * xdisp.c (find_row_edges): Handle the case where ROW comes from a
1609 display string and the previous row comes from the same string and
1610 is empty. (Bug#9739) (Bug#9738)
1611
16122011-10-12 Stefan Monnier <monnier@iro.umontreal.ca>
1613
1614 * doc.c (get_doc_string): Encode file name (bug#9735).
1615
16162011-10-12 Eli Zaretskii <eliz@gnu.org>
1617
1618 * bidi.c (bidi_level_of_next_char):
1619 * xdisp.c (get_visually_first_element): Remove old incorrect
1620 comments regarding the Unicode Line Separator character.
1621
1622 * bidi.c (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR.
1623
16242011-10-12 Dmitry Antipov <dmantipov@yandex.ru>
1625
1626 * alloc.c (Fgc_status): Do not access beyond zombies array
1627 boundary if nzombies > MAX_ZOMBIES.
1628 * alloc.c (dump_zombies): Add missing format specifier.
1629
16302011-10-12 Paul Eggert <eggert@cs.ucla.edu>
1631
1632 * xdisp.c (set_cursor_from_row): Simplify conditionals,
1633 to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow.
1634
1635 * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff.
1636 Some packages use them to denote characters with modifiers.
1637
16382011-10-11 Andreas Schwab <schwab@linux-m68k.org>
1639
1640 * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR)
1641 (GCPRO5_VAR, GCPRO6_VAR, UNGCPRO_VAR): Add whitespace to avoid
1642 matching a pp-number. Rename parameter var to var1.
1643
16442011-10-11 Stefan Monnier <monnier@iro.umontreal.ca>
1645
1646 * minibuf.c (Finternal_complete_buffer): Fix last change (bug#9709).
1647
16482011-10-08 Glenn Morris <rgm@gnu.org>
1649
1650 * callint.c (Fcall_interactively): Give a more explicit error for the
1651 'c' case with a non-character input. (Bug#8479)
1652
16532011-10-08 Eli Zaretskii <eliz@gnu.org>
1654
1655 * xdisp.c (hscroll_window_tree): Support hscroll in right-to-left
1656 lines.
1657 (set_cursor_from_row): Fix cursor positioning in mixed L2R+R2L
1658 lines that are hscrolled on the left.
1659
1660 * dispnew.c (buffer_posn_from_coords): Account for a possible
1661 presence of header-line. (Bug#4426)
1662
16632011-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
1664
1665 * buffer.c (syms_of_buffer) <enable-multibyte-characters>:
1666 Don't advertise functionality which we discourage or doesn't work.
1667
16682011-10-07 Paul Eggert <eggert@cs.ucla.edu>
1669
1670 * alloc.c (GC_LISP_OBJECT_ALIGNMENT): Use offsetof, not __alignof__
1671 or sizeof. __alignof__ gives the wrong answer on Fedora x86-64
1672 with GCC 4.6.1 when configured with CC='gcc -m32' --with-wide-int;
1673 this makes Emacs dump core during garbage collection on rare
1674 occasions. sizeof is obviously inferior to offsetof here, so
1675 stick with offsetof.
1676 (GC_POINTER_ALIGNMENT): New macro.
1677 (mark_memory): Omit 3rd (offset) arg; caller changed.
1678 Don't assume EMACS_INT alignment is the same as pointer alignment.
1679
16802011-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
1681
1682 * keyboard.c (read_key_sequence_remapped): New var.
1683 (read_key_sequence): Compute remapping in the right buffer.
1684 (command_loop_1): Use read_key_sequence's remapping directly.
1685
16862011-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
1687
1688 * dired.c (file_name_completion): Don't expand file name.
1689 (Ffile_name_completion, Ffile_name_all_completions): Expand file name
1690 before checking file name handler.
1691
1692 * minibuf.c (Finternal_complete_buffer): Only show internal buffers if
1693 they've been requested explicitly (bug#9591).
1694
16952011-10-01 Andreas Schwab <schwab@linux-m68k.org>
1696
1697 * keymap.c (Fsingle_key_description): Use make_specified_string
1698 instead of build_string to build string from push_key_description.
1699 (Bug#5193)
1700
17012011-09-30 Paul Eggert <eggert@cs.ucla.edu>
1702
1703 * buffer.h (struct buffer): Use time_t, not int, for a time stamp.
1704 This fixes a Y2038 bug on 64-bit hosts.
1705 * buffer.c (reset_buffer):
1706 * fileio.c (Fdo_auto_save, Fset_buffer_auto_saved)
1707 (Fclear_buffer_auto_save_failure):
1708 Use 0, not -1, to represent an unset failure time, since time_t
1709 might not be signed.
1710
1711 Remove dependency on glibc malloc internals.
1712 * alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
1713 Move back here from lisp.h, but with their new implementations.
1714 (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
1715 (XMALLOC_OVERRUN_SIZE_SIZE): Move these new lisp.h macros here.
1716 * charset.c (charset_table_init): New static var.
1717 (syms_of_charset): Use it instead of xmalloc. This removes a
1718 dependency on glibc malloc internals. See Eli Zaretskii's comment in
1719 <http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00815.html>.
1720 * lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
1721 Move back to alloc.c.
1722 (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
1723 (XMALLOC_OVERRUN_SIZE_SIZE): Move to alloc.c.
1724
17252011-09-30 Jan Djärv <jan.h.d@swipnet.se>
1726
1727 * nsterm.m (windowDidResize): Call x_set_window_size only when
1728 ns_in_resize is true. Otherwise set pixelwidth/height and
1729 call change_frame_size (Bug#9628).
1730
17312011-09-30 Paul Eggert <eggert@cs.ucla.edu>
1732
1733 Port --enable-checking=all to Fedora 14 x86-64.
1734 * charset.c (syms_of_charset): Also account for glibc malloc's
1735 internal overhead when calculating the initial malloc maximum.
1736
1737 Port --enable-checking=all to Fedora 14 x86.
1738 * alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
1739 Move to lisp.h.
1740 (xmalloc_put_size, xmalloc_get_size, overrun_check_malloc)
1741 (overrun_check_realloc, overrun_check_free):
1742 Use XMALLOC_OVERRUN_SIZE_SIZE, not sizeof (size_t).
1743 That way, xmalloc returns a properly-aligned pointer even if
1744 XMALLOC_OVERRUN_CHECK is defined. The old debugging code happened
1745 to align OK on typical 64-bit hosts, but not on Fedora 14 x86.
1746 * charset.c (syms_of_charset): Take XMALLOC_OVERRUN_CHECK_OVERHEAD
1747 into account when calculating the initial malloc maximum.
1748 * lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
1749 Move here from alloc.c, so that charset.c can use it too.
1750 Properly align; the old code wasn't right for common 32-bit hosts
1751 when configured with --enable-checking=all.
1752 (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
1753 (XMALLOC_OVERRUN_SIZE_SIZE): New macros.
1754
17552011-09-29 Eli Zaretskii <eliz@gnu.org>
1756
1757 * sysdep.c (snprintf) [!EOVERFLOW]: If EOVERFLOW is not defined,
1758 use EDOM.
1759
17602011-09-28 Eli Zaretskii <eliz@gnu.org>
1761
1762 * xdisp.c (compute_display_string_end): If there's no display
1763 string at CHARPOS, return -1.
1764
1765 * bidi.c (bidi_fetch_char): When compute_display_string_end
1766 returns a negative value, treat the character as a normal
1767 character not covered by a display string. (Bug#9624)
1768
17692011-09-28 Juanma Barranquero <lekktu@gmail.com>
1770
1771 * lread.c (Fread_from_string): Fix typo in docstring.
1772
17732011-09-27 Eli Zaretskii <eliz@gnu.org>
1774
1775 * xdisp.c (handle_invisible_prop): If invisible text ends on a
1776 newline, reseat the iterator instead of bidi-iterating there one
1777 character at a time. (Bug#9610)
1778 (BUFFER_POS_REACHED_P, move_it_in_display_line_to): Bail when past
1779 TO_CHARPOS if the bidi iterator is at base embedding level.
1780
17812011-09-27 Andreas Schwab <schwab@linux-m68k.org>
1782
1783 * lread.c (readevalloop): Use correct code for NBSP.
1784 (read1): Likewise. (Bug#9608)
1785
17862011-09-25 Michael Albinus <michael.albinus@gmx.de>
1787
1788 * dbusbind.c (Fdbus_register_signal): When service is not
1789 registered, use nil in Vdbus_registered_objects_table. (Bug#9581)
1790
17912011-09-25 Glenn Morris <rgm@gnu.org>
1792
1793 * buffer.c (truncate-lines): Doc fix.
1794
17952011-09-24 Chong Yidong <cyd@stupidchicken.com>
1796
1797 * window.c (Fwindow_prev_buffers, Fset_window_prev_buffers)
1798 (Fset_window_next_buffers): Doc fix.
1799
18002011-09-24 Glenn Morris <rgm@gnu.org>
1801
1802 * minibuf.c (read_minibuf): Disable line truncation. (Bug#5715)
1803
18042011-09-24 Paul Eggert <eggert@cs.ucla.edu>
1805
1806 Fix minor problems found by static checking.
1807 * xdisp.c (string_from_display_spec): Don't assume vecsize fits in int.
1808 * indent.c (Fvertical_motion): Fix == vs = typo.
1809
18102011-09-24 Eli Zaretskii <eliz@gnu.org>
1811
1812 * dispnew.c (syms_of_display) <redisplay-dont-pause>:
1813 Default value is now t. Doc fix.
1814
1815 * indent.c (Fvertical_motion): Compute and apply the overshoot
1816 logic when moving up, not only when moving down. Fix the
1817 confusing name and values of the it_overshoot_expected variable;
1818 logic changes accordingly. (Bug#9254) (Bug#9549)
1819
1820 * xdisp.c (pos_visible_p): Produce correct pixel coordinates when
1821 CHARPOS is covered by a display string which includes newlines.
1822 (move_it_vertically_backward): Avoid inflooping when START_CHARPOS
1823 is covered by a display string with embedded newlines.
1824
18252011-09-24 Michael Albinus <michael.albinus@gmx.de>
1826
1827 * dbusbind.c (Fdbus_register_signal): Add match rule to
1828 Vdbus_registered_objects_table. (Bug#9581)
1829 (Fdbus_register_method, Vdbus_registered_objects_table):
1830 Fix docstring.
1831
18322011-09-24 Jim Meyering <meyering@redhat.com>
1833
1834 do not ignore write error for any output size
1835 The previous change was incomplete.
1836 While it makes emacs --batch detect the vast majority of stdout
1837 write failures, errors were still ignored whenever the output size is
1838 k * (BUFSIZ+1) - 4. E.g., on a system with BUFSIZ of 4096,
1839 $ emacs --batch --eval '(print (format "%4093d" 0))' > /dev/full \
1840 && echo FAIL: ignored write error
1841 FAIL: ignored write error
1842 $ emacs --batch --eval '(print (format "%20481d" 0))' > /dev/full \
1843 && echo FAIL: ignored write error
1844 FAIL: ignored write error
1845 * emacs.c (Fkill_emacs): Also test ferror. (Bug#9574)
1846
18472011-09-23 Andreas Schwab <schwab@linux-m68k.org>
1848
1849 * emacs.c (Fkill_emacs): In noninteractive mode exit
1850 non-successfully if a write error occurred on stdout. (Bug#9574)
1851
18522011-09-21 Eli Zaretskii <eliz@gnu.org>
1853
1854 * xdisp.c (pop_it): Allow it->object that is a cons cell to pass
1855 the xassert test.
1856
1857 * dispextern.h (struct it): Update the comment documenting what
1858 can it->OBJECT be.
1859
18602011-09-20 Eli Zaretskii <eliz@gnu.org>
1861
1862 * xdisp.c (set_cursor_from_row): If the row ends in a newline from
1863 a display string, extend search for cursor position to end of row.
1864 (find_row_edges): If the row ends in a newline from a display
1865 string, increment its MATRIX_ROW_END_CHARPOS by one. (Bug#9549)
1866 Handle the case of a display string with multiple newlines.
1867 (Fcurrent_bidi_paragraph_direction): Fix search for previous
1868 non-empty line. Fixes confusing cursor motion with arrow keys at
1869 the beginning of a line that starts with whitespace.
1870
18712011-09-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
1872
1873 * lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is
1874 (bug#9493).
1875
18762011-09-18 Chong Yidong <cyd@stupidchicken.com>
1877
1878 * xfns.c (Fx_create_frame): Handle the bitmapIcon resource as
1879 boolean (Bug#9154).
1880
18812011-09-18 Eli Zaretskii <eliz@gnu.org>
1882
1883 * xdisp.c (display_line): Record maximum and minimum buffer
1884 positions even if no glyphs were produced (e.g., by a zero-width
1885 stretch). Fixes bug#9530 on a TTY. Under word-wrap, don't record
1886 buffer positions that will be removed from the glyph row because
1887 they don't fit.
1888 (produce_stretch_glyph): Fix a bug in :align-to on a TTY when the
1889 column is beyond frame width: don't subtract 1 "pixel" when
1890 computing width of the stretch.
1891 (reseat_at_next_visible_line_start): Undo the change made on
1892 2011-09-17 that saved paragraph information and restored it after
1893 the call to `reseat'. (Bug#9545)
1894
18952011-09-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1896
1897 * xdisp.c (expose_window): Save original value of phys_cursor_on_p
1898 and turn window cursor on if cleared (Bug#9415).
1899
19002011-09-18 Andreas Schwab <schwab@linux-m68k.org>
1901
1902 * search.c (boyer_moore): Take unibyte characters from pattern
1903 literally. (Bug#9458)
1904
19052011-09-18 Eli Zaretskii <eliz@gnu.org>
1906
1907 * xdisp.c (reseat_at_next_visible_line_start): Fix last change.
1908
19092011-09-18 Paul Eggert <eggert@cs.ucla.edu>
1910
1911 Fix minor problem found by static checking.
1912 * xdisp.c (reseat_at_next_visible_line_start): Mark locals as
1913 initialized, to pacify gcc -Wuninitialized.
1914
1915 * fileio.c: Report proper errno when syscall falls.
1916 (Finsert_file_contents): Save and restore errno,
1917 so that report_file_error outputs the correct diagnostic.
1918 (Fwrite_region) [CLASH_DETECTION]: Likewise.
1919
19202011-09-18 Eli Zaretskii <eliz@gnu.org>
1921
1922 * .gdbinit (pgx): Fix references to fields of `struct glyph'.
1923
19242011-09-17 Eli Zaretskii <eliz@gnu.org>
1925
1926 * xdisp.c (produce_stretch_glyph): Another fix for changes made on
1927 2011-08-30T17:32:44Z!eliz@gnu.org. (Bug#9530)
1928
19292011-09-17 Eli Zaretskii <eliz@gnu.org>
1930
1931 * xdisp.c (reseat_at_next_visible_line_start): Keep information
1932 about the current paragraph and restore it after the call to reseat.
1933
1934 * bidi.c (MAX_PARAGRAPH_SEARCH): New macro.
1935 (bidi_find_paragraph_start): Search back for paragraph beginning
1936 at most MAX_PARAGRAPH_SEARCH lines; if not found, return BEGV_BYTE.
1937 (bidi_move_to_visually_next): Only trigger paragraph-related
1938 computations when the last character is a newline or at EOB, not
1939 just any NEUTRAL_B. (Bug#9470)
1940
1941 * xdisp.c (set_cursor_from_row): Don't invoke special treatment of
1942 truncated lines if point is covered by a display string. (Bug#9524)
1943
19442011-09-16 Paul Eggert <eggert@cs.ucla.edu>
1945
1946 * xselect.c: Relax test for outgoing X longs (Bug#9498).
1947 (cons_to_x_long): New function.
1948 (lisp_data_to_selection_data): Use it. Correct the test for
1949 short-versus-long data; it was negated. Break out of vector
1950 loop, for efficiency, when a long datum is discovered.
1951
19522011-09-16 Stefan Monnier <monnier@iro.umontreal.ca>
1953
1954 * eval.c (Fquote): Document its non-consing behavior (bug#9482).
1955
19562011-09-16 Eli Zaretskii <eliz@gnu.org>
1957
1958 * image.c (tiff_handler): Work around a bug in MinGW GCC 3.x (see
1959 GCC PR/17406) by declaring this function with external scope.
1960
19612011-09-15 Paul Eggert <eggert@cs.ucla.edu>
1962
1963 * editfns.c (Fformat): Fix bug in text-property fix (Bug#9514).
1964 Don't mishandle (length (format "%%")) and (format "%4000s%%" "").
1965
19662011-09-15 Andreas Schwab <schwab@linux-m68k.org>
1967
1968 * editfns.c (Fformat): Correctly handle text properties on "%%".
1969
19702011-09-15 Eli Zaretskii <eliz@gnu.org>
1971
1972 * xterm.c (x_draw_composite_glyph_string_foreground):
1973 * w32term.c (x_draw_composite_glyph_string_foreground):
1974 * term.c (encode_terminal_code):
1975 * composite.c (composition_update_it, get_composition_id):
1976 * xdisp.c (get_next_display_element)
1977 (fill_composite_glyph_string): Add comments about special meaning
1978 of TAB characters in a composition.
1979
19802011-09-15 Paul Eggert <eggert@cs.ucla.edu>
1981
1982 * editfns.c (Fformat): Fix off-by-1 bug for "%%b" (Bug#9514).
1983 This occurs when processing a multibyte format.
1984 Problem reported by Wolfgang Jenker.
1985
19862011-09-15 Johan Bockgård <bojohan@gnu.org>
1987
1988 * xdisp.c (try_cursor_movement): Only check for exact match if
1989 cursor hpos found by set_cursor_from_row is valid. (Bug#9495)
1990
19912011-09-14 Paul Eggert <eggert@cs.ucla.edu>
1992
1993 Remove unused external symbols.
1994 * dispextern.h (calc_pixel_width_or_height): Remove decl.
1995 * xdisp.c (calc_pixel_width_or_height): Now static.
1996 * doprnt.c (exprintf) [! (HAVE_X_WINDOWS && USE_X_TOOLKIT)]: Remove.
1997 * indent.c (check_display_width):
1998 * w32term.c: Fix comment to match code.
1999 * xterm.c, xterm.h (x_catching_errors): Remove.
2000
20012011-09-14 Paul Eggert <eggert@cs.ucla.edu>
2002
2003 * xselect.c: Use signed conversions more consistently (Bug#9498).
2004 (selection_data_to_lisp_data): Assume incoming selection data are
2005 signed integers, not unsigned. This is to be consistent with
2006 outgoing selection data, which was modified to use signed integers
2007 in as part of the fix to Bug#9196 in response to Jan D.'s comment
2008 in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9196#32> that X11
2009 expects long, not unsigned long.
2010
20112011-09-14 Eli Zaretskii <eliz@gnu.org>
2012
2013 * xdisp.c (try_window_reusing_current_matrix): Fix incorrect
2014 computation of loop end. Reported by Johan Bockgård
2015 <bojohan@gnu.org>.
2016
20172011-09-13 Chong Yidong <cyd@stupidchicken.com>
2018
2019 * frame.c (Fother_visible_frames_p): Function deleted.
2020
20212011-09-12 Eli Zaretskii <eliz@gnu.org>
2022
2023 * indent.c (compute_motion): Process display vector front to back
2024 rather than the other way around. (Bug#2496)
2025
20262011-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2027
2028 * fileio.c (Finsert_file_contents): Don't assume beg_offset is 0.
2029
20302011-09-11 Chong Yidong <cyd@stupidchicken.com>
2031
2032 * minibuf.c (Fread_from_minibuffer): Doc fix.
2033
20342011-09-11 Eli Zaretskii <eliz@gnu.org>
2035
2036 * xdisp.c (produce_stretch_glyph): Fix a typo made in changes from
2037 2011-08-30T17:32:44Z!eliz@gnu.org. (Bug#9475)
2038
20392011-09-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
2040
2041 * fileio.c (Fvisited_file_modtime): Document `(-1 65535)' as a
2042 value for non-existent files.
2043
20442011-09-11 Eli Zaretskii <eliz@gnu.org>
2045
2046 * fileio.c (Finsert_file_contents): If the file cannot be opened,
2047 set its "size" to -1. This will set the modtime_size field of
2048 the corresponding buffer to -1, which is what
2049 verify-visited-file-modtime expects for files that do not exist.
2050 (Bug#9139)
2051
20522011-09-11 Paul Eggert <eggert@cs.ucla.edu>
2053
2054 * keymap.h (KEY_DESCRIPTION_SIZE, push_key_description): Move decls
2055 here ...
2056 * lisp.h: ... from here. push_key_description is no longer
2057 defined in keyboard.c, so its declaration should not be in
2058 lisp.h's "Defined in keyboard.c" section, and KEY_DESCRIPTION_SIZE
2059 logically belongs with push_key_description.
2060
20612011-09-10 Paul Eggert <eggert@cs.ucla.edu>
2062
2063 * buffer.h: Include <sys/types.h> instead of <time.h>.
2064 Otherwise, off_t wasn't defined on FreeBSD 9.0-BETA2 i386.
2065 Problem reported by Herbert J. Skuhra.
2066
20672011-09-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
2068
2069 * xml.c (parse_region): Make the parsing work for
2070 non-comment-starting XML files again (bug#9144).
2071
20722011-09-10 Andreas Schwab <schwab@linux-m68k.org>
2073
2074 * image.c (gif_load): Fix calculation of bottom and right corner.
2075 (Bug#9468)
2076
20772011-09-10 Eli Zaretskii <eliz@gnu.org>
2078
2079 * xdisp.c (MAX_DISP_SCAN): Decrease to 250. Prevents sluggish
2080 redisplay in small windows.
2081
20822011-09-09 Eli Zaretskii <eliz@gnu.org>
2083
2084 * frame.c (x_report_frame_params): Cast to avoid compiler warnings.
2085
20862011-09-08 Martin Rudalics <rudalics@gmx.at>
2087
2088 * window.c (Fset_window_prev_buffers, Fset_window_next_buffers):
2089 Operate on live windows only.
2090
20912011-09-08 Juanma Barranquero <lekktu@gmail.com>
2092
2093 * emacs.c (my_heap_start): #ifdef to avoid warnings when unused.
2094
20952011-09-07 Eli Zaretskii <eliz@gnu.org>
2096
2097 * xdisp.c (move_it_in_display_line_to): Call RESTORE_IT on ppos_it
2098 only under bidi iteration.
2099
21002011-09-07 Jan Djärv <jan.h.d@swipnet.se>
2101
2102 * gtkutil.c (xg_make_tool_item): Insert comment about eventbox.
2103
21042011-09-06 Paul Eggert <eggert@cs.ucla.edu>
2105
2106 isnan: Fix porting problem to Solaris 10 with bundled gcc.
2107 Without this fix, the command to link temacs failed due to an
2108 undefined symbol __builtin_isnan. This is because
2109 /usr/include/iso/math_c99.h #defines isnan(x) to
2110 __builtin_isnan(x), but the bundled gcc, which identifies itself
2111 as gcc 3.4.3 (csl-sol210-3_4-branch+sol_rpath), does not have
2112 a __builtin_isnan.
2113 * floatfns.c (isnan): #undef, and then #define to a clone of
2114 what's in data.c.
2115 (Fisnan): Always define, since it's always available now.
2116 (syms_of_floatfns): Always define isnan at the Lisp level.
2117
21182011-09-06 Paul Eggert <eggert@cs.ucla.edu>
2119
2120 * Makefile.in (gl-stamp): move-if-change now in build-aux (Bug#9169).
2121
21222011-09-06 Paul Eggert <eggert@cs.ucla.edu>
2123
2124 * fileio.c: Fix bugs with large file offsets (Bug#9428).
2125 The previous code assumed that file offsets (off_t values) fit in
2126 EMACS_INT variables, which is not true on typical 32-bit hosts.
2127 The code messed up by falsely reporting buffer overflow in cases
2128 such as (insert-file-contents "big" nil 1 2) into an empty buffer
2129 when "big" contains more than 2**29 bytes, even though this
2130 inserts just one byte and does not overflow the buffer.
2131 (Finsert_file_contents): Store file offsets as off_t
2132 values, not as EMACS_INT values. Check for overflow when
2133 converting between EMACS_INT and off_t. When checking for
2134 buffer overflow or for overlap, take the offsets into account.
2135 Don't use EMACS_INT for small values where int suffices.
2136 When checking for overlap, fix a typo: ZV was used where
2137 ZV_BYTE was intended.
2138 (Fwrite_region): Don't assume off_t fits into 'long'.
2139 * buffer.h (struct buffer.modtime_size): Now off_t, not EMACS_INT.
2140
21412011-09-05 Michael Albinus <michael.albinus@gmx.de>
2142
2143 * dbusbind.c (xd_signature_cat): Rename from signature_cat.
2144
21452011-09-04 Paul Eggert <eggert@cs.ucla.edu>
2146
2147 sprintf-related integer and memory overflow issues (Bug#9412).
2148
2149 * doprnt.c (doprnt): Support printing ptrdiff_t and intmax_t values.
2150 (esprintf, exprintf, evxprintf): New functions.
2151 * keyboard.c (command_loop_level): Now EMACS_INT, not int.
2152 (cmd_error): Kbd macro iterations count is now EMACS_INT, not int.
2153 (modify_event_symbol): Do not assume that the length of
2154 name_alist_or_stem is safe to alloca and fits in int.
2155 (Fexecute_extended_command): Likewise for function name and binding.
2156 (Frecursion_depth): Wrap around reliably on integer overflow.
2157 * keymap.c (push_key_description): First arg is now EMACS_INT, not int,
2158 since some callers pass EMACS_INT values.
2159 (Fsingle_key_description): Don't crash if symbol name contains more
2160 than MAX_ALLOCA bytes.
2161 * minibuf.c (minibuf_level): Now EMACS_INT, not int.
2162 (get_minibuffer): Arg is now EMACS_INT, not int.
2163 * lisp.h (get_minibuffer, push_key_description): Reflect API changes.
2164 (esprintf, exprintf, evxprintf): New decls.
2165 * window.h (command_loop_level, minibuf_level): Reflect API changes.
2166
2167 * dbusbind.c (signature_cat): New function.
2168 (xd_signature, Fdbus_register_signal):
2169 Do not overrun buffer; instead, report string overflow.
2170
2171 * dispnew.c (add_window_display_history): Don't overrun buffer.
2172 Truncate instead; this is OK since it's just a log.
2173
2174 * editfns.c (Fcurrent_time_zone): Don't overrun buffer
2175 even if the time zone offset is outlandishly large.
2176 Don't mishandle offset == INT_MIN.
2177
2178 * emacs.c (main) [NS_IMPL_COCOA]: Don't overrun buffer
2179 when creating daemon; the previous buffer-overflow check was incorrect.
2180
2181 * eval.c (verror): Simplify by rewriting in terms of evxprintf,
2182 which has the guts of the old verror function.
2183
2184 * filelock.c (lock_file_1, lock_file): Don't blindly alloca long name;
2185 use SAFE_ALLOCA instead. Use esprintf to avoid int-overflow issues.
2186
2187 * font.c: Include <float.h>, for DBL_MAX_10_EXP.
2188 (font_unparse_xlfd): Don't blindly alloca long strings.
2189 Don't assume XINT result fits in int, or that XFLOAT_DATA * 10
2190 fits in int, when using sprintf. Use single snprintf to count
2191 length of string rather than counting it via multiple sprintfs;
2192 that's simpler and more reliable.
2193 (font_unparse_fcname): Use it to avoid sprintf buffer overrun.
2194 (generate_otf_features) [0 && HAVE_LIBOTF]: Use esprintf, not
2195 sprintf, in case result does not fit in int.
2196
2197 * fontset.c (num_auto_fontsets): Now printmax_t, not int.
2198 (fontset_from_font): Print it.
2199
2200 * frame.c (tty_frame_count): Now printmax_t, not int.
2201 (make_terminal_frame, set_term_frame_name): Print it.
2202 (x_report_frame_params): In X, window IDs are unsigned long,
2203 not signed long, so print them as unsigned.
2204 (validate_x_resource_name): Check for implausibly long names,
2205 and don't assume name length fits in 'int'.
2206 (x_get_resource_string): Don't blindly alloca invocation name;
2207 use SAFE_ALLOCA. Use esprintf, not sprintf, in case result does
2208 not fit in int.
2209
2210 * gtkutil.c: Include <float.h>, for DBL_MAX_10_EXP.
2211 (xg_check_special_colors, xg_set_geometry):
2212 Make sprintf buffers a bit bigger, to avoid potential buffer overrun.
2213
2214 * lread.c (dir_warning): Don't blindly alloca buffer; use SAFE_ALLOCA.
2215 Use esprintf, not sprintf, in case result does not fit in int.
2216
2217 * macros.c (executing_kbd_macro_iterations): Now EMACS_INT, not int.
2218 (Fend_kbd_macro): Don't mishandle MOST_NEGATIVE_FIXNUM by treating
2219 it as a large positive number.
2220 (Fexecute_kbd_macro): Don't assume repeat count fits in int.
2221 * macros.h (executing_kbd_macro_iterations): Now EMACS_INT, not int.
2222
2223 * nsterm.m ((NSSize)windowWillResize): Use esprintf, not sprintf,
2224 in case result does not fit in int.
2225
2226 * print.c (float_to_string): Detect width overflow more reliably.
2227 (print_object): Make sprintf buffer a bit bigger, to avoid potential
2228 buffer overrun. Don't assume list length fits in 'int'. Treat
2229 print length of 0 as 0, not as infinity; to be consistent with other
2230 uses of print length in this function. Don't overflow print length
2231 index. Don't assume hash table size fits in 'long', or that
2232 vectorlike size fits in 'unsigned long'.
2233
2234 * process.c (make_process): Use printmax_t, not int, to format
2235 process-name gensyms.
2236
2237 * sysdep.c (snprintf) [! HAVE_SNPRINTF]: New function.
2238
2239 * term.c (produce_glyphless_glyph): Make sprintf buffer a bit bigger
2240 to avoid potential buffer overrun.
2241
2242 * xfaces.c (x_update_menu_appearance): Don't overrun buffer
2243 if X resource line is longer than 512 bytes.
2244
2245 * xfns.c (x_window): Make sprintf buffer a bit bigger
2246 to avoid potential buffer overrun.
2247
2248 * xterm.c (x_io_error_quitter): Don't overrun sprintf buffer.
2249
2250 * xterm.h (x_check_errors): Add ATTRIBUTE_FORMAT_PRINTF.
2251
22522011-09-04 Paul Eggert <eggert@cs.ucla.edu>
2253
2254 Integer overflow fixes for scrolling, etc.
2255 Without these, Emacs silently mishandles large integers sometimes.
2256 For example, "C-u 4294967297 M-x recenter" was treated as if
2257 it were "C-u 1 M-x recenter" on a typical 64-bit host.
2258
2259 * xdisp.c (try_window_id): Check Emacs fixnum range before
2260 converting to 'int'.
2261
2262 * window.c (window_scroll_line_based, Frecenter):
2263 Check that an Emacs fixnum is in range before assigning it to 'int'.
2264 (Frecenter, Fmove_to_window_line): Use EMACS_INT, not int, for
2265 values converted from Emacs fixnums.
2266 (Frecenter): Don't wrap around a line count if it is out of 'int'
2267 range; instead, treat it as an extreme value.
2268 (Fset_window_configuration, compare_window_configurations):
2269 Use ptrdiff_t, not int, for index that might exceed 2 GiB.
2270
2271 * search.c (Freplace_match): Use ptrdiff_t, not int, for indexes
2272 that can exceed INT_MAX. Check that EMACS_INT value is in range
2273 before assigning it to the (possibly-narrower) index.
2274 (match_limit): Don't assume that a fixnum can fit in 'int'.
2275
2276 * print.c (print_object): Use ptrdiff_t, not int, for index that can
2277 exceed INT_MAX.
2278
2279 * indent.c (position_indentation): Now takes ptrdiff_t, not int.
2280 (Fvertical_motion): Don't wrap around LINES values that don't fit
2281 in 'int'. Instead, treat them as extreme values. This is good
2282 enough for windows, which can't have more than INT_MAX lines anyway.
2283
22842011-09-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
2285
2286 * Require libxml/parser.h to avoid compilation warning.
2287
2288 * emacs.c (shut_down_emacs): Call xmlCleanupParser on shutdown.
2289
2290 * xml.c (parse_region): Don't call xmlCleanupParser after parsing,
2291 since this reportedly can destroy thread storage.
2292
22932011-08-30 Chong Yidong <cyd@stupidchicken.com>
2294
2295 * syntax.c (find_defun_start): Update all cache variables if
2296 exiting early (Bug#9401).
2297
22982011-08-30 Eli Zaretskii <eliz@gnu.org>
2299
2300 * image.c (x_bitmap_pixmap): Cast to int to avoid compiler warnings.
2301
2302 * xdisp.c (produce_stretch_glyph): No longer static, compiled also
2303 when HAVE_WINDOW_SYSTEM is not defined. Support both GUI and TTY
2304 frames. Call tty_append_glyph in the TTY case. (Bug#9402)
2305
2306 * term.c (tty_append_glyph): New function.
2307 (produce_stretch_glyph): Static function and its prototype deleted.
2308
2309 * dispextern.h (produce_stretch_glyph, tty_append_glyph):
2310 Add prototypes.
2311
23122011-08-29 Paul Eggert <eggert@cs.ucla.edu>
2313
2314 * image.c (parse_image_spec): Check for nonnegative, not for positive,
2315 when checking :margin (Bug#9390).
2316 (IMAGE_NON_NEGATIVE_INTEGER_VALUE_OR_PAIR):
2317 Rename from IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR,
2318 so that the name doesn't mislead. All uses changed.
2319
23202011-08-28 Johan Bockgård <bojohan@gnu.org>
2321
2322 * term.c (init_tty) [HAVE_GPM]: Move mouse settings after
2323 set_tty_hooks.
2324
23252011-08-27 Eli Zaretskii <eliz@gnu.org>
2326
2327 * xdisp.c (move_it_to): Don't bail out early when reaching
2328 position beyond to_charpos, if we are scanning backwards.
2329 (move_it_vertically_backward): When DY == 0, make sure we get to
2330 the first character in the line after the newline.
2331
23322011-08-27 Paul Eggert <eggert@cs.ucla.edu>
2333
2334 * ccl.c: Improve and simplify overflow checking (Bug#9196).
2335 (ccl_driver): Do not generate an out-of-range pointer.
2336 (Fccl_execute_on_string): Remove unnecessary check for
2337 integer overflow, noted by Stefan Monnier in
2338 <http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00979.html>.
2339 Remove a FIXME that didn't need fixing.
2340 Simplify the newly-introduced buffer reallocation code.
2341
23422011-08-27 Juanma Barranquero <lekktu@gmail.com>
2343
2344 * makefile.w32-in ($(BLD)/alloc.$(O)): Depend on lib/verify.h.
2345
23462011-08-26 Paul Eggert <eggert@cs.ucla.edu>
2347
2348 Integer and memory overflow issues (Bug#9196).
2349
2350 * doc.c (get_doc_string): Rework so that
2351 get_doc_string_buffer_size is the actual buffer size, rather than
2352 being 1 less than the actual buffer size; this makes xpalloc more
2353 convenient.
2354
2355 * image.c (x_allocate_bitmap_record, cache_image):
2356 * xselect.c (Fx_register_dnd_atom):
2357 Simplify previous changes by using xpalloc.
2358
2359 * buffer.c (overlay_str_len): Now ptrdiff_t, not EMACS_INT,
2360 since either will do and ptrdiff_t is convenient with xpalloc.
2361
2362 * charset.c (charset_table_size)
2363 (struct charset_sort_data.priority): Now ptrdiff_t.
2364 (charset_compare): Don't overflow if priorities differ greatly.
2365 (Fsort_charsets): Don't assume list length fits in int.
2366 Check for size-calculation overflow when allocating sort data.
2367 (syms_of_charset): Allocate an initial charset table that is
2368 just under 64 KiB, to avoid problems with glibc malloc and mmap.
2369
2370 * cmds.c (internal_self_insert): Check for size-calculation overflow.
2371
2372 * composite.h (struct composition.glyph_len): Now int, not unsigned.
2373 The actual value is always <= INT_MAX, and leaving it unsigned made
2374 overflow checking harder.
2375
2376 * dispextern.h (struct glyph_matrix.rows_allocated)
2377 (struct face_cache.size): Now ptrdiff_t, for convenience in use
2378 with xpalloc. The values are still always <= INT_MAX.
2379
2380 * indent.c (compute_motion): Adjust to region_cache_forward sig change.
2381
2382 * lisp.h (xnmalloc, xnrealloc, xpalloc): New decls.
2383 (SAFE_NALLOCA): New macro.
2384
2385 * region-cache.c (struct boundary.pos, find_cache_boundary)
2386 (move_cache_gap, insert_cache_boundary, delete_cache_boundaries)
2387 (set_cache_region, invalidate_region_cache)
2388 (revalidate_region_cache, know_region_cache, region_cache_forward)
2389 (region_cache_backward, pp_cache):
2390 Use ptrdiff_t, not EMACS_INT, since either will do. This is needed
2391 so that ptrdiff_t * can be passed to xpalloc.
2392 (struct region_cache): Similarly, for gap_start, gap_len, cache_len,
2393 beg_unchanged, end_unchanged, buffer_beg, buffer_end members.
2394 (pp_cache): Don't assume cache_len fits in int.
2395 * region-cache.h: Adjust extern decls to match.
2396
2397 * search.c (scan_buffer, Freplace_match): Use ptrdiff_t, not
2398 EMACS_INT, since either will do, for xpalloc.
2399
2400 * alloc.c: Include verify.h, and check that int fits in ptrdiff_t.
2401 (xnmalloc, xnrealloc, xpalloc): New functions.
2402
2403 * bidi.c (bidi_shelve_header_size): New constant.
2404 (bidi_cache_ensure_space, bidi_shelve_cache): Use it.
2405 (bidi_cache_ensure_space): Avoid integer overflow when allocating.
2406
2407 * bidi.c (bidi_cache_shrink):
2408 * buffer.c (overlays_at, overlays_in, record_overlay_string)
2409 (overlay_strings):
2410 Don't update size of array until after memory allocation succeeds,
2411 because xmalloc/xrealloc may not return.
2412 (struct sortstrlist.bytes): Now ptrdiff_t, as EMACS_INT doesn't help
2413 now that we have proper integer overflow checking.
2414 (record_overlay_string, overlay_strings): Catch overflows when
2415 calculating size of overlay_str_buf.
2416
2417 * callproc.c (Fcall_process): Check for size overflow when
2418 calculating size of args2.
2419 (child_setup): Avoid overflow by using size_t rather than ptrdiff_t.
2420 Normally we prefer signed values, but sticking with ptrdiff_t would
2421 require adding more-complicated checks.
2422
2423 * ccl.c (Fccl_execute_on_string): Check for memory overflow.
2424 Use ptrdiff_t rather than EMACS_INT where ptrdiff_t will do.
2425 Redo buffer-overflow calculations to avoid integer overflow.
2426 Add a FIXME comment where memory seems to be over-allocated.
2427
2428 * character.c (Fstring): Check for size-calculation overflow.
2429
2430 * coding.c (produce_chars): Redo buffer-overflow calculations to avoid
2431 unnecessary integer overflow. Check for size overflow.
2432 (encode_coding_object): Don't update size until xmalloc succeeds.
2433
2434 * composite.c (get_composition_id): Check for overflow in glyph
2435 length calculations.
2436
2437 Integer and memory overflow fixes for display code.
2438 * dispextern.h (struct glyph_pool.nglyphs): Now ptrdiff_t, not int.
2439 * dispnew.c (adjust_glyph_matrix, realloc_glyph_pool)
2440 (scrolling_window): Check for overflow in size calculations.
2441 (line_draw_cost, realloc_glyph_pool, add_row_entry):
2442 Don't assume glyph table len fits in int.
2443 (struct row_entry.bucket, row_entry_pool_size, row_entry_idx)
2444 (row_table_size): Now ptrdiff_t, not int.
2445 (scrolling_window): Avoid overflow in size calculations.
2446 Don't update size until allocation succeeds.
2447 * fns.c (concat): Check for overflow in size calculations.
2448 (next_almost_prime): Verify NEXT_ALMOST_PRIME_LIMIT.
2449 * lisp.h (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros.
2450 (NEXT_ALMOST_PRIME_LIMIT): New constant.
2451
2452 * doc.c (get_doc_string_buffer_size): Now ptrdiff_t, not int.
2453 (get_doc_string): Check for size calculation overflow.
2454 Don't update size until allocation succeeds.
2455 (get_doc_string, Fsubstitute_command_keys): Use ptrdiff_t, not
2456 EMACS_INT, where ptrdiff_t will do.
2457 (Fsubstitute_command_keys): Check for string overflow.
2458
2459 * editfns.c (set_time_zone_rule): Don't assume environment length
2460 fits in int.
2461 (message_length): Now ptrdiff_t, not int.
2462 (Fmessage_box): Don't update size until allocation succeeds.
2463 Don't assume message length fits in int.
2464 (Fformat): Use ptrdiff_t, not EMACS_INT, where ptrdiff_t will do.
2465
2466 * emacs.c (main): Do not reallocate argv, since there is a null at
2467 the end that can be overwritten, and this way there's no need to
2468 worry about size-calculation overflow.
2469 (sort_args): Check for size-calculation overflow.
2470
2471 * eval.c (init_eval_once, grow_specpdl): Don't update size until
2472 alloc succeeds.
2473 (call_debugger, grow_specpdl): Redo calculations to avoid overflow.
2474
2475 * frame.c (set_menu_bar_lines, x_set_frame_parameters)
2476 (x_set_scroll_bar_width, x_figure_window_size):
2477 Check for integer overflow.
2478 (x_set_alpha): Do not assume XINT fits in int.
2479
2480 * frame.h (struct frame): Use int, not EMACS_INT, where int works.
2481 This is for the members text_lines, text_cols, total_lines, total_cols,
2482 where the system imposes an 'int' limit.
2483
2484 * fringe.c (Fdefine_fringe_bitmap):
2485 Don't update size until alloc works.
2486
2487 * ftfont.c (ftfont_get_open_type_spec, setup_otf_gstring)
2488 (ftfont_shape_by_flt): Check for integer overflow in size calculations.
2489
2490 * gtkutil.c (get_utf8_string, xg_store_widget_in_map):
2491 Check for size-calculation overflow.
2492 (get_utf8_string): Use ptrdiff_t, not size_t, where either will
2493 do, as we prefer signed integers.
2494 (id_to_widget.max_size, id_to_widget.used)
2495 (xg_store_widget_in_map, xg_remove_widget_from_map)
2496 (xg_get_widget_from_map, xg_get_scroll_id_for_window)
2497 (xg_remove_scroll_bar, xg_update_scrollbar_pos):
2498 Use and return ptrdiff_t, not int.
2499 (xg_gtk_scroll_destroy): Don't assume ptrdiff_t fits in int.
2500 * gtkutil.h: Change prototypes to match the above.
2501
2502 * image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): Remove; these
2503 are duplicate now that they've been promoted to lisp.h.
2504 (x_allocate_bitmap_record, x_alloc_image_color)
2505 (make_image_cache, cache_image, xpm_load):
2506 Don't update size until alloc is done.
2507 (xpm_load, lookup_rgb_color, lookup_pixel_color, x_to_xcolors)
2508 (x_detect_edges):
2509 Check for size calculation overflow.
2510 (ct_colors_allocated_max): New constant.
2511 (x_to_xcolors, x_detect_edges): Reorder multiplicands to avoid
2512 overflow.
2513
2514 * keyboard.c (read_char, menu_bar_items, tool_bar_items)
2515 (read_char_x_menu_prompt, read_char_minibuf_menu_width)
2516 (read_char_minibuf_menu_prompt, follow_key, read_key_sequence):
2517 Use ptrdiff_t, not int, to count maps.
2518 (read_char_minibuf_menu_prompt): Check for overflow in size
2519 calculations. Don't update size until allocation succeeds.
2520 Redo calculations to avoid overflow.
2521 * keyboard.h: Change prototypes to match the above.
2522
2523 * keymap.c (cmm_size, current_minor_maps): Use ptrdiff_t, not int,
2524 to count maps.
2525 (current_minor_maps): Check for size calculation overflow.
2526 * keymap.h: Change prototypes to match the above.
2527
2528 * lread.c (read1, init_obarray): Don't update size until alloc done.
2529
2530 * macros.c (Fstart_kbd_macro): Don't update size until alloc done.
2531 (store_kbd_macro_char): Reorder multiplicands to avoid overflow.
2532
2533 * nsterm.h (struct ns_color_table.size, struct ns_color_table.avail):
2534 Now ptrdiff_t, not int.
2535 * nsterm.m (ns_index_color): Use ptrdiff_t, not int, for table indexes.
2536 (ns_draw_fringe_bitmap): Rewrite to avoid overflow.
2537
2538 * process.c (Fnetwork_interface_list): Check for overflow
2539 in size calculation.
2540
2541 * region-cache.c (move_cache_gap): Check for size calculation overflow.
2542
2543 * scroll.c (do_line_insertion_deletion_costs): Check for size calc
2544 overflow. Don't bother calling xmalloc when xrealloc will do.
2545
2546 * search.c (Freplace_match): Check for size calculation overflow.
2547 (Fset_match_data): Don't assume list lengths fit in 'int'.
2548
2549 * sysdep.c (system_process_attributes): Use ptrdiff_t, not int,
2550 for command line length. Do not attempt to address one before the
2551 beginning of an array, as that's not portable.
2552
2553 * term.c (max_frame_lines): Remove; unused.
2554 (encode_terminal_src_size, encode_terminal_dst_size): Now ptrdiff_t,
2555 not int.
2556 (encode_terminal_code, calculate_costs): Check for size
2557 calculation overflow.
2558 (encode_terminal_code): Use ptrdiff_t, not int, to record glyph
2559 table lengths and related sizes. Don't update size until alloc
2560 done. Redo calculations to avoid overflow.
2561 (calculate_costs): Don't bother calling xmalloc when xrealloc will do.
2562
2563 * termcap.c (tgetent): Use ptrdiff_t, not int, to record results of
2564 subtracting pointers.
2565 (gobble_line): Check for overflow more carefully. Don't update size
2566 until alloc done.
2567
2568 * tparam.c (tparam1): Use ptrdiff_t, not int, for sizes.
2569 Don't update size until alloc done.
2570 Redo size calculations to avoid overflow.
2571 Check for size calculation overflow.
2572 (main) [DEBUG]: Fix typo in invoking tparam1.
2573
2574 * xdisp.c (store_mode_line_noprop_char, x_consider_frame_title):
2575 Use ptrdiff_t, not int, for sizes.
2576 (store_mode_line_noprop_char): Don't update size until alloc done.
2577
2578 * xfaces.c (lface_id_to_name_size, Finternal_make_lisp_face):
2579 Use ptrdiff_t, not int, for sizes.
2580 (Finternal_make_lisp_face, cache_face):
2581 Check for size calculation overflow.
2582 (cache_face): Treat size calculation overflows as if they were
2583 memory exhaustion (the usual treatment), rather than aborting.
2584
2585 * xfns.c (x_encode_text, x_set_name_internal)
2586 (Fx_change_window_property): Use ptrdiff_t, not int, to count
2587 sizes, since they can exceed INT_MAX in size. Check for size
2588 calculation overflow.
2589
2590 * xgselect.c (gfds_size): Now ptrdiff_t, for convenience with xpalloc.
2591 (xg_select): Check for size calculation overflow.
2592 Don't update size until alloc done.
2593
2594 * xrdb.c (get_environ_db): Don't assume path length fits in int,
2595 as sprintf is limited to int lengths.
2596
2597 * xselect.c (X_LONG_SIZE, X_SHRT_MAX, X_SHRT_MIN, X_LONG_MAX)
2598 (X_LONG_MIN): New macros.
2599 Use them to make the following changes clearer.
2600 (MAX_SELECTION_QUANTUM): Make the other bounds on this value clearer.
2601 This change doesn't affect the value now, but it may help remind
2602 future maintainers not to raise the value too much later.
2603 (SELECTION_QUANTUM): Remove, replacing with ...
2604 (selection_quantum): ... new function, which avoids overflow.
2605 All uses changed.
2606 (struct selection_data.size): Now ptrdiff_t, not int, to avoid
2607 assumption that selection length fits in 'int'.
2608 (x_reply_selection_request, x_handle_selection_request)
2609 (x_get_window_property, receive_incremental_selection)
2610 (x_get_window_property_as_lisp_data, selection_data_to_lisp_data)
2611 (lisp_data_to_selection_data, clean_local_selection_data):
2612 Use ptrdiff_t, not int, to record length of selection.
2613 (x_reply_selection_request, x_get_window_property)
2614 (receive_incremental_selection, x_property_data_to_lisp):
2615 Redo calculations to avoid overflow.
2616 (x_reply_selection_request): When sending hint, ceiling it at
2617 X_LONG_MAX rather than relying on wraparound overflow to send
2618 something.
2619 (x_get_window_property, receive_incremental_selection)
2620 (lisp_data_to_selection_data, x_property_data_to_lisp):
2621 Check for size-calculation overflow.
2622 (x_get_window_property, receive_incremental_selection)
2623 (lisp_data_to_selection_data, Fx_register_dnd_atom):
2624 Don't store size until memory allocation succeeds.
2625 (x_get_window_property): Plug memory leak on memory exhaustion.
2626 Don't double-block input; malloc is safe here. Don't assume 2**34
2627 - 4 fits in unsigned long. Add an xassert to check
2628 XGetWindowProperty overflow. Be more careful about overflow
2629 calculations, and distinguish size from memory overflow better.
2630 (receive_incremental_selection): When tracing, don't assume
2631 unsigned int is less than INT_MAX.
2632 (x_selection_data_to_lisp_data): Remove unnecessary (and in theory
2633 harmful) conversions of unsigned short to int.
2634 (lisp_data_to_selection_data): Don't assume that integers
2635 in the range -65535 through -1 fit in an X unsigned short.
2636 Don't assume that ULONG_MAX == X_ULONG_MAX. Don't store into
2637 result parameters unless successful. Rely on cons_to_unsigned
2638 to report problems with elements; the old code wasn't right anyway.
2639 (x_check_property_data): Check for int overflow; we cannot use
2640 a wider type due to X limits.
2641 (x_handle_dnd_message): Use unsigned int, to avoid int overflow.
2642
2643 * xsmfns.c (smc_save_yourself_CB): Check for size calc overflow.
2644
2645 * xterm.c (x_color_cells, x_send_scrollbar_event, handle_one_xevent)
2646 (x_term_init): Check for size calculation overflow.
2647 (x_color_cells): Don't store size until memory allocation succeeds.
2648 (handle_one_xevent): Use ptrdiff_t, not int, for byte counts.
2649 Don't assume alloca size is less than MAX_ALLOCA.
2650 (x_term_init): Don't assume length fits in int (sprintf is limited
2651 to int size).
2652
2653 Use ptrdiff_t for composition IDs.
2654 * character.c (lisp_string_width):
2655 * composite.c (composition_table_size, n_compositions)
2656 (get_composition_id, composition_gstring_from_id):
2657 * dispextern.h (struct glyph_string.cmp_id, struct composition_it.id):
2658 * xdisp.c (BUILD_COMPOSITE_GLYPH_STRING):
2659 * window.c (Frecenter):
2660 Use ptrdiff_t, not int, for composition IDs.
2661 * composite.c (get_composition_id): Check for integer overflow.
2662 * composite.h: Adjust prototypes to match the above changes.
2663
2664 Use ptrdiff_t for hash table indexes.
2665 * category.c (hash_get_category_set):
2666 * ccl.c (ccl_driver):
2667 * charset.h (struct charset.hash_index, CHECK_CHARSET_GET_ID):
2668 * coding.c (coding_system_charset_list, detect_coding_system):
2669 * coding.h (struct coding_system.id):
2670 * composite.c (get_composition_id, gstring_lookup_cache):
2671 * fns.c (hash_lookup, hash_put, Fgethash, Fputhash):
2672 * image.c (xpm_get_color_table_h):
2673 * lisp.h (hash_lookup, hash_put):
2674 * minibuf.c (Ftest_completion):
2675 Use ptrdiff_t for hash table indexes, not int (which is too
2676 narrow, on 64-bit hosts) or EMACS_INT (which is too wide, on
2677 32-bit --with-wide-int hosts).
2678
2679 * charset.c (Fdefine_charset_internal): Check for integer overflow.
2680 Add a FIXME comment about memory leaks.
2681 (syms_of_charset): Don't assume xmalloc returns.
2682
2683 Don't assume that stated character widths fit in int.
2684 * character.c (Fchar_width, c_string_width, lisp_string_width):
2685 * character.h (CHAR_WIDTH):
2686 * indent.c (MULTIBYTE_BYTES_WIDTH):
2687 Use sanitize_char_width to avoid undefined and/or bad behavior
2688 with outlandish widths.
2689 * character.h (sanitize_tab_width): Rename from sanitize_width,
2690 now that we have two such functions. All uses changed.
2691 (sanitize_char_width): New inline function.
2692
2693 Don't assume that tab-width fits in int.
2694 * character.h (sanitize_width): New inline function.
2695 (SANE_TAB_WIDTH): New macro.
2696 (ASCII_CHAR_WIDTH): Use it.
2697 * indent.c (sane_tab_width): Remove. All uses replaced by
2698 SANE_TAB_WIDTH (current_buffer).
2699 * xdisp.c (init_iterator): Use SANE_TAB_WIDTH.
2700
2701 * fileio.c: Integer overflow issues with file modes.
2702 (Fset_file_modes, auto_save_1): Don't assume EMACS_INT fits in int.
2703
2704 * charset.c (read_hex): New arg OVERFLOW. All uses changed.
2705 Remove unreachable code.
2706 (read_hex, load_charset_map_from_file): Check for integer overflow.
2707
2708 * xterm.c: Don't go over XClientMessageEvent limit.
2709 (scroll_bar_windows_size): Now ptrdiff_t, as we prefer signed.
2710 (x_send_scroll_bar_event): Likewise. Check that the size does not
2711 exceed limits imposed by XClientMessageEvent, as well as the usual
2712 ptrdiff_t and size_t limits.
2713
2714 * keyboard.c: Overflow, signedness and related fixes.
2715 (make_lispy_movement): Use same integer type in forward decl
2716 that is used in the definition.
2717 (read_key_sequence, keyremap_step):
2718 Change bufsize argument back to int, undoing my 2011-03-30 change.
2719 We prefer signed types, and int is wide enough here.
2720 (parse_tool_bar_item): Don't assume tool_bar_max_label_size is less
2721 than TYPE_MAXIMUM (EMACS_INT) / 2. Don't let the label size grow
2722 larger than STRING_BYTES_BOUND. Use ptrdiff_t for Emacs string
2723 length, not size_t. Use ptrdiff_t for index, not int.
2724 (keyremap_step, read_key_sequence): Redo bufsize check to avoid
2725 possibility of integer overflow.
2726
2727 Overflow, signedness and related fixes for images.
2728
2729 * dispextern.h (struct it.stack[0].u.image.image_id)
2730 (struct_it.image_id, struct image.id, struct image_cache.size)
2731 (struct image_cache.used, struct image_cache.ref_count):
2732 * gtkutil.c (update_frame_tool_bar):
2733 * image.c (x_reference_bitmap, Fimage_size, Fimage_mask_p)
2734 (Fimage_metadata, free_image_cache, clear_image_cache, lookup_image)
2735 (cache_image, mark_image_cache, x_kill_gs_process, Flookup_image):
2736 * nsmenu.m (update_frame_tool_bar):
2737 * xdisp.c (calc_pixel_width_or_height):
2738 * xfns.c (image_cache_refcount):
2739 Image IDs are now ptrdiff_t, not int, to avoid arbitrary limits
2740 on typical 64-bit hosts.
2741
2742 * image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros.
2743 (x_bitmap_pixmap, x_create_x_image_and_pixmap):
2744 Omit unnecessary casts to int.
2745 (parse_image_spec): Check that integers fall into 'int' range
2746 when the callers expect that.
2747 (image_ascent): Redo ascent calculation to avoid int overflow.
2748 (clear_image_cache): Avoid overflow when sqrt (INT_MAX) < nimages.
2749 (lookup_image): Remove unnecessary tests.
2750 (xbm_image_p): Locals are now of int, not EMACS_INT,
2751 since parse_image_check makes sure they fit into int.
2752 (png_load, gif_load, svg_load_image):
2753 Prefer int to unsigned where either will do.
2754 (tiff_handler): New function, combining the cores of the
2755 old tiff_error_handler and tiff_warning_handler.
2756 This function is rewritten to use vsnprintf and thereby avoid
2757 stack buffer overflows. It uses only the features of vsnprintf
2758 that are common to both POSIX and native Microsoft.
2759 (tiff_error_handler, tiff_warning_handler): Use it.
2760 (tiff_load, gif_load, imagemagick_load_image):
2761 Don't assume :index value fits in 'int'.
2762 (gif_load): Omit unnecessary cast to double, and avoid double-rounding.
2763 (imagemagick_load_image): Check that crop parameters fit into
2764 the integer types that MagickCropImage accepts. Don't assume
2765 Vimagemagick_render_type has a nonnegative value. Don't assume
2766 size_t fits in 'long'.
2767 (gs_load): Use printmax_t to print the widest integers possible.
2768 Check for integer overflow when computing image height and width.
2769
27702011-08-26 Eli Zaretskii <eliz@gnu.org>
2771
2772 * xdisp.c (redisplay_window): Don't force window start if point
2773 will be invisible in the resulting window. (Bug#9324)
2774
27752011-08-25 Eli Zaretskii <eliz@gnu.org>
2776
2777 * xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when
2778 the display spec is of the form `(space ...)'.
2779 (handle_display_spec): Return the value returned by
2780 handle_single_display_spec, not just 1 or zero.
2781 (handle_single_display_spec): If the display spec is of the form
2782 `(space ...)', and specifies display in the text area, return 2
2783 rather than 1.
2784 (try_cursor_movement): Check for the need to scroll more
2785 accurately, and prefer exact match for point under bidi.
2786 Don't advance `row' beyond the last row of the window.
2787
2788 * dispextern.h (struct bidi_it): Rename the disp_prop_p member
2789 into disp_prop; all users changed.
2790
2791 * bidi.c (bidi_fetch_char): If compute_display_string_pos returns
2792 DISP_PROP = 2, substitute the u+2029 PARAGRAPH SEPARATOR character
2793 for the text covered by the display property.
2794
27952011-08-25 Chong Yidong <cyd@stupidchicken.com>
2796
2797 * buffer.c (Fbury_buffer_internal): Rename from Funrecord_buffer.
2798 Change return value to nil.
2799 (Frecord_buffer): Delete unused function.
2800
28012011-08-24 Eli Zaretskii <eliz@gnu.org>
2802
2803 * xdisp.c (Fcurrent_bidi_paragraph_direction): For unibyte
2804 buffers, return left-to-right.
2805 (set_cursor_from_row): Consider candidate row a win if its glyph
2806 represents a newline and point is on that newline. Fixes cursor
2807 positioning on the newline at EOL of R2L text within L2R
2808 paragraph, and vice versa.
2809 (try_cursor_movement): Check continued rows, in addition to
2810 continuation rows. Fixes unwarranted scroll when point enters a
2811 continued line of R2L text within an L2R paragraph, or vice versa.
2812 (cursor_row_p): Consider the case of point being equal to
2813 MATRIX_ROW_END_CHARPOS. Prevents cursor being stuck when moving
2814 from the end of a short line to the beginning of a continued line
2815 of R2L text within L2R paragraph.
2816 (RECORD_MAX_MIN_POS): For max_pos, use IT_CHARPOS even for
2817 composed characters.
2818
2819 * bidi.c (bidi_check_type): Use xassert.
2820 (bidi_cache_iterator_state): Update the disp_pos and disp_prop_p
2821 members.
2822
28232011-08-23 Eli Zaretskii <eliz@gnu.org>
2824
2825 * bidi.c (bidi_get_type): Abort if we get zero as the bidi type of
2826 a character.
2827
28282011-08-23 Chong Yidong <cyd@stupidchicken.com>
2829
2830 * nsfont.m (ns_otf_to_script): Fix typo.
2831
28322011-08-22 Kenichi Handa <handa@m17n.org>
2833
2834 * chartab.c (Fset_char_table_extra_slot): Do not inhibit setting a
2835 extra slot even if the purpose is char-code-property-table.
2836
28372011-08-23 Eli Zaretskii <eliz@gnu.org>
2838
2839 * xdisp.c (redisplay_window): When computing centering_position,
2840 account for the height of the header line. (Bug#8874)
2841
2842 * dispnew.c (buffer_posn_from_coords): Use buf_charpos_to_bytepos
2843 instead of CHAR_TO_BYTE. Fixes a crash when a completion
2844 candidate is selected by the mouse, and that candidate has a
2845 composed character under the mouse.
2846
2847 * xdisp.c (x_produce_glyphs): Set it->nglyphs to 1. Fixes pixel
2848 coordinates reported by pos-visible-in-window-p for a composed
2849 character in column zero.
2850
28512011-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
2852
2853 * cmds.c (Fself_insert_command): Mention post-self-insert-hook.
2854
28552011-08-22 Eli Zaretskii <eliz@gnu.org>
2856
2857 * xdisp.c (BUFFER_POS_REACHED_P): If this is a composition,
2858 consider it a hit if to_charpos is anywhere in the range of the
2859 composed buffer positions.
2860
28612011-08-22 Chong Yidong <cyd@stupidchicken.com>
2862
2863 * image.c (gif_load): Don't assume that each subimage has the same
2864 dimensions as the base image. Handle disposal method that is
2865 "undefined" by the gif spec (Bug#9335).
2866
28672011-08-20 Chong Yidong <cyd@stupidchicken.com>
2868
2869 * eval.c (Fsignal): Handle `debug' symbol in error handler (Bug#9329).
2870 (Fcondition_case): Document `debug' symbol in error handler.
2871
28722011-08-19 Eli Zaretskii <eliz@gnu.org>
2873
2874 * xfaces.c (face_at_buffer_position): Avoid repeated evaluation of
2875 face ID by FACE_FROM_ID, and avoid a crash when mouse is moved
2876 from an Org mode buffer to a Speedbar frame.
2877
2878 * xdisp.c (RECORD_MAX_MIN_POS): If the display element comes from
2879 a composition, take its buffer position from IT->cmp_it.charpos.
2880 Fixes cursor positioning at the beginning of a line that begins
2881 with a composed character.
2882
28832011-08-18 Eli Zaretskii <eliz@gnu.org>
2884
2885 * bidi.c (bidi_get_type): If bidi_type_table reports zero as the
2886 character bidirectional type, use STRONG_L instead. Fixes crashes
2887 in a buffer produced by `describe-categories'.
2888
2889 * dispextern.h (struct bidi_it): Move disp_pos and disp_prop_p
2890 members before the level stack, so they would be saved and
2891 restored when copying iterator state. Fixes incorrect reordering
2892 around TABs covered by display properties.
2893
28942011-08-18 Andreas Schwab <schwab@linux-m68k.org>
2895
2896 * process.c (Fnetwork_interface_list): Correctly determine buffer size.
2897
28982011-08-17 Chong Yidong <cyd@stupidchicken.com>
2899
2900 * eval.c (internal_condition_case, internal_condition_case_1)
2901 (internal_condition_case_2, internal_condition_case_n):
2902 Remove unnecessary aborts (Bug#9081).
2903
29042011-08-17 Eli Zaretskii <eliz@gnu.org>
2905
2906 * lread.c (Fload) [DOS_NT]: If `openp' returns -2, but the file
2907 has no `load' handler, try opening the file locally. (Bug#9311)
2908
29092011-08-16 Ken Brown <kbrown@cornell.edu>
2910
2911 * gmalloc.c: Expand comment.
2912
29132011-08-16 Eli Zaretskii <eliz@gnu.org>
2914
2915 * xdisp.c (set_cursor_from_row): Don't accept a previous candidate
2916 if it fails the cursor_row_p test. Fixes cursor positioning at ZV.
2917
29182011-08-16 Ken Brown <kbrown@cornell.edu>
2919
2920 Fix memory allocation problems in Cygwin build (Bug#9273).
2921
2922 * unexcw.c ( __malloc_initialized): Declare external variable.
2923 (fixup_executable): Force the dumped emacs to reinitialize malloc.
2924
2925 * gmalloc.c [CYGWIN] (bss_sbrk_heapbase, bss_sbrk_heapinfo):
2926 New variables.
2927 (malloc_initialize_1) [CYGWIN]: Prepare for reinitializing the
2928 dumped emacs.
2929 (_free_internal_nolock) [CYGWIN]: Ignore requests to free storage
2930 in the static heap.
2931 [CYGWIN] (special_realloc): New function.
2932 (_realloc_internal_nolock) [CYGWIN]: Use the new function on
2933 requests to realloc storage in the static heap.
2934
29352011-08-15 Paul Eggert <eggert@cs.ucla.edu>
2936
2937 * bidi.c (bidi_initialize): Remove unused local.
2938
29392011-08-15 Eli Zaretskii <eliz@gnu.org>
2940
2941 * bidimirror.h:
2942 * biditype.h: Remove file.
2943 * makefile.w32-in ($(BLD)/bidi.$(O)):
2944 * deps.mk (bidi.o): Remove biditype.h and bidimirror.h.
2945
2946 * dispextern.h: Fix a typo in the comment to bidi_type_t.
2947
2948 * chartab.c: Improve commentary for the uniprop_table API.
2949
2950 * bidi.c (bidi_paragraph_init): Support zero value of
2951 bidi_ignore_explicit_marks_for_paragraph_level.
2952 (bidi_initialize): Use uniprop_table instead of including
2953 biditype.h and bidimirror.h.
2954
2955 * xdisp.c (move_it_in_display_line_to): Don't reset pixel
2956 coordinates of the iterator when restoring from ppos_it.
2957 (Bug#9296)
2958
29592011-08-14 Kenichi Handa <handa@m17n.org>
2960
2961 * process.c (create_process): Call setup_process_coding_systems
2962 after the pid of the process is set to -1 (Bug#8162).
2963
29642011-08-14 Eli Zaretskii <eliz@gnu.org>
2965
2966 * xdisp.c (move_it_in_display_line_to): Don't invoke
2967 IT_RESET_X_ASCENT_DESCENT when iterator position was restored from
2968 ppos_it. Fixes vertical cursor motion when line beginning is
2969 covered by an image. (Bug#9296)
2970
29712011-08-14 Jan Djärv <jan.h.d@swipnet.se>
2972
2973 * nsterm.h (ns_run_ascript): Declare.
2974 (NSAPP_DATA2_RUNASSCRIPT): Define.
2975
2976 * nsfns.m (as_script, as_result, as_status): New static variables.
2977 (ns_run_ascript): New function.
2978 (Fns_do_applescript): Set variables as_*. Make an NSApplicationDefined
2979 event with data2 set to NSAPP_DATA2_RUNASSCRIPT, post it and then start
2980 the event loop. Get status from as_status (Bug#7276).
2981
2982 * nsterm.m (sendEvent): If event is NSApplicationDefined and
2983 data2 is NSAPP_DATA2_RUNASSCRIPT, call ns_run_ascript and then exit
2984 the event loop (Bug#7276).
2985
29862011-08-14 Andreas Schwab <schwab@linux-m68k.org>
2987
2988 * gnutls.c (QCgnutls_bootprop_priority)
2989 (QCgnutls_bootprop_trustfiles, QCgnutls_bootprop_keylist)
2990 (QCgnutls_bootprop_crlfiles, QCgnutls_bootprop_callbacks)
2991 (QCgnutls_bootprop_loglevel, QCgnutls_bootprop_hostname)
2992 (QCgnutls_bootprop_min_prime_bits, QCgnutls_bootprop_verify_flags)
2993 (QCgnutls_bootprop_verify_hostname_error)
2994 (QCgnutls_bootprop_callbacks_verify): Rename from
2995 Qgnutls_bootprop_..., all uses changed.
2996
2997 * xfaces.c (QCignore_defface): Rename from Qignore_defface, all
2998 uses changed.
2999
30002011-08-14 Paul Eggert <eggert@cs.ucla.edu>
3001
3002 * xfaces.c (Qframe_set_background_mode): Now static.
3003 * dispextern.h (Qframe_set_background_mode): Remove decl.
3004
3005 * process.c (Fnetwork_interface_info): Declare local only if needed.
3006
30072011-08-13 Jan Djärv <jan.h.d@swipnet.se>
3008
3009 * process.c: Include ifaddrs.h and net/if_dl.h if available (Bug#8477).
3010 (Fnetwork_interface_list): Allocate in increments of bytes instead
3011 of sizeof (struct ifreq). Iterate over ifconf.ifc_req by counting
3012 bytes (Bug#8477). Count bytes correctly when ifr_addr is a struct
3013 sockaddr.
3014 (struct ifflag_def): notrailers is smart on OSX.
3015 (Fnetwork_interface_info): Handle case when ifr_flags is negative.
3016 Get hardware address with getifaddrs if available.
3017
30182011-08-12 Eli Zaretskii <eliz@gnu.org>
3019
3020 * xdisp.c (iterate_out_of_display_property): xassert that
3021 IT->position is set to within IT->object's boundaries. Break from
3022 the loop as soon as EOB is reached; avoids infloops in redisplay
3023 when IT->position is set up wrongly due to some bug.
3024 Set IT->current to match the bidi iterator unconditionally.
3025 (push_display_prop): Allow GET_FROM_STRING as IT->method on
3026 entry. Force push_it to save on the stack the current
3027 buffer/string position, to be restored by pop_it. Fix flags in
3028 the iterator structure wrt the object coming from a display
3029 property, as `line-prefix' and `wrap-prefix' are not ``replacing''
3030 properties. (Bug#9284)
3031
30322011-08-09 Andreas Schwab <schwab@linux-m68k.org>
3033
3034 * fontset.c (fontset_get_font_group): Add proper type checks.
3035 (Bug#9172)
3036
30372011-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3038
3039 * unexmacosx.c (print_load_command_name): Add cases LC_FUNCTION_STARTS
3040 and LC_VERSION_MIN_MACOSX.
3041 (copy_linkedit_data) [LC_FUNCTION_STARTS]: New function.
3042 (dump_it) [LC_FUNCTION_STARTS]: Use it.
3043
30442011-08-08 Eli Zaretskii <eliz@gnu.org>
3045
3046 * xdisp.c (forward_to_next_line_start): Allow to use the
3047 no-display-properties-and-no-overlays under bidi display.
3048 Set disp_pos in the bidi iterator to avoid searches for display
3049 properties and overlays.
3050
30512011-08-08 Chong Yidong <cyd@stupidchicken.com>
3052
3053 * editfns.c (Fset_time_zone_rule): Document relationship with the
3054 setenv function.
3055
3056 * ftfont.c (ftfont_pattern_entity): Copy the extras argument to
3057 the font entity extracted from the cache (Bug#8109).
3058
30592011-08-07 Chong Yidong <cyd@stupidchicken.com>
3060
3061 * composite.c (autocmp_chars): Don't reset point. That is done by
3062 restore_point_unwind (Bug#5984).
3063
30642011-08-07 Juri Linkov <juri@jurta.org>
3065
3066 * editfns.c (Fformat_time_string): Doc fix, add tag `usage:'
3067 to show the arg `TIME' instead of `TIMEVAL'.
3068
30692011-08-06 Eli Zaretskii <eliz@gnu.org>
3070
3071 * xdisp.c (set_cursor_from_row): Fix cursor positioning when a
3072 display property strides EOL and includes a newline, as in
3073 longlines-mode. (Bug#9254)
3074 (move_it_in_display_line_to): Fix vertical-motion in a buffer with
3075 word-wrap under bidirectional display. (Bug#9224)
3076
3077 * bidi.c (bidi_unshelve_cache): Don't reset the cache if JUST_FREE
3078 is non-zero, even if the data buffer is NULL. Fixes a crash in
3079 vertical-motion with longlines-mode. (Bug#9254)
3080
30812011-08-05 Eli Zaretskii <eliz@gnu.org>
3082
3083 * bidi.c <bidi_cache_total_alloc>: Now static.
3084 (bidi_initialize): Initialize bidi_cache_total_alloc.
3085
3086 * xdisp.c (display_line): Release buffer allocated for shelved bidi
3087 cache. (Bug#9221)
3088
3089 * bidi.c (bidi_shelve_cache, bidi_unshelve_cache): Track total
3090 amount allocated this far in `bidi_cache_total_alloc'.
3091 (bidi_unshelve_cache): Accept an additional argument JUST_FREE; if
3092 non-zero, only free the data buffer without restoring the cache
3093 contents. All callers changed.
3094
3095 * dispextern.h (bidi_unshelve_cache): Update prototype.
3096
3097 * xdisp.c (SAVE_IT, pos_visible_p, move_it_in_display_line_to)
3098 (move_it_in_display_line, move_it_to)
3099 (move_it_vertically_backward, move_it_by_lines): Replace the call
3100 to xfree to an equivalent call to bidi_unshelve_cache.
3101 (move_it_in_display_line_to): Fix logic of returning
3102 MOVE_POS_MATCH_OR_ZV in the bidi case. (Bug#9224)
3103
31042011-08-05 Eli Zaretskii <eliz@gnu.org>
3105
3106 * xdisp.c (set_cursor_from_row): Prefer the candidate glyph that
3107 came from a string character with a `cursor' property. (Bug#9229)
3108
31092011-08-04 Jan Djärv <jan.h.d@swipnet.se>
3110
3111 * Makefile.in (LIB_PTHREAD): New variable.
3112 (LIBES): Add LIB_PTHREAD (Bug#9216).
3113
3114 * alloc.c, emacs.c, gmalloc.c, gtkutil.c, keyboard.c, syssignal.h:
3115 Rename HAVE_GTK_AND_PTHREAD to HAVE_PTHREAD (Bug#9216).
3116
31172011-08-04 Andreas Schwab <schwab@linux-m68k.org>
3118
3119 * regex.c (re_iswctype): Remove some redundant boolean conversions.
3120
31212011-08-04 Jan Djärv <jan.h.d@swipnet.se>
3122
3123 * xterm.c (x_find_topmost_parent): New function.
3124 (x_set_frame_alpha): Find topmost parent window with
3125 x_find_topmost_parent and set the property there also (bug#9181).
3126 (handle_one_xevent): Call x_set_frame_alpha on ReparentNotify.
3127
31282011-08-04 Paul Eggert <eggert@cs.ucla.edu>
3129
3130 * callproc.c (Fcall_process): Avoid vfork clobbering
3131 the local vars buffer, coding_systems, current_dir.
3132
31332011-08-03 Stefan Monnier <monnier@iro.umontreal.ca>
3134
3135 * keymap.c (Fmake_composed_keymap): Move to subr.el.
3136
31372011-08-03 Paul Eggert <eggert@cs.ucla.edu>
3138
3139 * fontset.c (dump_fontset) [FONTSET_DEBUG]: Declare EXTERNALLY_VISIBLE
3140 so that it is not optimized away.
3141
3142 * xdisp.c (compute_display_string_pos): Remove unused local.
3143
31442011-08-02 Eli Zaretskii <eliz@gnu.org>
3145
3146 Fix slow cursor motion and scrolling in large buffers with
3147 selective display, like Org Mode buffers. (Bug#9218)
3148
3149 * dispextern.h (struct bidi_it): New member disp_prop_p.
3150
3151 * xdisp.c: Remove one-slot cache of display string positions.
3152 (compute_display_string_pos): Accept an additional argument
3153 DISP_PROP_P; callers changed. Scan at most 5K characters forward
3154 for a display string or property. If found, set DISP_PROP_P
3155 non-zero.
3156
3157 * bidi.c (bidi_fetch_char): Accept an additional argument
3158 DISP_PROP_P, and pass it to compute_display_string_pos.
3159 Only handle text covered by a display string if DISP_PROP_P is returned
3160 non-zero. All callers of bidi_fetch_char changed.
3161
31622011-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
3163
3164 * keymap.c (Fdefine_key): Fix Lisp_Object/int mixup; apply some CSE.
3165
31662010-12-03 Don March <don@ohspite.net>
3167
3168 * keymap.c (Fdefine_key): Fix non-prefix key error message when
3169 last character M-[char] is translated to ESC [char] (bug#7541).
3170
31712011-08-02 Kenichi Handa <handa@m17n.org>
3172
3173 * lisp.h (uniprop_table): Extern it.
3174
3175 * chartab.c (uniprop_table): Make it non-static.
3176
31772011-08-01 Eli Zaretskii <eliz@gnu.org>
3178
3179 * xdisp.c (forward_to_next_line_start): Accept additional argument
3180 BIDI_IT_PREV, and store into it the state of the bidi iterator had
3181 on the newline.
3182 (reseat_at_next_visible_line_start): Use the bidi iterator state
3183 returned by forward_to_next_line_start to restore the state of
3184 it->bidi_it after backing up to previous newline. (Bug#9212)
3185
31862011-07-30 Andreas Schwab <schwab@linux-m68k.org>
3187
3188 * regex.c (re_comp): Protoize.
3189 (re_exec): Fix return type.
3190 (regexec): Fix type of `ret'. (Bug#9203)
3191
31922011-07-28 Paul Eggert <eggert@cs.ucla.edu>
3193
3194 * image.c (check_image_size): Use 1024x1024 if unknown frame (Bug#9189).
3195 This is needed if max-image-size is a floating-point number.
3196
31972011-07-28 Andreas Schwab <schwab@linux-m68k.org>
3198
3199 * print.c (print_object): Print empty symbol as ##.
3200
3201 * lread.c (read1): Read ## as empty symbol.
3202
32032011-07-28 Alp Aker <alp.tekin.aker@gmail.com>
3204
3205 * nsfns.m (x_set_foreground_color): Set f->foreground_pixel when
3206 setting frame foreground color (Bug#9175).
3207 (x_set_background_color): Likewise.
3208
3209 * nsmenu.m (-setText): Size tooltip dimensions precisely to
3210 contents (Bug#9176).
3211 (EmacsTooltip -init): Remove bezels and add shadows to
3212 tooltip windows.
3213
3214 * nsterm.m (ns_dumpglyphs_stretch): Avoid overwriting left fringe
3215 or scroll bar (Bug#8470).
3216
3217 * nsfont.m (nsfont_open): Remove assignment to voffset and
3218 unnecessary vars hshink, expand, hd, full_height, min_height.
3219 (nsfont_draw): Use s->ybase as baseline for glyph drawing (Bug#8913).
3220
3221 * nsterm.h (nsfont_info): Remove voffset field.
3222
32232011-07-28 Alp Aker <alp.tekin.aker@gmail.com>
3224
3225 Implement strike-through and overline on NextStep (Bug#8863).
3226
3227 * nsfont.m (nsfont_open): Use underline position provided by font,
3228 instead of hard-coded value of 2.
3229 (nsfont_draw): Call ns_draw_text_decoration instead.
3230
3231 * nsterm.h: Add declaration for ns_draw_text_decoration.
3232
3233 * nsterm.m (ns_draw_text_decoration): New function for drawing
3234 underline, overline, and strike-through.
3235 (ns_dumpglyphs_image, ns_dumpglyphs_stretch): Add call to
3236 ns_draw_text_decoration. Change treatment of cursor drawing to
3237 accommodate underlining, etc.
3238
32392011-07-28 Eli Zaretskii <eliz@gnu.org>
3240
3241 * buffer.c (init_buffer_once): Set bidi-display-reordering to t by
3242 default.
3243
32442011-07-28 Paul Eggert <eggert@cs.ucla.edu>
3245
3246 * alloc.c (memory_full) [!SYNC_INPUT]: Fix signal-related race.
3247 Without this fix, if a signal arrives just after memory fills up,
3248 'malloc' might be invoked reentrantly.
3249
3250 * image.c (x_check_image_size) [!HAVE_X_WINDOWS]: Return 1.
3251 In other words, assume that every image size is allowed, on non-X
3252 hosts. This assumption is probably wrong, but it lets Emacs compile.
3253
32542011-07-28 Andreas Schwab <schwab@linux-m68k.org>
3255
3256 * regex.c (re_iswctype): Convert return values to boolean.
3257
32582011-07-28 Eli Zaretskii <eliz@fencepost.gnu.org>
3259
3260 * xdisp.c (compute_display_string_pos): Don't use cached display
3261 string position if the buffer had its restriction changed.
3262 (Bug#9184)
3263
32642011-07-28 Paul Eggert <eggert@cs.ucla.edu>
3265
3266 * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering.
3267
32682011-07-28 Paul Eggert <eggert@cs.ucla.edu>
3269
3270 Integer signedness and overflow and related fixes. (Bug#9079)
3271
3272 * bidi.c: Integer size and overflow fixes.
3273 (bidi_cache_size, bidi_cache_idx, bidi_cache_last_idx)
3274 (bidi_cache_start, bidi_cache_fetch_state, bidi_cache_search)
3275 (bidi_cache_find_level_change, bidi_cache_ensure_space)
3276 (bidi_cache_iterator_state, bidi_cache_find, bidi_cache_start_stack)
3277 (bidi_find_other_level_edge):
3278 Use ptrdiff_t instead of EMACS_INT where either will do.
3279 This works better on 32-bit hosts configured --with-wide-int.
3280 (bidi_cache_ensure_space): Check for size-calculation overflow.
3281 Use % rather than repeated addition, for better worst-case speed.
3282 Don't set bidi_cache_size until after xrealloc returns, because it
3283 might not return.
3284 (bidi_dump_cached_states): Use ptrdiff_t, not int, to avoid overflow.
3285 (bidi_cache_ensure_space): Also check that the bidi cache size
3286 does not exceed that of the largest Lisp string or buffer. See Eli
3287 Zaretskii in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9079#29>.
3288
3289 * alloc.c (__malloc_size_t): Remove.
3290 All uses replaced by size_t. See Andreas Schwab's note
3291 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9079#8>.
3292
3293 * image.c: Improve checking for integer overflow.
3294 (check_image_size): Assume that f is nonnull, since
3295 it is always nonnull in practice. This is one less thing to
3296 worry about when checking for integer overflow later.
3297 (x_check_image_size): New function, which checks for integer
3298 overflow issues inside X.
3299 (x_create_x_image_and_pixmap, xbm_read_bitmap_data): Use it.
3300 This removes the need for a memory_full check.
3301 (xbm_image_p): Rewrite to avoid integer multiplication overflow.
3302 (Create_Pixmap_From_Bitmap_Data, xbm_load): Use x_check_image_size.
3303 (xbm_read_bitmap_data): Change locals back to 'int', since
3304 their values must fit in 'int'.
3305 (xpm_load_image, png_load, tiff_load):
3306 Invoke x_create_x_image_and_pixmap earlier,
3307 to avoid much needless work if the image is too large.
3308 (tiff_load): Treat overly large images as if
3309 x_create_x_image_and_pixmap failed, not as malloc failures.
3310 (gs_load): Use x_check_image_size.
3311
3312 * gtkutil.c: Omit integer casts.
3313 (xg_get_pixbuf_from_pixmap): Remove unnecessary cast.
3314 (xg_set_toolkit_scroll_bar_thumb): Rewrite to avoid need for cast.
3315
3316 * image.c (png_load): Don't assume height * row_bytes fits in 'int'.
3317
3318 * xfaces.c (Fbitmap_spec_p): Fix integer overflow bug.
3319 Without this fix, (bitmap-spec-p '(34359738368 1 "x"))
3320 would wrongly return t on a 64-bit host.
3321
3322 * dispnew.c (init_display): Use *_RANGE_OVERFLOW macros.
3323 The plain *_OVERFLOW macros run afoul of GCC bug 49705
3324 <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49705>
3325 and therefore cause GCC to emit a bogus diagnostic in some cases.
3326
3327 * image.c: Integer signedness and overflow and related fixes.
3328 This is not an exhaustive set of fixes, but it's time to
3329 record what I've got.
3330 (lookup_pixel_color, check_image_size): Remove redundant decls.
3331 (check_image_size): Don't assume that arbitrary EMACS_INT values
3332 fit in 'int', or that arbitrary 'double' values fit in 'int'.
3333 (x_alloc_image_color, x_create_x_image_and_pixmap, png_load)
3334 (tiff_load, imagemagick_load_image):
3335 Check for overflow in size calculations.
3336 (x_create_x_image_and_pixmap): Remove unnecessary test for
3337 xmalloc returning NULL; that can't happen.
3338 (xbm_read_bitmap_data): Don't assume sizes fit into 'int'.
3339 (xpm_color_bucket): Use better integer hashing function.
3340 (xpm_cache_color): Don't possibly over-allocate memory.
3341 (struct png_memory_storage, tiff_memory_source, tiff_seek_in_memory)
3342 (gif_memory_source):
3343 Use ptrdiff_t, not int or size_t, to record sizes.
3344 (png_load): Don't assume values greater than 2**31 fit in 'int'.
3345 (our_stdio_fill_input_buffer): Prefer ptrdiff_t to size_t when
3346 either works, as we prefer signed integers.
3347 (tiff_read_from_memory, tiff_write_from_memory):
3348 Return tsize_t, not size_t, since that's what the TIFF API wants.
3349 (tiff_read_from_memory): Don't fail simply because the read would
3350 go past EOF; instead, return a short read.
3351 (tiff_load): Omit no-longer-needed casts.
3352 (Fimagemagick_types): Don't assume size fits into 'int'.
3353
3354 Improve hashing quality when configured --with-wide-int.
3355 * fns.c (hash_string): New function, taken from sxhash_string.
3356 Do not discard information about ASCII character case; this
3357 discarding is no longer needed.
3358 (sxhash-string): Use it. Change sig to match it. Caller changed.
3359 * lisp.h: Declare it.
3360 * lread.c (hash_string): Remove, since we now use fns.c's version.
3361 The fns.c version returns a wider integer if --with-wide-int is
3362 specified, so this should help the quality of the hashing a bit.
3363
3364 * emacs.c: Integer overflow minor fix.
3365 (heap_bss_diff): Now uprintmax_t, not unsigned long. All used changed.
3366 Define only if GNU_LINUX.
3367 (main, Fdump_emacs): Set and use heap_bss_diff only if GNU_LINUX.
3368
3369 * dispnew.c: Integer signedness and overflow fixes.
3370 Remove unnecessary forward decls, that were a maintenance hassle.
3371 (history_tick): Now uprintmax_t, so it's more likely to avoid overflow.
3372 All uses changed.
3373 (adjust_glyph_matrix, realloc_glyph_pool, adjust_frame_message_buffer)
3374 (scrolling_window): Use ptrdiff_t, not int, for byte count.
3375 (prepare_desired_row, line_draw_cost):
3376 Use int, not unsigned, where either works.
3377 (save_current_matrix, restore_current_matrix):
3378 Use ptrdiff_t, not size_t, where either works.
3379 (init_display): Check for overflow more accurately, and without
3380 relying on undefined behavior.
3381
3382 * editfns.c (pWIDE, pWIDElen, signed_wide, unsigned_wide):
3383 Remove, replacing with the new symbols in lisp.h. All uses changed.
3384 * fileio.c (make_temp_name):
3385 * filelock.c (lock_file_1, lock_file):
3386 * xdisp.c (message_dolog):
3387 Don't assume PRIdMAX etc. works; this isn't portable to pre-C99 hosts.
3388 Use pMd etc. instead.
3389 * lisp.h (printmax_t, uprintmax_t, pMd, pMu): New types and macros,
3390 replacing the pWIDE etc. symbols removed from editfns.c.
3391
3392 * keyboard.h (num_input_events): Now uintmax_t.
3393 This is (very slightly) less likely to mess up due to wraparound.
3394 All uses changed.
3395
3396 * buffer.c: Integer signedness fixes.
3397 (alloc_buffer_text, enlarge_buffer_text):
3398 Use ptrdiff_t rather than size_t when either will do, as we prefer
3399 signed integers.
3400
3401 * alloc.c: Integer signedness and overflow fixes.
3402 Do not impose an arbitrary 32-bit limit on malloc sizes when debugging.
3403 (__malloc_size_t): Default to size_t, not to int.
3404 (pure_size, pure_bytes_used_before_overflow, stack_copy_size)
3405 (Fgarbage_collect, mark_object_loop_halt, mark_object):
3406 Prefer ptrdiff_t to size_t when either would do, as we prefer
3407 signed integers.
3408 (XMALLOC_OVERRUN_CHECK_OVERHEAD): New macro.
3409 (xmalloc_overrun_check_header, xmalloc_overrun_check_trailer):
3410 Now const. Initialize with values that are in range even if char
3411 is signed.
3412 (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): Remove, replacing with ...
3413 (xmalloc_put_size, xmalloc_get_size): New functions. All uses changed.
3414 These functions do the right thing with sizes > 2**32.
3415 (check_depth): Now ptrdiff_t, not int.
3416 (overrun_check_malloc, overrun_check_realloc, overrun_check_free):
3417 Adjust to new way of storing sizes. Check for size overflow bugs
3418 in rest of code.
3419 (STRING_BYTES_MAX): Adjust to new overheads. The old code was
3420 slightly wrong anyway, as it missed one instance of
3421 XMALLOC_OVERRUN_CHECK_OVERHEAD.
3422 (refill_memory_reserve): Omit needless cast to size_t.
3423 (mark_object_loop_halt): Mark as externally visible.
3424
3425 * xselect.c: Integer signedness and overflow fixes.
3426 (Fx_register_dnd_atom, x_handle_dnd_message):
3427 Use ptrdiff_t, not size_t, since we prefer signed.
3428 (Fx_register_dnd_atom): Check for ptrdiff_t (and size_t) overflow.
3429 * xterm.h (struct x_display_info): Use ptrdiff_t, not size_t, for
3430 x_dnd_atoms_size and x_dnd_atoms_length.
3431
3432 * doprnt.c: Prefer signed to unsigned when either works.
3433 * eval.c (verror):
3434 * doprnt.c (doprnt):
3435 * lisp.h (doprnt):
3436 * xdisp.c (vmessage):
3437 Use ptrdiff_t, not size_t, when using or implementing doprnt,
3438 since the sizes cannot exceed ptrdiff_t bounds anyway, and we
3439 prefer signed arithmetic to avoid comparison confusion.
3440 * doprnt.c (doprnt): Avoid a "+ 1" that can't overflow,
3441 but is a bit tricky.
3442
3443 Assume freestanding C89 headers, string.h, stdlib.h.
3444 * data.c, doprnt.c, floatfns.c, print.c:
3445 Include float.h unconditionally.
3446 * gmalloc.c: Assume C89-at-least behavior for preprocessor,
3447 limits.h, stddef.h, string.h. Use memset instead of 'flood'.
3448 * regex.c: Likewise for stddef.h, string.h.
3449 (ISASCII): Remove; can assume it returns 1 now. All uses removed.
3450 * s/aix4-2.h (HAVE_STRING_H): Remove obsolete undef.
3451 * s/ms-w32.h (HAVE_LIMITS_H, HAVE_STRING_H, HAVE_STDLIB_H)
3452 (STDC_HEADERS): Remove obsolete defines.
3453 * sysdep.c: Include limits.h unconditionally.
3454
3455 Assume support for memcmp, memcpy, memmove, memset.
3456 * lisp.h, sysdep.c (memcmp, memcpy, memmove, memset):
3457 * regex.c (memcmp, memcpy):
3458 Remove; we assume C89 now.
3459
3460 * gmalloc.c (memcpy, memset, memmove): Remove; we assume C89 now.
3461 (__malloc_safe_bcopy): Remove; no longer needed.
3462
3463 * lisp.h (struct vectorlike_header, struct Lisp_Subr): Signed sizes.
3464 Use EMACS_INT, not EMACS_UINT, for sizes. The code works equally
3465 well either way, and we prefer signed to unsigned.
3466
34672011-07-27 Lars Magne Ingebrigtsen <larsi@gnus.org>
3468
3469 * gnutls.c (emacs_gnutls_read): Don't message anything if the peer
3470 closes the connection while we're reading (bug#9182).
3471
34722011-07-25 Jan Djärv <jan.h.d@swipnet.se>
3473
3474 * nsmenu.m (ns_popup_dialog): Add an "ok" button if no buttons
3475 are specified (Bug#9168).
3476
34772011-07-25 Paul Eggert <eggert@cs.ucla.edu>
3478
3479 * bidi.c (bidi_dump_cached_states): Fix printf format mismatch.
3480 Found by GCC static checking and --with-wide-int on a 32-bit host.
3481
34822011-07-25 Eli Zaretskii <eliz@gnu.org>
3483
3484 * xdisp.c (compute_display_string_pos): Fix logic of caching
3485 previous display string position. Initialize cached_prev_pos to
3486 -1. Fixes slow-down at the beginning of a buffer.
3487
34882011-07-24 Eli Zaretskii <eliz@gnu.org>
3489
3490 * xfaces.c (check_lface_attrs) [HAVE_WINDOW_SYSTEM]: Allow `nil'
3491 for attrs[LFACE_FONTSET_INDEX].
3492
34932011-07-23 Paul Eggert <eggert@cs.ucla.edu>
3494
3495 * xml.c (parse_region): Remove unused local
3496 that was recently introduced.
3497
34982011-07-23 Eli Zaretskii <eliz@gnu.org>
3499
3500 * xfns.c (unwind_create_frame) [GLYPH_DEBUG]: Adapt to changes in
3501 2008-02-22T17:42:09Z!monnier@iro.umontreal.ca.
3502
3503 * xdisp.c (move_it_in_display_line_to): Record the best matching
3504 position for TO_CHARPOS while scanning the line, and restore it on
3505 exit if none of the characters scanned was an exact match.
3506 Fixes vertical-motion and pos-visible-in-window-p under bidi redisplay
3507 when exact match is impossible due to invisible text, and the
3508 lines are truncated.
3509
35102011-07-23 Jan Djärv <jan.h.d@swipnet.se>
3511
3512 * nsterm.m (initFrameFromEmacs): Set NSTitledWindowMask in styleMask
3513 for OSX >= 10.7.
3514
35152011-07-22 Eli Zaretskii <eliz@gnu.org>
3516
3517 Fix a significant slow-down of cursor motion with C-n, C-p,
3518 C-f/C-b, and C-v/M-v that couldn't keep up with keyboard
3519 auto-repeat under bidi redisplay in fontified buffers.
3520 * xdisp.c (compute_stop_pos_backwards): New function.
3521 (next_element_from_buffer): Call compute_stop_pos_backwards to
3522 find a suitable prev_stop when we find ourselves before
3523 base_level_stop.
3524 (reseat): Don't look for prev_stop, as that could mean a very long
3525 run.
3526 <cached_disp_pos, cached_disp_buffer, cached_disp_modiff>
3527 <cached_disp_overlay_modiff>: Cache for last found display string
3528 position.
3529 (compute_display_string_pos): Return the cached position if asked
3530 about the same buffer in the same area of character positions, and
3531 the buffer wasn't changed since the time the display string
3532 position was cached.
3533
35342011-07-22 Eli Zaretskii <eliz@gnu.org>
3535
3536 * xdisp.c (rows_from_pos_range): Don't ignore glyphs whose object
3537 is an integer, which is important for empty lines. (Bug#9149)
3538
35392011-07-22 Chong Yidong <cyd@stupidchicken.com>
3540
3541 * frame.c (Fmodify_frame_parameters): In tty case, update the
3542 default face if necessary (Bug#4238).
3543
35442011-07-21 Chong Yidong <cyd@stupidchicken.com>
3545
3546 * editfns.c (Fstring_to_char): No need to explain what a character
3547 is in the docstring (Bug#6576).
3548
35492011-07-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
3550
3551 * xml.c (parse_region): Make sure we always return a tree.
3552
35532011-07-20 HAMANO Kiyoto <khiker.mail@gmail.com>
3554
3555 * xml.c (parse_region): If a document contains only comments,
3556 return that, too.
3557
35582011-07-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
3559
3560 * xml.c (make_dom): Return comments, too.
3561
35622011-07-19 Paul Eggert <eggert@cs.ucla.edu>
3563
3564 Port to OpenBSD.
3565 See http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg00688.html
3566 and the surrounding thread.
3567 * minibuf.c (read_minibuf_noninteractive): Rewrite to use getchar
3568 rather than fgets, and retry after EINTR. Otherwise, 'emacs
3569 --batch -f byte-compile-file' fails on OpenBSD if an inactivity
3570 timer goes off.
3571 * s/openbsd.h (BROKEN_SIGIO): Define.
3572 * unexelf.c (unexec) [__OpenBSD__]:
3573 Don't update the .mdebug section of the Alpha COFF symbol table.
3574
35752011-07-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
3576
3577 * lread.c (syms_of_lread): Clarify when `lexical-binding' is used
3578 (bug#8460).
3579
35802011-07-18 Paul Eggert <eggert@cs.ucla.edu>
3581
3582 * fileio.c (Fcopy_file) [!MSDOS]: Tighten created file's mask.
3583 This fixes some race conditions on the permissions of any newly
3584 created file.
3585
3586 * alloc.c (valid_pointer_p): Use pipe, not open.
3587 This fixes some permissions issues when debugging.
3588
3589 * fileio.c (Fcopy_file): Adjust mode if fchown fails. (Bug#9002)
3590 If fchown fails to set both uid and gid, try to set just gid,
3591 as that is sometimes allowed. Adjust the file's mode to eliminate
3592 setuid or setgid bits that are inappropriate if fchown fails.
3593
35942011-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
3595
3596 * xdisp.c (next_element_from_string, next_element_from_buffer): Use EQ
3597 to compare Lisp_Objects.
3598 * gnutls.c (syms_of_gnutls): Rename Vgnutls_log_level to
3599 global_gnutls_log_level, don't mistake it for a Lisp_Object.
3600 (init_gnutls_functions, emacs_gnutls_handle_error): Fix up uses.
3601
36022011-07-17 Andreas Schwab <schwab@linux-m68k.org>
3603
3604 * lread.c (read_integer): Unread even EOF character.
3605 (read1): Likewise. Properly record start position of symbol.
3606
3607 * lread.c (read1): Read `#:' as empty uninterned symbol if no
3608 symbol character follows.
3609
36102011-07-17 Paul Eggert <eggert@cs.ucla.edu>
3611
3612 * fileio.c (Fcopy_file): Pacify gcc re fchown. (Bug#9002)
3613 This works around a problem with the previous change to Fcopy_file.
3614 Recent glibc declares fchown with __attribute__((warn_unused_result)),
3615 and without this change, GCC might complain about discarding
3616 fchown's return value.
3617
36182011-07-16 Juanma Barranquero <lekktu@gmail.com>
3619
3620 * makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059).
3621
36222011-07-16 Paul Eggert <eggert@cs.ucla.edu>
3623
3624 * fileio.c (Fcopy_file): Don't diagnose fchown failures. (Bug#9002)
3625
36262011-07-16 Lars Magne Ingebrigtsen <larsi@gnus.org>
3627
3628 * gnutls.c (syms_of_gnutls): Define `gnutls-log-level' here, since
3629 it's used from the C level.
3630
3631 * process.c: Use the same condition for POLL_FOR_INPUT in both
3632 keyboard.c and process.c (bug#1858).
3633
36342011-07-09 Lawrence Mitchell <wence@gmx.li>
3635
3636 * gnutls.c (Qgnutls_bootprop_min_prime_bits): New variable.
3637 (Fgnutls_boot): Use it.
3638
36392011-07-15 Andreas Schwab <schwab@linux-m68k.org>
3640
3641 * doc.c (Fsubstitute_command_keys): Revert last change.
3642
36432011-07-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
3644
3645 * doc.c (Fsubstitute_command_keys): Clarify that \= really only
3646 quotes the next character, and doesn't affect other longer
3647 sequences (bug#8935).
3648
3649 * lread.c (syms_of_lread): Clarify that is isn't only
3650 `eval-buffer' and `eval-defun' that's affected by
3651 `lexical-binding' (bug#8460).
3652
36532011-07-15 Eli Zaretskii <eliz@gnu.org>
3654
3655 * xdisp.c (move_it_in_display_line_to): Fix vertical motion with
3656 bidi redisplay when a line includes both an image and is truncated.
3657
36582011-07-14 Paul Eggert <eggert@cs.ucla.edu>
3659
3660 Fix minor problems found by static checking.
3661 * bidi.c (bidi_cache_size): Now EMACS_INT, not size_t.
3662 (elsz): Now a signed constant, not a size_t var. We prefer signed
3663 types to unsigned, to avoid integer comparison confusion. Without
3664 this change, GCC 4.6.1 with -Wunsafe-loop-optimizations complains
3665 "cannot optimize loop, the loop counter may overflow", a symptom
3666 of the confusion.
3667 * indent.c (Fvertical_motion): Mark locals as initialized.
3668 * xdisp.c (reseat_to_string): Fix pointer signedness issue.
3669
36702011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
3671
3672 * search.c (Fre_search_backward): Mention `case-fold-search' in
3673 all the re_search_* functions (bug#8138).
3674
3675 * keyboard.c (Fopen_dribble_file): Document when the file is
3676 closed (bug#8056).
3677
36782011-07-14 Eli Zaretskii <eliz@gnu.org>
3679
3680 * bidi.c (bidi_dump_cached_states): Fix format of displaying
3681 bidi_cache_idx.
3682
3683 Support bidi reordering of display and overlay strings.
3684 * xdisp.c (compute_display_string_pos)
3685 (compute_display_string_end): Accept additional argument STRING.
3686 (init_iterator, reseat_1): Initialize bidi_it->string.s to NULL.
3687 (reseat_to_string): Initialize bidi_it->string.s and
3688 bidi_it->string.schars.
3689 (Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to
3690 NULL (avoids a crash in bidi_paragraph_init).
3691 Initialize itb.string.lstring.
3692 (init_iterator): Call bidi_init_it only of a valid
3693 buffer position was specified. Initialize paragraph_embedding to
3694 L2R.
3695 (reseat_to_string): Initialize the bidi iterator.
3696 (display_string): If we need to ignore text properties of
3697 LISP_STRING, set IT->stop_charpos to IT->end_charpos. (The
3698 original value of -1 will not work with bidi.)
3699 (compute_display_string_pos): First arg is now struct
3700 `text_pos *'; all callers changed. Support display properties on
3701 Lisp strings.
3702 (compute_display_string_end): Support display properties on Lisp
3703 strings.
3704 (init_iterator, reseat_1, reseat_to_string): Initialize the
3705 string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS
3706 when iterating on a string not from display properties).
3707 (compute_display_string_pos, compute_display_string_end):
3708 Fix calculation of the object to scan. Fixes an error when using
3709 arrow keys.
3710 (next_element_from_buffer): Don't abort when IT_CHARPOS is before
3711 base_level_stop; instead, set base_level_stop to BEGV.
3712 Fixes crashes in vertical-motion.
3713 (next_element_from_buffer): Improve commentary for when
3714 the iterator is before prev_stop.
3715 (init_iterator): Initialize bidi_p from the default value of
3716 bidi-display-reordering, not from buffer-local value. Use the
3717 buffer-local value only if initializing for buffer iteration.
3718 (handle_invisible_prop): Support invisible properties on strings
3719 that are being bidi-reordered.
3720 (set_iterator_to_next): Support bidi reordering of C strings and
3721 Lisp strings.
3722 (next_element_from_string): Support bidi reordering of Lisp
3723 strings.
3724 (handle_stop_backwards): Support Lisp strings as well.
3725 (display_string): Support display of R2L glyph rows.
3726 Use IT_STRING_CHARPOS when displaying from a Lisp string.
3727 (init_iterator): Don't initialize it->bidi_p for strings
3728 here.
3729 (reseat_to_string): Initialize it->bidi_p for strings here.
3730 (next_element_from_string, next_element_from_c_string)
3731 (next_element_from_buffer): Add xassert's for correspondence
3732 between IT's object being iterated and it->bidi_it.string
3733 structure.
3734 (face_before_or_after_it_pos): Support bidi iteration.
3735 (next_element_from_c_string): Handle the case of the first string
3736 character that is not the first one in the visual order.
3737 (get_visually_first_element): New function, refactored from common
3738 parts of next_element_from_buffer, next_element_from_string, and
3739 next_element_from_c_string.
3740 (tool_bar_lines_needed, redisplay_tool_bar)
3741 (display_menu_bar): Force left-to-right direction. Add a FIXME
3742 comment for making that be controlled by a user option.
3743 (push_it, pop_it): Save and restore the state of the
3744 bidi iterator. Save and restore the bidi_p flag.
3745 (pop_it): Iterate out of display property for string iteration as
3746 well.
3747 (iterate_out_of_display_property): Support iteration over strings.
3748 (handle_single_display_spec): Set up it->bidi_it for iteration
3749 over a display string, and call bidi_init_it.
3750 (handle_single_display_spec, next_overlay_string)
3751 (get_overlay_strings_1, push_display_prop): Set up the bidi
3752 iterator for displaying display or overlay strings.
3753 (forward_to_next_line_start): Don't use the shortcut if
3754 bidi-iterating.
3755 (back_to_previous_visible_line_start): If handle_display_prop
3756 pushed the iterator stack, restore the internal state of the bidi
3757 iterator by calling bidi_pop_it same number of times.
3758 (reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero,
3759 and we are bidi-iterating, don't decrement the iterator position;
3760 instead, set the first_elt flag in the bidi iterator, to produce
3761 the same effect.
3762 (reseat_1): Remove redundant setting of string_from_display_prop_p.
3763 (push_display_prop): xassert that we are iterating a buffer.
3764 (push_it, pop_it): Save and restore paragraph_embedding member.
3765 (handle_single_display_spec, next_overlay_string)
3766 (get_overlay_strings_1, reseat_1, reseat_to_string)
3767 (push_display_prop): Set up the `unibyte' member of bidi_it.string
3768 correctly. Don't assume unibyte strings are not bidi-reordered.
3769 (compute_display_string_pos)
3770 (compute_display_string_end): Fix handling the case of C string.
3771 (push_it, pop_it): Save and restore from_disp_prop_p.
3772 (handle_single_display_spec, push_display_prop): Set the
3773 from_disp_prop_p flag.
3774 (get_overlay_strings_1): Reset the from_disp_prop_p flag.
3775 (pop_it): Call iterate_out_of_display_property only if we are
3776 popping after iteration over a string that came from a display
3777 property. Fix a typo in popping stretch info. Add an assertion
3778 for verifying that the iterator position is in sync with the bidi
3779 iterator.
3780 (handle_single_display_spec, get_overlay_strings_1)
3781 (push_display_prop): Fix initialization of paragraph direction for
3782 string when that of the parent object is not yet determined.
3783 (reseat_1): Call bidi_init_it to resync the bidi
3784 iterator with IT's position. (Bug#7616)
3785 (find_row_edges): If ROW->start.pos gives position
3786 smaller than min_pos, use it as ROW->minpos. (Bug#7616)
3787 (handle_stop, back_to_previous_visible_line_start, reseat_1):
3788 Reset the from_disp_prop_p flag.
3789 (SAVE_IT, RESTORE_IT): New macros.
3790 (pos_visible_p, face_before_or_after_it_pos)
3791 (back_to_previous_visible_line_start)
3792 (move_it_in_display_line_to, move_it_in_display_line)
3793 (move_it_to, move_it_vertically_backward, move_it_by_lines)
3794 (try_scrolling, redisplay_window, display_line): Use them when
3795 saving a temporary copy of the iterator and restoring it back.
3796 (back_to_previous_visible_line_start, reseat_1)
3797 (init_iterator): Empty the bidi cache "stack".
3798 (move_it_in_display_line_to): If iterator ended up at
3799 EOL, but we never saw any buffer positions smaller than
3800 to_charpos, return MOVE_POS_MATCH_OR_ZV. Fixes vertical cursor
3801 motion in bidi-reordered lines.
3802 (move_it_in_display_line_to): Record prev_method and prev_pos
3803 immediately before the call to set_iterator_to_next. Fixes cursor
3804 motion in bidi-reordered lines with stretch glyphs and strings
3805 displayed in margins. (Bug#8133) (Bug#8867)
3806 Return MOVE_POS_MATCH_OR_ZV only if iterator position is past
3807 TO_CHARPOS.
3808 (pos_visible_p): Support positions in bidi-reordered lines.
3809 Save and restore bidi cache.
3810
3811 * bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int.
3812 (bidi_paragraph_info): Delete unused struct.
3813 (bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT.
3814 (bidi_cache_start): New variable.
3815 (bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not
3816 to zero.
3817 (bidi_cache_fetch_state, bidi_cache_search)
3818 (bidi_cache_find_level_change, bidi_cache_iterator_state)
3819 (bidi_cache_find, bidi_peek_at_next_level)
3820 (bidi_level_of_next_char, bidi_find_other_level_edge)
3821 (bidi_move_to_visually_next): Compare cache index with
3822 bidi_cache_start rather than with zero.
3823 (bidi_fetch_char): Accept new argument STRING; all callers
3824 changed. Support iteration over a string. Support strings with
3825 display properties. Support unibyte strings. Fix the type of
3826 `len' according to what STRING_CHAR_AND_LENGTH expects.
3827 (bidi_paragraph_init, bidi_resolve_explicit_1)
3828 (bidi_resolve_explicit, bidi_resolve_weak)
3829 (bidi_level_of_next_char, bidi_move_to_visually_next):
3830 Support iteration over a string.
3831 (bidi_set_sor_type, bidi_resolve_explicit_1)
3832 (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit
3833 can now be zero (for strings); special values 0 and -1 were
3834 changed to -1 and -2, respectively.
3835 (bidi_char_at_pos): New function.
3836 (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak):
3837 Call it instead of FETCH_MULTIBYTE_CHAR.
3838 (bidi_move_to_visually_next): Abort if charpos or bytepos were not
3839 initialized to valid values.
3840 (bidi_init_it): Don't initialize charpos and bytepos with invalid
3841 values.
3842 (bidi_level_of_next_char): Allow the sentinel "position" to pass
3843 the test for valid cached positions. Fix the logic for looking up
3844 the sentinel state in the cache. GCPRO the Lisp string we are
3845 iterating.
3846 (bidi_push_it, bidi_pop_it): New functions.
3847 (bidi_initialize): Initialize the bidi cache start stack pointer.
3848 (bidi_cache_ensure_space): New function, refactored from part of
3849 bidi_cache_iterator_state. Don't assume the required size is just
3850 one BIDI_CACHE_CHUNK away.
3851 (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE.
3852 (bidi_count_bytes, bidi_char_at_pos): New functions.
3853 (bidi_cache_search): Don't assume bidi_cache_last_idx is
3854 always valid if bidi_cache_idx is valid.
3855 (bidi_cache_find_level_change): xassert that bidi_cache_last_idx
3856 is valid if it's going to be used.
3857 (bidi_shelve_cache, bidi_unshelve_cache): New functions.
3858 (bidi_cache_fetch_state, bidi_cache_search)
3859 (bidi_cache_find_level_change, bidi_cache_ensure_space)
3860 (bidi_cache_iterator_state, bidi_cache_find)
3861 (bidi_find_other_level_edge, bidi_cache_start_stack):
3862 All variables related to cache indices are now EMACS_INT.
3863
3864 * dispextern.h (struct bidi_string_data): New structure.
3865 (struct bidi_it): New member `string'. Make flag members be 1-bit
3866 fields, and put them last in the struct.
3867 (compute_display_string_pos, compute_display_string_end):
3868 Update prototypes.
3869 (bidi_push_it, bidi_pop_it): Add prototypes.
3870 (struct iterator_stack_entry): New members bidi_p,
3871 paragraph_embedding, and from_disp_prop_p.
3872 (struct it): Member bidi_p is now a bit field 1 bit wide.
3873 (bidi_shelve_cache, bidi_unshelve_cache):
3874 Declare prototypes.
3875
3876 * .gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector)
3877 (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors
3878 and vector-like objects.
3879
3880 * dispnew.c (buffer_posn_from_coords): Save and restore the bidi
3881 cache around display iteration.
3882
3883 * window.c (Fwindow_end, window_scroll_pixel_based)
3884 (displayed_window_lines, Frecenter): Save and restore the bidi
3885 cache around display iteration.
3886
38872011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
3888
3889 * editfns.c (Fdelete_region): Clarify the use of the named
3890 parameters (bug#6788).
3891
38922011-07-14 Martin Rudalics <rudalics@gmx.at>
3893
3894 * indent.c (Fvertical_motion): Set and restore w->pointm when
3895 saving and restoring the window's buffer (Bug#9006).
3896
38972011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
3898
3899 * editfns.c (Fstring_to_char): Clarify just what is returned
3900 (bug#6576). Text by Eli Zaretskii.
3901
39022011-07-13 Juanma Barranquero <lekktu@gmail.com>
3903
3904 * gnutls.c (init_gnutls_functions): Honor gnutls_log_level (bug#9059).
3905
39062011-07-13 Eli Zaretskii <eliz@gnu.org>
3907
3908 * buffer.c (mmap_find): Fix a typo.
3909
39102011-07-13 Johan Bockgård <bojohan@gnu.org>
3911
3912 Fix execution of x selection hooks.
3913 * xselect.c (Qx_lost_selection_functions)
3914 (Qx_sent_selection_functions): New vars.
3915 (syms_of_xselect): DEFSYM them.
3916 (x_handle_selection_request): Pass Qx_sent_selection_functions
3917 rather than Vx_sent_selection_functions to Frun_hook_with_args.
3918 (x_handle_selection_clear,x_clear_frame_selections):
3919 Pass Qx_lost_selection_functions rather than
3920 Vx_lost_selection_functions to Frun_hook_with_args.
3921
39222011-07-13 Paul Eggert <eggert@cs.ucla.edu>
3923
3924 * buffer.c (Fget_buffer_create): Initialize inhibit_shrinking.
3925 The old code sometimes used this field without initializing it.
3926
3927 * alloc.c (gc_sweep): Don't read past end of array.
3928 In theory, the old code could also have corrupted Emacs internals,
3929 though it'd be very unlikely.
3930
39312011-07-12 Andreas Schwab <schwab@linux-m68k.org>
3932
3933 * character.c (Fcharacterp): Don't advertise optional ignored
3934 argument. (Bug#4026)
3935
39362011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
3937
3938 * keymap.c (syms_of_keymap): Clarify that "modifier" is "modifier
3939 key" (bug#4257).
3940
3941 * window.c (Fset_window_start): Doc fix (bug#4199).
3942 (Fset_window_hscroll): Ditto.
3943
39442011-07-12 Paul Eggert <eggert@cs.ucla.edu>
3945
3946 Fix minor new problems caught by GCC 4.6.1.
3947 * term.c (init_tty): Remove unused local.
3948 * xsettings.c (store_monospaced_changed): Define this function only
3949 if (defined HAVE_GSETTINGS || defined HAVE_GCONF), as it's
3950 not used otherwise.
3951
39522011-07-12 Chong Yidong <cyd@stupidchicken.com>
3953
3954 * xdisp.c (Vresize_mini_windows): Minor doc fix (Bug#3300).
3955
39562011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
3957
3958 * xdisp.c (syms_of_xdisp): Make it explicit that the mini-windows
3959 are the mini-buffer and the echo area (bug#3320).
3960
3961 * term.c (init_tty): Remove support for supdup, c10 and perq
3962 terminals, which are no longer supported (bug#1482).
3963
39642011-07-10 Johan Bockgård <bojohan@gnu.org>
3965
3966 * xdisp.c (Ftool_bar_lines_needed): Fix WINDOWP check.
3967
39682011-07-10 Jan Djärv <jan.h.d@swipnet.se>
3969
3970 * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event
3971 for non-popups (Bug#3642).
3972
39732011-07-10 Andreas Schwab <schwab@linux-m68k.org>
3974
3975 * alloc.c (reset_malloc_hooks): Protoize.
3976 * buffer.c (mmap_init, mmap_find, mmap_free_1, mmap_enlarge)
3977 (mmap_set_vars, mmap_alloc, mmap_free, mmap_realloc): Likewise.
3978 * cm.c (losecursor): Likewise.
3979 * data.c (fmod): Likewise.
3980 * dispnew.c (swap_glyphs_in_rows): Likewise.
3981 * emacs.c (memory_warning_signal): Likewise.
3982 * floatfns.c (float_error): Likewise.
3983 * font.c (check_gstring, check_otf_features, otf_tag_symbol)
3984 (otf_open, font_otf_capability, generate_otf_features)
3985 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
3986 Likewise.
3987 * image.c (pbm_read_file): Likewise.
3988 * indent.c (string_display_width): Likewise.
3989 * intervals.c (check_for_interval, search_for_interval)
3990 (inc_interval_count, count_intervals, root_interval)
3991 (adjust_intervals_for_insertion, make_new_interval): Likewise.
3992 * lread.c (defalias): Likewise.
3993 * ralloc.c (r_alloc_check): Likewise.
3994 * regex.c (set_image_of_range_1, set_image_of_range)
3995 (regex_grow_registers): Likewise.
3996 * sysdep.c (strerror): Likewise.
3997 * termcap.c (valid_filename_p, tprint, main): Likewise.
3998 * tparam.c (main): Likewise.
3999 * unexhp9k800.c (run_time_remap, save_data_space)
4000 (update_file_ptrs, read_header, write_header, calculate_checksum)
4001 (copy_file, copy_rest, display_header): Likewise.
4002 * widget.c (mark_shell_size_user_specified, create_frame_gcs):
4003 Likewise.
4004 * xdisp.c (check_it): Likewise.
4005 * xfaces.c (register_color, unregister_color, unregister_colors):
4006 Likewise.
4007 * xfns.c (print_fontset_result): Likewise.
4008 * xrdb.c (member, fatal, main): Likewise.
4009
40102011-07-10 Paul Eggert <eggert@cs.ucla.edu>
4011
4012 Fix minor problems found by static checking (Bug#9031).
4013 * chartab.c (char_table_set_range, map_sub_char_table):
4014 Remove unused locals.
4015 (uniprop_table): Now static.
4016 * composite.c (_work_char): Remove unused static var.
4017
40182011-07-09 Juanma Barranquero <lekktu@gmail.com>
4019
4020 * chartab.c (uniprop_table_uncompress): Remove unused local variable.
4021
40222011-07-09 Jan Djärv <jan.h.d@swipnet.se>
4023
4024 * gtkutil.c (qttip_cb): Remove code without function.
4025
40262011-07-09 Eli Zaretskii <eliz@gnu.org>
4027
4028 * w32.c (pthread_sigmask): New stub.
4029
12011-07-08 Paul Eggert <eggert@cs.ucla.edu> 40302011-07-08 Paul Eggert <eggert@cs.ucla.edu>
2 4031
3 Use pthread_sigmask, not sigprocmask (Bug#9010). 4032 Use pthread_sigmask, not sigprocmask (Bug#9010).
@@ -31,6 +4060,9 @@
31 4060
322011-07-08 Jason Rumney <jasonr@gnu.org> 40612011-07-08 Jason Rumney <jasonr@gnu.org>
33 4062
4063 * w32term.c (x_make_frame_visible): Use SH_SHOWNORMAL rather than
4064 SH_SHOW for hidden windows (Bug#5482).
4065
34 * w32fns.c (w32_wnd_proc) [WM_TIMER, WM_SET_CURSOR]: Avoid using 4066 * w32fns.c (w32_wnd_proc) [WM_TIMER, WM_SET_CURSOR]: Avoid using
35 frame struct members of non-existent frames (Bug#6284). 4067 frame struct members of non-existent frames (Bug#6284).
36 4068
@@ -50,7 +4082,7 @@
50 * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods 4082 * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods
51 cString and lossyCString on OSX >= 10.4 4083 cString and lossyCString on OSX >= 10.4
52 4084
53 * nsmenu.m (fillWithWidgetValue): Don't use depercated method 4085 * nsmenu.m (fillWithWidgetValue): Don't use deprecated method
54 sizeToFit on OSX >= 10.2. 4086 sizeToFit on OSX >= 10.2.
55 4087
56 * nsimage.m (allocInitFromFile): Don't use deprecated method 4088 * nsimage.m (allocInitFromFile): Don't use deprecated method
@@ -116,7 +4148,7 @@
116 (char_table_ascii): Uncompress the compressed values. 4148 (char_table_ascii): Uncompress the compressed values.
117 (sub_char_table_ref): New arg is_uniprop. Callers changed. 4149 (sub_char_table_ref): New arg is_uniprop. Callers changed.
118 Uncompress the compressed values. 4150 Uncompress the compressed values.
119 (sub_char_table_ref_and_range): Likewise. 4151 (sub_char_table_ref_and_range): Likewise.
120 (char_table_ref_and_range): Uncompress the compressed values. 4152 (char_table_ref_and_range): Uncompress the compressed values.
121 (sub_char_table_set): New arg is_uniprop. Callers changed. 4153 (sub_char_table_set): New arg is_uniprop. Callers changed.
122 Uncompress the compressed values. 4154 Uncompress the compressed values.
@@ -124,7 +4156,7 @@
124 (char_table_set_range): Adjuted for the above change. 4156 (char_table_set_range): Adjuted for the above change.
125 (map_sub_char_table): Delete args default_val and parent. Add arg 4157 (map_sub_char_table): Delete args default_val and parent. Add arg
126 top. Give decoded values to a Lisp function. 4158 top. Give decoded values to a Lisp function.
127 (map_char_table): Adjusted for the above change. Give decoded 4159 (map_char_table): Adjust for the above change. Give decoded
128 values to a Lisp function. Gcpro more variables. 4160 values to a Lisp function. Gcpro more variables.
129 (uniprop_table_uncompress) 4161 (uniprop_table_uncompress)
130 (uniprop_decode_value_run_length): New functions. 4162 (uniprop_decode_value_run_length): New functions.
@@ -138,13 +4170,13 @@
138 (Fput_unicode_property_internal): New functions. 4170 (Fput_unicode_property_internal): New functions.
139 (syms_of_chartab): DEFSYM Qchar_code_property_table, defsubr 4171 (syms_of_chartab): DEFSYM Qchar_code_property_table, defsubr
140 Sunicode_property_table_internal, Sget_unicode_property_internal, 4172 Sunicode_property_table_internal, Sget_unicode_property_internal,
141 and Sput_unicode_property_internal. Defvar_lisp 4173 and Sput_unicode_property_internal. Defvar_lisp
142 char-code-property-alist. 4174 char-code-property-alist.
143 4175
144 * composite.c (CHAR_COMPOSABLE_P): Adjusted for the change of 4176 * composite.c (CHAR_COMPOSABLE_P): Adjust for the change of
145 Vunicode_category_table. 4177 Vunicode_category_table.
146 4178
147 * font.c (font_range): Adjusted for the change of 4179 * font.c (font_range): Adjust for the change of
148 Vunicode_category_table. 4180 Vunicode_category_table.
149 4181
1502011-07-07 Dan Nicolaescu <dann@ics.uci.edu> 41822011-07-07 Dan Nicolaescu <dann@ics.uci.edu>
@@ -170,17 +4202,17 @@
170 (store_config_changed_event): Add comment. 4202 (store_config_changed_event): Add comment.
171 (dpyinfo_valid, store_font_name_changed, map_tool_bar_style) 4203 (dpyinfo_valid, store_font_name_changed, map_tool_bar_style)
172 (store_tool_bar_style_changed): New functions. 4204 (store_tool_bar_style_changed): New functions.
173 (store_monospaced_changed): Add comment. Call dpyinfo_valid. 4205 (store_monospaced_changed): Add comment. Call dpyinfo_valid.
174 (struct xsettings): Move font inside HAVE_XFT. 4206 (struct xsettings): Move font inside HAVE_XFT.
175 (GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines. 4207 (GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines.
176 (GSETTINGS_MONO_FONT): Renamed from SYSTEM_MONO_FONT. 4208 (GSETTINGS_MONO_FONT): Rename from SYSTEM_MONO_FONT.
177 Move inside HAVE_XFT. 4209 Move inside HAVE_XFT.
178 (something_changed_gsettingsCB): Renamed from something_changedCB. 4210 (something_changed_gsettingsCB): Rename from something_changedCB.
179 Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME 4211 Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME
180 also. 4212 also.
181 (GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines. 4213 (GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines.
182 (GCONF_MONO_FONT): Renamed from SYSTEM_MONO_FONT. Move inside HAVE_XFT. 4214 (GCONF_MONO_FONT): Rename from SYSTEM_MONO_FONT. Move inside HAVE_XFT.
183 (something_changed_gconfCB): Renamed from something_changedCB. 4215 (something_changed_gconfCB): Rename from something_changedCB.
184 Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also. 4216 Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also.
185 (parse_settings): Move check for font inside HAVE_XFT. 4217 (parse_settings): Move check for font inside HAVE_XFT.
186 (read_settings, apply_xft_settings): Add comment. 4218 (read_settings, apply_xft_settings): Add comment.
@@ -193,8 +4225,8 @@
193 (init_gconf): Add comment. Get values for GCONF_TOOL_BAR_STYLE 4225 (init_gconf): Add comment. Get values for GCONF_TOOL_BAR_STYLE
194 and GCONF_FONT_NAME. Move check for fonts within HAVE_XFT. 4226 and GCONF_FONT_NAME. Move check for fonts within HAVE_XFT.
195 (xsettings_initialize): Call init_gsettings last. 4227 (xsettings_initialize): Call init_gsettings last.
196 (xsettings_get_system_font, xsettings_get_system_normal_font): Add 4228 (xsettings_get_system_font, xsettings_get_system_normal_font):
197 comment. 4229 Add comment.
198 4230
1992011-07-05 Paul Eggert <eggert@cs.ucla.edu> 42312011-07-05 Paul Eggert <eggert@cs.ucla.edu>
200 4232
@@ -377,7 +4409,7 @@
377 (syms_of_xsettings): Initialize gsettings_client, gsettings_obj 4409 (syms_of_xsettings): Initialize gsettings_client, gsettings_obj
378 to NULL. 4410 to NULL.
379 4411
380 * Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Renamed from 4412 * Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Rename from
381 GCONF_CFLAGS/LIBS. 4413 GCONF_CFLAGS/LIBS.
382 4414
3832011-06-29 Martin Rudalics <rudalics@gmx.at> 44152011-06-29 Martin Rudalics <rudalics@gmx.at>
@@ -882,7 +4914,7 @@
882 4914
8832011-06-15 Paul Eggert <eggert@cs.ucla.edu> 49152011-06-15 Paul Eggert <eggert@cs.ucla.edu>
884 4916
885 Integer overflow and signedness fixes (Bug#8873). 4917 Integer overflow and signedness fixes (Bug#8873, Bug#8828).
886 4918
887 * ccl.c (ASCENDING_ORDER): New macro, to work around GCC bug 43772. 4919 * ccl.c (ASCENDING_ORDER): New macro, to work around GCC bug 43772.
888 (GET_CCL_RANGE, IN_INT_RANGE): Use it. 4920 (GET_CCL_RANGE, IN_INT_RANGE): Use it.
@@ -1124,7 +5156,7 @@
1124 5156
1125 * character.c, coding.c, doprnt.c, editfns.c, eval.c: 5157 * character.c, coding.c, doprnt.c, editfns.c, eval.c:
1126 All uses of STRING_BYTES_MAX replaced by STRING_BYTES_BOUND. 5158 All uses of STRING_BYTES_MAX replaced by STRING_BYTES_BOUND.
1127 * lisp.h (STRING_BYTES_BOUND): Renamed from STRING_BYTES_MAX. 5159 * lisp.h (STRING_BYTES_BOUND): Rename from STRING_BYTES_MAX.
1128 5160
1129 * character.c (string_escape_byte8): Fix nbytes/nchars typo. 5161 * character.c (string_escape_byte8): Fix nbytes/nchars typo.
1130 5162
@@ -1233,8 +5265,8 @@
1233 Qclone_number. Remove external declaration of Qdelete_window. 5265 Qclone_number. Remove external declaration of Qdelete_window.
1234 (Fbuffer_list): Rewrite doc-string. Minor restructuring of 5266 (Fbuffer_list): Rewrite doc-string. Minor restructuring of
1235 code. 5267 code.
1236 (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): Run 5268 (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer):
1237 Qbuffer_list_update_hook if allowed. 5269 Run Qbuffer_list_update_hook if allowed.
1238 (Fother_buffer): Rewrite doc-string. Major rewrite for new 5270 (Fother_buffer): Rewrite doc-string. Major rewrite for new
1239 buffer list implementation. 5271 buffer list implementation.
1240 (other_buffer_safely): New function. 5272 (other_buffer_safely): New function.
@@ -1245,8 +5277,8 @@
1245 (record_buffer): Inhibit quitting and rewrite using quittable 5277 (record_buffer): Inhibit quitting and rewrite using quittable
1246 functions. Run Qbuffer_list_update_hook if allowed. 5278 functions. Run Qbuffer_list_update_hook if allowed.
1247 (Frecord_buffer, Funrecord_buffer): New functions. 5279 (Frecord_buffer, Funrecord_buffer): New functions.
1248 (switch_to_buffer_1, Fswitch_to_buffer): Remove. Move 5280 (switch_to_buffer_1, Fswitch_to_buffer): Remove.
1249 switch-to-buffer to window.el. 5281 Move switch-to-buffer to window.el.
1250 (bury-buffer): Move to window.el. 5282 (bury-buffer): Move to window.el.
1251 (Vbuffer_list_update_hook): New variable. 5283 (Vbuffer_list_update_hook): New variable.
1252 5284
@@ -1274,8 +5306,8 @@
1274 (select_window_norecord, select_frame_norecord): Move in front 5306 (select_window_norecord, select_frame_norecord): Move in front
1275 of run_window_configuration_change_hook. Remove now obsolete 5307 of run_window_configuration_change_hook. Remove now obsolete
1276 declarations. 5308 declarations.
1277 (Fset_window_buffer): Rewrite doc-string. Call 5309 (Fset_window_buffer): Rewrite doc-string.
1278 Qrecord_window_buffer. 5310 Call Qrecord_window_buffer.
1279 (keys_of_window): Move binding for other-window to window.el. 5311 (keys_of_window): Move binding for other-window to window.el.
1280 5312
12812011-06-11 Chong Yidong <cyd@stupidchicken.com> 53132011-06-11 Chong Yidong <cyd@stupidchicken.com>
@@ -1357,8 +5389,8 @@
1357 orig_total_lines. 5389 orig_total_lines.
1358 (Fdelete_window, delete_window): Remove. Window deletion is 5390 (Fdelete_window, delete_window): Remove. Window deletion is
1359 handled by window.el. 5391 handled by window.el.
1360 (window_loop): Remove DELETE_OTHER_WINDOWS case. Replace 5392 (window_loop): Remove DELETE_OTHER_WINDOWS case.
1361 Fdelete_window calls with calls to Qdelete_window. 5393 Replace Fdelete_window calls with calls to Qdelete_window.
1362 (Fdelete_other_windows): Remove. Deleting other windows is 5394 (Fdelete_other_windows): Remove. Deleting other windows is
1363 handled by window.el. 5395 handled by window.el.
1364 (window_fixed_size_p): Remove. Fixed-sizeness of windows is 5396 (window_fixed_size_p): Remove. Fixed-sizeness of windows is
@@ -1381,8 +5413,8 @@
1381 (grow_mini_window, shrink_mini_window): Implement by calling 5413 (grow_mini_window, shrink_mini_window): Implement by calling
1382 Qresize_root_window_vertically, resize_window_check and 5414 Qresize_root_window_vertically, resize_window_check and
1383 resize_window_apply. 5415 resize_window_apply.
1384 (saved_window, Fset_window_configuration, save_window_save): Do 5416 (saved_window, Fset_window_configuration, save_window_save):
1385 not handle orig_top_line, orig_total_lines, and 5417 Do not handle orig_top_line, orig_total_lines, and
1386 resize_proportionally. 5418 resize_proportionally.
1387 (window_min_height, window_min_width): Move to window.el. 5419 (window_min_height, window_min_width): Move to window.el.
1388 (keys_of_window): Move bindings for delete-other-windows, 5420 (keys_of_window): Move bindings for delete-other-windows,
@@ -1402,8 +5434,8 @@
1402 * xdisp.c (init_xdisp): Don't use set_window_height but set 5434 * xdisp.c (init_xdisp): Don't use set_window_height but set
1403 heights directly. 5435 heights directly.
1404 5436
1405 * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): Use 5437 * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines):
1406 resize_frame_windows instead of change_window_heights and run 5438 Use resize_frame_windows instead of change_window_heights and run
1407 run_window_configuration_change_hook. 5439 run_window_configuration_change_hook.
1408 5440
1409 * w32fns.c (x_set_tool_bar_lines): Use resize_frame_windows 5441 * w32fns.c (x_set_tool_bar_lines): Use resize_frame_windows
@@ -1425,8 +5457,8 @@
1425 (Frun_window_configuration_change_hook, make_parent_window) 5457 (Frun_window_configuration_change_hook, make_parent_window)
1426 (resize_window_check, resize_window_apply, Fresize_window_apply) 5458 (resize_window_check, resize_window_apply, Fresize_window_apply)
1427 (resize_frame_windows, Fsplit_window_internal) 5459 (resize_frame_windows, Fsplit_window_internal)
1428 (Fdelete_window_internal, Fresize_mini_window_internal): New 5460 (Fdelete_window_internal, Fresize_mini_window_internal):
1429 functions. 5461 New functions.
1430 (syms_of_window): New variables Vwindow_splits and Vwindow_nest. 5462 (syms_of_window): New variables Vwindow_splits and Vwindow_nest.
1431 5463
14322011-06-08 Martin Rudalics <rudalics@gmx.at> 54642011-06-08 Martin Rudalics <rudalics@gmx.at>
@@ -1446,8 +5478,8 @@
1446 (Fwindow_nest, Fset_window_nest, Fwindow_new_total) 5478 (Fwindow_nest, Fset_window_nest, Fwindow_new_total)
1447 (Fwindow_normal_size, Fwindow_new_normal, Fwindow_prev_buffers) 5479 (Fwindow_normal_size, Fwindow_new_normal, Fwindow_prev_buffers)
1448 (Fset_window_prev_buffers, Fwindow_next_buffers) 5480 (Fset_window_prev_buffers, Fwindow_next_buffers)
1449 (Fset_window_next_buffers, Fset_window_clone_number): New 5481 (Fset_window_next_buffers, Fset_window_clone_number):
1450 functions. 5482 New functions.
1451 (Fwindow_hscroll, Fwindow_at, Fwindow_point, Fwindow_start) 5483 (Fwindow_hscroll, Fwindow_at, Fwindow_point, Fwindow_start)
1452 (Fwindow_end, Fwindow_line_height, Fset_window_dedicated_p): 5484 (Fwindow_end, Fwindow_line_height, Fset_window_dedicated_p):
1453 Doc-string fixes. 5485 Doc-string fixes.
@@ -1473,10 +5505,10 @@
1473 (Fwindow_top_line, window_body_lines, Fwindow_body_size) 5505 (Fwindow_top_line, window_body_lines, Fwindow_body_size)
1474 (Fwindow_list_1): New functions. 5506 (Fwindow_list_1): New functions.
1475 (window_box_text_cols): Replace with window_body_cols. 5507 (window_box_text_cols): Replace with window_body_cols.
1476 (Fwindow_width, Fscroll_left, Fscroll_right): Use 5508 (Fwindow_width, Fscroll_left, Fscroll_right):
1477 window_body_cols instead of window_box_text_cols. 5509 Use window_body_cols instead of window_box_text_cols.
1478 (delete_window, Fset_window_configuration): Call 5510 (delete_window, Fset_window_configuration):
1479 delete_all_subwindows with window as argument. 5511 Call delete_all_subwindows with window as argument.
1480 (delete_all_subwindows): Take a window as argument and not a 5512 (delete_all_subwindows): Take a window as argument and not a
1481 structure. Rewrite. 5513 structure. Rewrite.
1482 (window_loop): Remove handling of GET_LRU_WINDOW and 5514 (window_loop): Remove handling of GET_LRU_WINDOW and
@@ -1487,8 +5519,8 @@
1487 window_box_text_cols. delete_all_subwindows now takes a 5519 window_box_text_cols. delete_all_subwindows now takes a
1488 Lisp_Object as argument. 5520 Lisp_Object as argument.
1489 5521
1490 * indent.c (compute_motion, Fcompute_motion): Use 5522 * indent.c (compute_motion, Fcompute_motion):
1491 window_body_cols instead of window_box_text_cols. 5523 Use window_body_cols instead of window_box_text_cols.
1492 5524
1493 * frame.c (delete_frame): Call delete_all_subwindows with root 5525 * frame.c (delete_frame): Call delete_all_subwindows with root
1494 window as argument. 5526 window as argument.
@@ -1794,7 +5826,7 @@
1794 (xpm_put_color_table_h): 5826 (xpm_put_color_table_h):
1795 * lisp.h (struct Lisp_Hash_Table): 5827 * lisp.h (struct Lisp_Hash_Table):
1796 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion): 5828 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
1797 * print.c (print): Use 'EMACS_UINT' and 'EMACS_INT' 5829 * print.c (print): Use 'EMACS_UINT' and 'EMACS_INT'
1798 for hashes and hash indexes, instead of 'unsigned' and 'int'. 5830 for hashes and hash indexes, instead of 'unsigned' and 'int'.
1799 * alloc.c (allocate_vectorlike): 5831 * alloc.c (allocate_vectorlike):
1800 Check for overflow in vector size calculations. 5832 Check for overflow in vector size calculations.
@@ -1964,7 +5996,7 @@
1964 5996
1965 * ccl.c (ccl_driver): Redo slightly to avoid the need for 'unsigned'. 5997 * ccl.c (ccl_driver): Redo slightly to avoid the need for 'unsigned'.
1966 5998
1967 ccl: add integer overflow checks 5999 ccl: Add integer overflow checks.
1968 * ccl.c (CCL_CODE_MAX, GET_CCL_RANGE, GET_CCL_CODE, GET_CCL_INT): 6000 * ccl.c (CCL_CODE_MAX, GET_CCL_RANGE, GET_CCL_CODE, GET_CCL_INT):
1969 (IN_INT_RANGE): New macros. 6001 (IN_INT_RANGE): New macros.
1970 (ccl_driver): Use them to check for integer overflow when 6002 (ccl_driver): Use them to check for integer overflow when
@@ -2091,7 +6123,7 @@
2091 6123
2092 * dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row 6124 * dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row
2093 for fringe update if it has periodic bitmap. 6125 for fringe update if it has periodic bitmap.
2094 (row_equal_p): Also compare left_fringe_offset, right_fringe_offset, 6126 (row_equal_p): Also compare left_fringe_offset, right_fringe_offset,
2095 and fringe_bitmap_periodic_p. 6127 and fringe_bitmap_periodic_p.
2096 6128
2097 * fringe.c (get_fringe_bitmap_data): New function. 6129 * fringe.c (get_fringe_bitmap_data): New function.
@@ -2162,7 +6194,7 @@
2162 where the include path doesn't have X11/X.h by default. See 6194 where the include path doesn't have X11/X.h by default. See
2163 <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00561.html>. 6195 <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00561.html>.
2164 6196
21652011-05-20 Kenichi Handa <handa@m17n.org> 61972011-05-20 Kenichi Handa <handa@m17n.org>
2166 6198
2167 * composite.c (find_automatic_composition): Fix previous change. 6199 * composite.c (find_automatic_composition): Fix previous change.
2168 6200
@@ -2504,7 +6536,7 @@
2504 * lread.c (lisp_file_lexically_bound_p): Stop scanning at end 6536 * lread.c (lisp_file_lexically_bound_p): Stop scanning at end
2505 marker. (Bug#8610) 6537 marker. (Bug#8610)
2506 6538
25072011-05-05 Eli Zaretskii <eliz@gnu.org> 65392011-05-05 Eli Zaretskii <eliz@gnu.org>
2508 6540
2509 * w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]: 6541 * w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]:
2510 New version that can reserve upto 2GB of heap space. 6542 New version that can reserve upto 2GB of heap space.
@@ -2861,7 +6893,7 @@
2861 conversion specifiers. For example, use "...%"pI"d..." rather 6893 conversion specifiers. For example, use "...%"pI"d..." rather
2862 than "...%"pEd"...". 6894 than "...%"pEd"...".
2863 (pEd): Remove. All uses replaced with similar uses of pI. 6895 (pEd): Remove. All uses replaced with similar uses of pI.
2864 * src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h: Likewise. 6896 * m/amdx86-64.h, m/ia64.h, m/ibms390x.h: Likewise.
2865 * alloc.c (check_pure_size): Don't overflow by converting size to int. 6897 * alloc.c (check_pure_size): Don't overflow by converting size to int.
2866 * bidi.c (bidi_dump_cached_states): Use pI to avoid cast. 6898 * bidi.c (bidi_dump_cached_states): Use pI to avoid cast.
2867 * data.c (Fnumber_to_string): Use pI instead of if-then-else-abort. 6899 * data.c (Fnumber_to_string): Use pI instead of if-then-else-abort.
@@ -3843,8 +7875,7 @@
3843 Without this change, on typical 64-bit hosts error ("...%d...", N) 7875 Without this change, on typical 64-bit hosts error ("...%d...", N)
3844 was used to print both 32- and 64-bit integers N, which relied on 7876 was used to print both 32- and 64-bit integers N, which relied on
3845 undefined behavior. 7877 undefined behavior.
3846 * lisp.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h (pEd): 7878 * lisp.h, m/amdx86-64.h, m/ia64.h, m/ibms390x.h (pEd): New macro.
3847 New macro.
3848 * lisp.h (error, verror): Mark as printf-like functions. 7879 * lisp.h (error, verror): Mark as printf-like functions.
3849 * eval.c (verror): Use vsnprintf, not doprnt, to do the real work. 7880 * eval.c (verror): Use vsnprintf, not doprnt, to do the real work.
3850 Report overflow in size calculations when allocating printf buffer. 7881 Report overflow in size calculations when allocating printf buffer.
@@ -3948,7 +7979,7 @@
3948 7979
39492011-04-08 T.V. Raman <tv.raman.tv@gmail.com> (tiny change) 79802011-04-08 T.V. Raman <tv.raman.tv@gmail.com> (tiny change)
3950 7981
3951 * xml.c (parse_region): Avoid creating spurious whiespace nodes. 7982 * xml.c (parse_region): Avoid creating spurious whitespace nodes.
3952 7983
39532011-04-08 Chong Yidong <cyd@stupidchicken.com> 79842011-04-08 Chong Yidong <cyd@stupidchicken.com>
3954 7985
@@ -4564,7 +8595,7 @@
4564 * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1): 8595 * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
4565 Use Frun_hooks. 8596 Use Frun_hooks.
4566 (command_loop_1): Use Frun_hooks. Call safe_run_hooks 8597 (command_loop_1): Use Frun_hooks. Call safe_run_hooks
4567 unconditionnaly since it does the check itself. 8598 unconditionally since it does the check itself.
4568 8599
45692011-03-23 Paul Eggert <eggert@cs.ucla.edu> 86002011-03-23 Paul Eggert <eggert@cs.ucla.edu>
4570 8601
@@ -4708,7 +8739,7 @@
4708 are now in src/globals.h. 8739 are now in src/globals.h.
4709 (syms_of_minibuf): Remove spurious & from previous change. 8740 (syms_of_minibuf): Remove spurious & from previous change.
4710 8741
47112011-03-20 Leo <sdl.web@gmail.com> 87422011-03-20 Leo Liu <sdl.web@gmail.com>
4712 8743
4713 * minibuf.c (completing-read-function): New variable. 8744 * minibuf.c (completing-read-function): New variable.
4714 (completing-read-default): Rename from completing-read. 8745 (completing-read-default): Rename from completing-read.
@@ -5448,7 +9479,7 @@
5448 (xg_set_widget_bg): New function. 9479 (xg_set_widget_bg): New function.
5449 (delete_cb): New function. 9480 (delete_cb): New function.
5450 (xg_create_frame_widgets): Connect delete-event to delete_cb. 9481 (xg_create_frame_widgets): Connect delete-event to delete_cb.
5451 Call xg_set_widget_bg. Only set backgrund pixmap for ! HAVE_GTK3 9482 Call xg_set_widget_bg. Only set background pixmap for ! HAVE_GTK3
5452 (xg_set_background_color): Call xg_set_widget_bg. 9483 (xg_set_background_color): Call xg_set_widget_bg.
5453 (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask. 9484 (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
5454 (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3. 9485 (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
@@ -5477,7 +9508,7 @@ See ChangeLog.11 for earlier changes.
5477;; coding: utf-8 9508;; coding: utf-8
5478;; End: 9509;; End:
5479 9510
5480 Copyright (C) 2011 Free Software Foundation, Inc. 9511 Copyright (C) 2011-2012 Free Software Foundation, Inc.
5481 9512
5482 This file is part of GNU Emacs. 9513 This file is part of GNU Emacs.
5483 9514