+2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * 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
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):
+ * 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.
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): current_dpyinfo removed. Get dpyinfo from
+ (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.
(xg_display_close, xg_create_default_cursor)
(xg_get_gdk_pixmap_and_mask): New functions for multiple display
handling.
- (xg_left_ptr_cursor): Removed.
- (xg_set_cursor): cursor changed to GdkCursor*. Do not create
+ (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.
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): xg_left_ptr_cursor removed.
+ (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,
* 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.
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):