X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/fe83b953b198b65ea6eddb76bc12f5bd5880eb77..64e6cc18e674b565b1c48716a251b26b7fef5ac8:/src/ChangeLog diff --git a/src/ChangeLog b/src/ChangeLog index 9fe597760d..c890250eb4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,376 @@ +2000-10-02 Gerd Moellmann + + * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can + return with a string converted to an integer or vice versa when + Vmocklisp_arguments is t. + (Fsignal): Likewise. The function can return for `quit'. + (struct gcpro): Declare member `var' to point to a volatile + Lisp_Object. + + * eval.c (error): Prevent compiler warning. + +2000-09-30 Stefan Monnier + + * keymap.c (keymap_memberp): New function. + (Fset_keymap_parent): Use it. + (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP. + Use keymap_memberp to avoid creating cycles. + (access_keymap): Use KEYMAPP. + +2000-09-30 Gerd Moellmann + + * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use + gai_strerror. Make sure xerrno is set if connect fails. Improve + error recovery. + +2000-09-29 Jason Rumney + + * w32term.c (w32_char_font_type, w32_encode_char) + (x_produce_glyphs): Distinguish single and multibyte BDF fonts. + (w32_bdf_per_char_metric): New function. + (w32_per_char_metric): Use it. + (x_draw_glyph_string_background): Always draw background for BDF + glyphs. + + * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not + GDI object which is a scarce resource. + + * w32bdf.c (search_file_line): Fix skipping of whitespace. + (get_quoted_string): Fix limit on memchr search. + (set_bdf_font_info): Use unsigned chars. Negate yoffset. + (w32_init_bdf_font): Initialize codepoint and bitmap heaps. + (w32_free_bdf_font): Free bitmaps and codepoints on heaps. + (get_cached_font_char, cache_char_offset): Use macro + BDF_CODEPOINT_RANGE_COVER_P. + (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap. + (clear_cached_bitmap_slots): New function. + (GET_HEX_VALUE): G-Z, g-z are not hex. + (w32_get_bdf_glyph): Convert to DIB format. Return bytes read. + (get_bitmap_with_cache): Use new cache implementation. + (create_offscreen_bitmap): New function. + (w32_BDF_TextOut): Use it. Draw glyphs as DIBs. + + * w32term.c (x_produce_glyphs): If the distance from the current + position to the next tab stop is less than a canonical character + width, use the tab stop after that. + (x_draw_glyphs): Handle case START and END are out of bounds more + carefully. + (x_clear_mouse_face): Block/unblock input. + (x_display_and_set_cursor): Don't show a hollow box cursor for + buffers whose cursor_type is nil. + +2000-09-29 Gerd Moellmann + + * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar + disappears. + + * dispextern.h (updating_frame): Declare extern. + +2000-09-29 Andreas Schwab + + * m/ia64.h: Remove hack of not prototyping bcopy, etc. + +2000-09-29 Gerd Moellmann + + * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol, + use its function definition. + (tool_bar_items): Likewise. + + * lisp.h (fatal): Declare NO_RETURN. + +2000-09-29 Kenichi Handa + + * keymap.c: Remove the line "#undef NULL". + +2000-09-28 Gerd Moellmann + + * xterm.c (x_make_frame_visible): Try harder to make the frame + visible. + +2000-09-28 Dave Love + + * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP. + + * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define. + + * .gdbinit (xreload): Note its need on GNU/Linux. + + * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare + r_alloc, r_alloc_free. + +2000-09-28 Kenichi Handa + + * syntax.c (skip_chars): Handle negation correctly. + +2000-09-27 Gerd Moellmann + + * xfaces.c (realize_default_face): Call set_lface_from_font_name + with non-zero FORCE_P argument. + + * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows): + Add assertions. + + * xdisp.c (window_box_height): Add an assertion. + + * xfns.c (x_set_tool_bar_lines): Don't use more lines for the + tool-bar than is available. + (x_change_window_heights): Renamed from x_set_menu_bar_lines_1. + +2000-09-27 Dave Love + + * s/irix6-5.h: Now works 64-bit. Tidied. + +2000-09-26 Gerd Moellmann + + * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT + instead of BITS_PER_INT. + (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and + EMACS_UINT, respectively. + (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine. + + * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define. + + * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64. + + * window.c (freeze_window_starts): Construct last argument for + foreach_window differently. + + * xfns.c (x_decode_color): Don't return a Lisp_Object. + + * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and + EMACS_UINT instead of `int' and `unsigned int'. + (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'. + + * frame.h (struct frame): Make the `nothing' member of union + output_data an EMACS_INT. + + * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug + hunting. + (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's + size in the sdata structure. + (SDATA_NBYTES, SDATA_DATA): New macros. + (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define + differently for the different layout of the sdata structure. + (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size + in sdata. + (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]: + Check that size recorded in the string size and size recorded in + the sdata structure agree. + +2000-09-25 Dave Love + + * buffer.c: Include stdio.h. + + Partly suggested by Eduardo Horvath . + + * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t. + + * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it. + (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as + size_t. + (__malloc_extra_blocks): Declare as __malloc_size_t. + +2000-09-25 Gerd Moellmann + + * alloc.c (mark_image): Use GC_NILP instead of NILP. + + * keyboard.c (show_help_echo): Set help_echo_showing_p. + (read_char): If help-echo is showing, preserve the echo area + when redisplaying. + + * xdisp.c (help_echo_showing_p): New variable. + (set_message): Reset it to 0. + (init_xdisp): Initialize help_echo_showing_p. + + * dispextern.h (help_echo_showing_p): Declare extern. + + * config.in: Fix typo in __GNUC_MINOR__. + + * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN. + + * s/freebsd.h (POSIX_SIGNALS): Define. + + * xterm.c (x_clear_mouse_face): Block/unblock input. + +2000-09-24 Dave Love + + * fns.c (base64_encode_1): Fix last change. + +2000-09-22 Gerd Moellmann + + * dispnew.c (enable_glyph_matrix_rows): Remove xasserts. + + * xdisp.c (try_window_reusing_current_matrix): More fixes + for the case window has a header-line. + +2000-09-22 Dave Love + + * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide + a doc string. + + * xterm.c [SOLARIS2]: Remove redundant include of string.h. + + * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix. + +2000-09-21 Gerd Moellmann + + * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))' + for GCC >= 2.5. + + * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare + NO_RETURN. + + * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c, + * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c, + * indent.c, search.c, alloc.c, data.c: Avoid some more compiler + warnings. + + * marker.c (byte_char_debug_check): Return void. + + * xfns.c (Fx_create_frame): Set default frame parameter value + for tool-bar-lines to 1. + + * dispnew.c (scrolling_window): Compare y-positions of rows + equal at the start. Some simplification. + + * xdisp.c (try_window_reusing_current_matrix): Fix computation of + reused rows' y-position in the case window has a header-line, and + new window start is greater than old window start. + + * process.c (process_sent_to): New variable. + (send_process): Workaround for a crash on sparc-sun-solaris-2.6 + with GCC 2.95.2 caused by a parameter being clobbered by longjmp. + Declare more parameters volatile. + + * lread.c (Vrecursive_load_depth_limit): New variable. + (Fload): Check recursive loads whose recursion depth exceeds + Vrecursive_load_depth_limit. + (syms_of_lread): DERFAR_LISP recursive-load-depth-limit. + +2000-09-20 Gerd Moellmann + + * fileio.c (Fread_file_name): Doc fix. + + * editfns.c (Fmessage_or_box): Doc fix. + + * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix. + + * xfns.c (xbm_scan): Allow C-style comments. + + * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color + symbols are specified, add color translations to the cache. + (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New + functions. + (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and + xpm_cache_color. + (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes + structures to xpm_init_color_cache. + +2000-09-19 Gerd Moellmann + + * dispnew.c (update_window_line): Make sure to always draw + mode-lines. + +2000-09-19 Andrew Innes + + * makefile.nt (bootstrap-emacs): Don't change directory. + +2000-09-19 Kenichi Handa + + * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change. + + * ccl.c (Fccl_execute_on_string): Make multibyte string correctly. + If output buffer is too small, signal an appropriated error. + +2000-09-18 Dave Love + + * keyboard.c (menu_bar_items, tool_bar_items) + (current_active_maps): Remove redundant get_local_map call. + +2000-09-18 Gerd Moellmann + + * xterm.c (x_display_and_set_cursor): Don't show a hollow box + cursor for buffers whose cursor_type is nil. + + * xterm.c (x_draw_image_glyph_string): Remove a comment describing + a feature to implement that is already implemented. + (note_mouse_highlight, x_find_ccl_program): Avoid some compiler + warnings. + + * xfns.c (x_clear_image_1): New function. + (x_clear_image): Use it. + (x_from_xcolors): Use x_clear_image_1; don't free the image's + mask. + + * dispnew.c (update_window): Move test for invisible lines + at the top to update_window_line. + (update_window_line): Handle invisible lines here. + + * xfns.c (clear_image_cache): Clear current matrices of all + frames sharing an image cache. Block input while freeing + images. Fix timestamp comparison. + (x_clear_image): Also free the mask. + + * xfns.c (lookup_image): Block input while loading the image so + that we won't get interrupted in a state where the image isn't yet + set up completely. + (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color) + (lookup_pixel_color, x_to_xcolors, x_from_xcolors) + (x_disable_image, x_build_heuristic_mask, pbm_load, png_load) + (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock + input. + +2000-09-16 Gerd Moellmann + + * dispnew.c (update_window): Make sure to make desired rows + current even if they are completely invisible at the top + of a window. + +2000-09-15 Gerd Moellmann + + * xfns.c (lookup_image): Build mask before applying an algorithm. + Recognize algorithm `disabled'. + (cross_disabled_images): New variable. + (COLOR_INTENSITY): New macro. + (x_detect_edges): Use COLOR_INTENSITY. + (x_disable_image): New function. + (syms_of_xfns): DEFVAR_BOOL cross_disabled_images. + + * xdisp.c (build_desired_tool_bar_string): For a toolbar item in + disabled state, don't apply an image transformation algorithm if + the user specified an image for the disabled state. Use + `:algorithm disabled' for creating a disabled item's image if the + user hasn't specified an image. + + * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color + allocation functions with the XPM lib. + (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure. + (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro. + (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable. + (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color) + (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New + functions. + (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation + functions, if possible, because these handle color allocation + failure more gracefully. + (Fimage_mask_p): New function. + + * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss) + (Qedge_detection, Qheuristic): New symbols. + (syms_of_xfns): Initialize new symbols. + (lookup_image): Handle `:mask X', `:algorithm emboss', and + `algorithm (edge-detection ...)'. + (xbm_format, xpm_format, pbm_format, png_format, jpeg_format): + (tiff_format, gif_format, gs_format): Add `:mask'. + (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK) + (GIF_MASK, GS_MASK): New enumerators. + (x_laplace_read_row, x_laplace_write_row): Functions removed. + (emboss_matrix, laplace_matrix): New variables. + (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss) + (x_edge_detection): New functions. + (x_laplace): Rewritten in terms of x_detect_edges. + (x_build_heuristic_mask): If image has a mask, free it. + 2000-09-14 Andrew Innes * makefile.w32-in: Revert to Unix line endings.