(Fset_buffer_multibyte): Fix docstring.
[bpt/emacs.git] / src / ChangeLog
index e2d1a9b..576df45 100644 (file)
@@ -1,3 +1,911 @@
+2004-02-05  Kenichi Handa  <handa@m17n.org>
+
+       * buffer.c (Fset_buffer_multibyte): Fix docstring.
+
+2004-02-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * keymap.c (Vmouse_events): Rename from Vmenu_events.
+       (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
+
+2004-02-04  Kenichi Handa  <handa@m17n.org>
+
+       * fns.c (Fset_char_table_range): Handle charsets ascii,
+       eight-bit-control, and eight-bit-graphic correctly.
+
+2004-02-03  Jason Rumney  <jasonr@gnu.org>
+
+       * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
+
+       * w32fns.c (x_to_w32_font): Likewise.
+
+2004-02-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * xterm.h: Add x_handle_dnd_message, x_check_property_data,
+       x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
+
+       * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
+       ClientMessages.
+
+       * xselect.c: Include termhooks.h and X11/Xproto.h
+       (x_check_property_data, x_fill_property_data)
+       (x_property_data_to_lisp, mouse_position_for_drop)
+       (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
+       (Fx_send_client_event): Move here from xfns.c.
+       (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
+
+       * xfns.c (x-send-client-message): Move to xselect.c
+       (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
+       OUTER_P.
+       (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
+       VECTOR_RET_P.  Handle AnyPropertyType.  Call x_property_data_to_lisp
+       if vector_ret_p is true.
+       (syms_of_xfns): Sx_send_client_message moved to xselect.c.
+
+2004-02-02  Eli Zaretskii  <eliz@elta.co.il>
+
+       * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
+       basename of FILE relative to it, not FILE itself.
+
+2004-02-02  Kenichi Handa  <handa@m17n.org>
+
+       * coding.c (coding_restore_composition): Check invalid
+       composition data more rigidly.
+
+2004-01-30  Luc Teirlinck  <teirllm@auburn.edu>
+
+       * fileio.c (Fread_file_name_internal): Correctly handle the case
+       where insert-default-directory is nil.
+       (Fread_file_name): Always return an empty string if the user exits
+       with an empty minibuffer.  Adapt the docstring accordingly.
+       (syms_of_fileio): Adapt the docstring of insert-default-directory
+       to the change in Fread_file_name.
+
+2004-01-29  Eli Zaretskii  <eliz@elta.co.il>
+
+       * alloca.c [!alloca]: Fix the prototype for xfree.
+
+2004-01-29  Kenichi Handa  <handa@m17n.org>
+
+       * fns.c (string_char_to_byte): Optimize for ASCII only string.
+       (string_byte_to_char): Likewise.
+
+2004-01-28  Peter Runestig  <peter@runestig.com>
+
+       * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
+
+2004-01-27  Steven Tamm <steventamm@mac.com>
+
+       * unexmacosx.c (unexec_copy): Do not copy more than was
+       requested to prevent overwriting during unexec.
+
+2004-01-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * process.c (sigchld_handler): Add comment about not calling malloc.
+
+       * process.h: Add extern to synch_process_termsig.
+
+2004-01-27  Steven Tamm <steventamm@mac.com>
+
+       * macterm.c (make_mac_frame, make_mac_terminal_frame):
+       Move setting of scroll bars from make_mac_frame to
+       make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
+
+2004-01-26  Richard M. Stallman  <rms@gnu.org>
+
+       * search.c (Freplace_match): Handle nonexistent
+       back-references properly.
+
+2004-01-03  Richard M. Stallman  <rms@gnu.org>
+
+       * window.c (decode_any_window): New function.
+       (Fwindow_height, Fwindow_width, Fwindow_edges)
+       (Fwindow_pixel_edges, Fwindow_inside_edges)
+       (Fwindow_inside_pixel_edges): Use decode_any_window.
+
+2004-01-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * process.h: synch_process_termsig new variable.
+
+       * callproc.c: Define synch_process_termsig.
+       (Fcall_process): Initiate synch_process_termsig to zero and
+       check if non-zero and get signal name after subprocess has ended.
+
+       * process.c (sigchld_handler): Set synch_process_termsig
+       if terminated by a signal.  synch_process_death setting removed.
+
+       * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
+
+2004-01-26  Andreas Schwab  <schwab@suse.de>
+
+       * print.c (print_preprocess): Declare size as EMACS_INT to not
+       lose bits.
+       (print_object): Likewise.
+       * alloc.c (Fpurecopy): Likewise.
+
+2004-01-25  Luc Teirlinck  <teirllm@auburn.edu>
+
+       * window.c (Fwindow_minibuffer_p): Doc fix.
+
+2004-01-24  Jonathan Yavner  <jyavner@member.fsf.org>
+
+       * editfns.c (Fformat): Make both passes accept the same set of flags.
+
+2004-01-23  Kenichi Handa  <handa@m17n.org>
+
+       * fns.c (Fmd5): If OBJECT is a buffer different from the current
+       one, set buffer to OBJECT temporarily.
+
+2004-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * keyboard.c (kbd_buffer_gcpro): Remove.
+       (kbd_buffer_store_event, clear_event, Fdiscard_input)
+       (stuff_buffered_input, init_keyboard, syms_of_keyboard):
+       Don't initialize and/or maintain the variable any more.  It was made
+       redundant by my commit of 2003-06-15.
+
+       * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
+
+2004-01-21  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * lisp.h: Add undef DECL_ALIGN.
+
+2004-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * process.c (wait_reading_process_input) [SYNC_INPUT]:
+       Check interrupt_input_pending explicitly.
+
+       * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
+
+       * keyboard.c (handle_async_input): New fun,
+       extracted from input_available_signal.
+       (input_available_signal, reinvoke_input_signal): Use it.
+
+2004-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
+
+       * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
+       manipulation macros for when tags are in the lower bits.
+       (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
+       (DECL_ALIGN): New macro.
+       (DEFUN): Use it.
+
+       * lisp.h [ENABLE_CHECKING]: Don't force union type.
+
+       * s/darwin.h (__attribute__): Remove outdated workaround.
+
+       * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
+
+       * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
+       Don't check range of malloc address.
+       (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
+
+       * process.c (wait_reading_process_input): Lisp_Object/int mixup.
+
+       * dired.c (Ffile_attributes): Lisp_Object/int mixup.
+
+2004-01-19  Kenichi Handa  <handa@m17n.org>
+
+       * fontset.c (fontset_font_pattern): Fix previous change.
+
+2004-01-16  Miles Bader  <miles@gnu.ai.mit.edu>
+
+       * xdisp.c (Voverflow_newline_into_fringe)
+       (move_it_in_display_line_to, redisplay_internal)
+       (update_window_fringes, redisplay_window, display_line, window):
+       Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
+       that it compiles without a window-system.
+       * dispnew.c (direct_output_for_insert, update_window): Likewise.
+
+2004-01-16  Kim F. Storm  <storm@cua.dk>
+
+       * buffer.h (struct buffer): New member indicate_buffer_boundaries.
+
+       * buffer.c (init_buffer_once):  Set buffer_defaults and
+       buffer_local_flags for indicate_buffer_boundaries.
+       (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
+       default- variable for it.
+
+       * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
+       right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
+       New members exact_window_width_line_p and cursor_in_fringe_p for
+       overflowing newlines into right fringe.
+       New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
+       and indicate_bottom_line_p for buffer boundaries and scrolling.
+       (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
+       FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
+       HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
+       and HOLLOW_SQUARE_BITMAP.
+       (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
+       Add prototypes.
+
+       * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
+       instead of related indicator fields.
+       Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
+       (direct_output_for_insert): Handle exact width lines like
+       contined lines.  Call update_window_fringes.
+       (update_window): Call update_window_fringes.
+       (scrolling_window): Don't skip desired rows with changed bitmaps.
+       Check if fringe bitmaps changes when assigning scrolled rows.
+
+       * xdisp.c (Voverflow_newline_into_fringe): New variable.
+       (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
+       (move_it_in_display_line_to): Overflow newline into fringe for
+       rows that are exactly as wide as the window.
+       (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
+       (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
+       (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
+       (fringe_bitmaps): Add new bitmaps.
+       (draw_fringe_bitmap): Make extern.  Remove WHICH arg.
+       Select proper bitmap for cursor in fringe when appropriate.
+       Handle alignment of bitmap to top or bottom of row.
+       (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
+       done by update_window_fringes.
+       (update_window_fringes, draw_window_fringes): New functions.
+       (redisplay_internal): Call update_window_fringes in case only
+       cursor row is updated.
+       (redisplay_window): Call update_window_fringes.
+       Explicitly call draw_window_fringes if redisplay was done using
+       the current matrix or the overlay arrow is in the window.
+       (try_window_reusing_current_matrix): Mark scrolled rows for
+       fringe update (to update buffer-boundaries / scrolling icons).
+       (find_last_unchanged_at_beg_row): Handle exact width lines line
+       continued lines.
+       (display_line): Overflow newline into fringe for rows that are
+       exactly as wide as the window.  Don't append space for newline
+       in this case.
+       (notice_overwritten_cursor): Explicitly clear cursor bitmap
+       in fringe as if it had been overwritten.
+       (erase_phys_cursor): Erase cursor bitmap in fringe.
+       (syms_of_xdisp): Mark show-trailing-whitespace and
+       void-text-area-pointer as user options.
+       DEFVAR_LISP Voverflow_newline_into_fringe.  Enable by default.
+
+       * xterm.c (x_update_window_end): Call draw_window_fringes.
+       (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
+       in row instead of actually drawing fringe bitmaps.
+       (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
+       (x_draw_window_cursor): Draw cursor in fringe.
+
+       * w32term.c (x_update_window_end): Call draw_window_fringes.
+       (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
+       in row instead of actually drawing fringe bitmaps.
+       (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
+       (w32_draw_window_cursor): Draw cursor in fringe.
+
+       * macterm.c (x_update_window_end): Call draw_window_fringes.
+       (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
+       in row instead of actually drawing fringe bitmaps.
+       (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
+       (mac_draw_window_cursor): Draw cursor in fringe.
+
+2004-01-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * xterm.c (handle_one_xevent): Don't handle characters that are part
+       of an old style (XLookupString) compose sequence.
+
+2004-01-15  Kenichi Handa  <handa@m17n.org>
+
+       * search.c (Freplace_match): Use make_multibyte_string or
+       make_unibyte_string according to the buffer multibyteness.
+
+2004-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * alloc.c (struct interval_block, struct string_block)
+       (struct symbol_block, struct marker_block, live_string_p)
+       (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
+       Better preserve alignment for objects in blocks.
+       (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
+
+       * lread.c (defvar_per_buffer): Remove dead declaration.
+
+       * macterm.c (do_check_ram_size): Don't hardcode the lisp address
+       space size.
+
+2004-01-12  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
+       if a key press should pop down.  Only pop down if a key is pressed
+       outside the menu/dialog.
+       (create_and_show_popup_menu): Pass 0 for down_on_keypress to
+       popup_get_selection.
+       (create_and_show_dialog): Pass 1 for down_on_keypress to
+       popup_get_selection.
+
+2004-01-11  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * alloc.c (allocate_vectorlike): Surround calls to mallopt with
+       BLOCK/UNBLOCK_INPUT.
+
+2004-01-08  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
+       specified.
+
+2004-01-08  Kenichi Handa  <handa@m17n.org>
+
+       * editfns.c (Fformat): Fix '&' to '&&'.
+
+2004-01-08  Andreas Schwab  <schwab@suse.de>
+
+       * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
+       size if PSEUDOVECTOR_FLAG is set.
+
+2004-01-07  Kenichi Handa  <handa@m17n.org>
+
+       * charset.c (Fdeclare_equiv_charset): Fix docstring.
+
+       * fontset.c (fontset_ref_via_base): Fix previous change.
+
+2004-01-07  Kim F. Storm  <storm@cua.dk>
+
+       * process.c (read_process_output): Only activate adaptive
+       buffering if we read less than 256 bytes at a time.
+
+2004-01-06  Kim F. Storm  <storm@cua.dk>
+
+       * dispnew.c (buffer_posn_from_coords): Return both buffer/string
+       object and image object.  Return glyph width and height.
+       (mode_line_string, marginal_area_string): Ditto.
+
+       * dispextern.h (buffer_posn_from_coords, mode_line_string)
+       (marginal_area_string): Fix prototypes.
+
+       * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
+       POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
+       (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
+
+       * keyboard.c (make_lispy_position): Use modified mode_line_string,
+       buffer_posn_from_coords, and marginal_area_string functions to
+       include both string object and image object in the lispy position.
+       Also add actual glyph width and height to position.
+       (read_key_sequence): Use real buffer position from mouse
+       event to find keymap property even when click is in marginal area.
+
+       * xdisp.c (note_mode_line_or_margin_highlight): Use modified
+       mode_line_string and marginal_area_string functions to handle
+       both string object and image object properties.
+
+2004-01-06  Andreas Schwab  <schwab@suse.de>
+
+       * syntax.c (skip_chars): Treat '-' at end of string as ordinary
+       character.
+
+2004-01-02  Andreas Schwab  <schwab@suse.de>
+
+       * macterm.c (emacs_options, x_initialized, same_x_server):
+       Remove unused (and duplicated) definitions.
+
+2004-01-02  Kim F. Storm  <storm@cua.dk>
+
+       * process.h (struct Lisp_Process): New members for adaptive read
+       buffering: adaptive_read_buffering, read_output_delay, and
+       read_output_skip.
+
+       * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
+       (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
+       (READ_OUTPUT_DELAY_MAX_MAX): New constants.
+       (process_output_delay_count, process_output_skip): New vars.
+       (Vprocess_adaptive_read_buffering): New variable.
+       (make_process): Initialize adaptive read buffering members.
+       (Fstart_process): Set adaptive_read_buffering member.
+       (deactivate_process): Cleanup adaptive read buffering.
+       (wait_reading_process_input): Temporarily omit delayed
+       subprocesses from the set of file descriptors to read from;
+       adjust the select timeout if we skipped any subprocesses.
+       (read_process_output): Increase adaptive read buffering delay if
+       we read less than a full buffer; reduce delay when we read a
+       full buffer.
+       (send_process): Simplify using local Lisp_Process var.
+       Reset adaptive read buffering delay after write.
+       (init_process): Initialize process_output_delay_count and
+       process_output_skip.
+       (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
+
+2004-01-01  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (w32_text_out): Use s->font, for consistency with callers.
+
+2003-12-30  Luc Teirlinck  <teirllm@auburn.edu>
+
+       * print.c (Ferror_message_string): Add hyperlink in the docstring
+       to the definition of `signal' in the Elisp manual.
+       * eval.c (Fsignal): Ditto.
+
+2003-12-29  James Clark <jjc@jclark.com>  (tiny change)
+
+       * fns.c (internal_equal): Return t for two NaN arguments.
+
+2003-12-29  Richard M. Stallman  <rms@gnu.org>
+
+       * data.c (store_symval_forwarding): Handle setting
+       default-fill-column, etc., by changing the value in
+       buffers that use the default.
+
+       * minibuf.c (Fset_minibuffer_window): Doc fix.
+
+       * fileio.c (choose_write_coding_system): Ignore auto_saving
+       if using the visited file for auto saves.
+       (Fwrite_region): Don't update SAVE_MODIFF
+       if auto-saving in visited file.
+
+2003-12-29  Kenichi Handa  <handa@m17n.org>
+
+       * dispextern.h (face_font_available_p): Extern it.
+
+       * fontset.c (Voverriding_fontspec_alist): New variable.
+       (lookup_overriding_fontspec): New function.
+       (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
+       (fontset_font_pattern): Likewise.
+       (regulalize_fontname): New function.
+       (Fset_fontset_font): Call regulalize_fontname.
+       (Fset_overriding_fontspec_internal): New function.
+       (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
+       Defsubr Sset_overriding_fontspec_internal.
+
+       * xfaces.c (face_font_available_p): New function.
+
+2003-12-28  Richard M. Stallman  <rms@gnu.org>
+
+       * buffer.c (Fother_buffer): Don't crash if BUF is nil
+       or if its name is nil.
+
+       * buffer.c (Fkill_buffer): Don't delete auto-save file
+       if it's the same as the visited file.
+
+2003-12-28  Luc Teirlinck  <teirllm@auburn.edu>
+
+       * coding.c (Fcheck_coding_system): Doc fix.
+
+2003-12-28  Kim F. Storm  <storm@cua.dk>
+
+       * Makefile.in (eval.o): Depend on dispextern.h.
+
+       * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
+       image glyph using image's ascent.
+       (mode_line_string): Return image glyph as object clicked on.
+       Adjust y0 for image glyph using image's ascent.
+
+       * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
+       (struct glyph): New members, ascent and descent.  Used to save
+       this glyph's ascent and descent, instead of having.
+       (struct glyph): Declare member face_id using FACE_ID_BITS.
+       (find_hot_spot): Add prototype.
+
+       * keyboard.c (Qimage): Remove extern (now in lisp.h).
+       (QCmap): Declare extern.
+       (make_lispy_position): When position is inside image hot-spot,
+       use hot-spot element's id as posn element.
+
+       * lisp.h (IMAGEP): New macro to test for image object type.
+       (Qimage): Declare extern.
+
+       * macfns.c (Qimage): Remove extern (now in lisp.h).
+       (valid_image_p, parse_image_spec): Use IMAGEP macro.
+
+       * macterm.c (Qface, Qmouse_face): Remove unused externs.
+
+       * w32fns.c (Qimage): Remove extern (now in lisp.h).
+       (valid_image_p, parse_image_spec): Use IMAGEP macro.
+
+       * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
+
+       * w32term.c (Qface, Qmouse_face): Remove unused externs.
+
+       * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
+       pointer types.
+       (Qrelative_width, Qalign_to): Remove unused variables.
+       (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
+       (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
+       image maps.
+       (x_y_to_hpos_vpos): Return glyph relative coordinates through
+       new dx and dy args.
+       Remove buffer_only_p arg (always 0).  Simplify code accordingly.
+       (get_glyph_string_clip_rect): Draw cursor using glyph's rather
+       than row's ascent and height, to get sensible height on tall rows.
+       (build_desired_tool_bar_string): Remove Qimage extern.
+       (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
+       (produce_image_glyph): Adjust it.ascent to minimum row ascent if
+       image glyph is alone on the last line.
+       (append_glyph, append_composite_glyph, produce_image_glyph)
+       (append_stretch_glyph): Set glyph's ascent and descent.
+       (on_hot_spot_p): New function to check if position is inside an
+       rectangular, circular, or polygon-shaped image hot-spot,
+       (find_hot_spot): New function to search for image hot-spot.
+       (Flookup_image_map): New defun to search for image hot-spot.
+       (define_frame_cursor1): New aux function to determine frame pointer.
+       (note_mode_line_or_margin_highlight, note_mouse_highlight):
+       Handle `pointer' text property and :pointer image property to
+       control frame pointer shape.  Detect image hot-spots for pointer
+       and help_echo properties.  Use define_frame_cursor1.
+       (note_mouse_highlight): Use Vvoid_text_area_pointer.
+       (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
+       DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
+
+       * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
+
+       * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
+       (Qimage): Remove extern (now in lisp.h).
+       (valid_image_p, parse_image_spec): Use IMAGEP macro.
+
+       * xmenu.c (show_help_event): Remove unused code.
+
+       * xterm.c (Qface, Qmouse_face): Remove unused externs.
+       (x_draw_hollow_cursor): Draw cursor using glyph's rather than
+       row's ascent and descent, to get a sensible height on tall rows.
+
+2003-12-25  Luc Teirlinck  <teirllm@auburn.edu>
+
+       * minibuf.c (Fcompleting_read): Undo previous change.
+
+2003-12-25  Lars Hansen <larsh@math.ku.dk>
+
+       * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
+       Arguments GCPRO'ed in call to file name handler.
+
+2003-12-25  Thien-Thi Nguyen  <ttn@gnu.org>
+
+       * termcap.c (tgetst1): Scan for "%pN"; if all
+       N are continuous in [1,9], remove all "%pN".
+
+2003-12-24  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
+
+       * xfaces.c (lface_fully_specified_p): Take into account that
+       MAC OS always have unspecified stipple.
+
+2003-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
+
+       * tparam.c (tparam1): Add handling for `%pN', which
+       means use param N for the next substitution.
+
+2003-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
+
+       * xfaces.c (Fcolor_gray_p): Fix omission bug:
+       In case `frame' is nil, consult the selected frame.
+       (Fcolor_supported_p): Likewise.
+
+2003-12-23  Luc Teirlinck  <teirllm@auburn.edu>
+
+       * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
+       Doc fixes.
+
+       * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
+       and an integer.  Adapt the introductory comment accordingly.
+       (Fread_from_minibuffer): Delete code moved into read_minibuf.
+       Doc fix.
+       (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
+       read_minibuf.
+       (Fcompleting_read): Delete code moved into read_minibuf.
+       (Ftest_completion): Make it handle obarrays and hash tables correctly.
+
+2003-12-03  Kenichi Handa  <handa@m17n.org>
+
+       * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
+       encoding sequence.
+
+2003-12-01  Kenichi Handa  <handa@m17n.org>
+
+       * composite.c (syms_of_composite): Don't make the compostion hash
+       table week.
+
+2003-11-30  Luc Teirlinck  <teirllm@auburn.edu>
+
+       * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
+       * textprop.c (Fget_char_property_and_overlay): New function.
+       (syms_of_textprop): Defsubr it.
+
+2003-11-29  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
+       to compile on terminal configuration.
+
+       * fileio.c (Fread_file_name): Check use_file_dialog also before
+       calling Fx_file_dialog.
+
+       * fns.c: use_file_dialog: New variable.
+       (syms_of_fns): DEFVAR_BOOL use-file-dialog.
+
+2003-11-29  Kim F. Storm  <storm@cua.dk>
+
+       * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
+       (syms_of_msdos): Don't intern and staticpro them.
+
+2003-11-27  Kim F. Storm  <storm@cua.dk>
+
+       * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
+       coordinates relative to glyph at posn.  If glyph is an image,
+       return that as object at posn.  Callers changed.
+       (mode_line_string, marginal_area_string): Calculate and return
+       pixel coordinates relative to glyph.  Callers changed.
+
+       * dispextern.h (buffer_posn_from_coords, mode_line_string)
+       (marginal_area_string): Fix prototypes.
+       (window_box_left_offset, window_box_right_offset): Add prototypes.
+
+       * frame.h (get_specified_cursor_type, get_window_cursor_type):
+       Remove prototypes.
+
+       * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
+
+       * keyboard.c (make_lispy_position): Add x and y coordinates
+       relative to the current glyph as 7th element of position.
+       If glyph is an image, return it in the object element.
+       (read_key_sequence): Skip checks for keymap property in cases
+       where POSN_STRING is not a string (e.g. an image).
+
+       * xdisp.c (Vdisplay_pixels_per_inch): New variable.
+       (Vshow_text_cursor_in_void): New variable.
+       (glyph_to_pixel_coords): Don't use negative hpos.
+       (x_y_to_hpos_vpos): Fix for partially visible first glyph.
+       (append_stretch_glyph): Change ascent arg to be actual value
+       in pixels rather than ratio to height. Callers changed.
+       (calc_pixel_width_or_height): New aux function, implementing
+       pixel based artihmetic for glyph widths and heights.
+       (produce_stretch_glyph): Use calc_pixel_width_or_height for
+       :width, :height, :align-to, and :ascent, thus allowing these to
+       be specified in pixels as well as multiples of characters.
+       Don't produce stretch glyphs with zero width or height.
+       (get_specified_cursor_type): Declare static.
+       (get_window_cursor_type): Declare static.  Add glyph arg to be
+       able to know when cursor is on an image; always substitute
+       hollow-box cursor for filled-box cursor on images, to avoid
+       negative images and flicker when blinking the cursor.
+       (display_and_set_cursor): Pass glyph to get_window_cursor_type.
+       (note_mode_line_or_margin_highlight): Use non-text cursor rather
+       than vertical scroll-bar cursor in display margins.
+       (note_mouse_highlight): Use non-text cursor rather than text
+       cursor in fringes and over images in the text area.
+       Use non-text cursor when mouse pointer is outside editable text,
+       i.e. in the void after end-of-line or end-of-buffer; this was
+       already done for W32, but is now standard for all systems --
+       user can toggle show-text-cursor-in-void to get old behaviour.
+       (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
+       Vdisplay_pixels_per_inch.
+
+2003-11-25  Andreas Schwab  <schwab@suse.de>
+
+       * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
+       EMACS_INT to not lose bits.
+       (Ffillarray): Don't set bits beyond the size of a bool vector.
+
+2003-11-25  Kim F. Storm  <storm@cua.dk>
+
+       * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
+       define this defun on systems that cannot use stderr as lvalue.
+
+2003-11-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
+       [__FreeBSD_version >= 500042]: Define as -znocombreloc because
+       ld's default is incompatible with unexec.
+
+2003-11-23  Kim F. Storm  <storm@cua.dk>
+
+       * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
+       (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
+       (Fforce_window_update): New defun.
+       (syms_of_window): Defsubr it.
+       (Fset_window_margins, Fset_window_fringes): Doc fix.
+
+       * print.c (Fredirect_debugging_output): New defun.
+       (syms_of_print): Defsubr it.
+
+2003-11-22  Luc Teirlinck  <teirllm@auburn.edu>
+
+       * fns.c (Fset_char_table_parent): Doc fix.
+
+2003-11-22  Kim F. Storm  <storm@cua.dk>
+
+       * dispnew.c (buffer_posn_from_coords): Return actual row/column
+       for glyph clicked on, rather than (unused) pixel positions.
+       (mode_line_string, marginal_area_string): Change X and Y args to
+       pointers for returning actual row/column for glyph clicked on.
+       Simplify and optimize loops.
+
+       * dispextern.h (mode_line_string, marginal_area_string):
+       Update prototypes.
+
+       * keyboard.c (make_lispy_position): New function for generating
+       mouse click positions from frame and pixel coordinates.
+       Enhanced to return buffer position and actual row/column for
+       events outside the text area using updated mode_line_string and
+       marginal_area_string functions.
+       Return left-fringe and right-fringe clicks as such, rather than
+       clicks in text area.
+       (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
+       pixel_to_glyph_coords, as we never use the results.
+       (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
+       WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
+       Eliminate unused code in WHEEL_EVENT handling.
+       (make_lispy_movement): Use make_lispy_position.
+
+       * window.c (coordinates_in_window): Remove redundant tests.
+       Fix returned X pixel value for left-margin.
+
+       * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
+       mode_line_string and marginal_area_string parameters.
+
+2003-11-22  Lars Hansen <larsh@math.ku.dk>
+
+       * w32.c (struct the_group, getgrgid): Add.
+       * mac.c (struct my_group, getgrgid): Add.
+
+2003-11-21  Luc Teirlinck  <teirllm@auburn.edu>
+
+       * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
+
+2003-11-21  Lars Hansen  <larsh@math.ku.dk>
+
+       * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
+       include in call to file name handler.  Optionally translate numeric
+       UID and GID to strings.  Update docstring.
+       (directory_files_internal): Add parameter ID-FORMAT.
+       (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
+       include in call to file name handler and call to
+       directory_files_internal.  Update Docstring.
+       (Fdirectory_files): Add dummy parameter in call to
+       directory_files_internal.
+       * lisp.h (Qinteger): Add.
+       (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
+       (Ffile_attributes): Add parameter.
+       * data.c (Qinteger): Export.
+
+2003-11-21  Luc Teirlinck  <teirllm@auburn.edu>
+
+       * fns.c (Freverse, Fnreverse): Doc fixes.
+
+2003-11-19  Kim F. Storm  <storm@cua.dk>
+
+       * xdisp.c (init_iterator): Initialize it->start to position
+       before reseating (in case start position is invisible).
+       (init_to_row_start): Set it->start to row-start.
+       (redisplay_window): Accept optional_new_start if start position
+       is invisible (in which case IT_CHARPOS overshoots PT).
+       (display_line): Setup row->start from it->start (rather than
+       it->current which is wrong if first char on line is invisible).
+       When done, reseat it->start to it->current (= start of next row).
+       (expose_area): Fix exposure of text area when first char (e.g. TAB)
+       is only partially visible.
+
+       * dispextern.h (struct it): New member start.
+
+2003-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * alloc.c (make_float, Fcons): Clear the markbit at init time.
+       (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
+       of block_index outside of the macro call.
+       (Fgarbage_collect): Remove null code.
+
+       * m/amdx86-64.h: Don't redefine XPNTR.
+
+       * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
+       of VALMASK.
+
+       * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
+       (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
+       (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
+
+       * lisp.h (VALMASK): Only define for non-union type.
+       (MARKBIT): Remove.
+       (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
+       (XTYPE): Define unconditionally.
+       (XSETTYPE): Remove one more remnant.
+       (EQ): Define differently for the union and non-union cases.
+       (INTMASK): New bit mask.
+       (struct Lisp_Marker): Move down to prepare for upcoming patch.
+       (GC_EQ): Delegate to EQ.
+
+       * coding.c (coding_restore_composition): Lisp_Object/int mixup.
+
+2003-11-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * xterm.c (x_window_to_scroll_bar): Move check of display to
+       where window_id is compared.
+
+2003-11-17  Kim F. Storm  <storm@cua.dk>
+
+       * dispextern.h (struct it): New member first_vpos.
+
+       * xdisp.c (start_display): Set it->first_vpos.
+       (try_window_id): Use first_vpos to start display in first _text_
+       line if no reusable lines at start of window with header line.
+
+2003-11-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * w32fns.c (XPutPixel):
+       * w32bdf.c (w32_init_bdf_font):
+       * sunfns.c (sel_read):
+       * process.c (Fmake_network_process):
+       * frame.c (store_frame_param):
+       * fontset.c (Fset_fontset_font):
+       * emacs.c (shut_down_emacs):
+       * ccl.c (ccl_driver):  Remove period at end of error message.
+
+       * config.in: Regenerate.
+
+       * xfns.c (x_window_to_frame, x_any_window_to_frame)
+       (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
+       (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
+       (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
+       (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
+
+       * xterm.h (struct x_display_info): New field xg_cursor for GTK.
+
+       * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
+       (XTmouse_position, handle_one_xevent): Pass Display* to
+       x_window_to_scroll_bar.
+       (x_window_to_scroll_bar): Take a Display* argument.
+       Check that display for frame is equal to Display* argument.
+       (event_handler_gdk): Remove current_dpyinfo.  Get dpyinfo from
+       x_display_info_for_display instead.  Use Display in xev instead
+       of GDK_DISPLAY.
+       (x_dispatch_event): Call x_display_info_for_display.
+       (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
+       (x_connection_closed): Call xg_display_close for GTK.
+       (x_term_init): Call xg_display_open for additional displays.
+       Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
+       for GTK.
+
+       * xmenu.c (single_menu_item, mouse_position_for_popup)
+       (x_activate_menubar): Formatting adjustments.
+
+       * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
+       adjustments.
+
+       * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
+       (xg_display_close, xg_create_default_cursor)
+       (xg_get_gdk_pixmap_and_mask): New functions for multiple display
+       handling.
+       (xg_left_ptr_cursor): Remove.
+       (xg_set_cursor): Change cursor to GdkCursor*.  Do not create
+       cursor here.
+       (xg_win_to_widget): Take Display* argument, call
+       gdk_xid_table_lookup_for_display.
+       (xg_create_frame_widgets, xg_get_file_name, create_menus)
+       (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
+       (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
+       in FRAME_X_DISPLAY_INFO.
+       (xg_get_scroll_id_for_window): Take Display* argument.
+       (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
+       (xg_initialize): Remove xg_left_ptr_cursor.
+
+       * gtkutil.h: xg_get_scroll_id_for_window, xg_win_to_widget takes
+       Display* argument also.  Declare xg_display_open,
+       xg_display_close, xg_create_default_cursor.
+
+2003-11-14  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * xterm.c (x_detect_focus_change): Do not change focus frame for
+       Enter/LeaveNotify if the current focus frame has explicit focus.
+
+2003-11-14  Kim F. Storm  <storm@cua.dk>
+
+       * dispnew.c (update_text_area): Fix redisplay error when hscroll
+       is active and first glyph is only partially visible.
+
+2003-11-13  Kenichi Handa  <handa@m17n.org>
+
+       * xdisp.c (select_frame_for_redisplay): New function.
+       (redisplay_internal): Record also selected_frame for
+       unwind_redisplay.  Call select_frame_for_redisplay before
+       redrawing each frame.
+       (unwind_redisplay): Argument changed to a cons.
+
+2003-11-12  Luc Teirlinck  <teirllm@auburn.edu>
+
+       * fns.c (Fstring_to_multibyte): Doc fix.
+
+2003-11-11  Kenichi Handa  <handa@m17n.org>
+
+       * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
+
+2003-11-09  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * xfns.c (x_window): Set XtNx and XtNy in shell widget for
+       program specified positions.
+
 2003-11-08  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 
        * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
 
 2003-11-07  Kenichi Handa  <handa@m17n.org>
 
-       * coding.c (coding_allocate_composition_data): Reset
-       coding->composing to COMPOSITION_NO.
+       * coding.c (coding_allocate_composition_data):
+       Reset coding->composing to COMPOSITION_NO.
        (coding_restore_composition): Detect invalid composition data.
        Give Fstring and Fvector a Lispy integer, not C int.
 
+2003-11-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * floatfns.c (Flogb): Don't use VALMASK.
+
+       * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
+       * m/ia64.h (VALBITS, XINT, XUINT): Remove.
+
+       * lisp.h (XINT): Move the cast to clarify what is going on.
+       (GCTYPEMASK, XSETTYPE): Remove.
+       (XGCTYPE): Make it an alias of XTYPE.
+
 2003-11-03  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 
        * xterm.c (x_term_init): Fix formatting.
        (tearoff_remove): Just decrease xg_detached_menus.
        (tearoff_activate): Increase xg_detached_menus and call
        tearoff_remove when tearoff is removed.
-       (xg_keep_popup): Removed function.
+       (xg_keep_popup): Remove function.
        (create_menus): Give add_tearoff_p as argument to recursive
        call to create_menus.
        (xg_create_widget): Use variables instead of multiple
 
        * macterm.c (XTread_socket): Handle menubar selection and grow
        window only for mouseDown events.
-       
+
 2003-10-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 
        * xterm.c (x_term_init): For GTK part, increase x_initialized
 
 2003-10-31  Andrew Choi  <akochoi@shaw.ca>
 
-       * unexmacosx.c (unrelocate): New function (contributed by Nozomu
-       Ando).
+       * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
        (copy_dysymtab): Call it.
 
 2003-10-31  Luc Teirlinck  <teirllm@auburn.edu>
        * window.c (Fset_window_fringes): Clarify docstring.
 
 2003-10-14  Kim F. Storm  <storm@cua.dk>
+
        * window.c (Fset_window_margins): Simplify arg checking.
 
 2003-10-13  Richard M. Stallman  <rms@gnu.org>
 
 2003-10-12  Andrew Choi  <akochoi@shaw.ca>
 
-       * macterm.c (XTread_socket): Call DragWindow only for mouseDown
-       events.
+       * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
 
        * s/darwin.h (GC_MARK_STACK): Define.
 
 
 2003-10-08  Kenichi Handa  <handa@m17n.org>
 
-       * coding.c (Fcoding_system_p): Return t for auto-loading coding
-       system.
+       * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
 
 2003-10-07  Kenichi Handa  <handa@m17n.org>
 
 
        * xterm.h (struct x_output): New members: move_offset_top/left.
 
-       * frame.c (x_set_frame_parameters): x_fullscreen_move removed,
+       * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
        call x_set_offset directly.
 
        * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
        * xterm.c (x_delete_display): Free font names and font_encoder
        in dpyinfo->font_table.
 
-       * xfns.c (Fx_close_connection): Only call XFreeFont here.  xfree
-       of font names moved to x_delete_display.
+       * xfns.c (Fx_close_connection): Only call XFreeFont here.
+       Move xfree of font names to x_delete_display.
 
        * xterm.h (struct x_display_info): New member, wm_type.
        (struct x_output): New members, expected_top/left and
 
        * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
        is received.
-       (handle_one_xevent): x_check_expected_move renamed from
-       x_check_fullscreen_move
+       (handle_one_xevent): Rename x_check_expected_move from
+       x_check_fullscreen_move.
        (x_set_offset): Only add WM decoration sizes to modified_top/left
        for X_WMTYPE_A.  Set check_expected_move when WM type is unknown.
-       (x_check_expected_move): Renamed from x_check_fullscreen_move.
+       (x_check_expected_move): Rename from x_check_fullscreen_move.
        Removed fullscreen specific code.  Use check_expected_move,
        expected_left/top instead.  Also, set wm_type.
        (x_term_init): Initialize wm_type to unknown.
 
 2003-10-02  Jason Rumney  <jasonr@gnu.org>
 
-       * makefile.w32-in (emacs.o, coding.o, bytecode.o): Sync
-       dependancies with Makefile.in.
+       * makefile.w32-in (emacs.o, coding.o, bytecode.o):
+       Sync dependencies with Makefile.in.
        (alloca.o): Remove.
 
        * w32fns.c (w32_load_system_font): Clear all members of FONTP before
        * term.c (set_tty_color_mode): Calculate current_mode_spec
        regardless of value of VAL.
 
-       * intervals.c (graft_intervals_into_buffer): 
+       * intervals.c (graft_intervals_into_buffer):
        Set BUF_INTERVALS (buffer)->up_obj when appropriate.
        Handle over_used when splitting UNDER.
 
 
 2003-09-19  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 
-       * xterm.c (x_set_offset): Take window manager decorations
-       into account.
+       * xterm.c (x_set_offset): Take window manager decorations into account.
 
 2003-09-19  Richard M. Stallman  <rms@gnu.org>
 
        * gtkutil.c: Include keyboard.h, charset.h, coding.h.
        (xg_create_frame_widgets): Use ENCODE_UTF_8.
 
-       * xterm.c (Qutf_8): Moved to coding.c
+       * xterm.c (Qutf_8): Move to coding.c
 
        * xmenu.c (ENCODE_MENU_STRING): New.
        (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):