+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 `!='.
+
+ * lread.c (syms_of_lread): Change value of regexp
+ Vbytecomp_version_regexp to not match some XEmacs-compiled files.
+
+ * xmenu.c (xdialog_show): When looking up the selection in
+ menu_items, take `quote' boundaries into account; this corresponds
+ to a nil ITEM in x-popup-dialog.
+
+2000-09-07 Kenichi Handa <handa@etl.go.jp>
+
+ * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
+ not 0x81.
+ (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
+
+ * coding.c (encode_coding_sjis_big5): Use translation table for
+ encoding, not decoding. Fix the handling of latin-jisx0201.
+ Check for the charset katakana-jisx0201 too.
+ (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
+ (detect_coding_sjis): Check the byte sequence more rigidly.
+
+2000-09-07 Gerd Moellmann <gerd@gnu.org>
+
+ * xfaces.c (Vparam_value_alist): New variable.
+ (syms_of_xfaces): Initialize it.
+ (Finternal_set_lisp_face_attribute): Avoid more consing.
+
+ * frame.c (Fframe_parameter): Handle `name' and `background-mode'
+ specially.
+ (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
+ (Qbackground_mode): New variable.
+ (syms_of_frame_1): Initialize Qbackground_mode.
+
+ * lisp.h (Qdisplay): Declare extern.
+
+ * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
+ change face on all frames, and change the default for new frames.
+
+2000-09-07 Dave Love <fx@gnu.org>
+
+ * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
+
+2000-09-07 Kenichi Handa <handa@etl.go.jp>
+
+ * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
+
+ * charset.c: Include composite.h
+ (lisp_string_width): New function.
+ (Fstring_width): Call lisp_string_width instead of strwidth.
+
+ * Makefile.in (charset.o): Depends on composite.h.
+
+ * process.c (read_process_output): Before inserting the decoded
+ text in the buffer, adjust the multibyteness.
+
+2000-09-06 Gerd Moellmann <gerd@gnu.org>
+
+ * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
+ buffer's text buffer is null, map new memory.
+
+ * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
+ POINTER_TYPE and size_t.
+ (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
+ (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
+ (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
+ [REL_ALLOC_MMAP]: New macros.
+ (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
+ (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
+ [REL_ALLOC_MMAP]: New functions.
+
+ * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
+ before and after unexec.
+
+ * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
+ text buffers if necessary.
+
+ * buffer.h (R_ALLOC_DECLARE): Removed because unused.
+ (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
+ in prototypes.
+
+ * config.in (HAVE_MMAP): Add #undef.
+
+2000-09-05 Gerd Moellmann <gerd@gnu.org>
+
+ * frame.c (Qdisplay_type): New variable.
+ (syms_of_frame_1): Initialize it.
+ (Fframe_parameter): New function that avoids consing.
+ (syms_of_frame): Defsubr it.
+
+ * buffer.c (Fother_buffer): Consider buffers as invisible when
+ they are displayed in a window on an invisible frame.
+
+ * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
+ get-largest-window always return nil.
+
+2000-09-04 Gerd Moellmann <gerd@gnu.org>
+
+ * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
+ variable; recognize Emacs 19 elc files.
+
+2000-09-04 Miles Bader <miles@gnu.org>
+
+ * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
+ before initially popping up the menu, so the menu doesn't flash
+ when the face settings are significantly different from the
+ defaults.
+
+2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
+
+ * regex.c (WIDE_CHAR_SUPPORT): New macro.
+ (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
+ (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
+ (BIT_UNIBYTE): Remove.
+ (re_match_2_internal): Delete corresponding code and streamline the
+ BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
+ (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
+ (re_wctype_t): New type.
+ (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
+ (regex_compile): Use them and fix handling of overly long char classes.
+
+2000-09-03 Andrew Innes <andrewi@gnu.org>
+
+ * makefile.w32-in: Change to DOS line endings.
+
+ * s/ms-w32.h (ORDINARY_LINK): New define.
+
+ * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
+ (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
+
+ * makefile.w32-in (clean): Don't delete config.h and epaths.h.
+ (distclean): Delete them here instead.
+
+ * w32proc.c (compare_env): Convert to uppercase for comparison,
+ not lowercase, to match how the native Windows shell works.
+
+2000-09-03 Jason Rumney <jasonr@gnu.org>
+
+ * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
+ CVS changes the line-ends when checking in/out on DOS/Windows.
+
+ * makefile.nt (emacs): Do not change directory to run temacs, as
+ the load-path is set relative to current directory.
+
+2000-09-03 Miles Bader <miles@gnu.org>
+
+ * xterm.c (x_alloc_lighter_color_for_widget): New function.
+
+2000-09-02 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (redisplay_mode_lines): New function.
+ (display_mode_lines): Return number of mode lines displayed.
+ (echo_area_display): Use redisplay_mode_lines to draw garbaged
+ mode lines. Don't temporarily bind redisplay-dont-pause to t.
+
+ * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
+ string.h and strings.h.
+ (index) [HAVE_INDEX]: Add prototype.
+
+ * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
+ (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
+
+ * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
+ (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
+
+2000-09-01 Gerd Moellmann <gerd@gnu.org>
+
+ * lread.c (read1): Accept `?' as symbol constituent, for
+ compatiblity with XEmacs.
+
+2000-08-31 Stefan Monnier <monnier@cs.yale.edu>
+
+ * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
+ (struct re_pattern_buffer): Remove newline_anchor.
+ * regex.c: Keep namespace clean for GNU libc by renaming <fun>
+ to __<fun> and using `weak_alias (__<fun>, <fun>)'.
+ (re_max_failures, fail_stack): Use size_t rather than unsigned.
+ (regex_compile): For ^ and $, choose between buffer and line (beg|end)
+ depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
+ (print_compiled_pattern, re_search_2, mutually_exclusive_p)
+ (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
+ Get rid of references to newline_anchor.
+ (regcomp): Allocate and precompute a fastmap.
+
+2000-08-31 Gerd Moellmann <gerd@gnu.org>
+
+ * lread.c (openp): GCPRO local variable `filename'.
+
+2000-08-30 Stefan Monnier <monnier@cs.yale.edu>
+
+ * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
+
+ * regex.c: Merge some changes from GNU libc. Add prototypes.
+ (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
+ Use memcmp and memcpy instead of bcopy and bcmp.
+ (init_syntax_once): Use ISALNUM.
+ (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
+ (REG_UNSET_VALUE): Remove. Use NULL instead.
+ (REG_UNSET, re_match_2_internal): Use NULL.
+ (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
+ New macros.
+ (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
+ (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
+ (regex_compile): In handle_interval, return an error rather than try to
+ unfetch the interval if we can't find the closing brace.
+ Obey the RE_NO_GNU_OPS syntax bit.
+ (TOLOWER): New macro.
+ (regcomp): Use it.
+ (regexec): Allocate regs.start and regs.end as one block.
+
+2000-08-30 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (echo_area_display): Check display_completed instead
+ of calling detect_input_pending.
+
+ * dispnew.c (update_frame): Only set display_completed here; move
+ the update_begin and update_end calls here from update_frame_1.
+ (update_frame_1): Don't set display_completed here, don't call
+ update_begin/update_end.
+
+ * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
+ instead of store_frame_param.
+
+2000-08-29 Gerd Moellmann <gerd@gnu.org>
+
+ * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
+ desired window matrix hasn't been displayed, use the current row
+ instead. Make sure that only those frame rows are updated for
+ which there exists a corresponding enabled desired row.
+
+2000-08-29 Miles Bader <miles@gnu.org>
+
+ * xfaces.c (default_face_vector): New function.
+ (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
+
+2000-08-29 Gerd Moellmann <gerd@gnu.org>
+
+ * lread.c (openp): Prevent temporary string passed to
+ Ffile_readable_p from being garbage collected.
+
+2000-08-28 Dave Love <fx@gnu.org>
+
+ * keymap.c (store_in_keymap): Add `static' to declaration.
+
+2000-08-28 Gerd Moellmann <gerd@gnu.org>
+
+ * emacs.c, callint.c, doc.c, editfns.c
+ (toplevel) [HAVE_STRING_H]: Include string.h.
+ (toplevel) [HAVE_STRINGS_H]: Include strings.h.
+ (index): Remove prototypes which might conflict with non-standard
+ definitions of index/strchr.
+
+ * s/usg5-3.h (index): Define only if not HAVE_INDEX.
+ (rindex): Define only if !HAVE_RINDEX.
+
+ * s/sco5.h (bcopy, bzero, bcmp): Don't define.
+
+ * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
+
+2000-08-28 Miles Bader <miles@gnu.org>
+
+ * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
+ made inconsistent by a font-related attribute in FROM.
+ (merge_face_inheritance): Add function comment.
+
+2000-08-28 Kenichi Handa <handa@etl.go.jp>
+
+ * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
+ the 4th arg (PREV_EVENT) Qt to suppress input method.
+
+2000-08-27 Stefan Monnier <monnier@cs.yale.edu>
+
+ * regex.c: Indent cpp directives and remove parens after `defined'.
+ (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
+ (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
+ (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
+ (re_compile_pattern): Use size_t for length.
+ (init_syntax_once): Move to a better place.
+ * regex.h: Merge changes from GNU libc. Indent cpp directives.
+ (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
+
+ * syntax.c (back_comment): Detect cases where a comment-starter is
+ actually inside another comment as in: /* a // b */ c // d \n.
+ Make it clear that `comstart_pos' is unused for nested comments.
+
+ * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
+ (KEYMAPP): New macro.
+ (Fkeymap_parent, Fset_keymap_parent): Use it.
+ (fix_submap_inheritance): Mark it static.
+ (define_as_prefix, describe_buffer_bindings, describe_command)
+ (describe_translation, describe_map): Complete prototypes.
+
+ * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
+
+ * keyboard.c (menu_bar_item): Detect duplicate entries for all items
+ to better match the key-lookup behavior.
+
+2000-08-27 Gerd Moellmann <gerd@gnu.org>
+
+ * xfaces.c (lface_fully_specified_p): Handle :inherit.
+ (Finternal_set_lisp_face_attribute): Fix typo in error message.
+
+2000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
+ (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
+ (xterm.o): Depend on coding.h
+
+2000-08-26 Kenichi Handa <handa@etl.go.jp>
+
+ * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
+ the corresponding '#endif'.
+
+2000-08-26 Miles Bader <miles@gnu.org>
+
+ * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
+ * xfaces.c (QCinherit): New variable.
+ (syms_of_xfaces): Initialize it.
+ (LFACE_INHERIT): New macro.
+ (Finternal_get_lisp_face_attribute)
+ (merge_face_vector_with_property)
+ (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
+ (check_lface_attrs): Allow new types of face height. Check
+ inherit attribute.
+ (CYCLE_CHECK): New macro.
+ (merge_face_inheritance): New function.
+ (merge_face_vectors): Merge inherited faces too. Add F and
+ CYCLE_CHECK arguments.
+ (merge_face_vector_with_property, Finternal_merge_in_global_face)
+ (lookup_named_face, lookup_derived_face, realize_named_face)
+ (face_at_string_position, face_at_buffer_position): Supply
+ new F and CYCLE_CHECK arguments to merge_face_vectors.
+ (merge_face_heights): New function.
+ (merge_face_vectors, merge_face_vector_with_property)
+ (Finternal_set_lisp_face_attribute): Call merge_face_heights to
+ handle relative face heights.
+ (lface_same_font_attributes_p): Compare heights using EQ.
+
+2000-08-26 Kenichi Handa <handa@etl.go.jp>
+
+ * charset.c (char_to_string): Check the character validity.
+ (char_valid_p): If C is not less than MAX_CHAR, be sure to return
+ 0.
+
+2000-08-25 Stefan Monnier <monnier@cs.yale.edu>
+
+ * regex.c (PUSH_FAILURE_COUNT): New macro.
+ (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
+ Handle popping of a register's or a counter's data.
+ (POP_FAILURE_POINT): Use the new name.
+ (re_match_2_internal): Push counter data on the stack for succeed_n,
+ jump_n and set_number_at and remove misleading dead code in succeed_n.
+
+2000-08-25 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (redisplay_internal): If considering all windows on all
+ frames, update the display for each frame as soon as possible,
+ instead of first building all desired matrices for all frames, and
+ then updating them all.
+ (try_cursor_movement): Handle case that last_cursor.vpos is -1.
+
+2000-08-24 Gerd Moellmann <gerd@gnu.org>
+
+ * bytecode.c (mark_byte_stack): Add a comment.
+
+ * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
+ (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
+ a graphical frame.
+
+2000-08-24 Kenichi Handa <handa@etl.go.jp>
+
+ * minibuf.c (do_completion): Always use compare-string, not
+ string-equal because the latter doesn't pay attention to
+ multibyteness of strings.
+
+ * process.c (create_process): Don't setup raw-text coding here.
+ (Fopen_network_stream): Don't set coding->src_multibyte and
+ coding->dst_multibyte here.
+ (read_process_output): For process filter, return unibyte string
+ if default-enable-multibyte-characters is nil.
+ (send_process): If OBJECT is multibyte text, be sure to encoded it
+ by the specified coding system for the process. Otherwise, setup
+ raw-text coding.
+ (init_process): Don't initialize default-process-coding-system
+ here.
+
+2000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
+ <scroll-down-aggressively>: Likewise.
+
+2000-08-23 Kenichi Handa <handa@etl.go.jp>
+
+ * coding.c (encode_eol): Fix bug for the case of dst_bytes being
+ zero. Set coding->produced_char correctly.
+
+2000-08-22 Andrew Innes <andrewi@gnu.org>
+
+ * makefile.w32-in: New file.
+
+ * unexw32.c (unexec): Ignore old_name, and use the actual location
+ of the current executable instead. Base new_name on this.
+
+ * w32proc.c (create_child): Remove reference to security
+ descriptor, which isn't needed and doesn't compile with mingw32.
+
+ * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+ up dllimport attributes.
+ (x_update_window_end): Update prototype.
+
+ * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
+ extern, which screws up dllimport attributes.
+
+ * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+ up dllimport attributes.
+
+ * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
+ screws up dllimport attributes.
+
+ * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+ up dllimport attributes.
+ (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
+ screws up dllimport attributes.
+
+ * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+ up dllimport attributes.
+
+ * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
+ screws up dllimport attributes.
+
+ * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
+ screws up dllimport attributes.
+
+ * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+ up dllimport attributes.
+
+ * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
+ unnecessary extern, which screws up dllimport attributes.
+ (main): Ditto.
+
+ * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+ up dllimport attributes.
+
+ * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
+ unnecessary extern, which screws up dllimport attributes.
+
+ * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
+ screws up dllimport attributes.
+
+ * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+ up dllimport attributes.
+
+ * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
+
+ * w32bdf.c (search_file_line):
+ (set_bdf_font_info):
+ (seek_char):
+ (w32_get_bdf_glyph):
+ (w32_BDF_to_x_font): Fix compile warnings.
+
+ * w32menu.c: Include keyboard.h before frame.h. Fix compile
+ warnings.
+
+ * w32select.c: Include keyboard.h before frame.h.
+
+ * w32fns.c (max): Define macro.
+ (JOHAB_CHARSET): Define if not known.
+ (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
+ (Fx_show_tip): Synch with X version.
+
+ * w32xfns.c: Include keyboard.h before frame.h.
+
+ * w32fns.c: Include keyboard.h before frame.h.
+
+ * w32term.c: Include keyboard.h before frame.h.
+
+ * fontset.c: Include keyboard.h before frame.h.
+
+ * w32inevt.c: Include keyboard.h before frame.h.
+ (MOUSE_MOVED): Define if not known.
+
+ * minibuf.c: Include keyboard.h before frame.h.
+
+ * keyboard.c: Include keyboard.h before frame.h.
+
+ * indent.c: Include keyboard.h before frame.h.
+
+ * dispnew.c: Include keyboard.h before frame.h.
+
+ * buffer.c: Include keyboard.h before frame.h.
+
+ * alloc.c: Include keyboard.h before frame.h.
+
+ * print.c: Include keyboard.h before frame.h.
+
+ * process.c: Include keyboard.h before frame.h.
+
+ * scroll.c: Include keyboard.h before frame.h.
+
+ * sysdep.c: Include keyboard.h before frame.h.
+
+ * term.c: Include keyboard.h before frame.h.
+
+ * window.c: Include keyboard.h before frame.h.
+
+ * xdisp.c: Include keyboard.h before frame.h.
+ Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
+
+ * frame.c: Include keyboard.h before frame.h.
+
+ * w32heap.h: Undefine min, max.
+
+ * w32gui.h: Undefine min, max.
+
+ * unexw32.c: Change PUCHAR to PCHAR.
+ (PTR_TO_OFFSET): Cast ptr to unsigned char *.
+ (relocate_offset):
+ (get_section_info):
+ (copy_executable_and_dump_data): Remove unnecessary static defs.
+ (copy_executable_and_dump_data): Fix compile warnings.
+
+ * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
+
+ * w32console.c (min): Define macro.
+ (clear_frame, write_glyphs): Fix compile warning.
+
+ * w32proc.c (compare_env):
+ (find_child_console): Fix compile warning.
+
+ * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
+ sys_errlist instead of _sys_errlist.
+ (get_emacs_configuration_options): New function.
+
+ * s/ms-w32.h (sys_nerr): Provide default definition.
+ (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
+ name with _ prepended.
+ (NSIG): Define if not known.
+ (get_emacs_configuration): Provide extern declaration.
+ (get_emacs_configuration_options): Provide extern declaration.
+ (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
+
+ * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
+ (map_w32_filename):
+ (read_unc_volume): Fix compile warning.
+
+ * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
+ definitions from being used.
+
+ * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
+
+ * w32.c (unc_volume_file_attributes):
+ (open_unc_volume): Make arg const.
+
+ * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
+ (read_input_waiting): Remove excess parameter.
+
+ * w32.c (init_environment): Call _access.
+ (check_windows_init_file): Call _close.
+ (init_user_info): Call _putenv.
+ (init_environment): Call _putenv and _strdup.
+ (init_ntproc): Reset volume info cache on startup.
+
+ * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
+ USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
+ cannot override the CRT malloc.
+
+ * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
+ (LINK_FLAGS): Append to original value of LINK_FLAGS.
+
+ * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
+ unless we are linking with a static CRT.
+ (RVA_TO_PTR): Cast result to unsigned char*.
+
+ * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
+ (add_volume_info): Use xstrdup.
+
+2000-08-22 Stefan Monnier <monnier@cs.yale.edu>
+
+ * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
+ (do_completion, Fminibuffer_complete_word): Use it.
+ (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
+ var so it can take non-boolean values.
+
+2000-08-21 Gerd Moellmann <gerd@gnu.org>
+
+ * editfns.c (find_field): Formatting changes.
+ (toplevel): Some old-style function forward declarations
+ changed to prototypes, some new protypes added, some functions
+ made static.
+
+ * lisp.h (set_time_zone_rule): Add prototype.
+ (use_dialog_box): External declaration.
+
+ * keyboard.c (gen_help_event): Add parameter SIZE.
+ (kbd_buffer_events_waiting): Slightly rewritten.
+ (clear_event): New function.
+ (kbd_buffer_get_event): Use it, and clear the input_events of
+ HELP_EVENTs.
+ (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
+ don't fill the newly created array with nils.
+ (toplevel): Convert some old-style function forward declarations
+ to prototypes.
+
+ * keyboard.h (gen_help_event): Change prototype.
+
+ * xterm.c (XTread_socket): Change calls to gen_help_event.
+
+ * w32term.c (w32_read_socket): Change calls to gen_help_event.
+
+ * eval.c (Fmacroexpand): Doc fix.
+
+2000-08-20 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.h (x_display_info_for_display): Remove as this function
+ does not exist on W32.
+
+ * w32term.c (help_echo_window): New variable.
+ (syms_of_w32term): staticpro it.
+ (note_mode_line_highlight): Set it.
+ (XTextExtents16): Removed as there is no equivalent on W32.
+ (x_compute_glyph_string_overhangs): Incomplete body removed, as
+ the X way of doing this will not work for W32.
+ (w32_intersect_rectangles): Removed. Use IntersectRect API call.
+ (x_draw_image_foreground): Avoid drawing outside of the clip area
+ when image doesn't have a mask.
+ (note_mouse_highlight): Process overlays in the right order of
+ priority. Set help_echo_window.
+ (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
+ because that's more visible for large images.
+
+ * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
+ name to single_keymap_panes.
+ (w32_menu_show): Set wv->title when dealing with titles.
+ (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
+
+2000-08-21 Miles Bader <miles@gnu.org>
+
+ * minibuf.c (do_completion): Try again if we rewrite the input
+ string, but no completion was done, so that any completion message
+ will be correct.
+
+2000-08-20 Gerd Moellmann <gerd@gnu.org>
+
+ * xfaces.c (lface_equal_p): Compare strings differently.
+ (Qtty_color_alist, Vtty_defined_color_alist): New variables.
+ (realize_tty_face): Use them.
+ (syms_of_xfaces): Initialize new variables.
+ (map_tty_color): New function, extracted from realize_tty_face.
+ (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
+ foreground or background color, store the new color name in the
+ realized face; previous code trying to do this had no effect.
+ (realize_tty_face): Use map_tty_color.
+ (Fclear_face_cache): Set face_change_count and ensure thorough
+ redisplay.
+
+2000-08-19 Gerd Moellmann <gerd@gnu.org>
+
+ * undo.c (record_first_change, record_marker_adjustment): Don't
+ use XBUFFER on last_undo_buffer which might not be a buffer.
+
2000-08-18 Kenichi Handa <handa@etl.go.jp>
* coding.c (decode_coding_string): Set members consumed,
2000-08-18 Gerd Moellmann <gerd@gnu.org>
- * lisp.h (CHECK) [ENABLE_CHECKING]: Make both side of the
- conditional have void type, for standard C compilers.
+ * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
+ conditional have void type, for Standard C compilers.
* xdisp.c (redisplay_internal): Compare windows for equality with
EQ, instead of applying XWINDOW to something that might not
2000-08-18 Gerd Moellmann <gerd@gnu.org>
- * minibuf.c (do_completion): Use EQ instead of != to compare
+ * minibuf.c (do_completion): Use EQ instead of `!=' to compare
Lisp_Objects.
* keyboard.c (kbd_buffer_get_event): Handle the case that the
(pbm_load): Support :data.
See ChangeLog.8 for earlier changes.
+
+;; Local Variables:
+;; coding: iso-2022-7bit
+;; End: