+2000-09-15 Gerd Moellmann <gerd@gnu.org>
+
+ * 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
+ `:algorthm 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 <andrewi@gnu.org>
+
+ * makefile.w32-in: Revert to Unix line endings.
+
+2000-09-14 Andrew Innes <andrewi@gnu.org>
+
+ * makefile.w32-in: Standardize indentation somewhat.
+ (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
+ cater for differences between shells.
+
+ * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
+
+2000-09-14 Gerd Moellmann <gerd@gnu.org>
+
+ * xterm.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.
+
+2000-09-14 Dave Love <fx@gnu.org>
+
+ * buffer.c (alloc_buffer_text): Fix xmalloc call.
+
+2000-09-14 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (handle_fontified_prop): While running fontification
+ functions, bind `fontification-functions' and
+ `after-change-functions' to nil.
+
+ * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
+ (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
+
+ * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
+
+ * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
+ USE_MMAP_FOR_BUFFERS.
+
+ * insdel.c (make_gap): Use enlarge_buffer_text.
+
+ * buffer.c: Move allocation with mmap here, from ralloc.c. Change
+ conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
+ (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
+ from former r_alloc_* functions in ralloc.c.
+ (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
+ variables.
+ (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
+ (mmap_init) [REL_ALLOC_MMAP]: New function.
+ (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
+ functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
+ BUFFER_FREE.
+
+ * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
+ (enlarge_buffer_text): Add prototype.
+
+ * ralloc.c: Remove everything having to do with the use of mmap.
+
+2000-09-13 Gerd Moellmann <gerd@gnu.org>
+
+ * sound.c (Fplay_sound): Doc fix.
+
+ * keyboard.c: Avoid some more compiler warnings.
+ (parse_tool_bar_item): Ignore cached key bindings.
+
+ * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
+ and allocation of Lisp data.
+
+2000-09-12 Gerd Moellmann <gerd@gnu.org>
+
+ * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
+ (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
+ defaults first.
+
+ * lread.c (Fload): Put code checking for recursive loads in #if 0.
+
+2000-09-12 Miyashita Hisashi <himi@meadowy.org>
+
+ * ccl.c: Comment fixed.
+ (MAX_MAP_SET_LEVEL): Increased to 30.
+ (PUSH_MAPPING_STACK): Enclose with do-while block.
+ (POP_MAPPING_STACK): Likewise.
+ (stack_idx_of_map_multiple): New variable.
+ (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
+ (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
+ call the corresponding CCL program by
+ CCL_CALL_FOR_MAP_INSTRUCTION.
+ (ccl_driver) <CCL_MapSingle>: Likewise.
+ (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
+ with the case where looking up process reaches to the end of
+ map-set, and call CCL programs as the above change.
+
+2000-09-11 Gerd Moellmann <gerd@gnu.org>
+
+ * xfns.c (png_load, jpeg_load): Declare some variables volatile
+ that might be clobbered by longjmp.
+ (check_x_display_info, x_decode_color, create_frame_xic)
+ (Fx_display_backing_store, Fx_display_visual_class)
+ (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
+ warnings.
+
+ * lread.c (init_lread): Set Vloads_in_progress to nil.
+ (Fload): Show list of recursively loaded files, when signaling an
+ error.
+
+ * lread.c (Vloads_in_progress): New variable.
+ (record_load_unwind): New function.
+ (Fload): Check for recursive loads.
+ (syms_of_lread): Initialize Vloads_in_progress.
+ (read_integer, read1): Avoid some compiler warnings.
+
+ * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
+ compiler warnings.
+
+2000-09-11 Miles Bader <miles@gnu.org>
+
+ * editfns.c (Fbuffer_string): Doc fix.
+
+2000-09-10 Gerd Moellmann <gerd@gnu.org>
+
+ * ralloc.c (mmap_enlarge): Don't return 0 if successful.
+
+2000-09-09 Ken Raeburn <raeburn@gnu.org>
+
+ * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
+ whether to include other header files.
+
+2000-09-09 Gerd Moellmann <gerd@gnu.org>
+
+ * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
+ by Fmemq as a boolean.
+
+2000-09-08 Stefan Monnier <monnier@cs.yale.edu>
+
+ * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
+
+2000-09-08 Gerd Moellmann <gerd@gnu.org>
+
+ * ralloc.c (mmap_fd): Remove initializer which can make it
+ read-only in a dumped Emacs.
+ (mmap_fd_1): New variable.
+ (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
+ restore it from there.
+ (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
+ unconditionally so that mmap_fd can be initialized there.
+ (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
+ (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
+ (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
+
+ * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
+
+ * xdisp.c (dump_glyph_row): Fix printf format string.
+ (display_line, move_it_in_display_line_to): Avoid compiler
+ warnings.
+
+ * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
+
+ * keymap.c (Fset_keymap_parent): Check for cycles in keymap
+ inheritance.
+
+ * xdisp.c (try_window_id): When trying to locate cursor in
+ unchanged rows at the top, handle the case that we can't find it.
+
+ * xterm.c (x_draw_glyphs): Handle case START and END are out
+ of bounds more carefully.
+
+2000-09-08 Dave Love <fx@gnu.org>
+
+ * s/sol2.h (REL_ALLOC_MMAP): Define.
+ * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
+
+ * ralloc.c: Don't include string.h (redundant).
+ (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
+ [!MAP_ANON]: Include fcntl.h.
+ (mmap_fd) [REL_ALLOC_MMAP]: New variable.
+ (r_alloc, r_re_alloc, r_alloc_free)
+ (mmap_enlarge, mmap_set_vars): Use it.
+ (r_alloc_init_fd): New function.
+ (__morecore) [SYSTEM_MALLOC]: Don't declare.
+ (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
+ malloc type.
+
+ * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
+ Remove vm-limit.o.
+
+ * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
+ change to __NetBSD__.
+
+2000-09-08 Kenichi Handa <handa@etl.go.jp>
+
+ * search.c (compile_pattern): Check the multibyteness of cached
+ string and PATTERN.
+
+2000-09-08 Miles Bader <miles@gnu.org>
+
+ * xfaces.c (default_face_vector): Function removed.
+ (Finternal_merge_in_global_face): Restore old global/local
+ attribute override order. Use inline loop instead of calling
+ default_face_vector.
+
2000-09-07 Gerd Moellmann <gerd@gnu.org>
+ * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
+ (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
+ (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
+ where necessary, in case POINTER_TYPE is `void'.
+
+2000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * frame.c (make_terminal_frame): Initialize frame foreground and
+ background colors to unspecified, for the initial instance of an
+ MSDOS frame.
+
+2000-09-07 Gerd Moellmann <gerd@gnu.org>
+
+ * ralloc.c (mmap_find): Fix overlap computation.
+ (mmap_enlarge): Compute nbytes before trying to find an
+ overlapping region.
+
* xfaces.c (smaller_face): Compare font heights with `<' and `>'
instead of `!='.