* xterm.c (x_clear_frame): Reinstate the XClearWindow call.
[bpt/emacs.git] / src / ChangeLog
index 5a7d66c..ef9aa4a 100644 (file)
@@ -1,3 +1,489 @@
+2011-11-21  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * xterm.c (x_clear_frame): Reinstate the XClearWindow call.
+
+2011-11-21  Chong Yidong  <cyd@gnu.org>
+
+       * window.c (Fnext_window, Fprevious_window): Doc fix.
+
+2011-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * window.c (get_phys_cursor_glyph): Fix Lisp_Object/int mixup.
+
+2011-11-20  Juanma Barranquero  <lekktu@gmail.com>
+
+       * nsfont.m (syms_of_nsfont) <ns-reg-to-script>: Fix typo.
+
+2011-11-20  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.c (Fset_window_combination_limit): Rename argument
+       STATUS to LIMIT.
+       (Vwindow_combination_limit): Remove "status" from doc-string.
+
+2011-11-20  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * m/ibms390.h: Remove.
+       * m/ibms390x.h: Don't include "ibms390.h".
+
+2011-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * fileio.c (Finsert_file_contents): Add missing gcpro1 variable.
+       Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
+
+2011-11-20  Juanma Barranquero  <lekktu@gmail.com>
+
+       * casetab.c (Fset_case_table):
+       * charset.c (Fcharset_after): Fix typos.
+
+2011-11-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Standardize on VIRT_ADDR_VARIES behavior (Bug#10042).
+       Otherwise, valgrind does not work on some platforms.
+       Problem reported by Andreas Schwab in
+       <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00081.html>.
+       * puresize.h (pure, PURE_P): Always behave as if VIRT_ADDR_VARIES
+       is set, removing the need for VIRT_ADDRESS_VARIES.
+       (PURE_P): Use a more-efficient implementation that needs just one
+       comparison, not two: on x86-64 with GCC 4.6.2, this cut down the
+       number of instructions from 6 (xorl, cmpq, jge, xorl, cmpq, setge)
+       to 4 (xorl, subq, cmpq, setbe).
+       * alloc.c (pure): Always extern now, since that's the
+       VIRT_ADDR_VARIES behavior.
+       (PURE_POINTER_P): Use a single comparison, not two, for
+       consistency with the new puresize.h.
+       * lisp.h (PNTR_COMPARISON_TYPE): Remove; no longer needed.
+       * m/ibms390.h, m/intel386.h, m/template.h, s/cygwin.h, s/hpux10-20.h:
+       Remove VIRT_ADDR_VARIES no longer needed.
+
+2011-11-19  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (x_write_glyphs, draw_phys_cursor_glyph)
+       (erase_phys_cursor, update_window_cursor, show_mouse_face)
+       (cursor_in_mouse_face_p): If the cursor position is out of bounds,
+       behave as if the cursor position were at the window margin.
+
+       * window.c (get_phys_cursor_glyph): If the window is hscrolled,
+       and the cursor position is out of bounds, behave as if the cursor
+       position were at the window margin.  (Bug#10075)
+
+2011-11-18  Chong Yidong  <cyd@gnu.org>
+
+       * window.c (Fwindow_combination_limit): Make first argument
+       non-optional, since it is meaningless for live windows like the
+       selected window.
+
+2011-11-18  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * keymap.c (Fwhere_is_internal): Add missing RETURN_UNGCPROs.
+
+2011-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * intervals.c: Fix grafting over the whole buffer (bug#10071).
+       (graft_intervals_into_buffer): Simplify.
+
+2011-11-18  Eli Zaretskii  <eliz@gnu.org>
+
+       * dispnew.c (swap_glyph_pointers): Swap the used[] arrays and the
+       hash values of the two rows.
+       (copy_row_except_pointers): Preserve the used[] arrays and the
+       hash values of the two rows.  (Bug#10035)
+       (add_row_entry): Add xassert to verify that ROW's hash code is valid.
+
+       * xdisp.c (row_hash): New function, body extracted from
+       compute_line_metrics.
+       (compute_line_metrics): Call row_hash, instead of computing the
+       hash code inline.
+
+       * dispnew.c (verify_row_hash): Call row_hash for computing the
+       hash code of a row, instead of duplicating code from xdisp.c.
+
+       * dispextern.h (row_hash): Add prototype.
+
+2011-11-18  Tassilo Horn  <tassilo@member.fsf.org>
+
+       * frame.c (delete_frame): Don't delete the terminal when the last
+       X frame is closed if emacs is built with GTK toolkit.
+
+2011-11-17  Juanma Barranquero  <lekktu@gmail.com>
+
+       * window.c (syms_of_window) <window-combination-resize>: Fix typo.
+
+2011-11-17  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.c (Vwindow_splits): Rename to
+       Vwindow_combination_resize.  Suggested by Juri Linkov.
+       (Fsplit_window_internal): Use Vwindow_combination_resize instead
+       of Vwindow_splits.
+
+2011-11-16  Juanma Barranquero  <lekktu@gmail.com>
+
+       * nsfns.m (Fns_font_name):
+       * window.c (syms_of_window) <window-combination-limit>: Fix typos.
+
+2011-11-16  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.h (window): Rename slot "nest" to "combination_limit".
+       * window.c (Fwindow_nest): Rename to Fwindow_combination_limit.
+       (Fset_window_nest): Rename to Fset_window_combination_limit.
+       (Vwindow_nest): Rename to Vwindow_combination_limit.
+       (recombine_windows, make_parent_window, make_window)
+       (Fsplit_window_internal, saved_window)
+       (Fset_window_configuration, save_window_save): Rename all
+       occurrences of window_nest to window_combination_limit.
+
+2011-11-15  Juanma Barranquero  <lekktu@gmail.com>
+
+       * image.c (imagemagick_load_image): Fix typo.
+
+2011-11-14  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (display_line): Move the call to
+       highlight_trailing_whitespace before the call to
+       compute_line_metrics, since the latter needs to see the final
+       faces of all the glyphs to compute ROW's hash value.  Fixes
+       assertion violations in row_equal_p.  (Bug#10035)
+
+2011-11-14  Juanma Barranquero  <lekktu@gmail.com>
+
+       * w32proc.c (reader_thread): Don't check pending input if cp->fd < 0,
+       just return (bug#10044).
+
+2011-11-12  Eli Zaretskii  <eliz@gnu.org>
+
+       * makefile.w32-in (HEAPSIZE): New variable, allows to build temacs
+       with user-defined heap size.  Bump the default size of the temacs
+       heap to 27MB, to avoid memory warning when running temacs.
+       ($(TEMACS)): Use HEAPSIZE instead of a hardcoded value.
+
+       * dispnew.c (scrolling_window): Fix incorrect indices in accessing
+       current_matrix and desired_matrix.  (Bug#9990)
+       (verify_row_hash) [XASSERTS]: New function.
+       (adjust_glyph_matrix, row_equal_p): Use it in xassert to verify
+       that the hash value of glyph rows is correct.
+
+2011-11-12  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.h (window): Remove splits slot.
+       * window.c (Fwindow_splits, Fset_window_splits): Remove.
+       (Fdelete_other_windows_internal, make_parent_window)
+       (make_window, Fsplit_window_internal, Fdelete_window_internal)
+       (Fset_window_configuration, save_window_save): Don't deal with
+       split status of windows.
+       (saved_window): Remove splits slot.
+       (Vwindow_splits): Rewrite doc-string.
+
+2011-11-11  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * xfns.c (unwind_create_frame):
+       * nsfns.m (unwind_create_frame):
+       * w32fns.c (unwind_create_frame): Use Fmemq to check if frame is in
+       Vframe_list (Bug#9999).
+
+2011-11-11  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * xdisp.c (syms_of_xdisp): Remove duplicated definition of Qtext.
+
+2011-11-11  Kenichi Handa  <handa@m17n.org>
+
+       * callproc.c (Fcall_process): Set the member dst_multibyte of
+       process_coding.
+
+2011-11-11  Johan Bockgård  <bojohan@gnu.org>
+
+       * xdisp.c (fill_composite_glyph_string): Always set s->face, to
+       avoid a crash (bug#9496).
+
+2011-11-09  Chong Yidong  <cyd@gnu.org>
+
+       * window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
+       (Fwindow_inside_absolute_pixel_edges): Only allow live windows.
+
+2011-11-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * s/gnu.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS (Bug#9926).
+
+2011-11-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Avoid some portability problems by eschewing 'extern inline' functions.
+       The trivial performance wins aren't worth the portability hassles; see
+       <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00084.html>
+       et seq.
+       * dispextern.h (window_box, window_box_height, window_text_bottom_y)
+       (window_box_width, window_box_left, window_box_left_offset)
+       (window_box_right, window_box_right_offset): Undo previous change,
+       by removing the "extern"s.
+       * intervals.c (adjust_intervals_for_insertion)
+       (adjust_intervals_for_deletion): Undo previous change,
+       making these static again.
+       (offset_intervals, temp_set_point_both, temp_set_point)
+       (copy_intervals_to_string): No longer inline.
+       * xdisp.c (window_text_bottom_y, window_box_width)
+       (window_box_height, window_box_left_offset)
+       (window_box_right_offset, window_box_left, window_box_right)
+       (window_box): No longer inline.
+
+2011-11-08  Chong Yidong  <cyd@gnu.org>
+
+       * window.c (Fwindow_left_column, Fwindow_top_line): Doc fix.
+       (Fwindow_body_height, Fwindow_body_width): Move from Lisp.  Signal
+       an error if not a live window.
+       (Fwindow_total_width, Fwindow_total_height): Move from Lisp.
+       (Fwindow_total_size, Fwindow_body_size): Move to Lisp.
+
+2011-11-07  Juanma Barranquero  <lekktu@gmail.com>
+
+       * lisp.h (syms_of_abbrev): Remove declaration.
+       Reported by CHENG Gao <chenggao@royau.me>.
+
+2011-11-07  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (check_windows_init_file): Don't look for term/w32-win.el
+       if Vpurify_flag is non-nil.  Fixes a crash when running w32 build
+       of temacs in GUI mode.
+
+2011-11-07  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.h: Declare delete_all_child_windows instead of
+       delete_all_subwindows.
+       * window.c (Fwindow_nest, Fset_window_nest)
+       (Fset_window_new_total, Fset_window_new_normal)
+       (Fwindow_resize_apply): Don't use term subwindow in doc-strings.
+       (delete_all_subwindows): Rename to delete_all_child_windows.
+       (Fdelete_other_windows_internal, Fset_window_configuration):
+       Call delete_all_child_windows instead of delete_all_subwindows.
+       * frame.c (delete_frame): Call delete_all_child_windows instead
+       of delete_all_subwindows.
+
+2011-11-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * alloc.c (DEADP): New macro, for porting to GNU/Hurd (Bug#9926).
+       This is also needed for porting to any host where GC_MARK_STACK is
+       not GC_MAKE_GCPROS_NOOPS.
+       (which_symbols): Use it.
+
+2011-11-07  Kenichi Handa  <handa@m17n.org>
+
+       * coding.c (coding_set_destination): Check coding->src_pos only
+       when coding->src_object is a buffer (bug#9910).
+
+       * process.c (send_process): Set the member src_multibyte of coding
+       to 0 (bug#9911) when sending a unibyte text.
+
+       * callproc.c (Fcall_process): Set the member src_multibyte of
+       process_coding to 0 (bug#9912).
+
+2011-11-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * xmenu.c (cleanup_widget_value_tree): New function.
+       (xmenu_show, xdialog_show): Use it in record_unwind_protect instead of
+       calling free_menubar_widget_value_tree directly (Bug#9830).
+
+2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix some portability problems with 'inline'.
+       * dispextern.h (window_box, window_box_height, window_text_bottom_y)
+       (window_box_width, window_box_left, window_box_left_offset)
+       (window_box_right, window_box_right_offset): Declare extern.
+       Otherwise, these inline functions do not conform to C99 and
+       are miscompiled by Microsoft compilers.  Reported by Eli Zaretskii in
+       <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00084.html>.
+       * intervals.c (adjust_intervals_for_insertion)
+       (adjust_intervals_for_deletion): Now extern, because otherwise the
+       extern inline functions 'offset_intervals' couldn't refer to it.
+       (static_offset_intervals): Remove.
+       (offset_intervals): Rewrite using the old contents of
+       static_offset_intervals.  The old version didn't conform to C99
+       because an extern inline function contained a reference to an
+       identifier with static linkage.
+
+2011-11-06  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * keyboard.c (interrupt_signal): Don't call kill-emacs while in
+       GC.
+
+2011-11-06  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (init_iterator, reseat_to_string): Don't set the
+       iterator's bidi_p flag if Vpurify_flag is non-nil.  (Bug#9963)
+       (Fcurrent_bidi_paragraph_direction): If Vpurify_flag is non-nil,
+       return Qleft_to_right.
+
+2011-11-06  Chong Yidong  <cyd@gnu.org>
+
+       * window.c (Fwindow_live_p, Fwindow_frame, Fframe_root_window)
+       (Fminibuffer_window, Fwindow_buffer, Fwindow_splits)
+       (Fset_window_splits, Fwindow_nest, Fset_window_nest)
+       (Fwindow_use_time, Fwindow_total_size, Fwindow_normal_size)
+       (Fwindow_new_normal, Fwindow_left_column, Fwindow_top_line)
+       (Fwindow_margins, Fwindow_fringes, Fwindow_scroll_bars)
+       (Fwindow_vscroll): Doc fix.
+       (Fwindow_top_child, Fwindow_left_child): Eliminate a nil default
+       argument, since it makes no sense to pass a live window and for
+       consistency with window-child.
+
+2011-11-05  Christoph Scholtes  <cschol2112@googlemail.com>
+
+       * makefile.w32-in ($(TEMACS), (gl-stamp)): Use $(THISDIR) to
+       support MSVC.
+
+2011-11-05  Jason Rumney  <jasonr@gnu.org>
+
+       * w32font.c (font_matches_spec): Filter out non-Japanese kana fonts.
+       (add_font_entity_to_list): Filter out non-Japanese Shift-JIS
+       fonts (Bug#6029).
+       (add_font_entity_to_list): Fix logic errors in mixed boolean and
+       bitwise arithmetic preventing use of unicode-sip and non-truetype
+       opentype fonts.
+
+2011-11-05  Eli Zaretskii  <eliz@gnu.org>
+
+       * s/ms-w32.h (fstat, stat, utime): Move redirections to
+       "emacs"-only part.
+
+       * w32fns.c (x_create_tip_frame, Fx_create_frame): Rearrange
+       initialization code to keep similarity to xfns.c after changes
+       from 2011-11-05.
+
+2011-11-05  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfns.m: Declare image_cache_refcount if GLYPH_DEBUG.
+       (unwind_create_frame): New function (Bug#9943).
+       (Fx_create_frame): Restructure code to be more similar to the one in
+       xfns.c.  Call record_unwind_protect with unwind_create_frame (Bug#9943).
+       Initialize image_cache_refcount if GLYPH_DEBUG (Bug#9943).
+       Move terminal->reference_count++ just before making the frame official
+       (Bug#9943).
+
+       * nsterm.m (x_free_frame_resources): New function.
+       (x_destroy_window): Move code to x_free_frame_resources.
+
+       * xfns.c (unwind_create_frame): Fix comment.
+       (Fx_create_frame, x_create_tip_frame): Move
+       terminal->reference_count++ just before making the frame
+       official. Move initialization of image_cache_refcount and
+       dpyinfo_refcount before calling init_frame_faces (Bug#9943).
+
+2011-11-05  Eli Zaretskii  <eliz@gnu.org>
+
+       Support MSVC build with newer versions of Visual Studio.
+       * makefile.w32-in (TAGS-gmake): Don't use $(patsubst ...), as
+       Nmake barfs on that.  Use $(OBJ*_c) variables instead, defined on
+       nt/gmake.defs.
+
+       * lisp.h (ENUM_BF): New macro, for enumerated types in bitfields,
+       which are not supported by MSVC.
+       (Lisp_Symbol, Lisp_Misc_Any, Lisp_Marker, Lisp_Misc_Overlay)
+       (Lisp_Save_Value, Lisp_Free): Use ENUM_BF for enumerated types in
+       bitfields.
+       (Lisp_Object) [USE_LISP_UNION_TYPE]: Use ENUM_BF for enumerated
+       types in bitfields.
+       (DEFUN) [_MSC_VER]: Define in a different way for MSVC.
+
+       * w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version.
+
+2011-11-05  Fabrice Popineau  <fabrice.popineau@supelec.fr>  (tiny change)
+
+       Support MSVC build with newer versions of Visual Studio.
+       * w32.c: Don't include w32api.h for MSVC.
+       (init_environment) [_MSC_VER]: Call sys_access, not _access.
+
+       * s/ms-w32.h <sigset_t, ssize_t> [_MSC_VER]: Typedefs for MSVC.
+       [_MSC_VER]: Include sys/timeb.h, sys/stat.h, and signal.h.
+       (fstat, stat, utime) [_MSC_VER]: Redirect to their sys_* cousins.
+       (malloc, free, realloc, calloc) [_MSC_VER]: Always redirect to the
+       e_* cousins.
+       (alloca) [_MSC_VER]: Define to _alloca.
+
+       * lisp.h (DECL_ALIGN) [_MSC_VER]: Define for MSVC.
+
+       * regex.c <re_char> [_MSC_VER]: A separate definition for MSVC.
+
+2011-11-04  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (note_mouse_highlight): If either of
+       previous/next-single-property-change returns nil, treat that as
+       the beginning or the end of the buffer.  (Bug#9955)
+
+2011-11-04  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (xg_make_tool_item): Add callbacks if one of wimage or
+       label is not null (Bug#9951).
+       (xg_tool_item_stale_p): Handle the fact that wimage and/or wlbl
+       may be NULL.
+
+2011-11-04  Eli Zaretskii  <eliz@gnu.org>
+
+       * window.c (Fwindow_body_size): Mention in the doc string that the
+       return value is in frame's canonical units.  (Bug#9949)
+
+2011-11-03  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (note_mouse_highlight): Initialize `area'.  (Bug#9947)
+
+       * w32fns.c (unwind_create_frame): If needed, free the glyph
+       matrices of the partially constructed frame.  (Bug#9943)
+       * xfns.c (unwind_create_frame): Likewise.
+
+2011-11-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment.
+       Don't stop backward scan on the continuation glyph, even though
+       its CHARPOS is positive.
+       (mouse_face_from_buffer_pos, note_mouse_highlight): Rename
+       cover_string to disp_string.
+
+2011-11-01  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.c (temp_output_buffer_show): Don't use
+       Vtemp_buffer_show_specifiers.
+       (Vtemp_buffer_show_specifiers): Remove unused variable.
+
+2011-10-30  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (try_cursor_movement): Make sure ROW isn't decremented
+       past the beginning of the current glyph matrix.
+
+2011-10-30  Adam Sjøgren  <asjo@koldfront.dk>  (tiny change)
+
+       * xterm.c: Include X11/Xproto.h if HAVE_GTK3.
+       (x_error_handler): Ignore BadMatch for X_SetInputFocus for
+       HAVE_GTK3 (Bug#9869).
+
+       * gtkutil.c (xg_win_to_widget, xg_event_is_for_menubar): Initialize
+       type to GDK_NOTHING so valgrind does not complain (Bug#9901).
+
+       * xterm.h (x_display_info): Add Xatom_net_wm_state_hidden (Bug#9893).
+
+       * xterm.c: Declare x_handle_net_wm_state to return int.
+       (handle_one_xevent): Check if we are iconified but don't have
+       _NET_WM_STATE_HIDDEN.  If do, treat as deiconify (Bug#9893).
+       (get_current_wm_state): Return non-zero if not hidden,
+       check for _NET_WM_STATE_HIDDEN (Bug#9893).
+       (do_ewmh_fullscreen): Ignore return value from get_current_wm_state.
+       (x_handle_net_wm_state): Return what get_current_wm_state returns.
+       (x_term_init): Initialize dpyinfo->Xatom_net_wm_state_hidden.
+
+2011-10-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * alloc.c (which_symbols): Declare EXTERNALLY_VISIBLE,
+       so that this new function doesn't get optimized away by a
+       whole-program optimizer.  Make the 2nd arg EMACS_INT, not int.
+
+2011-10-29  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * frame.h (MOUSE_HL_INFO): Remove excess parens.
+
+2011-10-29  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix the `xbytecode' command.
+       * .gdbinit (xprintbytestr): New command.
+       (xwhichsymbols): Rename from `which'; all callers changed.
+       (xbytecode): Print the byte-code string as well.
+
+2011-10-29  Kim Storm  <storm@cua.dk>
+
+       * alloc.c (which_symbols): New function.
+
 2011-10-29  Andreas Schwab  <schwab@linux-m68k.org>
 
        * minibuf.c (read_minibuf_noninteractive): Allow reading empty
 
 2011-07-08  Jason Rumney  <jasonr@gnu.org>
 
+       * w32term.c (x_make_frame_visible): Use SH_SHOWNORMAL rather than
+       SH_SHOW for hidden windows (Bug#5482).
+
        * w32fns.c (w32_wnd_proc) [WM_TIMER, WM_SET_CURSOR]: Avoid using
        frame struct members of non-existent frames (Bug#6284).
 
        * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods
        cString and lossyCString on OSX >= 10.4
 
-       * nsmenu.m (fillWithWidgetValue): Don't use depercated method
+       * nsmenu.m (fillWithWidgetValue): Don't use deprecated method
        sizeToFit on OSX >= 10.2.
 
        * nsimage.m (allocInitFromFile): Don't use deprecated method