From: tomo Date: Wed, 19 Jan 2000 08:37:26 +0000 (+0000) Subject: Initial revision X-Git-Tag: r21-2-27~2^2 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=5d75177af7b97056f91bae008b85dd479514c657;p=chise%2Fxemacs-chise.git.1 Initial revision --- diff --git a/lisp/movemail.el b/lisp/movemail.el new file mode 100644 index 0000000..5d4c18e --- /dev/null +++ b/lisp/movemail.el @@ -0,0 +1,60 @@ +;;; movemail.el --- move mail spool to a place where XEmacs can munge it + +;; Copyright (C) 1985-1986, 1990, 1992-1997 Free Software Foundation, Inc. +;; Copyright (c) 1993, 1994 Sun Microsystems, Inc. +;; Copyright (C) 1995 Board of Trustees, University of Illinois + +;; Author: Mike Sperber +;; Maintainer: XEmacs Development Team +;; Keywords: internal, dumped + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the +;; Free Software Foundation, 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Synched up with: Not in FSF. + +;;; Commentary: + +;; This file is dumped with XEmacs. + +;; This file handles calling movemail with the right locking command +;; line options. + +;;; Code: + +(defvar mail-lock-method + (let ((stuff (getenv "EMACSLOCKMETHOD"))) + (if stuff + (intern stuff) + configure-mail-lock-method)) + "mail spool locking method used by thios instance of XEmacs. +This must be one of the symbols in MAIL-LOCK-METHODS.") + +(defun move-mail-spool (from to &optional buffer pop-password) + "Move mail spool in file FROM to file TO. +BUFFER is a buffer for error messages. +POP-PASSWORD is a password for POP mailbox access." + (apply 'call-process + (expand-file-name "movemail" exec-directory) + nil buffer nil + "-m" + (symbol-name mail-lock-method) + from to + (and pop-password + (list pop-password)))) + +;;; movemail.el ends here diff --git a/src/.dbxrc b/src/.dbxrc new file mode 100644 index 0000000..4653a31 --- /dev/null +++ b/src/.dbxrc @@ -0,0 +1,392 @@ +# -*- ksh -*- +# Copyright (C) 1998 Free Software Foundation, Inc. + +# This file is part of XEmacs. + +# XEmacs is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2, or (at your option) any +# later version. + +# XEmacs is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. + +# You should have received a copy of the GNU General Public License +# along with XEmacs; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Author: Martin Buchholz + +# You can use this file to debug XEmacs using Sun WorkShop's dbx. + +# Some functions defined here require a running process, but most +# don't. Considerable effort has been expended to this end. + +# Since this file is called `.dbxrc', it will be read by dbx +# automatically when dbx is run in the build directory, which is where +# developers usually debug their xemacs. + +# See also the comments in .gdbinit. + +# See also the question of the XEmacs FAQ, titled +# "How to Debug an XEmacs problem with a debugger". + +# gdb sources the ./.gdbinit in _addition_ to ~/.gdbinit. +# But dbx does _not_ source ~/.dbxrc if it found ./.dbxrc. +# So we simulate the gdb algorithm by doing it ourselves here. +if test -r $HOME/.dbxrc; then . $HOME/.dbxrc; fi + +ignore POLL +ignore IO + +document lbt << 'end' +Usage: lbt +Print the current Lisp stack trace. +Requires a running xemacs process. +end + +function lbt { + call debug_backtrace() +} + +document ldp << 'end' +Usage: ldp lisp_object +Print a Lisp Object value using the Lisp printer. +Requires a running xemacs process. +end + +function ldp { + call debug_print ($1); +} + +# A bug in dbx prevents string variables from having values beginning with `-'!! +function XEmacsInit { + function ToInt { eval "$1=\$[(int) $1]"; } + ToInt dbg_USE_UNION_TYPE + ToInt Lisp_Type_Int + ToInt Lisp_Type_Char + ToInt Lisp_Type_Cons + ToInt Lisp_Type_String + ToInt Lisp_Type_Vector + ToInt Lisp_Type_Symbol + ToInt Lisp_Type_Record + ToInt dbg_valbits + ToInt dbg_gctypebits + function ToLong { eval "$1=\$[(unsigned long) $1]"; } + ToLong dbg_valmask + ToLong dbg_typemask + xemacs_initted=yes +} + +function printvar { + for i in $*; do eval "echo $i=\$$i"; done +} + +document decode_object << 'end' +Usage: decode_object lisp_object +Extract implementation information from a Lisp Object. +Defines variables $val, $type and $imp. +end + +# Various dbx bugs cause ugliness in following code +function decode_object { + if test -z "$xemacs_initted"; then XEmacsInit; fi; + if test $dbg_USE_UNION_TYPE = 1; then + # Repeat after me... dbx sux, dbx sux, dbx sux... + # Allow both `pobj Qnil' and `pobj 0x82746834' to work + case $(whatis $1) in + *Lisp_Object*) obj="$[(unsigned long)(($1).i)]";; + *) obj="$[(unsigned long)($1)]";; + esac + else + obj="$[(unsigned long)($1)]"; + fi + if test $[(int)($obj & 1)] = 1; then + # It's an int + val=$[(long)(((unsigned long long)$obj) >> 1)] + type=$Lisp_Type_Int + else + type=$[(int)(((void*)$obj) & $dbg_typemask)] + if test $type = $Lisp_Type_Char; then + val=$[(void*)(long)(((unsigned long long)($obj & $dbg_valmask)) >> $dbg_gctypebits)] + else + # It's a record pointer + val=$[(void*)$obj] + if test "$val" = "(nil)"; then type=null_pointer; fi + fi + fi + + if test $type = $Lisp_Type_Record; then + typeset lheader="((struct lrecord_header *) $val)" + imp=$[(void*)(lrecord_implementations_table[$lheader->type])] + else + imp="0xdeadbeef" + fi + # printvar obj val type imp +} + +function xint { + decode_object "$*" + print (long) ($val) +} + +document xtype << 'end' +Usage: xtype lisp_object +Print the Lisp type of a lisp object. +end + +function xtype { + decode_object "$*" + if test $type = $Lisp_Type_Int; then echo "int" + elif test $type = $Lisp_Type_Char; then echo "char" + elif test $type = $Lisp_Type_Symbol; then echo "symbol" + elif test $type = $Lisp_Type_String; then echo "string" + elif test $type = $Lisp_Type_Vector; then echo "vector" + elif test $type = $Lisp_Type_Cons; then echo "cons" + elif test $type = null_pointer; then echo "null_pointer" + else + echo "record type with name: $[((struct lrecord_implementation *)$imp)->name]" + fi +} + +function lisp-shadows { + run -batch -vanilla -f list-load-path-shadows +} + +function environment-to-run-temacs { + unset EMACSLOADPATH + export EMACSBOOTSTRAPLOADPATH=../lisp/:.. + export EMACSBOOTSTRAPMODULEPATH=../modules/:.. +} + +document run-temacs << 'end' +Usage: run-temacs +Run temacs interactively, like xemacs. +Use this with debugging tools (like purify) that cannot deal with dumping, +or when temacs builds successfully, but xemacs does not. +end + +function run-temacs { + environment-to-run-temacs + run -batch -l ../lisp/loadup.el run-temacs -q ${1+"$@"} +} + +document check-xemacs << 'end' +Usage: check-xemacs +Run the test suite. Equivalent to 'make check'. +end + +function check-xemacs { + run -batch -l ../tests/automated/test-harness.el -f batch-test-emacs ../tests/automated +} + +document check-temacs << 'end' +Usage: check-temacs +Run the test suite on temacs. Equivalent to 'make check-temacs'. +Use this with debugging tools (like purify) that cannot deal with dumping, +or when temacs builds successfully, but xemacs does not. +end + +function check-temacs { + run-temacs -q -batch -l ../tests/automated/test-harness.el -f batch-test-emacs ../tests/automated +} + +document update-elc << 'end' +Usage: update-elc +Run the core lisp byte compilation part of the build procedure. +Use when debugging temacs, not xemacs! +Use this when temacs builds successfully, but xemacs does not. +end + +function update-elc { + environment-to-run-temacs + run -batch -l ../lisp/update-elc.el +} + +document dump-temacs << 'end' +Usage: dump-temacs +Run the dumping part of the build procedure. +Use when debugging temacs, not xemacs! +Use this when temacs builds successfully, but xemacs does not. +end + +function dump-temacs { + environment-to-run-temacs + run -batch -l ../lisp/loadup.el dump +} + +function pstruct { + xstruct="((struct $1 *) $val)" + print $xstruct + print *$xstruct +} + +function lrecord_type_p { + if eval test -z \"\$lrecord_$1\" && test $imp = $[(void*)(&lrecord_$1)]; then return 0; else return 1; fi +} + +document pobj << 'end' +Usage: pobj lisp_object +Print the internal C representation of a Lisp Object. +end + +function pobj { + decode_object $1 + if test $type = $Lisp_Type_Int; then + print -f"Integer: %d" $val + elif test $type = $Lisp_Type_Char; then + if test $[$val > 32 && $val < 128] = 1; then + print -f"Char: %c" $val + else + print -f"Char: %d" $val + fi + elif test $type = $Lisp_Type_String || lrecord_type_p string; then + pstruct Lisp_String + elif test $type = $Lisp_Type_Cons || lrecord_type_p cons; then + pstruct Lisp_Cons + elif test $type = $Lisp_Type_Symbol || lrecord_type_p symbol; then + pstruct Lisp_Symbol + echo "Symbol name: $[(char *)($xstruct->name->data)]" + elif test $type = $Lisp_Type_Vector || lrecord_type_p vector; then + pstruct Lisp_Vector + echo "Vector of length $[$xstruct->size]" + elif lrecord_type_p bit_vector; then + pstruct Lisp_Bit_Vector + elif lrecord_type_p buffer; then + pstruct buffer + elif lrecord_type_p char_table; then + pstruct Lisp_Char_Table + elif lrecord_type_p char_table_entry; then + pstruct Lisp_Char_Table_Entry + elif lrecord_type_p charset; then + pstruct Lisp_Charset + elif lrecord_type_p coding_system; then + pstruct Lisp_Coding_System + elif lrecord_type_p color_instance; then + pstruct Lisp_Color_Instance + elif lrecord_type_p command_builder; then + pstruct command_builder + elif lrecord_type_p compiled_function; then + pstruct Lisp_Compiled_Function + elif lrecord_type_p console; then + pstruct console + elif lrecord_type_p database; then + pstruct Lisp_Database + elif lrecord_type_p device; then + pstruct device + elif lrecord_type_p event; then + pstruct Lisp_Event + elif lrecord_type_p extent; then + pstruct extent + elif lrecord_type_p extent_auxiliary; then + pstruct extent_auxiliary + elif lrecord_type_p extent_info; then + pstruct extent_info + elif lrecord_type_p face; then + pstruct Lisp_Face + elif lrecord_type_p float; then + pstruct Lisp_Float + elif lrecord_type_p font_instance; then + pstruct Lisp_Font_Instance + elif lrecord_type_p frame; then + pstruct frame + elif lrecord_type_p glyph; then + pstruct Lisp_Glyph + elif lrecord_type_p hash_table; then + pstruct Lisp_Hash_Table + elif lrecord_type_p image_instance; then + pstruct Lisp_Image_Instance + elif lrecord_type_p keymap; then + pstruct Lisp_Keymap + elif lrecord_type_p lcrecord_list; then + pstruct lcrecord_list + elif lrecord_type_p lstream; then + pstruct lstream + elif lrecord_type_p marker; then + pstruct Lisp_Marker + elif lrecord_type_p opaque; then + pstruct Lisp_Opaque + elif lrecord_type_p opaque_ptr; then + pstruct Lisp_Opaque_Ptr + elif lrecord_type_p popup_data; then + pstruct popup_data + elif lrecord_type_p process; then + pstruct Lisp_Process + elif lrecord_type_p range_table; then + pstruct Lisp_Range_Table + elif lrecord_type_p specifier; then + pstruct Lisp_Specifier + elif lrecord_type_p subr; then + pstruct Lisp_Subr + elif lrecord_type_p symbol_value_buffer_local; then + pstruct symbol_value_buffer_local + elif lrecord_type_p symbol_value_forward; then + pstruct symbol_value_forward + elif lrecord_type_p symbol_value_lisp_magic; then + pstruct symbol_value_lisp_magic + elif lrecord_type_p symbol_value_varalias; then + pstruct symbol_value_varalias + elif lrecord_type_p toolbar_button; then + pstruct toolbar_button + elif lrecord_type_p tooltalk_message; then + pstruct Lisp_Tooltalk_Message + elif lrecord_type_p tooltalk_pattern; then + pstruct Lisp_Tooltalk_Pattern + elif lrecord_type_p weak_list; then + pstruct weak_list + elif lrecord_type_p window; then + pstruct window + elif lrecord_type_p window_configuration; then + pstruct window_config + elif test "$type" = "null_pointer"; then + echo "Lisp Object is a null pointer!!" + else + echo "Unknown Lisp Object type" + print $1 + fi +} + +function pproc { + print *(`process.c`struct Lisp_Process*)$1 ; + ldp "(`process.c`struct Lisp_Process*)$1->name" ; + ldp "(`process.c`struct Lisp_Process*)$1->command" ; +} + +dbxenv suppress_startup_message 4.0 +dbxenv mt_watchpoints on + +function dp_core { + print ((struct x_frame *)(((struct frame*)(Fselected_frame(Qnil)&0x00FFFFFF))->frame_data))->widget->core +} + +# Barf! +function print_shell { + print *(`frame-x.c`TopLevelShellRec*) (((struct `frame-x.c`x_frame*) (((struct `frame-x.c`frame*) (Fselected_frame(Qnil)&0x00FFFFFF))->frame_data))->widget) +} + +# ------------------------------------------------------------- +# functions to test the debugging support itself. +# If you change this file, make sure the following still work... +# ------------------------------------------------------------- +function test_xtype { + function doit { echo -n "$1: "; xtype "$1"; } + test_various_objects +} + +function test_pobj { + function doit { echo '==============================='; echo -n "$1: "; pobj "$1"; } + test_various_objects +} + +function test_various_objects { + doit Vemacs_major_version + doit Vhelp_char + doit Qnil + doit Qunbound + doit Vobarray + doit Vall_weak_lists + doit Vxemacs_codename +} diff --git a/src/.gdbinit b/src/.gdbinit new file mode 100644 index 0000000..b08c0a0 --- /dev/null +++ b/src/.gdbinit @@ -0,0 +1,507 @@ +# -*- ksh -*- +# Copyright (C) 1998 Free Software Foundation, Inc. + +# This file is part of XEmacs. + +# XEmacs is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2, or (at your option) any +# later version. + +# XEmacs is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. + +# You should have received a copy of the GNU General Public License +# along with XEmacs; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Author: Martin Buchholz + +# Some useful commands for debugging emacs with gdb 4.16 or better. +# +# Since this file is called `.gdbinit', it will be read by gdb +# automatically when gdb is run in the build directory, which is where +# developers usually debug their xemacs. You can also source this +# file from your ~/.gdbinit, if you like. +# +# Configure xemacs with --debug, and compile with -g. +# +# See also the question of the XEmacs FAQ, titled +# "How to Debug an XEmacs problem with a debugger". +# +# This can be used to debug XEmacs no matter how the following are +# specified: + +# USE_UNION_TYPE + +# (the above all have configure equivalents) + +# Some functions defined here require a running process, but most +# don't. Considerable effort has been expended to this end. + +# See the dbg_ C support code in src/alloc.c that allows the functions +# defined in this file to work correctly. + +set print union off +set print pretty off + +define decode_object + set $obj = (unsigned long) $arg0 + if $obj & 1 + # It's an int + set $val = $obj >> 1 + set $type = Lisp_Type_Int + else + set $type = $obj & dbg_typemask + if $type == Lisp_Type_Char + set $val = ($obj & dbg_valmask) >> dbg_gctypebits + else + # It's a record pointer + set $val = $obj + end + end + + if $type == Lisp_Type_Record + set $lheader = (struct lrecord_header *) $val + set $imp = lrecord_implementations_table[$lheader->type] + else + set $imp = -1 + end +end + +document decode_object +Usage: decode_object lisp_object +Extract implementation information from a Lisp Object. +Defines variables $val, $type and $imp. +end + +define xint +decode_object $arg0 +print ((long) $val) +end + +define xtype + decode_object $arg0 + if $type == Lisp_Type_Int + echo int\n + else + if $type == Lisp_Type_Char + echo char\n + else + if $type == Lisp_Type_Symbol + echo symbol\n + else + if $type == Lisp_Type_String + echo string\n + else + if $type == Lisp_Type_Vector + echo vector\n + else + if $type == Lisp_Type_Cons + echo cons\n + else + printf "record type: %s\n", $imp->name + # barf + end + end + end + end + end + end +end + +document xtype +Usage: xtype lisp_object +Print the Lisp type of a lisp object. +end + +define lisp-shadows + run -batch -vanilla -f list-load-path-shadows +end + +document lisp-shadows +Usage: lisp-shadows +Run xemacs to check for lisp shadows +end + +define environment-to-run-temacs + unset env EMACSLOADPATH + set env EMACSBOOTSTRAPLOADPATH=../lisp/:.. + set env EMACSBOOTSTRAPMODULEPATH=../modules/:.. +end + +define run-temacs + environment-to-run-temacs + run -batch -l ../lisp/loadup.el run-temacs -q +end + +document run-temacs +Usage: run-temacs +Run temacs interactively, like xemacs. +Use this with debugging tools (like purify) that cannot deal with dumping, +or when temacs builds successfully, but xemacs does not. +end + +define check-xemacs + run -batch -l ../tests/automated/test-harness.el -f batch-test-emacs ../tests/automated +end + +document check-xemacs +Usage: check-xemacs +Run the test suite. Equivalent to 'make check'. +end + +define check-temacs + environment-to-run-temacs + run -batch -l ../lisp/loadup.el run-temacs -q -batch -l ../tests/automated/test-harness.el -f batch-test-emacs ../tests/automated +end + +document check-temacs +Usage: check-temacs +Run the test suite on temacs. Equivalent to 'make check-temacs'. +Use this with debugging tools (like purify) that cannot deal with dumping, +or when temacs builds successfully, but xemacs does not. +end + +define update-elc + environment-to-run-temacs + run -batch -l ../lisp/update-elc.el +end + +document update-elc +Usage: update-elc +Run the core lisp byte compilation part of the build procedure. +Use when debugging temacs, not xemacs! +Use this when temacs builds successfully, but xemacs does not. +end + +define dump-temacs + environment-to-run-temacs + run -batch -l ../lisp/loadup.el dump +end + +document dump-temacs +Usage: dump-temacs +Run the dumping part of the build procedure. +Use when debugging temacs, not xemacs! +Use this when temacs builds successfully, but xemacs does not. +end + +# if you use Purify, do this: +# export PURIFYOPTIONS='-pointer-mask=0x0fffffff' + +define ldp + printf "%s", "Lisp => " + call debug_print($arg0) +end + +document ldp +Usage: ldp lisp_object +Print a Lisp Object value using the Lisp printer. +Requires a running xemacs process. +end + +define lbt +call debug_backtrace() +end + +document lbt +Usage: lbt +Print the current Lisp stack trace. +Requires a running xemacs process. +end + + +define leval +ldp Feval(Fcar(Fread_from_string(build_string($arg0),Qnil,Qnil))) +end + +document leval +Usage: leval "SEXP" +Eval a lisp expression. +Requires a running xemacs process. + +Example: +(gdb) leval "(+ 1 2)" +Lisp ==> 3 +end + + +define wtype +print $arg0->core.widget_class->core_class.class_name +end + +define xtname +print XrmQuarkToString(((Object)($arg0))->object.xrm_name) +end + +# GDB's command language makes you want to ... + +define pstruct + set $xstruct = (struct $arg0 *) $val + print $xstruct + print *$xstruct +end + +define pobj + decode_object $arg0 + if $type == Lisp_Type_Int + printf "Integer: %d\n", $val + else + if $type == Lisp_Type_Char + if $val > 32 && $val < 128 + printf "Char: %c\n", $val + else + printf "Char: %d\n", $val + end + else + if $type == Lisp_Type_String || $imp == &lrecord_string + pstruct Lisp_String + else + if $type == Lisp_Type_Cons || $imp == &lrecord_cons + pstruct Lisp_Cons + else + if $type == Lisp_Type_Symbol || $imp == &lrecord_symbol + pstruct Lisp_Symbol + printf "Symbol name: %s\n", $xstruct->name->data + else + if $type == Lisp_Type_Vector || $imp == &lrecord_vector + pstruct Lisp_Vector + printf "Vector of length %d\n", $xstruct->size + #print *($xstruct->data) @ $xstruct->size + else + if $imp == &lrecord_bit_vector + pstruct Lisp_Bit_Vector + else + if $imp == &lrecord_buffer + pstruct buffer + else + if $imp == &lrecord_char_table + pstruct Lisp_Char_Table + else + if $imp == &lrecord_char_table_entry + pstruct Lisp_Char_Table_Entry + else + if $imp == &lrecord_charset + pstruct Lisp_Charset + else + if $imp == &lrecord_coding_system + pstruct Lisp_Coding_System + else + if $imp == &lrecord_color_instance + pstruct Lisp_Color_Instance + else + if $imp == &lrecord_command_builder + pstruct command_builder + else + if $imp == &lrecord_compiled_function + pstruct Lisp_Compiled_Function + else + if $imp == &lrecord_console + pstruct console + else + if $imp == &lrecord_database + pstruct Lisp_Database + else + if $imp == &lrecord_device + pstruct device + else + if $imp == &lrecord_event + pstruct Lisp_Event + else + if $imp == &lrecord_extent + pstruct extent + else + if $imp == &lrecord_extent_auxiliary + pstruct extent_auxiliary + else + if $imp == &lrecord_extent_info + pstruct extent_info + else + if $imp == &lrecord_face + pstruct Lisp_Face + else + if $imp == &lrecord_float + pstruct Lisp_Float + else + if $imp == &lrecord_font_instance + pstruct Lisp_Font_Instance + else + if $imp == &lrecord_frame + pstruct frame + else + if $imp == &lrecord_glyph + pstruct Lisp_Glyph + else + if $imp == &lrecord_hash_table + pstruct Lisp_Hash_Table + else + if $imp == &lrecord_image_instance + pstruct Lisp_Image_Instance + else + if $imp == &lrecord_keymap + pstruct Lisp_Keymap + else + if $imp == &lrecord_lcrecord_list + pstruct lcrecord_list + else + if $imp == &lrecord_lstream + pstruct lstream + else + if $imp == &lrecord_marker + pstruct Lisp_Marker + else + if $imp == &lrecord_opaque + pstruct Lisp_Opaque + else + if $imp == &lrecord_opaque_ptr + pstruct Lisp_Opaque_Ptr + else + if $imp == &lrecord_popup_data + pstruct popup_data + else + if $imp == &lrecord_process + pstruct Lisp_Process + else + if $imp == &lrecord_range_table + pstruct Lisp_Range_Table + else + if $imp == &lrecord_specifier + pstruct Lisp_Specifier + else + if $imp == &lrecord_subr + pstruct Lisp_Subr + else + if $imp == &lrecord_symbol_value_buffer_local + pstruct symbol_value_buffer_local + else + if $imp == &lrecord_symbol_value_forward + pstruct symbol_value_forward + else + if $imp == &lrecord_symbol_value_lisp_magic + pstruct symbol_value_lisp_magic + else + if $imp == &lrecord_symbol_value_varalias + pstruct symbol_value_varalias + else + if $imp == &lrecord_toolbar_button + pstruct toolbar_button + else + if $imp == &lrecord_tooltalk_message + pstruct Lisp_Tooltalk_Message + else + if $imp == &lrecord_tooltalk_pattern + pstruct Lisp_Tooltalk_Pattern + else + if $imp == &lrecord_weak_list + pstruct weak_list + else + if $imp == &lrecord_window + pstruct window + else + if $imp == &lrecord_window_configuration + pstruct window_config + else + echo Unknown Lisp Object type\n + print $arg0 + # Barf, gag, retch + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + # Repeat after me... gdb sux, gdb sux, gdb sux... + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + # Are we having fun yet?? + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end +end + +document pobj +Usage: pobj lisp_object +Print the internal C representation of a Lisp Object. +end + +# ------------------------------------------------------------- +# functions to test the debugging support itself. +# If you change this file, make sure the following still work... +# ------------------------------------------------------------- +define test_xtype + printf "Vemacs_major_version: " + xtype Vemacs_major_version + printf "Vhelp_char: " + xtype Vhelp_char + printf "Qnil: " + xtype Qnil + printf "Qunbound: " + xtype Qunbound + printf "Vobarray: " + xtype Vobarray + printf "Vall_weak_lists: " + xtype Vall_weak_lists + printf "Vxemacs_codename: " + xtype Vxemacs_codename +end + +define test_pobj + printf "Vemacs_major_version: " + pobj Vemacs_major_version + printf "Vhelp_char: " + pobj Vhelp_char + printf "Qnil: " + pobj Qnil + printf "Qunbound: " + pobj Qunbound + printf "Vobarray: " + pobj Vobarray + printf "Vall_weak_lists: " + pobj Vall_weak_lists + printf "Vxemacs_codename: " + pobj Vxemacs_codename +end + diff --git a/src/ChangeLog.2 b/src/ChangeLog.2 new file mode 100644 index 0000000..c480ddf --- /dev/null +++ b/src/ChangeLog.2 @@ -0,0 +1,8737 @@ +2000-01-09 Norbert Koch + + * sysfile.h: Remove definition of HAVE_FSYNC. It's tested for + in configure. + +2000-01-09 Martin Buchholz + + * lisp.h (xfree_1): Make non-public. + * (xzero): Use '\0' in memset call for clarity. + * (ALIGNOF): Use __alignof__ instead of undocumented __alignof. + * alloc.c (allocate_string_chars_struct): + (make_uninit_string): + (resize_string): + (verify_string_chars_integrity): + (compact_string_chars): Now only called for small strings. + (sweep_strings): + String allocation rewrite. + Properly handle resizing big strings. + Fixes crash when evaluating: + (aset (make-string 9003 ??) 1 (make-char 'latin-iso8859-1 57)) + Use consistent coding convention. + Never use xfree_1() directly. + General cleanup. + (CHARS_TO_STRING_CHAR): Remove. No longer needed. + Big strings had unused space at beginning. + + * scrollbar.c (specifier_vars_of_scrollbar): + * scrollbar.c (complex_vars_of_scrollbar): + * gutter.c (specifier_vars_of_gutter): + * menubar.c (specifier_vars_of_menubar): + * toolbar.c (specifier_vars_of_toolbar): + * glyphs.c (specifier_vars_of_glyphs): + * redisplay.c (specifier_vars_of_redisplay): + * window.c (specifier_vars_of_window): + * lisp.h (slot_offset): Remove slot_offset. + Replace all calls to `slot_offset' with the standard name, `offsetof'. + + * menubar-x.c (compute_menubar_data): + Remove Fset_buffer(), always called by unwind_protect. + * menubar-x.c (menu_item_descriptor_to_widget_value_1): Fiddling. + * menubar-x.c (set_frame_menubar): comment fix. + + * keymap.c (lookup_keys): Remove extra parens. + * keymap.c (lookup_events): Remove extra parens. + + * dbxrc (run-temacs): Allow function to take arguments. + + * Makefile.in.in (PURIFY_FLAGS): No longer need pointer-mask. + +2000-01-08 Andy Piper + + * event-msw.c (mswindows_wnd_proc): don't need to check for widget + face anymore. + + * frame.c (change_frame_size_1): use new glyph_* signatures. + (frame_conversion_internal): ditto. + + * toolbar-x.c (x_get_button_size): Use modified glyph_* + signatures. + + * redisplay.c (add_glyph_rune): Use modified glyph_* signatures. + (add_glyph_rune): dittto. + (add_margin_runes): ditto. + (create_left_glyph_block): ditto. + (create_right_glyph_block): ditto. + (redisplay_window): ditto. + + * redisplay-output.c (redisplay_output_layout): Use modified + glyph_* signatures. + + * glyphs.h: (struct image_instantiator_methods): change signature + of query_geometry and layout. + (struct Lisp_Image_Instance): Clean up fields for dynamic geometry + calculations. + (struct expose_ignore): change field types. + (struct subwindow_cachel): ditto. declare new functions and + accessor macros. + + * glyphs.c: (instantiate_image_instantiator): assign glyph when + creating the image instance. + (image_instance_hash): fixup for new and deleted fields. + (image_instance_equal): ditto. + (mark_image_instance): ditto. + (print_image_instance): ditto. + (allocate_image_instance): zero width and height. assign attached + glyph. mark as dirty for future layout. + (make_image_instance_1): pass Qnil as the glyph its attached to. + (Fimage_instance_height): simply return the height. + (Fimage_instance_width): simply return the width. + (image_instance_query_geometry): new function. query the image + instance's geometry by wiring through to format and device + specific methods. fallback on the existing geometry. + (image_instance_layout): new function. layout the image instance + by querying its geometry and then wiring through to format and + device specific methods. + (query_string_geometry): new function to decide the bounding box + of a string. text glyph geometry calculations moved here. + (query_string_font): new function. find out the font for a given + string in a given face. + (text_query_geometry): return geometry based on + quert_string_geometry. + (formatted_string_instantiate): call string_instantiate. + (image_instantiate): put strings in the per-window cache. Feed the + glyph to the instantiated image instance. + (glyph_height_internal): deleted. + (glyph_width): simply return the required dimension. re-layout if + the instance is dirty. Remove references to face_index and + frame_face which were only used for strings. + (glyph_ascent): ditto. + (glyph_descent): ditto. + (glyph_height): ditto. + (Fglyph_width): use new glyph_width function. + (Fglyph_ascent): use new glyph_ascent function. + (Fglyph_descent): use new glyph_descent function. + (Fglyph_height): use new glyph_height function. + (glyph_property_was_changed): + (glyph_image_instance_maybe): new function to possible create an + image instance from a glyph if we don't have one already. + (glyph_dirty_p): use it. + (glyph_layout): new function for laying out a glyph. + (glyph_query_geometry): new function for finding out the desired + geometry of a glyph. + (update_glyph_cachel_data): use new glyph_* signatures. + (update_subwindow): call resize_subwindow. + (map_subwindow): call update_subwindow if the image is dirty. + (subwindow_instantiate): add comment. + (Fresize_subwindow): don't actually resize the window, just record + the values and let update_subwindow handle it. + (Fglyph_animated_timeout_handler): use + MARK_IMAGE_INSTANCE_CHANGED. + (image_instantiator_format_create): declare things with + query_geometry and layout functions. + + * glyphs-x.c: (x_update_subwindow): remove widget sizing. + (update_widget_face): use query_string_font. + (x_widget_set_property): don't return Qt when setting is + succesful. + (x_combo_box_instantiate): call widget_instantiate rather than + widget_instantiate_1. + + * glyphs-widget.c: (widget_face_font_info): deleted. + (widget_text_to_pixel_conversion): deleted. + (widget_set_property): make sure the new text gets propagated to + the image instance. + (widget_layout): new function. wire through to device and format + specific methods. + (widget_query_geometry): new function. wire through to device and + format specific methods. fallback on geometry of widget text. + (initialize_widget_image_instance): fixup new fields. + (widget_instantiate_1): deleted. + (tree_view_instantiate): deleted. + (tree_view_query_geometry): new function. returns desired sizing + of tree view. + (tab_control_instantiate): deleted. + (tab_control_query_geometry): new function. returns desired sizing + of tab. + (widget_instantiate): subsume widget_instantiate_1. Fixup geometry + things in the light of dynamic layout. + (static_instantiate): deleted. + (layout_instantiate): use new glyph_* signatures. + (image_instantiator_format_create_glyphs_widget): fixup + query_geometry and layout declarations for various widgets. + + * glyphs-msw.c: (mswindows_widget_instantiate): add comment. + (mswindows_button_instantiate): use query_string_font for geometry + calculations. + (mswindows_update_subwindow): ditto. + (mswindows_combo_box_instantiate): fixup for new geometry + management. + (mswindows_widget_set_property): Don't return Qt so that other + methods can be called. + +2000-01-08 Martin Buchholz + + * gdbinit: rename to .gdbinit so that gdb will automatically source it. + +2000-01-09 Hrvoje Niksic + + * insdel.c (signal_before_change): Make sure START and END are + within the buffer before calling report_extent_modification(). + (signal_after_change): Ditto for START, NEW_END, and ORIG_END. + +2000-01-09 Hrvoje Niksic + + * extents.h: Correct prototype of report_extent_modification(). + + * insdel.c (signal_before_change): Place record_unwind_protect() + outside MAP_INDIRECT_BUFFERS loops. + (signal_after_change): Ditto. + + * extents.c (report_extent_modification): Don't expect pointer to + inside_change_hook. + (report_extent_modification_mapper): Explain why + closure->speccount is almost unused. + + * insdel.c (change_function_restore): Call Fset_buffer only if + necessary. + (signal_before_change): Don't propagate inside_change_hook to + report_extent_modification(). + +2000-01-07 Martin Buchholz + + * elhash.c (make_general_lisp_hash_table): Remove purify UMR. + (hash_table_rehash_threshold): Removed. Update all callers. + +2000-01-03 Michael Sperber [Mr. Preprocessor] + + * s/windowsnt.h: Fix mail locking stuff. + + * s/aix3-2.h: Remove HAVE_FSYNC which is now autodetected. + + * emacs.c (vars_of_emacs): Added `mail-lock-methods' and + `configure-mail-lock-method' variables. + + * config.h.in: Fix mail locking stuff. + +2000-01-04 Martin Buchholz + + * mule-charset.h (REP_BYTES_BY_FIRST_BYTE): + Remove macro, always use inline function. + * mule-charset.c (make_charset): Don't assign to rep_bytes_by_first_byte. + (rep_bytes_by_first_byte): Make const. + +2000-01-03 Didier Verna + + * redisplay.c (generate_fstring_runes): new parameter `offset'. + Take offset into account when outputting strings or glyphs. + (generate_formatted_string_db): call generate_fstring_runes with + an offset of 0 if generating a frame or icon title, or the + modeline hscroll if generating a modeline. + + * redisplay.h: remove prototype of `generate_formatted_string' and + add prototype for `generate_formatted_string_db', now used in + "frame.c". + + * frame.c: `title_string_display_line' and + `title_string_emchar_dynarr', formerly known as + `format_string_display_line' and `format_string_emchar_dynarr' + moved here from "redisplay.c". + (generate_title_string): formerly known as + `generate_format_string', moved here from "redisplay.c". + (update_frame_title): take these name changes into account. + (init_frame): new function. Initialize here the variables that + were previously in "redisplay.c" and initialized in + `init_redisplay'. + + * frame.h: prototype for `init_frame'. + + * window.c (Fmodeline_hscroll): restore the definition (remove the + MODELINE_IS_SCROLLABLE #ifdef). + (Fset_modeline_hscroll): ditto, docstring improvement, and return + the actual value that was set. + (struct saved_window): turn the `modeline_hscroll' field into a + Charcount. + (syms_of_window): restore the declaration of + `[set-]modeline-hscroll' (remove the MODELINE_IS_SCROLLABLE #ifdef). + + * window.h (struct window): turn the `modeline_hscroll field' into + a Charcount. + + * emacs.c: include "frame.h" to get `init_frame'. + (main_1): call `init_frame'. + +1999-12-31 Martin Buchholz + + * XEmacs 21.2.26 is released. + +1999-12-31 Andy Piper + + * glyphs-x.c (x_widget_instantiate): Avoid X errors calling + XMapWindow() on a NULL pointer X window. + +1999-12-31 Martin Buchholz + + * data.c (indirect_function): Use signal_void_function_error(). + + * lisp.h: Modify prototypes for signal_*(). Add SUBR_FUNCTION macro. + + * eval.c (PRIMITIVE_FUNCALL): Optimize. + (signal_void_function_error): return result of Fsignal(). + (signal_invalid_function_error): return result of Fsignal(). + (signal_wrong_number_of_arguments_error): return result of Fsignal(). + (signal_malformed_list_error): Add DOESNT_RETURN. + (signal_malformed_property_list_error): Add DOESNT_RETURN. + (signal_circular_list_error): Add DOESNT_RETURN. + (signal_circular_property_list_error): Add DOESNT_RETURN. + (Feval): Use returned results of signal_*(). Avoids a crash! + (Ffuncall): Use returned results of signal_*(). Avoids the crash: + (setq debug-on-error t) (funcall 'foo) kbd{r42} kbd{RET} + - Only check for fun_nargs < subr_min_args if fun_nargs != max_args. + (function_argcount): Use signal_invalid_function_error(). + (funcall_lambda): Use signal_wrong_number_of_arguments_error(). + Use signal_invalid_function_error(). + +1999-12-28 Andy Piper + + * debug.c: rename debug_loop elements to X_ to avoid name clashes. + + * menubar-x.c (menu_item_descriptor_to_widget_value_1): strdup + string_chars. + (menu_item_descriptor_to_widget_value_1): strdup name. + (pre_activate_callback): strdup name. + + * scrollbar-x.c (scrollbar_instance_to_widget_value): strdup name. + (x_update_scrollbar_instance_status): use free_widget_value_tree. + + * dialog-x.c (maybe_run_dbox_text_callback): strdup name. use + free_widget_value_tree. + (dbox_descriptor_to_widget_value): ditto. + + * gui-x.c (widget_value_unwind): use free_widget_value_tree. + (gui_items_to_widget_values_1): ditto. + (gui_items_to_widget_values): ditto. + (free_popup_widget_value_tree): free name. + +1999-12-27 Andy Piper + + * nt.c (fstat): use get_osfhandle rather than the handle + directly. From Fabrice Popineau. + + * process-nt.c (nt_open_network_stream): take types into account + when warning. From Fabrice Popineau. + +1999-12-24 Martin Buchholz + + * XEmacs 21.2.25 is released. + +1999-12-22 Yoshiki Hayashi + + * syntax.c (vars_of_syntax): Initialize parse-sexp_ignore_comments. + +1999-12-21 Martin Buchholz + + * editfns.c (Fpoint_min): + (Fpoint_min_marker): + (Fpoint_max): + (Fpoint_max_marker): + (Fchar_after): + (Fchar_before): + Docstring fixes. What's a `buffer pointer' anyways? + + * editfns.c (char=): Remove unused and undocumented optional + third BUFFER argument. + + * toolbar.h (DEVICE_SUPPORTS_TOOLBARS_P): + * fns.c (plists_differ): + * elhash.c (HASH_CODE): + * elhash.c (KEYS_EQUAL_P): + * redisplay-output.c (redisplay_move_cursor): + * redisplay.c (create_text_block): + * floatfns.c (Flogb): + * glyphs-msw.c (mswindows_initialize_image_instance_mask): + * glyphs-msw.c (xpm_to_eimage): + * buffer.h (POINT_MARKER_P): + * syntax.c (scan_lists): + * cmdloop.c (Fcommand_loop_1): + * widget.c (Fwidget_apply): + * regex.c (STREQ): + Remove extra parens, esp. of the form ((expr)) + + * floatfns.c (Flogb): Make 64-bit clean. + +1999-12-12 Daniel Pittman + + * configure.in: + * configure.usage: + Clean up Athena widget support: + - Add `with-athena' to select a variant. + - Remove all `athena3d' options. + - Robust detection of Athena libraries and headers. + - Refuse to build with mismatched library and headers. + - Only build a 3d Athena if the user asks for it. + +1999-12-21 Andy Piper + + * redisplay.c (redisplay_frame): check for faces changed when + reseting subwindow caches. + + * glyphs.h (struct ii_keyword_entry): add copy_p. + (struct image_instantiator_methods): add query_geometry_method and + layout_children_method. + (IIFORMAT_VALID_GENERIC_KEYWORD): new macro to take into account + copying characteristics of keywords. + (IIFORMAT_VALID_NONCOPY_KEYWORD): new macro for defining keywords + whose arguments should not be copied by the specifier code. + (image_instance_geometry): new enum for layouts. + (struct Lisp_Image_Instance): re-jig for layouts and update + macros. + + * glyphs.c (string_instantiate): rename variables. + (image_instantiate): add strings to those widgets that are + instantiated per-window. + (image_copy_vector_instantiator): new function for copying glyph + specifier instantiators. + (image_copy_instantiator): ditto. + + * glyphs-x.c (x_update_subwindow): use new face update functions. + (update_widget_face): update to use new lwlib arg functions. + (update_tab_widget_face): new function for updating tab control + label faces. + (x_widget_instantiate): use new face update functions and new + lwlib arg functions. + (x_tab_control_instantiate): ditto. + (x_tab_control_set_property): ditto. + + * glyphs-widget.c (VALID_GUI_KEYWORDS): use NONCOPY keyword for + callbacks and other things that could recurse. + (VALID_GUI_KEYWORDS): + + * event-msw.c: fix cpp stuff for cygwin < b20. + + * config.h.in: move uid_t and friends to before the s&m files so + that they can be used there. + + * Makefile.in.in (debug-temacs): new target that adds emacs + environment before invoking gdb. + + * lwlib.h (_widget_args): new structure for holding widget + args. It is reference counted so that we don't have to copy Xt + args. + (_widget_value): remove widget args. Add reference to widget_args. + + * lwlib.c (free_widget_value_contents): free widget args using + free_widget_value_args. + + * lwlib-Xaw.c (xaw_update_one_widget): use new arg packet. + (xaw_update_one_widget): use XtIsSubclass for determining labels. + + * lwlib.c (lw_add_value_args_to_args): modify to use our reference + counted arg packet. + (lw_add_widget_value_arg): new function. Add an arg to the arg + packet. + (free_widget_value_args): new function. Remove a reference counted + arg packet. + (lw_copy_widget_value_args): new function. Copy reference counted + arg packet. + (merge_widget_value_args): new function. Do a merge of widget + args. + (merge_widget_value): use it. + (copy_widget_value_tree): copy widget args using reference + counting, since we can't easily copy the args we have been given. + + * specifier.h (struct specifier_methods): add copy_instantiator_method. + + * specifier.c (build_up_processed_list): use + copy_instantiator_method if defined. + +1999-12-19 Martin Buchholz + + * fns.c (Ffillarray): Use O(N), not O(N^2) algorithm for strings. + +1999-12-19 Hrvoje Niksic + + * profile.c (sigprof_handler): FUN retrieved from the backtrace + can also be a cons representing anonymous interpreted function. + +1999-12-18 Martin Buchholz + + * fns.c (mapcar1): + (Fmapconcat): + (Fmapcar): + (Fmapvector): + Docstring fixes. Make them consistent with the lispref and ANSI Lisp. + +1999-12-17 Martin Buchholz + + * print.c (print_internal): print ?+ instead of ?\+, etc... + Make printing a little more efficient. + Prevent buffer overflow if sizeof EMACS_INT > 8. + My first 128-bit fix! + +1999-12-14 Karl M. Hegbloom + + * filelock.c (unlock_all_files): GC_CONSP should be CONSP + +1999-12-17 Martin Buchholz + + * database.c: + * window.c: + * event-stream.c: + Remove last vestigial uses of GC_* + + * fns.c (mapcar1): Fix ***THREE*** obscure crashes in one function! + - Two of those involve evil mapping functions that destructively + modify a list being mapped over. + - Any garbage collection when mapping over a string could cause a + crash (typically in mapconcat). + +1999-12-08 Adrian Aichner + + * s\windowsnt.h (DIRECTORY_SEP): Initialize from + `Vdirectory_sep_char'. + + * lisp.h: Add declaration for `Vdirectory_sep_char' to allow + customization of `DIRECTORY_SEP' under native Windows NT. + +1999-12-14 Katsumi Yamaoka + + * buffer.c (Fbury_buffer): Add directions to the docstring. + +1999-12-14 Martin Buchholz + + * XEmacs 21.2.24 is released. + +1999-12-13 Martin Buchholz + + * sound.c (vars_of_sound): Provide esd-sound if HAVE_ESD_SOUND + + * nas.c: Fix compiler warnings. Ansify. C++ compilation support. + +1999-12-13 Kazuyuki IENAGA + + * input-method-xlib.c: Make sure src/ does not use Athena, except + indirectly through lwlib. + +1999-12-13 Gunnar Evermann + + * dbxrc (pobj): Add opaque_ptr, remove opaque_list. + +1999-12-10 Shenghuo ZHU + + * file-coding.c (add_coding_system_to_list_mapper): + - (coding-system-list) should list aliases correctly. + +1999-12-07 Andy Piper + + * fileio.c (vars_of_fileio): directory separator fix from Mike Alexander. + * windowsnt.h (ditto): + +1999-11-27 Adrian Aichner + + * sysfile.h: Encapsulate `fstat' for Windows NT just like stat to + get consistent file modification times. + + * sysdep.h: Declare `wait_for_termination' to use process handle, + not PID, on Windows NT native. + + * sysdep.c (wait_for_termination): Use process handle, not PID, on + Windows NT native. Set exit code correctly on Windows NT. + (sys_subshell): Use process handle, not PID, + on Windows NT native. + (sys_fstat): Add ENCAPSULATE_FSTAT for Windows NT. + + * process-nt.c (nt_create_process): Remove negative pid hack for + Windows 95. + (nt_send_process): Declare vol_proc volatile. + (get_internet_address): warn_when_safe if IP address cannot be + found. + (nt_open_network_stream): warn_when_safe if network stream fails + to open. + + * ntproc.c (create_child): Remove negative pid hack for Windows + 95. Remove incorrect and unnecessary USE_UNION_TYPE handling. + + * nt.c (fstat): Encapsulate for Windows NT just like stat to get + consistent file modification times. + + * callproc.c (call_process_cleanup): Use process handle, not PID, + on Windows NT native. + (Fcall_process_internal): Ditto. Close fd_error in parent. Don't + check for negative pid on Windows NT/9[58]. + +1999-12-07 Martin Buchholz + + * XEmacs 21.2.23 is released. + +1999-12-06 Martin Buchholz + + * events.c (Fcopy_event): Don't copy the lrecord_header. + + * lisp.h (DO_REALLOC): + Optimize. + Remove redundant parens. + Remove generic hygienic macro comment. + + * lrecord.h (set_lheader_implementation): Remove redundant parens. + +1999-12-05 Martin Buchholz + + * lstream.c (Lstream_adding): + - Never compare a size_t and a possibly negative number. + - Optimize. + +1999-12-05 Kyle Jones + + * lisp/itimer.el: (require 'lisp-float-type). Use + floats directly in itimer-time-difference. + +1999-12-05 Andy Piper + + * redisplay-output.c (redisplay_output_layout): avoid name hiding. + + * gui.h: declare gui_add_item_keywords_to_plist. + + * window.c (Fdelete_window): mark subwindows as changed so that + they can be GC'd if necessary. + +1999-12-02 Jan Vroonhof + + * src/callproc.c (Fcall_process_internal): Be careful in writing + terminating null when copying args. nargs can be < 4. + Idea from Klaus Frank + +1999-11-29 Kyle Jones + + * src/sound.c (Fding): Remove zero initialization of + static variables to avoid crashes on systems that dump + the initialized data segment read-only. + +1999-12-05 Jan Vroonhof + + * glyphs-x.c (convert_EImage_to_XImage): Guard against other + visual classes. From Rasmus Borup Hansen + +1999-12-04 Martin Buchholz + + * lstream.c: (filedesc_reader): + (filedesc_writer): Try number 2: Support broken systems where + return type of read() and write() is different from ssize_t. + + * systty.h: + * sysdep.h: + * sysdep.c: + - Replace macro calls to EMACS_GET_TTY and EMACS_SET_TTY with + function equivalents emacs_get_tty() and emacs_set_tty(). + - Moved prototypes to systty.h, where struct event_tty is defined. + - Renamed bogus `waitp' parameter to `flushp'. + + * lstream.c (filedesc_reader): Support broken systems where return + type of read() is different from ssize_t. + + * events.c (Fcopy_event): Avoid redundant EQ test if event2 is nil. + + * event-stream.c (menu_move_up): Remove redundant if block. + (menu_move_down): Gratuitous rewriting. + (menu_move_left): Work around Cygnus codefusion-990706 compiler bug. + (menu_move_right): Ditto. + + * lrecord.h (copy_lcrecord): + (zero_lcrecord): + Always add parentheses around uses of macro arguments. + + * sysdll.c: #include for exit(). + * unexhp9k800.x: #include for malloc(). + Use proper prototype for Save_Shared_Data(void). + +1999-12-04 Jan Vroonhof + + * src/redisplay.c (point_would_be_visible): Correct for topclip. + +1999-12-02 Hrvoje Niksic + + * lisp.h: Declare Qself_insert_defer_undo. + + * event-stream.c (Fdispatch_event): Get the magic undo thing from + a symbol property, so commands other than self-insert-command can + install it. + (syms_of_event_stream): Define Qself_insert_defer_undo. + +1999-11-30 Martin Buchholz + + * floatfns.c (emacs_rint): Rename rint to emacs_rint, so that + `#undef HAVE_RINT' works. + + * sysdep.h: Fix up prototypes for sys_read_1(), sys_write_1() + +1999-11-25 Andy Piper + + * select-msw.c (Fmswindows_set_clipboard): selection fixes from + Mike Alexander. + (Fmswindows_delete_selection): ditto. + + * redisplay.h (CLASS_REDISPLAY_FLAGS_CHANGEDP): add size_changed. + (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto. + + * redisplay.c (redisplay_device): move size changed to macros in + redisplay.h + (redisplay_without_hooks): ditto. + + * redisplay-output.c (redisplay_output_layout): rename to avoid + name hiding. + + * process-nt.c (struct nt_process_data): mks toolkit fixes from + Mike Alexander. + (nt_create_process): ditto. + (nt_send_process): ditto. + + * nt.c (init_environment): make sure mingw32 gets the cached + system info. + + * gui.h: declare gui_add_item_keywords_to_plist. + + * event-msw.c (mswindows_wnd_proc): Clipboard fixes from Mike + Alexander. + + * console-msw.h: fix cygwin define/header 1.0 problems. + * glyphs-msw.c: ditto. + * ntplay.c: ditto. + * unexcw.c: ditto. + * s/cygwin32/h: ditto. + +1999-11-29 XEmacs Build Bot + + * XEmacs 21.2.22 is released + +1999-11-28 Martin Buchholz + + * XEmacs 21.2.21 is released. + +1999-11-26 Martin Buchholz + + * callproc.c (Fcall_process_internal): + * config.h.in: + * esd.c: + * event-msw.c (ntpipe_slurp_reader): + * event-msw.c (ntpipe_shove_writer): + * event-msw.c (winsock_reader): + * event-msw.c (winsock_writer): + * event-stream.c (dribble_out_event): + * fileio.c: + * fileio.c (Fexpand_file_name): + * glyphs-x.c (write_lisp_string_to_temp_file): + * gpmevent.c (tty_get_foreign_selection): + * lisp.h: Update prototypes. + * lstream.c (Lstream_flush_out): + * lstream.c (Lstream_write_1): + * lstream.c (Lstream_was_blocked_p): + * lstream.c (Lstream_read_more): + * lstream.c (Lstream_read): + * lstream.c (Lstream_fputc): + * lstream.c (make_stdio_output_stream): + * lstream.c (stdio_flusher): + * lstream.c (stdio_closer): + * lstream.c (make_filedesc_output_stream): + * lstream.c (errno_would_block_p): + * lstream.c (filedesc_writer): + * lstream.c (make_lisp_string_input_stream): + * lstream.c (make_fixed_buffer_output_stream): + * lstream.c (fixed_buffer_reader): + * lstream.c (make_resizing_buffer_output_stream): + * lstream.c (make_dynarr_output_stream): + * lstream.c (make_lisp_buffer_output_stream): + * lstream.c (lisp_buffer_reader): + * lstream.h (lstream_implementation): + * md5.c (Fmd5): + * miscplay.h (reset_parsestate): + * process-nt.c (nt_send_process): + * process-unix.c (unix_send_process): + * sound.c: + * sysdep.c (sys_close): + * sysdep.c (sys_read_1): + * sysdep.c (sys_write_1): + * sysfile.h: + * file-coding.c (determine_real_coding_system): + * file-coding.c (Fdetect_coding_region): + * file-coding.c (struct decoding_stream): + * file-coding.c (decoding_reader): + * file-coding.c (Fdecode_coding_region): + * file-coding.c (struct encoding_stream): + * file-coding.c (encoding_reader): + * file-coding.c (Fencode_coding_region): + * file-coding.c (convert_to_external_format): + * file-coding.c (convert_from_external_format): + - Lstream functions mirror Unix98 read(),write(). Therefore use + Unix98 types size_t and ssize_t. + - Try to make Lstream* functions 64-bit clean. Someday someone + may actually want to read from a Lstream with more than 2**32 bytes. + - Add configure support for ssize_t. + - Update all callers of Lstream_read and Lstream_write to + use the new types. + - Fix esd* initiated C++ compile errors. + - Remove comments referring to `fpurge' - we don't want to call it + even if it's there. + + * lisp.h + - Remove some lingering Lucid compiler support. + + * lisp.h + - Add prototype for Fdelete_process. + + * gpmevent.c (Freceive_gpm_event): Remove unused variables. + +1999-11-27 Martin Buchholz + + * Makefile.in.in (depend): Only update `depend' if there were changes. + +1999-11-26 Martin Buchholz + + * editfns.c (get_system_name): Remove. + +1999-11-26 Martin Buchholz + + * device-x.c (x_init_device): + - Replace magic number `17' with equivalent expn using sizeof. + - Replace strcmp with marginally more efficient memcmp. + - Avoid using C++ reserved word `class'. + + * file-coding.c (determine_real_coding_system): + - Look for both initial and final -*- cookies. + - Replace EQ (foo, Qnil) with NILP (foo) + - Make searching for cookies more efficient. + - Recognize only rfc 1521 characters in charset names. + +1999-11-22 Kazuyuki IENAGA + + * input-method-xlib.c (IMDestroyCallback): #ifdef'd by + "THIS_IS_X11R6", because it shouldn't be evaluated unless X11R6. + * input-method-xlib.c (IMInstantiateCallback): Ditto. + * input-method-xlib.c (XIM_init_device): Revive XOpenIM function + call for X11R5 systems. + * input-method-xlib.c (XIM_delete_frame): Enabled XDestroyIC() + again because XIM doesn't concern with frame deletion itself. + The XIC will be cleared by XIM when XIM is closing (at XIM destroy + callback). + +1999-10-25 Kazuyuki IENAGA + + * input-method-xlib.c: Added new lisp object Qxim_xlib. + New macro xim_warn(str), xim_warn1(fmt,str) and xim_info(str). + All the valid stderr_out were changed to those macros. + (IMDestroyCallback): Don't test the XIC if the frame is not X + frame. + (IMInstantiateCallback): Treat the client_data as "device" not + "frame" because the caller changed from frame to device. + Here initializes XIM and activates XICs for each frame which + doesn't have XIC. + (XIM_init_device): Register the XIM instantiation callback which + had been performed by XIM_init_frame() before. + (XIM_delete_frame): Added a test for the XIM before clearing XIC. + (XIM_init_frame): Placed an actual code for XIC activation which + was moved from IMInstantiateCallback. + (syms_of_input_method_xlib): New function which includes a symbol + Qxim_xlib that uses in emacs.c. + + * emacs.c: Added a function entry "syms_of_input_method_xlib" for + input_method_xlib. + + * symsinit.h: Added a declaration of "syms_of_input_method_xlib". + +1999-11-05 Robert Pluim + + * emacs.c (shut_down_emacs): Point users to PROBLEMS file + +1999-11-16 Jan Vroonhof + + * redisplay-output.c (compare_runes): Add comments about + results from profiling. + + * redisplay.h (struct rune): Do not use bitfields for members. + (struct rune): Add various comments about further optimizations. + +1999-11-19 Eric Darve + + * abbrev.c (abbrev_oblookup): Check whether wordend <= wordstart + if Vabbrev_start_location is used too. + +1999-10-27 Yoshiki Hayashi + + * file-coding.c (detect_eol_type): Return CR when two + sequential CR are found. + (determine_real_coding_system): Check EOL type when coding: + cookie is found and EOL type is not specified. + Don't assume 8bit char as part of coding: cookie. + +1999-10-26 Yoshiki Hayashi + + * file-coding.c (determine_real_coding_system): Check if + '-*-' exists. End searching for coding: cookie at the end + of line. Check whether character before coding: is space, + tab or ';'. + +1999-11-07 William M. Perry + + * gpmevent.c: Completely rewrote GPM mouse support for linux + console. The TTY console and event stream are modified at run + time, so this code can now be used as a module. + (tty_get_foreign_selection): New function to allow pasting from + other virtual consoles. + (Fgpm_enable): New lisp-visible function to turn GPM on or off + at run time. + + * device-tty.c (tty_asynch_device_change): No longer need to + notify GPM code of window/console height/width changes. + + * console-tty.c (tty_init_console): Removed outdated GPM support + that was part of the console/event code. + + * event-Xt.c (emacs_Xt_select_console): Ditto + + * event-Xt.c (emacs_Xt_unselect_console): Ditto + + * event-unixoid.c (read_event_from_tty_or_stream_desc): Ditto + + * frame-tty.c (console_type_create_frame_tty): Ditto + +1999-11-17 Martin Buchholz + + * nt.c: + * sysdep.c: + * s/mingw32.h: + * s/windowsnt.h: + - Use Unix 98 types uid_t, gid_t, pid_t. + - Define them. + +1999-11-01 Olivier Galibert + + * alloc.c (reinit_alloc_once_early): Move purify_flag init... + * emacs.c (main_1): ...here, to get the correct value even with + the portable dumper. + +1999-11-17 Martin Buchholz + + * lisp.h (BIT_VECTOR_LONG_STORAGE): Add extra parens. It's a macro! + + * tooltalk.c (tt_build_string): Remove extra parens. + * process.c (print_process): Remove extra parens. + * buffer.h (BI_BUF_PTR_BYTE_POS): + (BUF_PTR_BYTE_POS): + (BI_BUF_BYTE_ADDRESS): + (BI_BUF_BYTE_ADDRESS_BEFORE): + (valid_memind_p): + (bytind_to_memind): + (memind_to_bytind): + Remove extra parens. Inline functions are not macros. + + * editfns.c (Fuser_login_name): + (user_login_name): + Use proper type uid_t. + +1999-11-15 Martin Buchholz + + * syntax.c (complex_vars_of_syntax): Make more readable. + (define_standard_syntax): New function. + + * syntax.c (forward-comment): Gradually make XEmacs 64-bit-clean. + +1999-11-14 Martin Buchholz + + * mule-ccl.c (CCL_WRITE_STRING): Fix compiler warnings. + +1999-11-12 Yoshiki Hayashi + + * mule-charset.h (LEADING_BYTE_OFFICIAL_1, LEADING_BYTE_OFFICIAL_2): + New enum type to make sure no gap in the leading byte definition. + +1999-11-11 Yoshiki Hayashi + + * mule-charset.h (LEADING_BYTE_CYRILLIC_ISO_8859_5, + LEADING_BYTE_LATIN_ISO8859_9): Moved to 0x8B and 0x8C + to remove a hole in leading byte definition. + +1999-11-10 Yoshiki Hayashi + + * mule-charset.c (non_ascii_valid_charptr_p): Check if + private charset is defined. + +1999-11-09 Yoshiki Hayashi + + * mule-ccl.c (ccl_driver): Make sure generated sequences + are valid when doing `CCL_WRITE_STRING'. + (ccl-execute-on-string): Pass CCL_MODE_DECODING to ccl_driver. + +1999-11-10 XEmacs Build Bot + + * XEmacs 21.2.20 is released + +1999-11-04 Martin Buchholz + + * mule-ccl.c (ccl_driver): Warning suppression + +1999-11-01 SL Baur + + * emacs.c (main_1): Guard call to reinit_vars_of_debug when not + building a debugged XEmacs. + +1999-10-28 Andreas Jaeger + + * src/emacs.c (main_1): Don't set the malloc hooks if using + DOUG_LEA_MALLOC. + +1999-10-30 Olivier Galibert + + * alloc.c (pdump_dump_rtables): Don't forget to dump the last + registered type. + (pdump): Ditto. + +1999-10-25 Olivier Galibert + + * emacs.c (main_1): Call reinit_vars_of_scrollbar_x. + + * symsinit.h: Declare reinit_vars_of_scrollbar_x. + +1999-10-25 Martin Buchholz + + * redisplay.h (CLASS_RESET_CHANGED_FLAGS): + (GLOBAL_RESET_CHANGED_FLAGS): + (CLASS_REDISPLAY_FLAGS_CHANGEDP): + (RESET_CHANGED_SET_FLAGS): + Fix C++ compile errors/warnings. + These macros were just a tad too clever. + + * process-unix.c (unix_open_network_stream): + * objects-x.c (allocate_nearest_color): + * mule-charset.c (vars_of_mule_charset): + * fileio.c (Ffile_truename): + * file-coding.c (vars_of_file_coding): + Fix compile errors/warnings. + + * alloc.c (xstrdup): Use fact that memcpy returns its first arg. + (allocate_lisp_storage): Simplify. + +1999-10-24 Olivier Galibert + + * conslots.h: Add defines with first and last slot names. + * bufslots.h: Add defines with first and last slot names. + + * buffer.c (common_init_complex_vars_of_buffer): Renamed from + reinit_complex_vars_of_buffer + (reinit_complex_vars_of_buffer): Reset the slots to the dumped + value. + (complex_vars_of_buffer): Dump the slots values. + + * console.c (common_init_complex_vars_of_console): Renamed from + reinit_complex_vars_of_console + (reinit_complex_vars_of_console): Reset the slots to the dumped + value. + (complex_vars_of_console): Dump the slots values. + + * alloc.c: Rename reloc_table to pdump_reloc_table, rt_list to + pdump_rt_list and move them at the beginning of the file. + (gc_sweep): Unmark pdumped objects after the sweep phase. + (pdump_dump_rtables): Change a bare 256 to + last_lrecord_type_index_assigned. Add a separator between the + adresses or lrecords and the ones of C structs in the dump file. + (pdump_load): Cope with the new separator and the renamings. Stop + looking for the hash tables list after it has been found (duh!). + +1999-10-24 Robert Bihlmeyer + + * sound.c: support HAVE_ESD_SOUND + + * miscplay.c: + * miscplay.h: + * linuxplay.c: Move large part of linuxplay to generalized file + miscplay. Make it platform independent. + + * esd.c: New file + +1999-10-24 Adrian Aichner + + * lisp.h (Dynarr_declare): Fix boo-boo. + +1999-10-24 Olivier Galibert + + * process-unix.c (allocate_pty): Fix HAVE_GETPT. + * process.h: Ditto. + +1999-10-24 Jan Vroonhof + + * redisplay.c (start_with_line_at_pixpos): Remove assert(cur_elt + >=0). Handle the cur_elt == 0 case. + +1999-10-24 Jan Vroonhof + + * unexelf.c: Merge Martin's c++ fixes back in + +1999-10-20 Jan Vroonhof + + * unexelf.c (unexec): Only copy the global offset + table from memory on sgi machines. + +1999-08-13 Alexandre Oliva , Vin Shelton + + * unexelf.c: Enable GNU/Linux/alpha to build with gcc 2.95 by + adding support for an sbss section. Get IRIX 5.2 to build using + unexelf.c. + + * m/iris4d.h: Use unexelf.o for unexec. + + * m/iris5d.h: Use unexelf.o for unexec. + +1999-10-24 Jan Vroonhof + + * unexelf.c: Revert to 21.1 version + +1999-08-28 Jan Vroonhof + + * window.c (Fwindow_truncated_p): New function. + +1999-08-25 Jonathan Marten + + * window.c (window_truncation_on): Always return 0 for minibuffer + windows, to enable auto scrolling. + +1999-10-24 Neal Becker + * process.h: Unix98 PTY support + +1999-10-17 Jan Vroonhof + + * fileio.c (Ffile_truename): Do proper mule decoding on + the argument to xrealpath() + +1999-08-19 Stephen Tse + + * process-unix.c (unix_open_network_stream): Add udp network + support; rename variable Qtcpip to Qtcp, parameter family to + protocol for consistency with Qudp. + + * process-nt.c (nt_open_network_stream): Rename variable Qtcpip to + Qtcp, parameter family to protocol for consistency with Qudp. + + * process.c (global_variables): Add a new variable Qudp for udp + network support; rename variable Qtcpip to Qtcp for consistency + with Qudp. + (Fopen_network_stream_internal): Rename parameter FAMILY to + PROTOCOL for consistency; fix a minor typo and add an explanation + in docstring for udp programming. + (Fopen_multicast_group_internal): Fix a minor typo in docstring. + (syms_of_process): Add a new variable Qudp for udp network + support; rename variable Qtcpip to Qtcp for consistency with Qudp. + + * process.h (extern_variables): Add a new variable Qudp for udp + network support; rename variable Qtcpip to Qtcp for consistency + with Qudp. + + * procimpl.h: Add a new variable Qudp for udp network support; + rename variable Qtcpip to Qtcp for consistency with Qudp. + (struct process_methods): Rename parameter family to protocol. + + +1999-10-24 Olivier Galibert + + * alloc.c (pdump_make_hash): Divide pointers by 8 for a better hash. + +1999-10-23 Olivier Galibert + + * lrecord.h (struct lrecord_header): Removed dumped flags. + + * dynarr.c: Use DUMPEDP instead of dumped flag. + + * lisp.h (DUMPEDP): Added. Removed dumped flag from dynarr. + + * alloc.c: Removed hash_next linked list pointer. + + * *.c *.h: Removed markobj and mark_object parameters, removed GC_ + and XGC macros. + +1999-10-14 Andy Piper + + * redisplay-x.c (x_output_shadows): fix dodgy maths for border + calculations. + + * gutter.c (output_gutter): be more accurate about the area to be + cleared since X seems to manage to do the clear after drawing the + border. + + * redisplay.h (RESET_CHANGED_FLAGS): new macro for setting + redisplay flags as a group. + (RESET_CHANGED_SET_FLAGS): ditto. + (CLASS_RESET_CHANGED_FLAGS): ditto. + (GLOBAL_RESET_CHANGED_FLAGS): ditto. + (REDISPLAY_FLAGS_CHANGEDP): new macro for testing redisplay flags + as a group. + (CLASS_REDISPLAY_FLAGS_CHANGEDP): ditto. + (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto. + + * redisplay.c (redisplay_frame): use CLASS_RESET_CHANGED_FLAGS + instead of setting flags individually. + (redisplay_device): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP. + (redisplay_device): ditto. + (redisplay_device): ditto CLASS_RESET_CHANGED_FLAGS. + (redisplay_without_hooks): ditto GLOBAL_REDISPLAY_FLAGS_CHANGEDP. + (redisplay_without_hooks): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP. + (redisplay_without_hooks): ditto. + (redisplay_without_hooks): ditto GLOBAL_RESET_CHANGED_FLAGS. + + * redisplay-x.c (x_output_string): unmap subwindows in the area. + (x_output_blank): ditto. + + * redisplay-output.c (redisplay_output_display_block): don't unmap + subwindows in case layout optimization can avoid it. + (redisplay_output_subwindow): unmap subwindows in the area. + (redisplay_output_layout): optimize the output of layouts - only + output glyphs that have changed if nothing else of redisplay + significance has occurred. + (redisplay_output_pixmap): change args to + redisplay_clear_clipped_region. + (redisplay_clear_clipped_region): allow the clipped region to be + cleared of all subwindows except the one passed in. + + * redisplay-msw.c (mswindows_output_blank): unmap subwindows in + the area. + (mswindows_output_cursor): ditto. + (mswindows_output_string): ditto. + + * gutter.c (calculate_gutter_size): if the window buffer is nil + then don't continue. + (update_frame_gutters): be more lenient about when we actually + update the gutter. Layout optimization makes this + non-costly. Cache redisplay flags that we want to temporarily + ignore. + + * glyphs.c (Fglyph_animated_timeout_handler): handle image + specific timeouts rather than iterating over the instance cache. + (glyph_animated_timeout_mapper): deleted. + (add_glyph_animated_timeout): use a weak list to hold onto the + image so that it can be GC'ed. + (disable_glyph_animated_timeout): disable a specific timeout. + (vars_of_glyphs): disable-animated-pixmaps is a new boolean for + controlling whether pixmaps are animated or not. + + * glyphs-msw.c (mswindows_finalize_image_instance): make sure the + image timeout gets disabled when the image gets freed. + + * glyphs-eimage.c (gif_instantiate): remove meaningless + comment. Cope with timeouts specified in the gif extension block. + + * event-msw.c (vars_of_event_mswindows): new variable + mswindows-meta-activates-menu. + (mswindows_wnd_proc): only goto defproc with VK_MENU if the user + wants it. + + * glyphs-x.c (x_finalize_image_instance): delete mask first so + that we can compare with image. + +1999-10-14 Jonathan Harris + + * event-msw.c (mswindows_key_to_emacs_keysym): + Recognise keypad keys as different from normal keys. + +1999-10-14 Didier Verna + + * glyphs-x.c (x_finalize_image_instance): avoid freeing null pixmaps. + +1999-10-10 Olivier Galibert + + * symbols.c (init_symbols_once_early): dump Vquit_flag. + + * symsinit.h: Updated. + + * ntproc.c (vars_of_ntproc): Use defsymbol. + + * emacs.c (main_1): Updated reinit calls. + + * lisp.h: Removed Fpurecopy and pure_put declarations. + * fns.c: Removed pure_put. + + * eval.c (Fdefvar): pure_put -> Fput + (Fdefconst): Ditto. + * frame-x.c (init_x_prop_symbols): Ditto. + * symbols.c (deferror): Ditto. + + * alloc.c (Fmake_byte_code): Remove Fpurecopy call. + * buffer.c (vars_of_buffer): Ditto. + * bytecode.c (Ffetch_bytecode): Ditto. + (optimize_compiled_function): Ditto. + * emacs.c (vars_of_emacs): Ditto. + * emodules.c (vars_of_module): Ditto. + * eval.c (define_function): Ditto. + (Fautoload): Ditto. + * frame.c (vars_of_frame): Ditto. + * intl.c (Fset_domain): Ditto. + * lread.c (load_force_doc_string_unwind): Ditto. + * menubar.c (vars_of_menubar): Ditto. + * minibuf.c (reinit_complex_vars_of_minibuf): Ditto. + + * debug.c (reinit_vars_of_debug): Extracted. + * device-x.c (reinit_vars_of_device_x): Ditto. + * emodules.c (reinit_vars_of_module): Ditto. + * font-lock.c (reinit_vars_of_font_lock): Ditto. + * glyphs-widget.c (reinit_vars_of_glyphs_widget): Ditto. + * glyphs.c (reinit_vars_of_glyphs): Ditto. + * gui-x.c (reinit_vars_of_gui_x): Ditto. + * insdel.c (reinit_vars_of_insdel): Ditto. + * menubar-x.c (reinit_vars_of_menubar_x): Ditto. + * minibuf.c (reinit_complex_vars_of_minibuf): Ditto. + * mule-wnnfns.c (reinit_vars_of_mule_wnn): Ditto. + * print.c (reinit_vars_of_print): Ditto. + * redisplay.c (reinit_vars_of_redisplay): Ditto. + * select-x.c (reinit_vars_of_xselect): Ditto. + * undo.c (reinit_vars_of_undo): Ditto. + +1999-10-10 Olivier Galibert + + * symsinit.h: Updated declarations, see other ChangeLog entries. + + * redisplay.c (init_redisplay): Ensure proper reinitialisation. + + * lrecord.h (XD_DYNARR_DESC): Introduce XD_INT_RESET and use it. + + * glyphs.c: Add the ii_keyword_entry and related descriptions. + Fix the image_instantiator_methods one. + + * file-coding.c: Plonk all data that needs to be dumped in a + dynamically allocated structure. + + * extents.c (reinit_vars_of_extents): Extracted from + vars_of_extents. + + * event-stream.c (vars_of_event_stream): Don't staticpro when + pdump_wire is enough. + + * event-msw.c (reinit_vars_of_event_mswindows): Extracted from + vars_of_event_mswindows. + + * event-Xt.c (reinit_vars_of_event_Xt): Extracted from + vars_of_event_Xt. + + * eval.c (vars_of_eval): Don't staticpro when pdump_wire is enough. + + * emacs.c (main_1): Added some reinit calls. + + * device-x.c (reinit_console_type_create_device_x): Extracted from + console_type_create_device_x. + + * console.h: Declare the console_type_entry_dynarr description. + + * console.c: Unstatic the console_type_entry_dynarr description. + + * alloc.c: Removed some dubious comments. Handle XD_INT_RESET. + +1999-10-07 Olivier Galibert + + * symsinit.h: Updated declarations, see other ChangeLog entries. + + * minibuf.c (reinit_complex_vars_of_minibuf): Extracted from + complex_vars_of_minibuf. + + * lrecord.h: Removed XD_PARENT_INDIRECT (unused and + unimplemented), added XD_LO_LINK. + + * lisp.h (pdump_wire_list): Add declaration. + + * glyphs.h (INITIALIZE_DEVICE_IIFORMAT): Fix bug found by Andy. + (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Fix stupid bug. + (REINITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Remove, useless once the + stupid bug fixed. + + * glyphs.c (reinit_image_instantiator_format_create): Remove. + + * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x): + Remove. + + * glyphs-widget.c + (reinit_image_instantiator_format_create_glyphs_widget): Remove. + + * glyphs-msw.c + (reinit_image_instantiator_format_create_glyphs_mswindows): + Remove. + + * glyphs-eimage.c + (reinit_image_instantiator_format_create_glyphs_eimage): Remove. + + * frame.c (Fmake_frame): Don't reset the face cache when using the + stream device. + + * file-coding.c: Dumped the_codesys_prop_dynarr and added all + relevant descriptions. + + * events.c (reinit_vars_of_events): Extracted from vars_of_events. + + * eval.c: The subr is _not_ a lcrecord. + + * emacs.c (main_1): Call vars_of_specifier early before any + specifier creation (e.g in vars_of_glyphs, at least). Remove the + useless reinit_image_instantiator_format*. Add + reinit_vars_of_events and reinit_complex_vars_of_minibuf. Add + calls to lstream_type_create* and process_type_create*. + + * elhash.c: Dump Vall_weak_hash_tables correctly. + + * data.c: Dump Vall_weak_lists correctly. + + * console.c: Fix description. + + * console-stream.c (init_console_stream): Do initializations + correctly in the pdump case. + + * chartab.c: Fix description. Dump Vall_syntax_tables correctly. + (Fcopy_char_table): Link into Vall_syntax_tables. + + * alloc.c (pdump_wire_list): Added. + (Fgarbage_collect): Fix loop in stats couting missing the last + lrecord type. + (pdump_register_sub): Added XD_LO_LINK. + (pdump_dump_data): Ditto. Fixed XD_LO_RESET_NIL forgttting the + counter. + (pdump_reloc_one): Ditto. + (pdump_scan_by_alignement): Use last_lrecord_type_index_assigned + instead of 256. + (pdump_dump_wired): Added lists. + (pdump): Use last_lrecord_type_index_assigned instead of 256. + Dump last_lrecord_type_index_assigned value. Fix minor bugs. + +1999-10-07 Andy Piper + + * glyphs-msw.c (mswindows_finalize_image_instance): zero out + bitmap slices. + + * glyphs-x.c (x_finalize_image_instance): fix FMW problem. + +1999-10-06 Andy Piper + + * elhash.c (resize_hash_table): Correct reference to lrecord_header. + +1999-10-06 Damon Lipparelli + + * elhash.h: forward declare Lisp_Hash_Table. + +1999-10-06 Andy Piper + + * glyphs.c (Fset_image_instance_property): mark glyphs as dirty + after setting an image instance property. + +1999-10-05 Andy Piper + + * gutter.c (update_frame_gutters): output gutters if + windows_changed is set. This is the only way of catching changes + in selected window which obviously can affect the specifiers. + + * redisplay.c: new state flags, subwindows_state_changed and + subwindows_state_changed set. + (redisplay_window): use them. + (redisplay_device): ditto. + (redisplay_without_hooks): ditto. + (redisplay_frame): ditto. Reset subwindow cachels if + subwindows_changed is set. + (redisplay_window): call mark_glyph_cachels_as_clean after + redisplaying. + + * redisplay-x.c (x_output_x_pixmap): select correct + pixmap image for display depending on the currently selected + slice. + + * redisplay-output.c (compare_runes): check dirtiness when + checking RUNE_DGLYPH runes. + (compare_display_blocks): relax invalidation of display blocks + since we can now detect whether individual glyphs have changed or + not. + + * redisplay-msw.c (mswindows_output_dibitmap): select correct + bitmap image for display depending on the currently selected + slice. + + * glyphs.h (struct Lisp_Image_Instance): add a dirty flag. + (IMAGE_INSTANCE_DIRTYP): new macro. + (XIMAGE_INSTANCE_DIRTYP): ditto. + (MARK_IMAGE_INSTANCE_CHANGED): ditto. + (GLYPH_DIRTYP): ditto. + (XGLYPH_DIRTYP): ditto. + (MARK_GLYPH_CHANGED): ditto. + (GLYPH_CACHEL_DIRTYP): ditto. + (struct glyph_cachel): add a dirty flag. + + * glyphs.c (update_frame_subwindows): Don't update on + glyphs_changed. + (glyph_animated_timeout_mapper): new function. Map over the + instance cache lookinng for animated images to update. + (Fglyph_animated_timeout_handler): new function. Lisp callback for + handling animated image timeout events. + (disable_glyph_animated_timeout): new function. Add the animated + image timeout. + (disable_glyph_animated_timeout): new function. Remove the + animated image timeout. + (syms_of_glyphs): initialize Qglyph_animated_timeout_handler and + friends. + (vars_of_glyphs): initialize Vglyph_animated_ticker. + (image_instance_equal): add the currently displayed slice. + (image_instance_hash): ditto. + (allocate_glyph): initialize dirty flag. + (glyph_width): rename glyph -> glyph_or_image. + (glyph_height_internal): ditto. + (glyph_dirty_p): new function. Determine whether the image + instance in the domain and/or glyph is dirty. + (set_glyph_dirty_p): set the dirtiness. + (update_glyph_cachel_data): take dirtiness into account. Pass the + image instance we are interested in to glyph_width and friends. + (get_glyph_cachel_index): make non-static. Always call + update_glyph_cachel_data. + (mark_glyph_cachels_as_not_updated): meaningless formatting + change. + (mark_glyph_cachels_as_clean): new function. Clean dirtiness from + glyph cachels. + + * glyphs-x.h (struct x_image_instance_data): change + pixmap to a list of pixmaps. + (IMAGE_INSTANCE_X_PIXMAP_SLICE): new macro. + (IMAGE_INSTANCE_X_PIXMAP_SLICES): ditto. + (XIMAGE_INSTANCE_X_PIXMAP_SLICE): ditto. + (XIMAGE_INSTANCE_X_PIXMAP_SLICES): ditto. + + * glyphs-x.c (x_finalize_image_instance): make sure multi pixmap + images get deleted properly. + (init_image_instance_from_x_image): add slices paramater and use + it to initialize x_image_instance_data correctly. + (image_instance_add_x_image): new function. Add new pixmaps to our + set of instantiated pixmaps for an image. Used by animated images. + (x_init_image_instance_from_eimage): add a slices + parameter. Instantiate all images from the eimage. + (x_xpm_instantiate): update use of + init_image_instance_from_x_image. + (init_image_instance_from_xbm_inline): ditto. + (x_initialize_pixmap_image_instance): add slices paramater and use + it to allocate x_image_instance_data correctly. + + * glyphs-msw.h (struct mswindows_image_instance_data): change + bitmap to a list of bitmaps. + (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): new macro. + (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto. + (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): ditto. + (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto. + + * glyphs-msw.c (init_image_instance_from_dibitmap): add slices + paramater and use it to initialize mswindows_image_instance_data + correctly. + (image_instance_add_dibitmap): new function. Add new bitmaps to + our set of instantiated bitmaps for an image. Used by animated + images. + (mswindows_init_image_instance_from_eimage): add a slices + parameter. Instantiate all images from the eimage. + (mswindows_xpm_instantiate): update use of + init_image_instance_from_dibitmap. + (bmp_instantiate): ditto. + (init_image_instance_from_xbm_inline): ditto. + (mswindows_finalize_image_instance): make sure all the bitmap + slices get deleted. + (mswindows_initialize_dibitmap_image_instance): add slices + paramater and use it to allocate mswindows_image_instance_data + correctly. + + * glyphs-eimage.c (jpeg_instantiate): give extra paramter to + init_image_instance_from_eimage. + (png_instantiate): ditto. + (tiff_instantiate): ditto. + (gif_instantiate): allocate bitmaps for all gif slices not just + the first one. + + * device.h (struct device): add subwindows_state_changed flag. + (MARK_DEVICE_SUBWINDOWS_STATE_CHANGED): new macro. + (MARK_DEVICE_FRAMES_GLYPHS_CHANGED): ditto. + + * console.h (struct console_methods): add a slice parameter to + init_image_instance_from_eimage_method. + + * redisplay.c (create_string_text_block): Allow buffer to be nil + without crashing. + +1999-09-24 Andy Piper + + * glyphs-x.c: only include gui-x.h if we are building with + widgets. + + * gui-x.c (vars_of_gui_x): only set popup_up_p if we have popups. + +1999-09-28 Lee Kindness + + * objects-x.c (allocate_nearest_color): will return 0 (failure) + when the colormap is full and the color it has computed to be the + 'nearest' has been allocated read/write. + +1999-10-02 Olivier Galibert + + * search.c (reinit_vars_of_search): Reinit the search cache + correctly. + + * elhash.h: Make the description visible. Declare + resize_hash_table. + + * elhash.c (resize_hash_table): Extracted from enlarge_hash_table + to generalize the hash table reorganization. + (reorganize_hash_table): Added. + (enlarge_hash_table): Uses resize_has_table. + + * casetab.c (complex_vars_of_casetab): staticpro the mule mirror + tables. + + * alloc.c: Add correct management of blocks of structures. + Reorganize hash tables at reload since the hash values can change + with the pointers. + +1999-10-01 Olivier Galibert + + * lisp.h: Add pdump_wire declaration + + * elhash.c (vars_of_elhash): Wire Vall_weak_hash_tables. + * symbols.c (init_symbols_once_early): Wire Qnil and Qunbound. + + * alloc.c (pdump_wire): Added.. + (pdump_load): Support it. + (pdump): Support it + + * glyphs-msw.c + (reinit_image_instantiator_format_create_glyphs_mswindows): Fix + macro calls. + +1999-09-28 Olivier Galibert + + * symsinit.h: Added lots of prototypes. + + * symeval.h: Added defsymbol_nodump declaration. + + * symbols.c (find_symbol_value): Lame attempt at making the + startup go further. + (defsymbol_nodump): Added. + + * mule-charset.c: Collapsed global lisp objects arrays in one + dumpable structure. + + * lrecord.h: Added some flags. + + * lisp.h: Added dumped flag to dynarrs. Added dumpstruct + declaration. + + * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): Don't + staticpro dynamic variables. + + * glyphs.c (reinit_specifier_type_create_image): Added. + (image_instantiator_format_create): Dump image instantiator format + dynarr. + (reinit_image_instantiator_format_create): Added. + + * emacs.c (main_1): Added reinits calls. + + * dynarr.c: Protect dumped dynarrays from going berzek in free or + realloc. + + * specifier.h (INITIALIZE_SPECIFIER_TYPE): Don't staticpro dynamic + variables. + * specifier.c (specifier_type_create): Dump the specifier type + dynarr. + (reinit_specifier_type_create): Added. + * console.h (INITIALIZE_CONSOLE_TYPE): Don't staticpro dynamic + variables. + * console.c (console_type_create): Dump the console type dynarr. + (reinit_vars_of_console): Extracted from vars_of_console. + (reinit_complex_vars_of_console): Extracted from + complex_vars_of_console + * window.c (reinit_vars_of_window): Extracted from vars_of_window. + * toolbar.c (reinit_specifier_type_create_toolbar): Added. + * search.c (reinit_vars_of_search): Extracted from vars_of_search. + * objects.c (reinit_specifier_type_create_objects): Added. + (reinit_vars_of_objects): Extracted from vars_of_objects. + * lstream.c (reinit_vars_of_lstream): Extracted from + vars_of_lstream. + * lread.c (reinit_vars_of_lread): Extracted from vars_of_lread. + * gutter.c (reinit_specifier_type_create_gutter): Added. + * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x): + Added. + * glyphs-widget.c + (reinit_image_instantiator_format_create_glyphs_widget): Added + * glyphs-msw.c + (reinit_image_instantiator_format_create_glyphs_mswindows): Added. + * glyphs-eimage.c + (reinit_image_instantiator_format_create_glyphs_eimage): Added. + * event-stream.c (reinit_vars_of_event_stream): Extracted from + vars_of_event_stream + * eval.c (reinit_vars_of_eval): Extracted from vars_of_eval. + * device.c (reinit_vars_of_device): Extracted from vars_of_device. + * console-x.c (reinit_console_type_create_x): Added. + * console-tty.c (reinit_console_type_create_tty): Added + * console-stream.c (reinit_console_type_create_stream): Added. + (init_console_stream): If PDUMP, always reinitialise basic + devices. + * console-msw.c (reinit_console_type_create_mswindows): Added. + * buffer.c (reinit_vars_of_buffer): Extracted from + init_vars_of_buffer. + (reinit_complex_vars_of_buffer): Extracted from + complex_vars_of_buffer + + * alloc.c: Further with the portable dumping, the revenge. + (dumpstruct): Added. + (reinit_alloc_once_early): Extracted from init_alloc_once_early. + + * specifier.c (sizeof_specifier): Correct size computation. + (make_specifier_internal): Ditto. + +1999-09-27 Olivier Galibert + + * alloc.c: Further with the portable dumping. + +1999-09-27 Martin Buchholz + + * glyphs-x.c (update_widget_face): Remove bogus cast + + * data.c (sign_extent_lisp): + * data.c (check_int_range): + * data.c (Faref): + * data.c (Faset): + * data.c (number_char_or_marker_to_int): + * data.c (number_char_or_marker_to_double): + * data.c (Frem): + * data.c (Fmod): + * extents.c (print_extent_1): + * fns.c (print_bit_vector): + * fns.c (Flength): + * fns.c (Fsafe_length): + * fns.c (copy_list): + * fns.c (Fsubseq): + * fns.c (Felt): + * fns.c (Flast): + * fns.c (Fnbutlast): + * insdel.h: + * marker.c (print_marker): + * syntax.h: + * bytecode.c (bytecode_arithcompare): + * bytecode.c (bytecode_arithop): + * lisp.h: + * lisp.h (EXTERNAL_LIST_LOOP_DELETE_IF): + * lisp.h (TRUE_LIST_P): + * lisp.h (CHECK_TRUE_LIST): + * lisp.h (bit_vector_length): + * lisp.h (GCPRO4): Make consistent. + * lisp.h (NGCPRO4): Make consistent. + * lisp.h (NNGCPRO4): Make consistent. + * alloc.c (Fmake_list): + * alloc.c (Fmake_string): + Use proper 64-bit types, e.g. EMACS_INT or size_t instead of int. + This should make all arithmetic 64-bit clean. + + Use %ld with (long) casts in print statements of types with sizes + possibly larger than int. + + Following functions had mismatched prototypes!!: + do_marker_adjustment(), fixup_internal_substring(), scan_lists(), + char_quoted(), make_string_from_buffer(), + make_string_from_buffer_no_extents() + + The types of Bufpos, Bytind, Memind, Bytecount, Charcount, + Extcount are all now EMACS_INT. I hope to see the day when I can + create a buffer with more than INT_MAX characters, without having + XEmacs slow down to a crawl. I also hope to be able to create a + list with more than INT_MAX cons cells. + + * redisplay.c (decode_mode_spec): + The %p and %P specs in the mode line were not correct for buffers + larger than MAX_INT/100! The %p spec was off by .5% even for + small buffers! + +1999-09-27 Martin Buchholz + + * cmdloop.c (num_input_keys): + * print.c (debug_temp): + * emacs.c (Vinfo_directory): + Delete unused variables + + * console-x.h (x_interline_space): Mark as unimplemented. + * redisplay-x.c (x_interline_space): Mark as unimplemented. + + * event-Xt.c (pending_timeouts): + * linuxplay.c (linuxplay_sndbuf): + * profile.c (QS*): + * search.c (searchbufs): + * specifier.c (specifier_type_entry_dynarr): + * undo.c (pending_boundary): + * event-stream.c (the_low_level_timeout_blocktype): + * extents.c (gap_array_marker_freelist): + * extents.c (extent_list_marker_freelist): + * print.c (being_printed): + * print.c (alternate_do_pointer): + * alloc.c (first_string_chars_block): + * alloc.c (current_string_chars_block): + * emacs.c (initial_argv): + * emacs.c (initial_argc): + * eval.c (lisp_eval_depth): + * free-hook.c (pointer_table): + * free-hook.c (free_queue): + * free-hook.c (current_free): + * free-hook.c (strict_free_check): + * redisplay.c (formatted_string_emchar_dynarr): + * redisplay.c (formatted_string_display_line): + * redisplay.c (formatted_string_extent_dynarr): + * redisplay.c (formatted_string_extent_start_dynarr): + * redisplay.c (formatted_string_extent_end_dynarr): + * redisplay.c (updating_line_start_cache): + * redisplay.c (last_display_warning_tick): + * redisplay.c (display_warning_tick): + * redisplay.c (internal_cache): + * window.c (Vwindow_configuration_free_list): + Make static. + + * redisplay.c (Vinitial_window_system): Make CONST. + +1999-09-24 Martin Buchholz + + * redisplay-tty.c (term_get_fkeys_1): Minor aesthetic improvements. + + * doprnt.c (get_doprnt_args): Use int, not short, with va_arg. + +1999-09-24 Andy Piper + + * redisplay-output.c (output_display_line): only clear the borders + if we are not displaying the gutter. + +1999-09-24 Jan Vroonhof + + * frame-x.c (x_any_window_to_frame): Let Xt find the widget and + then use x_any_widget_or_parent_to_frame(). + (x_find_frame_for_window): remove special cases. + +1999-09-24 Andy Piper + + * scrollbar-x.c (x_window_is_scrollbar): deleted. + * scrollbar-x.h: ditto. + +1999-09-23 Martin Buchholz + + * alloc.c (this_marks_a_marked_record): Remove. + + * buffer.c (mark_buffer): + * buffer.c (nuke_all_buffer_slots): + * console.c (mark_console): + * console.c (nuke_all_console_slots): + * frame.c (mark_frame): + * frame.c (nuke_all_frame_slots): + Treat MARKED_SLOT() macros consistently. + + * device.h (error_check_device_type): + * faces.c (face_getprop): + * fileio.c (DRIVE_LETTER): + * filelock.c (lock_file_1): + * frame-x.c (x_create_widgets): + * frame.h (error_check_frame_type): + * keymap.c (print_keymap): + * keymap.c (Fkey_description): + * keymap.c (where_is_recursive_mapper): + * mule-charset.h (CHARSET_LEADING_BYTE): + * objects-msw.c (mswindows_color_instance_hash): + * objects.c (color_instance_equal): + * objects.h (struct color_specifier): + * objects.h (struct font_specifier): + * objects.h (struct face_boolean_specifier): + * opaque.h (get_opaque_ptr): + * opaque.h (set_opaque_ptr): + * process-unix.c (set_socket_nonblocking_maybe): + * specifier.h (SPECIFIER_TYPE_P): + * symbols.c (store_symval_forwarding): + * syssignal.h (EMACS_KILLPG): + * terminfo.c (emacs_tparam): + * glyphs.c (glyph_putprop): + * glyphs.c (glyph_remprop): + * glyphs.c (Fimage_instance_subwindow_id): + * window.c (mark_window): + * window.c (mark_window_config): + * window.c (Fset_window_configuration): + * window.c (save_window_save): + * eval.c (Fuser_variable_p): + * eval.c (Fcommand_execute): + * eval.c (Feval): + * eval.c (Ffuncall): + * lisp.h (XPNTR): + * lisp.h (INT_OR_FLOATP): + * lisp.h (GC_INT_OR_FLOATP): + * lisp.h (XFLOATINT): + * lisp.h (IS_ANY_SEP): + * mule-ccl.c (Fccl_execute): + * mule-ccl.c (Fccl_execute_on_string): + * redisplay-x.c (x_output_string): + Remove redundant extra parentheses. + +1999-09-22 Martin Buchholz + + * chartab.c (word_boundary_p): Add prototype for warning avoidance. + * eval.c (PRIMITIVE_FUNCALL): ANSIfy + * free-hook.c (fun_ptr): ANSIfy + * getloadavg.c: Remove declaration for errno. + * gui.c (allocate_gui_item): ANSIfy + * gui.h (allocate_gui_item): ANSIfy + * mule-ccl.c (resolve_symbol_ccl_program): Make static + * realpath.c: Remove K&R support. + * redisplay-x.c (x_output_display_block): Don't shadow previous local + * glyphs-widget.c (layout_instantiate): Don't shadow previous local + * gutter.c (get_gutter_coords): Make static. + * lread.c (locate_file_map_suffixes): Make static. + * ralloc.c (relinquish): ANSIfy + * redisplay.c: + * lisp.h: + Move prototypes from redisplay.c to lisp.h + +1999-09-22 Martin Buchholz + + * glyphs-x.c (x_widget_set_property): + - Remove unnecessary initialization. + - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA + * glyphs-x.c (x_widget_instantiate): + - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA + * unexelf.c (unexec): + Add cast for C++ compilability. + * redisplay.h: + Fix a typo. + * ralloc.c (r_alloc_reinit): + SET_FUN_PTR was broken wrt ANSI aliasing! + To compensate, use __typeof__ when using gcc, else live with + possible (but rare) warnings. + * ralloc.c (init_ralloc): + Ditto + * ralloc.c: Use the real dlmalloc prototype for __morecore. + * lread.c (locate_file_map_suffixes): + * input-method-xlib.c (XIM_init_frame): + - Xlib functions should use XPointer, not XtPointer. + * input-method-xlib.c (XIM_delete_frame): + - Xlib functions should use XPointer, not XtPointer. + * input-method-xlib.c (IMDestroyCallback): + - Simplify. + - XFRAME (obj) can never be NULL, so don't test for it. + * gutter.h: + Add GUTTER_POS_LOOP for iterating over all gutter_pos'es + * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG): + Run c-backslash-region on macro body. + * gutter.c (gutter_was_visible): + Remove redundant parens - this is not a macro. + * gutter.c (redraw_exposed_gutters): + Use GUTTER_POS_LOOP. + * gutter.c (gutter_specs_changed): + Use GUTTER_POS_LOOP. + * gutter.c (gutter_geometry_changed_in_window): + Use GUTTER_POS_LOOP. + * gutter.c (update_frame_gutters): + Use GUTTER_POS_LOOP. + * gutter.c (init_frame_gutters): + Use GUTTER_POS_LOOP. + * file-coding.c (determine_real_coding_system): + Fix C++ compile error. + * emodules.c (find_make_module): + Cast return value from xrealloc + * emacs.c (Fkill_emacs): + Use __typeof__, when available. + * emacs.c (voodoo_free_hook): + Use __typeof__, when available. + (Unfortunately, the type of __free_hook is glibc-version-dependent) + * dired.c (user_cache): Use Bufbyte *, not char * + * dired.c (Fuser_name_all_completions): Ditto. + +1999-09-22 Andy Piper + + * redisplay.c (redisplay_frame): reset the gutter display lines + when we reset the subwindows. + + * gutter.c (reset_gutter_display_lines): new function. + + * window.c (Flast_nonminibuf_window): new function equivalent to + FRAME_LAST_NONMINIBUF_WINDOW (). + (syms_of_window): declare it. + + * redisplay.c (create_string_text_block): don't add bogus eol + markers to gutter display lines. + + * glyphs.c (reset_subwindow_cachels): make sure we unmap + subwindows using unmap_subwindow so that expose events get + registered correctly. + + * window.c (window_scroll): use Vwindow_pixel_scroll_increment to + determine how much to scroll the window. + (vars_of_window): Vwindow_pixel_scroll_increment is a new + variable. + +1999-09-20 Robert Pluim + + * glyphs-x.c (update_widget_face): Guard fontList declaration for + non-motif uses. + +1999-09-20 Andy Piper + + * glyphs-msw.c (mswindows_update_subwindow): update faces. + +1999-09-19 Andy Piper + + * glyphs.c (update_frame_subwindows): update if faces have + changed. + + * glyphs-x.c (x_widget_instantiate): create the clip widget using + lwlib rather than directly. + (x_finalize_image_instance): delete the clip widget using lwlib. + (x_update_subwindow): update widget faces. + (update_widget_face): new function for updating the face + properties of a widget. + (x_widget_set_property): update widget faces. + + * lwlib-Xlw.c (xlw_create_clip_window): new function. We need to + manage the clip widgets using lwlib so that we can delete them in + a safe manner. + +1999-09-16 Martin Buchholz + + * lisp-union.h: + * lisp-disunion.h: + Define new, potentially faster INT arithmetic macros + INT_PLUS, INT_MINUS, INT_PLUS1, INT_MINUS1 + * bytecode.c (execute_optimized_function): + Use new macros. + Fix metering code + * bytecode.c (bytecode_negate): + Optimize for integer case. + +1999-08-29 Andreas Jaeger + + * m/mips.h: Support for mips-linux: Add !linux around places + that are not valid for linux, define TEXT_START, DATA_START, + DATA_SEG_BITS. + +1999-09-16 Andy Piper + + * redisplay-output.c (redisplay_output_subwindow): clip subwindows + that don't completely fit on-screen rather than just unmapping + them. + + * glyphs.h: change signature of map_subwindow. + + * glyphs.c (map_subwindow): add display_glyph_area to the + signature. make sure the mapped area saved in the subwindow_cachel + reflects this. + (Fforce_subwindow_map): make a no-op. I don't think this does + anything useful. + + * glyphs-x.h (struct x_subwindow_data): save the Display rather + than the Screen. Add a clipwindow and clipwidget handle. + (IMAGE_INSTANCE_X_CLIPWINDOW): new accessor. + (IMAGE_INSTANCE_X_CLIPWIDGET): ditto. + (XIMAGE_INSTANCE_X_CLIPWIDGET): ditto. + (XIMAGE_INSTANCE_X_CLIPWINDOW): ditto. + + * glyphs-x.c (x_finalize_image_instance): destroy the clipwidget + as well as the widget itself. + (x_unmap_subwindow): unmap the clipwindow and clipwidget rather + than the widgets and subwindows themselves. move the widget inside + the clipwidget. + (x_subwindow_instantiate): hold onto the Display rather than the + Screen. allocate a clipwindow to put the subwindow inside. + (x_resize_subwindow): use saved Display directly. + (x_widget_instantiate): allocate a clipwidget of type EmacsManager + to put widgets inside. + + * glyphs-widget.c: remove group stuff. + + * glyphs-msw.h (struct mswindows_subwindow_data): new structure to + hold the clipwindow. + (IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): new accessor. + (XIMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): ditto. + + * glyphs-msw.c: remove group stuff. + (mswindows_finalize_image_instance): destroy clipwindow as well as + the widget itself. + (mswindows_unmap_subwindow): unmap the clipwindow rather than the + widget. + (mswindows_map_subwindow): ditto. move the widget within the + clipwindow. + (mswindows_subwindow_instantiate): allocate and initialize + mswindows_subwindow_data. allocate a clipwindow with the subwindow + as a child. + (mswindows_widget_instantiate): ditto. + (mswindows_control_wnd_proc): new function that allows us to + propagate events from the widget to the main windows control loop. + + * device-msw.c (mswindows_init_device): register new widget clip window + class. + + * console.h (struct console_methods): add display_glyph_area to + map_window. + + * console-msw.h: declare new window class and wnd proc for + widgets. + +1999-09-14 Martin Buchholz + + * general.c: + * eldap.c: + Move symbols used only by eldap.c into eldap.c as statics. + +1999-09-09 Martin Buchholz + + * window.c (syms_of_window): + * symbols.c (syms_of_symbols): + * redisplay.c (syms_of_redisplay): + * print.c (syms_of_print): + * lisp.h: + * intl.c (syms_of_intl): + * general.c (syms_of_general): + * frame.c (syms_of_frame): + * fileio.c (syms_of_fileio): + * file-coding.h: + * file-coding.c (syms_of_file_coding): + * extents.c (syms_of_extents): + * event-stream.c (syms_of_event_stream): + * event-stream.c (Fnext_event): + * device.c (syms_of_device): + * data.c (syms_of_data): + * casetab.c (syms_of_casetab): + * casetab.c (check_case_table): + * callint.c (syms_of_callint): + * buffer.c (syms_of_buffer): + Delete unused C symbols: + Qbuffer_file_name, Qbuffer_undo_list, Quser_variable_p, + Qcurrent_prefix_arg, Qtranslate_table, Qkeywordp, + Qnumber_or_marker_p, Qcons, Qkeyword, Qignore, Qdelete_device, + Qcommand_execute, Qglyph_invisible, + Qbuffer_file_coding_system, Qfile_name_handler_alist, + Qframe_x_p, Qframe_tty_p, Qblack, Qkeyboard, Qmenubar, Qpath, + Qvector, Qwhite, Qcase, Qdomain, Qalternate_debugging_output, + Qprint_escape_newlines, Qprint_readably, Qfloat_output_format, + Qwindow_scroll_functions, Qfboundp, Qscroll_up, Qscroll_down + + Rename symbols as required by the CHECK_RECORD macro: + - Qcase_table_p to Qcase_tablep + - Qcoding_system_p to Qcoding_systemp + + * debug.h: + * debug.c (syms_of_debug): + Make debug.c's internal Lisp_Objects static. + + * events.c (vars_of_events): + * events.c (syms_of_events): + Use regular old defsymbol instead of KEYSYM + staticpro(). + + * select-x.c (CHECK_CUTBUFFER): + Rewrite in accordance with coding standards. + + * keymap.c (syms_of_keymap): + Use SPC in the same way as RET, TAB, etc. + +1999-08-27 Jan Vroonhof + + * xemacs-20/src/menubar-x.c (make_dummy_xbutton_event): Don't add + offset twice if HAVE_WMCOMMAND is defined. + +1999-09-13 Mike McEwan + + * redisplay-x.c (x_output_vertical_divider): make sure + shadow_thickness is positive. + +1999-09-10 Julian Back + + * process-nt.c (nt_create_process): fixup to cope with + Vprocess_environment. + +1999-09-02 Andy Piper + + * redisplay-output.c (redisplay_output_layout): call output + routines with clear_clip false. output layout borders with text + correctly. + + * redisplay-msw.c (mswindows_output_blank): call output routines + with clear_clip true. + (mswindows_output_string): ditto. + (mswindows_output_display_block): ditto. + + * redisplay-x.c (x_output_display_block): call output routines + with clear_clip true. + + * redisplay.h: fix output routines for clear_clip parameter. + + * redisplay-output.c (redisplay_output_layout): cope with glyphs + in the border. + + * glyphs-widget.c (layout_instantiate): deal with border glyphs. + (check_valid_glyph_or_instantiator): renamed from + check_valid_glyph_or_image. + (check_valid_border): allow glyphs or their instantiators. + (check_valid_glyph_or_instantiator_list): renamed from + check_valid_glyph_or_image_list, + (glyph_instantiator_to_glyph): new function. make sure a glyph is + a glyph and not an instantiator. + (substitute_keyword_value): new function. replace a keyword value + with a new one. + +1999-09-01 Andy Piper + + * glyphs.c (string_set_property): new function to set the data of + a string. + (image_instantiator_format_create): use it. + +1999-09-07 Hrvoje Niksic + + * fns.c (Fmapc): Rename back to Fmapc_internal. + +1999-07-30 Gleb Arshinov + + * ntheap.h: CONST (semantically constant) name field of file_data + struct + + * unexnt.c (open_output_file): match function definition with + function declaration + + * editfns.c: #include "sysfile.h" for getcwd() prototype + + * gif_io.c: #include "sysfile.h" for close() prototype + +1999-09-02 Martin Buchholz + + * elhash.c: + * elhash.h: + Change the :type keyword to :weakness, for compatibility with the + GNU Emacs 20.5 hash table implementation. + Keep (but don't document) the :type keyword for compatibility. + Obsolete function hash-table-type + General cleanup. + Define function sxhash for compatibility with Common Lisp and GNU Emacs. + +1999-09-01 Martin Buchholz + + * floatfns.c (arith_error): + * floatfns.c (range_error): + * floatfns.c (range_error2): + * floatfns.c (domain_error): + * floatfns.c (domain_error2): + * lrecord.h (LRECORDP): + * console-x.h (X_ERROR_OCCURRED): + * console-x.h (HANDLING_X_ERROR): + * chartab.c (CATEGORYP): + * buffer.h (XCHAR_OR_CHAR_INT): + Remove redundant and confusing parentheses. + + * redisplay-output.c (redisplay_clear_to_window_end): + Remove redundant initialization. + + * redisplay.h: + * redisplay-msw.c: + * redisplay-x.c: + Move declarations of bevel_modeline() into redisplay.h. + +1999-08-30 Olivier Galibert + + * lisp.h: Add staticpro_nodump for undumped staticpro-ing. + * alloc.c: Add staticpro_nodump for undumped staticpro-ing. Add + alignment information for dumped data. Enhance + descriptions. Phase out Vterminal_* variables while + dumping. + * lrecord.h: Add chained descriptions and automagically-reset + lisp_objects to the description system. + + * console-stream.h: Declare the Vterminal_* variables. + + * buffer.c: Don't dump Vbuffer_alist, Vbuffer_defaults and + Vbuffer_local_symbols. + * console.c: Don't dump Vconsole_list, Vconsole_defaults and + Vconsole_local_symbols. + * eval.c: Don't dump Qunbound_suspended_errors_tag. + * lread.c: Don't dump Vread_buffer_stream. + * lstream.c: Don't dump Vlstream_free_list[]. + * search.c: Don't dump last_thing_searched. + * window.c: Don't dump minibuf_window and + Vwindow_configuration_free_list[]. + + * faces.c: Add face description. + * fns.c: Add bit_vector description. + * glyphs.c: Add image specifier description. + * objects.c: Add color, face and face boolean specifiers descriptions. + * opaque.c: Add opaque description. Don't dump Vopaque_ptr_free_list. + * rangetab.c: Add range table description. + * specifier.c: Add specifier and specifier methods description. + * specifier.h: Add specifier extra description support. + + * symbols.c: Fix symbol_value_buffer_local_description. + + * gdbinit (Lisp): Add opaque_ptr, remove opaque_list. + +1999-09-02 Hrvoje Niksic + + * extents.c (extent_remprop): Get extent's plist address + correctly. + +1999-08-31 Andy Piper + + * xmu.h: define Xmu/Converters.h things. + +1999-08-31 Andy Piper + + * opaque.c (equal_opaque_ptr): define. + (hash_opaque_ptr): define. + + * xmu.h: define Xmu/Misc.h things. + +1999-08-17 MORIOKA Tomohiko + + * file-coding.c (determine_real_coding_system): Treat `coding:' + cookie. + +1999-08-16 MORIOKA Tomohiko + + * file-coding.c (struct decoding_stream): New member `counter'. + (reset_decoding_stream): Initialize `counter'. + (decode_coding_ucs4): Use `counter'. + (decode_coding_utf8): Likewise. + +1999-08-31 Andy Piper + + * redisplay-output.c (redisplay_normalize_glyph_area): make sure + the clip offset doesn't exceed the height we have available to + show. + + * window.h (struct window): add top_yoffset and left_xoffset for + pixel scrolling. + (WINDOW_TEXT_TOP_CLIP): new macro. + + * window.c (window_scroll): add behaviour for pixel-scrolling of + tall lines. + + * redisplay.h (struct display_line): add top_clip. + (DISPLAY_LINE_HEIGHT): adjust for top_clip. + (DISPLAY_LINE_YPOS): ditto. + + * redisplay.c (position_redisplay_data_type): add + start_col_xoffset to prepare for pixel-based h-scrolling. + (WINDOW_SCROLLED): new macro. + (next_tab_position): use it. + (add_glyph_rune): use new hscoll vars. + (create_text_block): ditto. + (generate_displayable_area): adjust off-by-one error. + (regenerate_window): take top_clip into account. + (regenerate_window_extents_only_changed): ditto. + (regenerate_window_incrementally): ditto. + + * redisplay-x.c (x_output_display_block): use DISPLAY_LINE_YPOS, + DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros. + (x_output_string): ditto. + (x_output_blank): ditto. + (x_output_hline): ditto. + (x_output_eol_cursor): ditto. + + * redisplay-output.c (output_display_line): allow for + top_clip. use DISPLAY_LINE_YPOS, DISPLAY_LINE_HEIGHT and + DISPLAY_LINE_YEND macros. + (redisplay_output_layout): output strings in layouts correctly. + (redisplay_clear_clipped_region): allow for top_clip. + (redisplay_calculate_display_boxes): ditto. + + * redisplay-msw.c (mswindows_output_blank): use DISPLAY_LINE_YPOS, + DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros. + (mswindows_output_cursor): ditto. + (mswindows_output_string): ditto. + (mswindows_redraw_exposed_window): ditto. + (mswindows_output_display_block): ditto. + + * gutter.c: new specifier type gutter-size. + (gutter_size_validate): validate gutter-size specifier. + (Fgutter_size_specifier_p): predicate for gutter-size. + (Fredisplay_gutter_area): allow the gutter area to be redisplayed + under user contol, like Fredisplay_echo_area. + (syms_of_gutter): add new functions. + (specifier_type_create_gutter): add new specifier. + (specifier_vars_of_gutter): change specifier types of *-height to + gutter-size. + + * glyphs.c (glyph_width): make work with image instances. + + * console.h (struct console_methods): change api of output_string. + + * glyphs-x.c (x_map_subwindow): move before mapping as reported by + Stephen J. Turnbull + +1999-08-30 Andy Piper + + * glyphs-x.c (x_finalize_image_instance): X_MASK -> PIXMAP_MASK + for assignment. + (init_image_instance_from_x_image): ditto. + (x_xpm_instantiate): ditto. + (x_colorize_image_instance): ditto. Reported by Richard Cognot + + +1999-08-29 Andy Piper + + * glyphs-x.c (x_widget_instantiate): move font initialisation so + that it doesn't get saved in the user defined args. + (x_tab_control_instantiate): Set the fg color of the tab's + children. + (x_tab_control_set_property): ditto. + +1999-08-27 Damon Lipparelli + + * events.h (XTIMEOUT): must preface Lisp_Timeout with ``struct'' + (XSETTIMEOUT): fixup typo + +1999-08-11 Jan Vroonhof + + * syntax.c (scan_words): Unified Mule and Non-mule scanning. + Word boundary search looks back instead of forward so that it + doesn't peek over the limit. + +1999-08-20 Olivier Galibert + + * config.h.in: Add PDUMP define. + * emacs.c (Fdump_emacs): Hackish, call pdump() if configured in. + + * lrecord.h: Enhance description system. + * alloc.c: Fix vector and string description. Add portable + dumper enumeration fonctions. + + * symbols.c: Fix symbols description. Add symbol_value_forward + description. + * eval.c: Add subr description. + * elhash.c (CLEAR_HENTRY): Clean value pointer too. Fix hash + table description. + (remhash_1): CLEAR_HENTRY evaluates the parameter two times now. + +1999-08-20 Olivier Galibert + + * opaque.c: Kill opaque lists, make Lisp_Opaque_Ptr a lrecord of + its own. + * opaque.h: Ditto. + + * eval.c (eval_in_buffer_trapping_errors): + (run_hook_trapping_errors): + (safe_run_hook_trapping_errors): + (call0_trapping_errors): + (call1_trapping_errors): + (call2_trapping_errors): OPAQUEP -> OPAQUE_PTRP. make_opaque_ptr + now takes a non-const void *. + +1999-08-20 Olivier Galibert + + * opaque.c: Remove make_opaque_long. + + * opaque.h: Remove everything opaque_long related. + + * eval.c (vars_of_eval): Make Qunbound_suspended_errors_tag an + opaque_ptr. + + * emacs.c (main_1): Remove make_opaque_long from comment. + +1999-08-20 Olivier Galibert + + * event-stream.c (mark_timeout): + (print_timeout): + (event_stream_generate_wakeup): + (event_stream_resignal_wakeup): + (event_stream_disable_wakeup): + (event_stream_wakeup_pending_p): + (vars_of_event_stream): Lisp_Timeout is now a lrecord. + + * events.h (struct Lisp_Timeout): Added. + +1999-08-24 Andy Piper + + * console-x.h: declare new pixmap signatures. + +1999-08-23 Andy Piper + + * glyphs-x.c (x_update_subwindow): make sure the widget size is + maintained after an update. + + * event-Xt.c (emacs_Xt_handle_magic_event): use + find_matching_subwindow to check whether the exposure is totally + inside a subwindow, if it is then ignore it. + + * glyphs.c (find_matching_subwindow): new function. + + * toolbar-x.c (x_draw_blank_toolbar_button): use new + x_output_shadows signature. + (x_output_toolbar_button): use new x_output_x_pixmap signature. + + * redisplay.h (struct display_box): new structure. + (struct display_glyph_area): ditto. + declare new display_box functions. + + * redisplay-x.c (x_output_pixmap): update for new display + box stuff. + (x_bevel_area): update to allow multiple edge styles and border + segments. + (x_output_display_block): update for new display_box stuff and + signatures. + (x_clear_region): ditto. + (x_output_x_pixmap): ditto. adjust offsets rather than clip. + (console_type_create_redisplay_x): declare new console methods. + (x_output_vertical_divider): update for new bevel_area signature. + (x_output_shadows): update to allow selective drawing of edges. + + * redisplay-tty.c (tty_output_display_block): do nothing for + layouts. + + * redisplay-output.c (redisplay_output_subwindow): convert to use + display_box structure, this allows us to put subwindows anywhere + with any offset, useful for layout glyphs. + (redisplay_output_layout): new function. output a layout and its + sub-glyphs. + (redisplay_output_pixmap): new modular function combining generic + parts of the X and mswindows versions. convert to use display_box + structures. + (redisplay_clear_clipped_region): new function. clear the area a + glyph is going into. + (redisplay_normalize_glyph_area): new function. calculate the + bounds of a display_glyph_area given a display_box. + (redisplay_normalize_display_box): new function. shrink a + display_box to enclose a display_glyph_area. + (redisplay_display_boxes_in_window_p): check whether the input + display_box and display_glyph_area are actually in a window. + (redisplay_calculate_display_boxes): calculate display boxes based + on conventional display_line metrics. + (bevel_modeline): update for new bevel_area signature. + + * redisplay-msw.c (mswindows_output_blank): update for new + display_box stuff. + (mswindows_output_string): ditto. + (mswindows_output_dibitmap): ditto. + (mswindows_output_dibitmap_region): ditto. + (mswindows_output_pixmap): ditto. + (mswindows_bevel_area): update to allow multiple edge styles and + border segments. + (mswindows_output_display_block): update for new display_box stuff + and signatures. + (mswindows_clear_region): ditto. + (console_type_create_redisplay_mswindows): declare new console methods. + + * lisp.h (edge_style): new enum. + declare display_box and display_glyph_area. + + * gutter.c (output_gutter): update for new bevel_area signature. + + * glyphs.h (image_instance_type): add layout. + (IMAGE_LAYOUT_MASK): ditto. + (LAYOUT_IMAGE_INSTANCEP): new macro. + (CHECK_LAYOUT_IMAGE_INSTANCE): ditto. + (struct Lisp_Image_Instance): add offsets for layout and the + layout type itself. move mask here also. + (IMAGE_INSTANCE_LAYOUT_CHILDREN): new macro. + (IMAGE_INSTANCE_LAYOUT_BORDER): ditto. + (XIMAGE_INSTANCE_LAYOUT_CHILDREN): ditto. + (XIMAGE_INSTANCE_LAYOUT_BORDER): ditto. + + * glyphs.c (mark_image_instance): update for layouts. + (print_image_instance): ditto. + (image_instance_equal): ditto. + (image_instance_hash): ditto. + (allocate_image_instance): initialise offsets for layout. + (decode_image_instance_type): update for layouts. + (encode_image_instance_type): ditto. + (Fimage_instance_height): ditto. + (Fimage_instance_width): ditto. + (allocate_glyph): ditto. + (glyph_width): allow image instances as an argument. update for layouts. + (glyph_height_internal): ditto. + (syms_of_glyphs): add layout symbols. + + * glyphs-x.h (struct x_image_instance_data): remove mask entry. + (IMAGE_INSTANCE_X_MASK): update. + + * glyphs-x.c (x_label_instantiate): new function. instantiate a + label. + (image_instantiator_format_create_glyphs_x): initialise new layout + glyph type. + + * glyphs-widget.c: new layout type. + (check_valid_orientation): new keyword checker for layouts. + (check_valid_justification): ditto. + (check_valid_border): ditto. + (check_valid_glyph_or_image_list): ditto. + (layout_possible_dest_types): new function for layout glyph type. + (layout_normalize): ditto. + (layout_instantiate): ditto. + (syms_of_glyphs_widget): new keywords for layout. + (image_instantiator_format_create_glyphs_widget): initialise the + layout glyph type. + + * glyphs-msw.h (struct mswindows_image_instance_data): remove mask + argument. + (IMAGE_INSTANCE_MSWINDOWS_MASK): update. + + * glyphs-msw.c: declare layout format. + (image_instantiator_format_create_glyphs_mswindows): initialise it. + + * general.c: new symbols for layouts. + + * console.h (struct console_methods): new console methods for + outputting pixmaps and strings. + +1999-08-23 Didier Verna + + * sound.c: revert the renaming of `bell_volume' to `Vbell_volume' + and `bell_inhibit_time' to `Vbell_inhibit_time'. + +1999-08-18 Andy Piper + + * redisplay-output.c (redisplay_output_subwindow): disable + clipping attempt. + +1999-08-17 Andy Piper + + * gutter.c (redraw_exposed_gutter): handle degenerate case of no + area to expose or no gutter to display. + +1999-08-16 Charles G Waldman + + * sound.c: rename `bell_volume' to `Vbell_volume' and + `bell_inhibit_time' to `Vbell_inhibit_time'. + +1999-08-13 Charles G Waldman + + * sound.c: (bell-inhibit-time): New variable. + (ding): Use it. + (sound-alist): Fix docstring. + +1999-08-17 Andy Piper + + * gui-x.c (button_item_to_widget_value): xstrdup name so that + deleting it is ok. + +1999-08-16 Jeff Miller + + * syntax.c (scan_words): make compile. + +1999-08-16 Andy Piper + + * redisplay-output.c (redisplay_output_subwindow): try and be more + relaxed about clipping possibilities. + + * glyphs-x.c (x_tab_control_set_property): free_widget_value_tree + rather than just the widget_value. + (x_update_subwindow): ditto. + (x_widget_instantiate): ditto. + + * gutter.c (output_gutter): shrink current display lines if + required. + +1999-08-15 Andy Piper + + * redisplay.h: declare free_display_lines. + + * redisplay.c (free_display_lines): make non-static. + + * gutter.c (free_frame_gutters): use free_display_lines instead of + Dynarr_free. + (calculate_gutter_size): ditto. + +1999-08-12 Jan Vroonhof + + * eval.c (run_hook_with_args_in_buffer): GCPRO globals. + +1999-08-14 Andy Piper + + * glyphs.c (update_subwindow_cachel): make it less brittle. + +1999-08-04 Mike Woolley + + * scrollbar-msw.c (mswindows_handle_mousewheel_event): Fixed + problem in wheelmouse code occurring when the horizontal scrollbar + is enabled but not visible. + +1999-08-08 Andy Piper + + * toolbar-msw.c (mswindows_redraw_frame_toolbars): new function. + (console_type_create_toolbar_mswindows): use it. + + * glyphs.c (Fset_image_instance_property): fiddly reorganisation. + + * redisplay-output.c (redisplay_output_display_block): unmap + subwindows in the block area before outputting the block. + + * event-msw.c (mswindows_wnd_proc): check the update rect before + painting and disable expose registration while painting. + + * glyphs.c (register_ignored_expose): check + hold_ignored_expose_registration before registering expose events. + + * redisplay.c (redisplay_frame): reset the subwindow cache before + displaying the gutter. + + * glyphs-msw.c (mswindows_map_subwindow): move the window before + mapping. + + * gutter.c (update_frame_gutters): check for glyphs_changed as if + it is the subwindow cache will have been reset. + +1999-08-06 Andy Piper + + * gui-x.c (button_item_to_widget_value): cope with strings. + + * glyphs.h: declare global widget functions. + (IIFORMAT_HAS_SHARED_DEVMETHOD): new macro. + + * glyphs-x.c (x_combo_box_instantiate): do generic initialization + here. remove dead code. + (image_instantiator_format_create_glyphs_x): enable combo boxes + for Motif 2.0. + + * glyphs-widget.c (widget_instantiate_1): make non-static. + (tree_view_instantiate): renamed from combo_box_instantiate. + (image_instantiator_format_create_glyphs_widget): use new/changed methods. + + * glyphs-msw.c (mswindows_combo_box_instantiate): do generic + initialization here. + + * lwlib-Xm.c (xm_update_combo_box): new function. + (xm_update_one_widget): call it. + (xm_update_one_value): deal with combo boxes as well as lists. + (xm_create_combo_box): create a drop-down combo box. + + * toolbar-msw.c (mswindows_output_toolbar): call + mswindows_move_toolbar. + +1999-08-05 Andy Piper + + * window.c (Fcurrent_pixel_column): new function. use display + lines to calculate pixel position of point. + * window.c (syms_of_window): declare it. + +1999-08-05 Andy Piper + + * glyphs.c (check_for_ignored_expose): ignore exposures wholly + contained in our ignore list. + + * buffer.c (Frecord_buffer): add call to record-buffer-hook. + (syms_of_buffer): declare record-buffer-hook. + + * s/mingw32.h: define mousewheel things. + +1999-08-04 Mike Woolley + + * windowsnt.h (_WIN32_WINNT): enable for win95 + + * s/cygwin32.h: define mousewheel things. + + * scrollbar-msw.h: declare mousewheel handler. + + * scrollbar-msw.c (mswindows_handle_mousewheel_event): new function. + +1999-08-04 Andy Piper + + * gui-x.c (gui_items_to_widget_values): remove unused variable. + (gui_items_to_widget_values_1): ditto. + + * gui-x.h: unconditionally define since it is used everywhere. + +1999-08-04 Andy Piper + + * glyphs-x.c (x_finalize_image_instance): only free pixels if we + have that type of image. + +1999-07-30 Andy Piper + + * redisplay-output.c (redisplay_unmap_subwindows): add comparison + subwindow to not unmap if required. + (redisplay_unmap_subwindows_maybe): comparison is Qnil. + (redisplay_unmap_subwindows_except_us): new function. + (redisplay_output_subwindow): use it to unmap windows in the area + we are displaying into. + + * glyphs.c (update_subwindow_cachel_data): always update as we + only ever get called when an update is required. + (update_subwindow_cachel): new function. sync a subwindow with its + cachel. + (Fresize_subwindow): use it. + (register_ignored_expose): make sure we set the tail correctly. + +1999-07-28 Andy Piper + + * redisplay-output.c (redisplay_clear_bottom_of_window): remove + unneeded device. + + * gutter.c (redraw_exposed_gutter): unmap subwindows from the + whole gutter. + + * gui.h: declare parse_gui_item_tree_list and + parse_gui_item_tree_children. + + * gui.c (parse_gui_item_tree_item): new function for parsing item + lists into gui-item trees. + (parse_gui_item_tree_children): ditto. + (parse_gui_item_tree_list): ditto. + + * gui-x.h: declare gui_items_to_widget_values. + + * gui-x.c (gui_items_to_widget_values_1): new function for + recursively parsing gui-items into widget_values. + (gui_item_children_to_widget_values): ditto. + (gui_items_to_widget_values): ditto. + (sanity_check_lwlib): add widgets macrolets. + + * glyphs.h (IMAGE_INSTANCE_WIDGET_ITEMS): rename from *ITEM. + (XIMAGE_INSTANCE_WIDGET_ITEMS): ditto. + (IMAGE_INSTANCE_WIDGET_ITEM): rename from *SINGLE_ITEM. + (XIMAGE_INSTANCE_WIDGET_ITEM): ditto. + (struct expose_ignore): new structure for storing ignorable expose + events. + + * glyphs.c (valid_image_instantiator_format_p): fix so that using + a console-type as a locale works. + (mark_image_instance): ITEM->ITEMS. + (image_instance_equal): ditto. + (image_instance_hash): ditto. + (struct expose_ignore_blocktype): new blocktype. + (check_for_ignored_expose): new function. checks frame exposure + list for events to ignore. + (register_ignored_expose): new function. registers an expose event + as ignorable. + (unmap_subwindow): register the expose event as ignorable. + (vars_of_glyphs): initialise the exposure blocktype. + + * glyphs-x.c (x_finalize_image_instance): use lw_destroy_widget. + (x_update_subwindow): modify all widgets using widget_value tree + rather than just a single widget value. + (x_widget_instantiate): LWLIB_USES_MOTIF -> LWLIB_WIDGETS_MOTIF. + make sure widgets don't resize themselves. + (x_tab_control_instantiate): new function. use lwlib tab functions. + (x_tab_control_set_property): new function. + (image_instantiator_format_create_glyphs_x): add tab_control. + + * glyphs-widget.c (widget_text_to_pixel_conversion): calculate + slightly more sensibly. + (initialize_widget_image_instance): ITEM->ITEMS. + (widget_instantiate_1): parse gui items generically into the ITEMS + entry. + + * glyphs-msw.c (mswindows_update_subwindow): replace + SINGLE_ITEM->ITEM. + (mswindows_register_widget_instance): ditto. + (add_tree_item): modify to use new pre-initialised gui-item + structure. + (add_tab_item): ditto. + (mswindows_tab_control_instantiate): ditto. + (mswindows_tab_control_set_property): ditto. + (image_instantiator_format_create_glyphs_mswindows): predicate + existance of widgets on HAVE_WIDGETS. + + * frame.h (struct frame): add subwindow_exposures variables. + + * frame.c (allocate_frame_core): reset subwindow_exposures links. + + * event-msw.c (mswindows_wnd_proc): check for ignored + expose events before redrawing. + + * event-Xt.c (emacs_Xt_handle_magic_event): check for ignored + expose events before redrawing. + +1999-07-30 SL Baur + + * scrollbar-x.c: should include EmacsFrame.h. + From Jeff Miller + +1999-07-30 XEmacs Build Bot + + * XEmacs 21.2.19 is released + +1999-07-27 Jeff Miller + + * add a "#ifdef HAVE_MENUBARS" wrapper to gui.c around + menubar_show_keybindings. + +1999-07-23 SL Baur + + * mule-charset.c (syms_of_mule_charset): Delete duplicated + definition of Qccl_program. + + * mule-ccl.h: Make a global declaration of it here. + +1999-07-20 Bob Weiner + + * s/sco7.h: Added from rr@sco.com. + +1999-06-25 MORIOKA Tomohiko + + * mule-ccl.c (ccl_driver): Fix `CCL_WriteMultibyteChar2'. + +1999-06-24 MORIOKA Tomohiko + + * file-coding.c (mule_decode): Setup `str->ccl.last_block'. + (mule_encode): Likewise. + + * mule-ccl.c (Qccl_program): New variable. + (CCL_SUSPEND): New macro. + (CCL_INVALID_CMD): New macro. + (CCL_READ_CHAR): Don't regard as invalid command while processing + the last block even if input is empty; use + `CCL_STAT_SUSPEND_BY_SRC' instead of `CCL_STAT_SUSPEND'. + (vars_of_mule_ccl): Setup `Qccl_program' and `Qccl_program_idx'. + + * mule-ccl.h (CCL_STAT_SUCCESS): Moved from mule-ccl.c. + (CCL_STAT_SUSPEND_BY_SRC): Imported from Emacs 20.3.10. + (CCL_STAT_SUSPEND_BY_DST): Likewise. + (CCL_STAT_INVALID_CMD): Moved from mule-ccl.c; change value from 2. + (CCL_STAT_QUIT): Moved from mule-ccl.c; change value from 3. + +1999-05-04 Ken'ichi Handa + + * mule-ccl.h (struct ccl_program): New member stack_idx. + + * mule-ccl.c (ccl_prog_stack_struct): Declare it as static. + (ccl_driver): Setup stack_idx and ccl_prog correctly. Update them + before returing. + (setup_ccl_program): Initialize ccl->stack_idx to 0. + +1998-10-12 Kenichi Handa + + * mule-ccl.c (CCL_DECODE_SJIS, CCL_ENCODE_SJIS): Swap the + definitions. + +1998-08-18 Kenichi Handa + + * mule-ccl.c (CCL_READ_CHAR): If eof is encounterd while + processing the last block, don't just finish but processes eol + block of the current CCL program. + (ccl_driver): Add a new jump label ccl_repeat for the above + change. + +1998-04-15 Kenichi Handa + + * mule-ccl.c: Typo in comments fixed. + (Qccl_program_idx): New variables. + (CCL_ReadMultibyteChar2): Macro name changed from + CCL_ReadMultibyteCharacter. + (CCL_WriteMultibyteChar2): Macro name changed from + CCL_WriteMultibyteChar2. + (ccl_driver): Adjusted for the above changes. + (resolve_symbol_ccl_program): New function. + (Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL + program. If CCL-PRGRAM is a vector, convert symbols in it to ID + numbers by resolve_symbol_ccl_program. + (Fccl_execute_on_string): Likewise. + (Fregister_ccl_program): If the arg CCL-PRGRAM is a vector, + convert symbols in it to ID numbers by resolve_symbol_ccl_program. + +1998-01-21 Kenichi Handa + + * mule-ccl.h: (struct ccl_program): New member private_state. + + * mule-ccl.c + (CCL_Call): Fix the comment. + (CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter): New + macros for CCL Commands. + (EXCMD): New macro. + (ccl_driver): New case lable `CCL_Extention'. + (setup_ccl_program): Initialize the member `private_state' of CCL. + +1999-07-08 Katsumi Yamaoka + + * keymap.c (copy_keymap_internal): Inherit the default binding. + +1999-07-14 Kazuyuki IENAGA + + * event-Xt.c (handle_focus_event_1): Re-enable Motif/XIM to get + focus the event (XIM_focus_event). + (emacs_Xt_handle_magic_event): No side effect on Motif/XIM because + XIM_SetGeometry does nothing in input_method_motif.c, but re-unify + the interface for future use (XIM_SetGeometry). + * redisplay-x.c (x_output_string): Re-enable Motif/XIM to set spot + location (XIM_SetSpotLocation). + (x_output_eol_cursor): Ditto. + +1999-07-17 Gunnar Evermann + + * gdbinit (pobj): change lrecord_foo to &lrecord_foo to match + Olivier's change to lrecord.h of 1999-04-22 + +1999-07-20 Robert Pluim + + * gutter.c (redraw_exposed_gutter): Change type of pos from + enum toolbar_pos -> enum gutter_pos, since former is only defined + if toolbar support is. + +1999-07-19 Andy Piper + + * glyphs-x.c (x_resize_subwindow): cope with widgets as well as + subwindows. + + * gutter.c (gutter_validate): new function for the gutter specifier. + (specifier_type_create_gutter): declare specifier validator. + + * buffer.h (INC_CHARBYTIND): add for no error checking version. + +1999-07-18 Andy Piper + + * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data. + + * glyphs-msw.c (console_type_create_glyphs_mswindows): add + resize_subwindow. + (mswindows_resize_subwindow): new function. + + * gutter.c (redraw_exposed_gutter): only reset the + current_display_lines if non-zero. + (Fgutter_pixel_height): new function. + (Fgutter_pixel_width): new function. + + * event-msw.c (mswindows_wnd_proc): set the mask of the parameter + we want to retrive from the tab control. + +1999-07-17 Andy Piper + + * window.c (change_window_height): mark gutters changed when we're + done. + + * gutter.c (specifier_vars_of_gutter): make defaults more + sensible. + + * gutter.h (WINDOW_REAL_GUTTER_BORDER_WIDTH): adjust to be 0 for 0 + height gutter. + (DEFAULT_GUTTER_WIDTH): change. + (DEFAULT_GUTTER_BORDER_WIDTH): change. + +1999-07-18 Andy Piper + + * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data. + +1999-07-16 Andy Piper + + * frame.c (Fmake_frame): call init_frame_gutters(). + + * redisplay.c (add_emchar_rune): use string functions if we are + working with a string. + (position_redisplay_data_type): add string element. + +1999-07-15 Andy Piper + + * winslots.h: add real_gutter_size slots to hold the actual gutter + size. This is important for autodetected sizes. + + * gutter.c (calculate_gutter_size): calculate size for gutters + that have 'autodetect size. + + * redisplay-msw.c (mswindows_output_vertical_divider): adjust + extent of divider for gutters. + + * redisplay-x.c (x_output_vertical_divider): adjust extent of + divider for gutters. + + * scrollbar.c (update_scrollbar_instance): adjust scrollbar + position to take into account the gutters. + + * redisplay.c (generate_modeline): adjust modeline position to + take into account the gutters. + +1999-07-14 Andy Piper + + * gutter.c (frame_topmost_window): new function. + (frame_bottommost_window): ditto. + (frame_leftmost_window): ditto. + (frame_rightmost_window): ditto. + +1999-07-13 Andy Piper + + * redisplay.c (calculate_display_line_boundaries): use text + boundaries so that gutters get handled properly. + +1999-07-12 Andy Piper + + * glyphs-x.c (x_widget_instantiate): set the font Motif-style if + we're using Motif. + + * redisplay-output.c (redisplay_clear_to_window_end): generalised + from redisplay-x.c + + * redisplay-x.c (redisplay_clear_to_window_end): moved to + redisplay.c + + * redisplay-msw.c (redisplay_clear_to_window_end): deleted. + + * gutter.c: new file - implements gutters. All new functions are + semantically equivalent to the toolbar functions. + (gutter_was_visible): new function. + (get_gutter_coords): ditto. + (output_gutter): ditto. + (clear_gutter): ditto. + (update_frame_gutters): ditto. + (redraw_exposed_gutter): ditto. + (redraw_exposed_gutters): ditto. + (free_frame_gutters): ditto. + (init_frame_gutters): ditto. + (decode_gutter_position): ditto. + (Fset_default_gutter_position): ditto. + (Fset_default_gutter_position): ditto. + (Fdefault_gutter_position): ditto. + (gutter_after_change): ditto. + (Fgutter_specifier_p): ditto. + (recompute_overlaying_specifier): ditto. + (gutter_specs_changed): ditto. + (default_gutter_specs_changed): ditto. + (gutter_geometry_changed_in_window): ditto. + (default_gutter_size_changed_in_window): ditto. + (default_gutter_border_width_changed_in_window): ditto. + (default_gutter_visible_p_changed_in_window): ditto. + (syms_of_gutter): ditto. + (vars_of_gutter): ditto. + (specifier_type_create_gutter): ditto. + (specifier_vars_of_gutter): ditto. + + * gutter.h: new file. Contains gutter constants and sizing macros + similar to those for the toolbar. + + * winslots.h: add gutter variables. + + * window.h: declare window_is_* functions. + + * window.c (window_is_lowest): make non-static. + (window_is_highest): ditto. + (window_top_toolbar_height): deleted. + (window_bottom_toolbar_height): deleted. + (window_left_toolbar_width): deleted. + (window_right_toolbar_width): deleted. + (window_top_gutter_height): add gutter sizing. + (window_bottom_gutter_height): ditto. + (window_left_gutter_width): ditto. + (window_right_gutter_width): ditto. + + * symsinit.h: declarations for gutters vars etc. + + * search.c (bi_find_next_emchar_in_string): new function. + + * scrollbar.c (update_scrollbar_instance): remove reference to + window_bottom_toolbar_height which did nothing. + + * redisplay.h (struct display_line): add face indices for + overriding defaults in output_display_line. + Add gutter_changed flags and declarations. + + * redisplay.c (create_string_text_block): new function, similar to + create_text_block but for strings. Display tables etc are used + from the currently selected window. + (generate_string_display_line): ditto. Similar to + generate_display_line. + (generate_displayable_area): generate display lines for a given + area on a frame. Input is the string, with associated extents, to + display. + (redisplay_frame): add gutter_changed check. + (redisplay_device): ditto. + (redisplay_without_hooks): ditto. + + * redisplay-x.c (bevel_modeline): moved to redisplay.c. + (x_redraw_exposed_area): redraw exposed gutters. + (x_bevel_area): new redisplay device method. + (x_type_create_redisplay_mswindows): add bevel_area device method. + (x_output_display_block): fiddly Martin-style cleanup. + (x_output_vertical_divider): use bevel_area. + + * redisplay-output.c (output_display_line): check display_lines + for face information before using defaults. + (bevel_modeline): new function, calls bevel_area with appropriate + values. + + * redisplay-msw.c (bevel_modeline): moved to redisplay.c. + (mswindows_redraw_exposed_area): redraw exposed gutters. + (mswindows_bevel_area): new redisplay device method. + (console_type_create_redisplay_mswindows): add bevel_area device + method. + + * indent.c (string_column_at_point): add column_at_point but for + strings. + + * glyphs-x.c (image_instantiator_format_create_glyphs_x): only + instantiate widgets that we have a toolkit for. + + * general.c: add Qgutter. + + * frame.h (struct frame): add display lines for gutters and + visibility flags. + + * frame.c (set_frame_selected_window): mark gutters changed. + + * emacs.c (main_1): add gutter initialisation. + + * device.h (struct device): add gutter_changed flag and macros to + manipulate it. + + * console.h (struct console_methods): new bevel area redisplay + method. + + * buffer.h (REAL_INC_CHARBYTIND): new macro for strings as + REAL_INC_BYTIND is for buffers. + (INC_CHARPTR): ditto. + + * Makefile.in.in (objs): add gutter.o + +1999-07-13 XEmacs Build Bot + + * XEmacs 21.2.18 is released + +1999-07-08 SL Baur + + * event-Xt.c (handle_focus_event_1): Guard FRAME_X_XIC with + XIM_XLIB. + (emacs_Xt_handle_magic_event): Ditto. + * redisplay-x.c (x_output_string): Ditto. + (x_output_eol_cursor): Ditto. + +1999-06-30 Kazuyuki IENAGA + + * event-Xt.c, input-method-xlib.c, redisplay-x.c: Avoid the + problem that when XIM is destroyed or missed with some reason, + xemacs will die. Now xim=xlib waits the XIM will be ready and + endures the case of XIM end up. + +1999-07-03 Gunnar Evermann + + * tooltalk.c (init_tooltalk): save signal actions for SIGQUIT, + SIGINT and SIGCHLD before calling tt_open and restore the + afterwards. This fixes e.g. the zombie subprocesses on Solaris + +1999-07-06 SL Baur + + * s/linux.h: gcc-2.8 changes for powerpc + From Justin Vallon + +1999-07-05 Didier Verna + + * indent.c: new symbol Qcoerce. + (Fmove_to_column): use it + doc string update. + +1999-07-04 Andy Piper + + * console.c: undo earlier Fprovide changes. + * fns.c: ditto. + * console.h: ditto. + + * console-tty.c (image_instantiator_format_create_glyphs_tty): new + function. validate appropriate image formats for tty. + + * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): + initialize consoles parameter. + (struct image_instantiator_methods): add consoles parameter. + (IIFORMAT_VALID_CONSOLE): new function. validate the format on the + console. + (INITIALIZE_DEVICE_IIFORMAT): validate the format on the given + console. + + * glyphs-msw.c: declare instantiators for later use. + (image_instantiator_format_create_glyphs_mswindows): validate xpm + and friends on the mswindows console. + * glyphs-x.c: ditto. + + * glyphs.c (valid_image_instantiator_format_p): disallow glyphs + that have not been registered on the supplied device. + (Fvalid_image_instantiator_format_p): add locale argument. + (instantiate_image_instantiator): valid image instantiator on the + device. + + * symsinit.h: add image_instantiator_format_create_glyphs_tty() + declaration. + + * emacs.c (main_1): add call to + image_instantiator_format_create_glyphs_tty(). + +1999-06-29 Olivier Galibert + + * lisp.h: Add #include . + + * sysdep.c: Remove #include . + * symbols.c: Remove #include . + * sheap.c: Remove #include . + * opaque.c: Remove #include . + * nt.c: Remove #include . + * mule-charset.c: Remove #include . + * marker.c: Remove #include . + * file-coding.c: Remove #include . + * extents.c: Remove #include . + * elhash.c: Remove #include . + * data.c: Remove #include . + * chartab.c: Remove #include . + * bytecode.c: Remove #include . + * alloc.c: Remove #include . Fix vector description + +1999-06-30 SL Baur + + * editfns.c: Document "%s" format spec. + Suggested by Bob Weiner + +1999-06-29 Andy Piper + + * event-msw.c: fix definition booboo. + +1999-06-28 Andy Piper + + * glyphs-x.c: change tree -> tree-view, progress -> + progress_gauge, edit -> edit-field, tab -> tab-control, combo -> + combo-box. + (complex_vars_of_glyphs_x): provide-on-console the implemented + widget types. + + * glyphs-msw.c: ditto. + (complex_vars_of_glyphs_mswindows): ditto. + + * lisp.h: add Fprovide_on_console. + + * fns.c (Ffeaturep): add extra optional console argument. + (Fprovide_on_console): like Fprovide but provides only on the + specified console-type. + (Frequire): check console-features as well as global features. + + * console.c (Fconsole_features): new function. return features for + this console. + (syms_of_console): add Fconsole_features. + + * console.h (CONMETH_FEATURES): new function for accessing features. + (CONSOLE_FEATURES): ditto. + (struct console_methods): add features slot. + (INITIALIZE_CONSOLE_TYPE): initialize features slot. + +1999-06-28 Andy Piper + + * event-Xt.c (handle_focus_event_1): conditionally compile for + X11R5. + + * s/cygwin32.h: fix me website address. + + * event-msw.c: add NMHDR for pre b20 cygwin builds. + + * gui-x.c (button_item_to_widget_value): only add callback if it + is non-nil. + + * glyphs-x.c: add progress, edit and combo instantiators. + (x_widget_set_property): new function. uses lwlib to set widget + values. + (x_widget_property): new function. uses lwlib to get widget + values. + (x_button_instantiate): support images in buttons. + (x_button_property): new function. use lwlib to get the selected + state. + (x_progress_instantiate): new function for instantiating progress + gauges. + (x_progress_set_property): new function. sets the progress gauge + position. + (x_edit_instantiate): new function. for instantiating edit fields. + (x_combo_instantiate): new function. for instantiating combo + boxes. + (image_instantiator_format_create_glyphs_x): add new device ii + formats. + + * glyphs-msw.c (mswindows_tab_instantiate): remove redundant var. + + * console.h (CONSOLE_FEATURES): new features accesor. + + * conslots.h (MARKED_SLOT): add features entry. + +1999-06-25 Andy Piper + + * menubar-x.c (menu_item_descriptor_to_widget_value_1): use new + gui functions. + + * menubar-msw.c: move MAX_MENUITEM_LENGTH to gui.h + + * gui.h (struct Lisp_Gui_Item): add accelerator. + + * gui.c (gui_item_add_keyval_pair): deal with accelerators. + (gui_item_init): ditto. + (gui_add_item_keywords_to_plist): ditto. + (mark_gui_item): ditto. + (gui_item_hash): ditto. + (gui_item_accelerator): new function. + (gui_name_accelerator): new function stolen from gui-x.c + + * gui-x.c (popup_selection_callback): always define. mark + subwindows changed after calling a callback. + (menu_name_to_accelerator): deleted. + (button_item_to_widget_value): forward gui_item things to gui_item + functions. + + * glyphs-x.h (struct x_subwindow_data): add data for widgets. add + appropriate accesors. + + * glyphs-x.c: declare new glyph formats. + (x_finalize_image_instance): unmanage and destroy widgets if they + exist. + (x_unmap_subwindow): handle widgets specially. + (x_map_subwindow): ditto. offset display of widgets by offset of + text widget within container. + (x_update_subwindow): new function. call lw_modify_all_widgets + when we are a widget. + (x_widget_instantiate): new function for generically creating + widgets-glyphs. toolkit specifics forwarded to lwlib. + (x_button_instantiate): new function for instantiating + widgets-glyph buttons. + (console_type_create_glyphs_x): register update_subwindow. + (image_instantiator_format_create_glyphs_x): register widget and + button types. + + * event-msw.c (mswindows_wnd_proc): remove redundant variable. + + * event-Xt.c (x_event_to_emacs_event): call handle_focus_event_1 + when we get a button press in case we do not have the focus. + (handle_focus_event_1): set the keyboard focus to the text widget + if we do not have it. + + * dialog-x.c (dbox_descriptor_to_widget_value): use new gui_item + functions. + +1999-06-24 SL Baur + + * syntax.c (scan_words): Restore non-Mule code. + (word_constituent_p): Restore. + +1999-06-23 Olivier Galibert + + * config.h.in: Add missing #undef *_USER_DEFINED. + +1999-06-23 SL Baur + + * lisp.h (set_bit_vector_bit): Force promotion to unsigned long + int (fixes a 64-bit problem). + + * chartab.c (word_boundary_p): Use EQ not == for lisp_object + comparison. + +1999-03-23 Michael Sperber [Mr. Preprocessor] + + * paths.h.in (PATH_DOC): Made doc-directory configurable. + +1999-06-22 Olivier Galibert + + * lrecord.h: Added basic external description system. + + * symbols.c: Added symbol, symbol-value-buffer-local, + symbol-value-lisp-magic and symbol-value-varalias description. + * mule-charset.c: Added charset description. + * marker.c: Added marker description. + * keymap.c: Added keymap description. + * glyphs.c: Added glyph description. + * floatfns.c: Added float description. + * file-coding.c: Added coding-system description. + * extents.c: Added extent description. + * elhash.c: Added hash-table description. + * data.c: Added weak-list desciption. + * chartab.c: Added char-table-entry and char-table description. + * bytecode.c: Added compiled-function description. + * alloc.c: Added cons, vector and string description. + +1999-06-22 Olivier Galibert + + * lrecord.h (struct lrecord_header): Reduced size to 4 bytes. + Updated everything to the removal of the "flags" substructure. + + * lisp.h (subr_lheader_initializer): Updated. + * symeval.h (symbol_value_forward_lheader_initializer): Updated. + +1999-06-20 MORIOKA Tomohiko + + * syntax.c (word_constituent_p): Deleted. + (scan_words): Use `WORD_BOUNDARY_P'. + + * chartab.c (Vword_combining_categories): New variable. + (Vword_separating_categories): Likewise. + (CATEGORYP): New macro. + (CATEGORY_SET): Likewise. + (CATEGORY_MEMBER): Likewise. + (word_boundary_p): New function. + (complex_vars_of_chartab): Set up new variable + `word-combining-categories' and `word-separating-categories'. + +1999-06-18 Olivier Galibert + + * lrecord.h: Added description as a placehold in the lrecord + implementation structures. Added the parameter to all constructor + defines. + + * alloc.c: Added placeholders. + * buffer.c: Ditto. + * bytecode.c: Ditto. + * chartab.c: Ditto. + * console.c: Ditto. + * data.c: Ditto. + * database.c: Ditto. + * device.c: Ditto. + * eldap.c: Ditto. + * elhash.c: Ditto. + * eval.c: Ditto. + * event-stream.c: Ditto. + * events.c: Ditto. + * extents.c: Ditto. + * faces.c: Ditto. + * file-coding.c: Ditto. + * floatfns.c: Ditto. + * fns.c: Ditto. + * frame.c: Ditto. + * glyphs.c: Ditto. + * gui-x.c: Ditto. + * keymap.c: Ditto. + * lstream.c: Ditto. + * marker.c: Ditto. + * mule-charset.c: Ditto. + * objects.c: Ditto. + * opaque.c: Ditto. + * process.c: Ditto. + * rangetab.c: Ditto. + * specifier.c: Ditto. + * symbols.c: Ditto. + * toolbar.c: Ditto. + * tooltalk.c: Ditto. + * window.c: Ditto. + +1999-06-22 XEmacs Build Bot + + * XEmacs 21.2.17 is released + +1999-06-13 Oscar Figueiredo + + * config.h.in (HAVE_LDAP_SET_OPTION): New define + (HAVE_LDAP_GET_LDERRNO): Ditto + (HAVE_LDAP_RESULT2ERROR): Ditto + (HAVE_LDAP_PARSE_RESULT): Ditto + (HAVE_UMICH_LDAP): Removed + (HAVE_NS_LDAP): Removed + + * eldap.h (struct Lisp_LDAP): Removed the `livep' member as + suggested by Olivier Galibert + (CHECK_LIVE_LDAP): Test on `ld' instead of `livep' + + * eldap.c: Take the removal of `livep' into account in all the + necessary functions + (signal_ldap_error): Take two additional parameters + Added new finer compilation conditions in order to use + ldap_parse_result or ldap_result2error if available + (Fldap_open): Conform to this new API + (Fldap_search_internal): Ditto + +1999-06-17 SL Baur + + * data.c (struct int_or_double): Should use EMACS_INT not int. + +1999-06-16 Norbert Koch + + * redisplay-msw.c: Run 'ccl_driver' with 'CCL_MODE_ENCODING' as in + redisplay-x.c + +1999-06-12 MORIOKA Tomohiko + + * redisplay-x.c (separate_textual_runs): Run `ccl_driver' with + `CCL_MODE_ENCODING'. + + * file-coding.c (mule_decode): Run `ccl_driver' with + `CCL_MODE_DECODING'. + (mule_encode): Run `ccl_driver' with `CCL_MODE_ENCODING'. + + * mule-ccl.c (CCL_WRITE_CHAR): Refer `conversion_mode'. + (ccl_driver): Add new argument `conversion_mode'. + (Fccl_execute): Run `ccl_driver' with `CCL_MODE_ENCODING'. + (Fccl_execute_on_string): Likewise [perhaps it is better to add + new optional argument]. + + * mule-ccl.h (CCL_MODE_ENCODING): New macro. + (CCL_MODE_DECODING): New macro. + (ccl_driver): Add new argument `conversion_mode'. + +1999-06-15 SL Baur + + * mule-charset.c (Fsplit_char): New subr. + (Fchar_octet): delete. + (syms_of_mule_charset): DEFSUBR it. + +1999-06-13 Andy Piper + + * menubar.h: update declarations involving gui_items. + + * lisp.h: declare Lisp_Gui_Item. + + * glyphs.h (struct Lisp_Image_Instance): update type of gui_item. + + * glyphs.c (mark_image_instance): modify for new lisp-based gui_items. + (print_image_instance): ditto. + (image_instance_equal): ditto. + (image_instance_hash): ditto. + + * event-msw.c (mswindows_need_event): assert badly_p status. + (mswindows_wnd_proc): modify WM_NOTIFY handling to cope with + callbacks in tree-view and tab-control widgets. + (emacs_mswindows_next_event): modify use of + mswindows_dequeue_dispatch_event. + + * dialog-msw.c (mswindows_popup_dialog_box): modify for new + lisp-based gui_items. + + * glyphs-msw.c (mswindows_update_subwindow): update use of + gui_items. + (mswindows_register_gui_item): new function. + (mswindows_register_gui_item): fix to use lisp gui_items. + (mswindows_widget_instantiate): ditto. + (mswindows_button_instantiate): ditto. + (add_tree_item): new function to recursively add tree view + elements. + (add_tree_item_list): ditto. + (mswindows_tree_instantiate): new function. instantiate tree view + controls. + (add_tab_item): new function to add tabs to a tab control. + (mswindows_tab_instantiate): new function. instantiate tab + controls. + (image_instantiator_format_create_glyphs_mswindows): add tree view + and tab controls. + (vars_of_glyphs_mswindows): ditto. + + * glyphs-widget.c (check_valid_item_list_1): allow nested lists in + item lists. + (check_valid_item_list): ditto. + (initialize_widget_image_instance): fix to use new lisp gui_item. + (widget_instantiate_1): allow the setting of default textwidth in + characters. + (widget_instantiate): change to use new widget_instantiate_1 + signature. + (combo_instantiate): ditto. + (static_instantiate): ditto. + (tab_instantiate): new function for tab widgets. + (image_instantiator_format_create_glyphs_widget): add tab and tree + view widgets. + + * menubar-msw.c (displayable_menu_item): convert to use lisp + gui_items. + (populate_menu_add_item): ditto. + (populate_or_checksum_helper): ditto. + + * menubar.c (menu_parse_submenu_keywords): convert to use lisp + gui_items. + (Fmenu_find_real_submenu): ditto. + + * gui.h (struct Lisp_Gui_Item): make gui_item a lisp oebjct. + + * gui.c (gui_item_add_keyval_pair): gui_items are now lisp + objects, convert functions that use them accordingly. + (gui_item_init): ditto. + (gui_item_active_p): ditto. + (gui_item_selected_p): ditto. + (gui_item_included_p): ditto. + (gui_item_display_flush_left): ditto. + (gui_item_display_flush_right): ditto. + (mark_gui_item): ditto. + (allocate_gui_item): new function to create a gui_item. + (make_gui_item_from_keywords_internal): ditto. create and return a + gui_item as well as setting keywords. + (gui_parse_item_keywords): ditto. + (gui_parse_item_keywords_no_errors): ditto. + (gui_add_item_keywords_to_plist): new function, not yet used. + (gui_item_hash): new function. + (gui_item_id_hash): use gui_item_hash. + (gui_item_equal): new function. + (print_gui_item): new function. + +1999-06-11 XEmacs Build Bot + + * XEmacs 21.2.16 is released + +1999-06-10 Andy Piper + + * select-msw.c (mswindows_own_selection): only set the clipboard + if asked. + (mswindows_get_foreign_selection): only get the clipboard if + asked. + (mswindows_disown_selection): only disown the clipboard if asked. + +1999-06-03 MORIOKA Tomohiko + + * file-coding.c (coding_system_from_mask): Use `raw-text' instead + of `no-conversion'. + (complex_vars_of_mule_coding): Use `raw-text' as the coding-system + of coding-category `no-conversion'. + +1999-06-03 MORIOKA Tomohiko + + * file-coding.c (Qraw_text): New variable. + (syms_of_mule_coding): Add new symbol `raw-text'. + (complex_vars_of_mule_coding): Add new coding-system `raw-text'; + define coding-system `binary' independently; define coding-system + `no-conversion' as an alias for `raw-text'. + + * file-coding.h (Qraw_text): New variable. + +1999-06-08 SL Baur + + * s/decosf4-0.h: Explicitly #undef SYSTEM_MALLOC. + +1999-06-06 Hrvoje Niksic + + * fns.c (MIME_LINE_LENGTH): Default to 72, as in mimencode and + base64.el. + (base64_decode_1): Signal errors instead of returning -1. + +1999-06-07 Hrvoje Niksic + + * mule-charset.c (Fmake_char): Update docstring. + +1999-06-07 Hrvoje Niksic + + * fns.c (Fstring_lessp): Actually increment the Bufbyte pointers. + +1999-06-05 Hrvoje Niksic + + * fns.c (base64_decode_1): Allow and ignore any non-base64 + characters in input. + +1999-05-27 Olivier Galibert + + * emacs.c (Fdump_emacs): Add clear_message() lost with the removal + of report_pure_usage(). + +1999-06-04 Hrvoje Niksic + + * fns.c (Fstring_lessp): Remove O(n^2) under Mule. + +1999-06-04 XEmacs Build Bot + + * XEmacs 21.2.15 is released + +1999-06-01 Hirokazu FUKUI + + * frame.c (Fset_mouse_position): + (Fset_mouse_pixel_position): + * window.c (Fsplit_window): + (Fmove_to_window_line): + Fix crash when invoking functions with an already-deleted window + argument. + + * indent.c (vertical_motion_1): + (vmotion_pixels): + (Fvertical_motion_pixels): + * window.c (Fwindow_displayed_text_pixel_height): + Fix error message when invoking functions with an already-deleted + window argument. + +1999-06-01 Jan Vroonhof + + * sysdep.c (request_sigio_on_device): Guard against glibc + 2.1's stub streams implementation. + +1999-06-03 SL Baur + + * config.h.in: + * emacs.c: Implement x.y.z version numbers + From Jan Vroonhof + +1999-05-20 MORIOKA Tomohiko + + * mule-charset.c (complex_vars_of_mule_charset): Registry of + japanese-jisx0208-1978 should not match with "jisx0208.1983" nor + "jisc6226.1983". + +1999-06-03 SL Baur + + * frame-x.c: + * device-x.c: rename session option to wmcommand. + From Oliver Graf + +1999-05-27 Hrvoje Niksic + + * fns.c (Fsubstring): Don't traverse the same region twice with + charcount_to_bytecount(). + +1999-06-03 SL Baur + + * m/alpha.h (SYSTEM_MALLOC): Fix indented preprocessor directive + garbage. + + * s/decosf4-0.h: Defining ORDINARY_LINK here is redundant (and it + doesn't really work as is implied by the commentary). + Don't define SYSTEM_MALLOC so the old GNU malloc can be used. + +1999-06-02 SL Baur + + * symsinit.h: Declare vars_of_ntproc. + * emacs.c (main_1): Call it. + + * ntproc.c (syms_of_ntproc): Move variable initializations from + here ... + (vars_of_ntproc): ... to here [new function]. + + * file-coding.c (syms_of_file_coding): Rename. + (vars_of_file_coding): Ditto. + (complex_vars_of_file_coding): Ditto. + + * symsinit.h: Rename *_mule_coding to *_file_coding. + + * emacs.c (main_1): Call them by the proper name. + + * device-msw.c (syms_of_device_mswindows): Move variable + initializations from here ... + (vars_of_device_mswindows): ... to here. + + * chartab.c (vars_of_chartab): New function. + + * symsinit.h: New function, vars_of_chartab. + + * emacs.c (main_1): Call it. + + * mule-canna.c (syms_of_mule_canna): Move CANNA initialization ... + (vars_of_mule_canna): ... to here. + + * mule-ccl.c (vars_of_mule_ccl): New function. Move variable + initializations out of syms_of_mule_ccl. + + * symsinit.h: Declare new function vars_of_mule_ccl. + + * emacs.c (main_1): Call it. + +1999-05-27 Hrvoje Niksic + + * fns.c (base64_decode_1): Ignore whitespace. + +1999-05-27 Hrvoje Niksic + + * mule-charset.c (Fmake_char): Strip the eighth bit off ARG1 and + ARG2. + +1999-05-21 Andy Piper + + * xselect.c: deleted. + + * symsinit.h: declare select initialisation. + + * select.h: new file. declare commonly used select functions and + variables. + + * select.c: new file. generalised from xselect.c. + (clean_local_selection_data): moved from xselect.c. + (get_local_selection): ditto. device specific pieces called via a + devmeth. + (handle_selection_clear): ditto. + (Fown_selection_internal): renamed and generalised from + Fx_own_selection_internal. moved from xselect.c. + (Fdisown_selection_internal): ditto. + (Fselection_owner_p): ditto. + (Fselection_exists_p): ditto. + (Fget_selection_internal): ditto. + (syms_of_select): new function. QXXXX values moved from xselect.c + (vars_of_select): new function. selection_converter_alist, + lost_selection_hooks moved and renamed from xselect.c + + * select-x.c: renamed from xselect.c. + (x_own_selection): converted to device specific. non-X-specific + bits moved to select.c. + (x_get_foreign_selection): ditto. + (x_disown_selection): ditto. + (x_selection_exists_p): ditto. + (console_type_create_select_x): new function. + + * select-msw.c (mswindows_own_selection): new device method to set + the clipboard when we 'own' the selection. + (mswindows_get_foreign_selection): new device method to get the + clipboard. + (mswindows_disown_selection): new device method to delete the + selection when we 'disown' it. + (console_type_create_select_mswindows): new function. + + * emacs.c (main_1): add select to things to initialise. + + * console.h (struct console_methods): new console methods for + selection. + + * Makefile.in.in (x_objs): xselect.c renamed to select-x.c + +1999-05-20 Hrvoje Niksic + + * print.c (long_to_string): Install a faster version. + +1999-05-16 Andy Piper + + * ntproc.c (syms_of_ntproc): default + win32-start-process-share-console to t. + +1999-05-14 Hrvoje Niksic + + * config.h.in: Do it here. + + * bytecode.c: Don't define ERROR_CHECK_TYPECHECK here. + +1999-05-14 Andy Piper + + * toolbar-msw.c (mswindows_output_toolbar): hash on something + hashable. + +1999-05-14 XEmacs Build Bot + + * XEmacs 21.2.14 is released + +1999-05-12 Andy Piper + + * ntproc.c (sys_spawnve): kludge argv[0] in a MS compatible way. + +1999-05-11 Gunnar Evermann + + * emacs.c (Frun_emacs_from_temacs): (re)alloc natgs+2 entries for + run_temacs_argv array -- fixes random memory corruption crash + +1999-05-12 Jan Vroonhof + + * window.c (Fcurrent_window_configuration): + Save minibuffer height; + + * window.c (set_window_configuration): use it. + +1999-05-10 Robert Pluim + + * lisp.h (NNUNGCPRO): fix typo in name of DEBUG_GCPRO version + +1999-04-21 Jan Vroonhof + + * redisplay.c (redisplay_window): Do not put data + in the line start cache if it is not guaranteed to be correct + +1999-04-02 Jan Vroonhof + + * window.c (struct window_config): Removed frame + size members. + (window_config_equal): No longer compare frame sizes. + (Fset_window_configuration): Resize old top window to fit in the + current frame directly, no longer use a fake frame resize. + (Fcurrent_window_configuration): No longer save frame size + +1999-05-11 Andy Piper + + * ntproc.c (sys_spawnve): actually assign argv[0] instead of the + first character. + +1999-05-10 Hrvoje Niksic + + * sysdep.c (init_system_name): If gethostname gives a proper + domain name, don't look further for one. + +1999-05-09 Hrvoje Niksic + + * symbols.c (Fintern): Avoid frequent XSYMBOL (foo). + (Fintern_soft): Accept a symbol argument. + +1999-05-06 Hrvoje Niksic + + * symbols.c (Fintern): ...do it here. + + * lread.c (read_atom): Don't handle keywords here. + +1999-05-06 Hrvoje Niksic + + * symbols.c (reject_constant_symbols): Just use SYMBOL_IS_KEYWORD. + +1999-05-03 Olivier Galibert + + * lisp.h (SYMBOL_IS_KEYWORD): A symbol can be a keyword only if it + is interned in the main obarray. + +1999-04-23 Gunnar Evermann + + * menubar-x.c (pre_activate_callback): set accelerator field in + "No menu" entries to nil. Avoid crash in + command_builder_operate_menu_accelerator + +1999-05-03 Olivier Galibert + + * symeval.h (symbol_value_forward_lheader_initializer): Ditto. + + * lisp.h (DEFUN): Fix lrecord header initialisation. + +1999-05-02 Andy Piper + + * objects-msw.c (mswindows_font_instance_truename): add a ';'. + + * ntproc.c (sys_kill): cast using MS mandated defines. + +1999-04-29 Andy Piper + + * m/intel386.h: remove redundant definitions. + + * s/mingw32.h: new header for mingw32. + + * unexnt.c: (open_input_file): function moved to nt.c. + (close_file_data): ditto. + (rva_to_section): function moved to ntproc. + + * symsinit.h: declare syms_of_ntproc(); + + * objects-msw.c (mswindows_font_instance_truename): new function. + + * ntproc.c: remove many warnings. + (_sys_read_ahead): moved from nt.c and made static. + (rva_to_section): moved from unexnt.c but not defined under + mingw32. + (win32_executable_type): implement what we can for mingw32 + headers. + (sys_spawnve): fix bad MULE/GCPRO bug in filename handling. + + * ntheap.h: remove declarations of functions that are now static. + + * ntheap.c: support static heap. + + * nt.h: conditionalise X_OK definition. + + * nt.c: eliminate many warnings and support mingw32. + (open_input_file): function moved from unexnt.c and made static + (close_file_data): ditto. + (_sys_read_ahead): moved to ntproc.c + + * emacs.c: make sure syms_of_ntptroc gets called under windows. + + * console-msw.h: support mingw32. + * getloadavg.c: ditto. + * ntplay.c: ditto. + * sysdep.c: ditto. + * sysdir.h: ditto. + * systime.h: ditto. + * systty.h: ditto. + + * config.h.in: dont turn on DEBUG_ENCAPSULATION by default because + some systems don't have all of the encapsulated system calls. + + * callproc.c: warning elimination. + * dired-msw.c: ditto. + * process-nt.c: ditto. + * realpath.c: ditto. + + * Makefile.in.in: tweak : and ; for building under mswindows. + +1999-04-26 Michael Harnois + + * eldap.c (allocate_ldap): Adapt to the new semantics of + alloc_lcrecord_type(). + +1999-03-16 MORIOKA Tomohiko + + * file-coding.c (DECODE_HANDLE_END_OF_CONVERSION): fixed. + +1998-09-04 MORIOKA Tomohiko + + * Delete mule-coding.c and mule-coding.h because they are not + used. + +1999-04-22 Gunnar Evermann + + * objects.c (print_font_instance): Check for NILP(f->device), + i.e. Vthe_null_font_instance. + (font_instance_truename_internal): ditto. + (Ffont_instance_properties): ditto. + +1999-04-22 Olivier Galibert + + * lrecord.h (DECLARE_LRECORD): lrecord_implementation isn't an + array anymore. + +1999-04-22 Hrvoje Niksic + + * Makefile.in.in (tests): Don't mention tests explicitly -- makes + it easier to add new ones. + +1999-04-22 Hrvoje Niksic + + * symbols.c (reject_constant_symbols): Ditto. + (init_symbols_once_early): Ditto. + + * print.c (print_symbol): Don't use ->obarray. + + * symbols.c (Funintern): Ditto. + + * alloc.c (Fmake_symbol): Don't set ->obarray. + + * lisp.h (struct Lisp_Symbol): Removed .obarray field. + + * symbols.c (init_symbols_once_early): Removed + Vpure_uninterned_symbol_table. + (Fintern): Don't store to ->obarray field. + +1999-04-22 Hrvoje Niksic + + * data.c (vars_of_data): Default debug_issue_ebola_notices to 0. + (eq_with_ebola_notice): Remove abracadabra support. + +1999-04-11 Oscar Figueiredo + + * eldap.c (Fldap_search_internal): Add a new parameter `withdn' to + retrieve the distinguished names of entries + +1999-03-08 Martin Buchholz + + * lread.c (read_escape): Make hex escapes read only two hex digits. + +1999-04-05 Olivier Galibert + + * Makefile.in.in: Remove puresize-adjust.h and recursive makes. + * make-src-depend: Remove puresize-adjust.h. + * src-headers: Remove puresize-adjust.h. + * config.h.in: Kill everything purespace/gung-ho related. + + * dbxrc: Make gung-ho mandatory. + * gdbinit: Ditto. + + * lrecord.h: Make gung-ho mandatory. Remove pure flag and add + c_readonly and lisp_readonly. Remove implementation arrays. + (C_READONLY_RECORD_HEADER_P): Added. + (LISP_READONLY_RECORD_HEADER_P): Added. + (SET_C_READONLY_RECORD_HEADER): Added. + (SET_LISP_READONLY_RECORD_HEADER): Added. + + * lisp.h: Kill everything purespace/non gung-ho related. + (CHECK_C_WRITEABLE): Added. + (CHECK_LISP_WRITEABLE): Added. + (C_READONLY): Added. + (LISP_READONLY): Added. + + * lisp-union.h: Make gung-ho mandatory. + * lisp-disunion.h: Ditto. + + * alloc.c: Kill everything purespace/non gung-ho related. Fix all + set_lheader_implementation calls. + (c_readonly): Added. + (lisp_readonly): Added. + (make_string_nocopy): Added. + (Fpurecopy): Changed to do nothing. Kept the old documentation + for reference purposes for the next patches. + (sweep_lcrecords_1): Don't free C readonly lcrecords. + (sweep_bit_vectors_1): Don't free C readonly bitvectors. + (SWEEP_FIXED_TYPE_BLOCK): Don't free C readonly lrecords. + + * fns.c: Make gung-ho mandatory. + (Fput): CHECK_IMPURE -> CHECK_LISP_WRITEABLE. + (Fremprop): Ditto. + (Ffillarray): Ditto. + + * data.c: Make gung-ho mandatory. + (pure_write_error): Removed. + (c_write_error): Added. + (lisp_write_error): Added. + (Fsetcar): CHECK_IMPURE -> CHECK_LISP_WRITEABLE. + (Fsetcdr): Ditto. + (Faset): Ditto. + + * symbols.c: Make gung-ho mandatory. make_pure_pname -> + make_string or make_string_nocopy. Fix various + alloc_lcrecord_type. + + * lread.c: Remove everything purespace related. + (Flocate_file_clear_hashing): purified -> c_readonly. + (locate_file): Ditto. + (read_atom): make_pure_pname -> make_string. + + * emacs.c (Frun_emacs_from_temacs): Remove purespace stats + reporting. + (Fdump_emacs): Ditto. + + * print.c (print_internal): Make gung-ho mandatory. + * ntheap.c (sbrk): Ditto. + * mem-limits.h (EXCEEDS_LISP_PTR): Ditto + * symeval.h (symbol_value_forward_lheader_initializer): Ditto. + + * sheap.c (more_static_core): Remove puresize-adjust.h from + message. + + * syntax.c (complex_vars_of_syntax): make_pure_string -> + make_string_nocopy. + * keymap.c (make_keymap): Fix alloc_lcrecord_type. + (vars_of_keymap): make_pure_string -> make_string_nocopy. + * events.c (deinitialize_event): Fix set_lheader_implementation. + (zero_event): Ditto. + * specifier.c (make_specifier_internal): Fix alloc_lcrecord. + * menubar-x.c (set_frame_menubar): Fix alloc_lcrecord_type. + * mule-charset.c (make_charset): Ditto. + * console.c (allocate_console): Ditto. + (complex_vars_of_console): Ditto. + * file-coding.c (allocate_coding_system): Ditto. + * device.c (allocate_device): Ditto + * gui-x.c (gcpro_popup_callbacks): Ditto. + * extents.c (allocate_extent_auxiliary): Ditto. + (allocate_extent_info): Ditto. + (copy_extent): Ditto. + * glyphs.c (allocate_image_instance): Ditto. + (allocate_glyph): Ditto. + * frame.c (allocate_frame_core): Ditto. + * database.c (allocate_database): Ditto. + * tooltalk.c (make_tooltalk_message): Ditto. + (make_tooltalk_pattern): Ditto. + * rangetab.c (Fmake_range_table): Ditto. + (Fcopy_range_table): Ditto. + * process.c (make_process_internal): Ditto. + * chartab.c (Fmake_char_table): Ditto. + (make_char_table_entry): Ditto. + (copy_char_table_entry): Ditto. + (Fcopy_char_table): Ditto. + * elhash.c (make_general_lisp_hash_table): Ditto. + (Fcopy_hash_table): Ditto. + * buffer.c (allocate_buffer): Ditto. + (complex_vars_of_buffer): Ditto. + * event-stream.c (allocate_command_builder): Ditto. + * objects.c (Fmake_color_instance): Ditto. + (Fmake_font_instance): Ditto. + (vars_of_objects): Ditto. + * toolbar.c (update_toolbar_button): Ditto. + * window.c (allocate_window): Ditto. + (make_dummy_parent): Ditto. + (Fcurrent_window_configuration): Fix alloc_lcrecord. + (vars_of_window): Fix make_lcrecord_list. + * faces.c (allocate_face): Fix alloc_lcrecord_type. pure_list -> + Flist. + * lstream.c (Lstream_new): Fix make_lcrecord_list. + * opaque.c (make_opaque): Fix alloc_lrecord. + (make_opaque_list): Fix alloc_lrecord_type. + +1999-04-19 Hrvoje Niksic + + * process.c (Fstart_process_internal): Ditto. + + * ntproc.c (sys_spawnve): Use Vlisp_EXEC_SUFFIXES when calling + locate_file(). + + * glyphs-x.c (x_locate_pixmap_file): Ditto. + + * glyphs-msw.c (mswindows_locate_pixmap_file): Fix call to + locate_file(). + + * emodules.c (vars_of_module): New variable Vmodule_extensions. + (emodules_load): Use it when calling locate_file(). + + * emacs.c (main_1): Use Vlisp_EXEC_SUFFIXES when calling + locate_file(). + + * callproc.c: Vlisp_EXEC_SUFFIXES: New variable. + (vars_of_callproc): Initialize it. + (Fcall_process_internal): Use it when calling locate_file(). + + * alloc.c (disksave_object_finalization): Use + Flocate_file_clear_hashing(). + + * lread.c (Flocate_file_clear_hashing): Clear all hasing when + given `t' as argument. + +1999-04-18 Hrvoje Niksic + + * lread.c (locate_file): Expand `pathel' when appropriate. + (Flocate_file_clear_hashing): Expand path elements. + (Flocate_file_clear_hashing): Use Vlocate_file_hash_table. + + * dired.c (make_directory_hash_table): Create the hash-table only + if the directory open is successful. + + * lread.c (decode_mode_1): New function. + (decode_mode): Ditto. + (Flocate_file): Use them. + (Flocate_file): Expand FILENAME. + (locate_file_map_suffixes): New function. + (locate_file_in_directory_mapper): New function. + (locate_file_in_directory): Use locate_file_in_directory_mapper() + and locate_file_map_suffixes(). + (locate_file_construct_suffixed_files): Use + locate_file_map_suffixes(). + (locate_file_without_hash): Don't GCPRO path. + (Flocate_file_clear_hashing): Use EXTERNAL_LIST_LOOP. + (syms_of_lread): Remove Qlocate_file_hash_table. + (locate_file_find_directory_hash_table): Use + Vlocate_file_hash_table. + (locate_file_refresh_hashing): Ditto. + + * lread.c: Renamed read_objects to Vread_objects. + +1999-04-16 Olivier Galibert + + * mule-charset.c: Generally resync with fsf 20.3 charset + interface. + (make_charset): Add long and short name. Use id instead of + leading byte. + (Fmake_charset): Ditto. + (Fmake_reverse_direction_charset): Ditto. + (Fcharset_property): Ditto. + (Fcharset_short_name): Added. + (Fcharset_long_name): Added. + (Fcharset_description): Renamed from charset-doc-string. + (syms_of_mule_charset): Synced symbols. + (complex_vars_of_mule_charset): Synced charsets. + + * mule-charset.h: Removed leading byte (uses id instead), added + short and long name. + +1999-04-15 Hrvoje Niksic + + * file-coding.c (Fdefine_coding_system_alias): New function. + +1999-04-08 Olivier Galibert + + * mule-charset.c (complex_vars_of_mule_charset): Allow all iso8859 + and -ascii fonts for displaying ascii instead of iso8859-1 only. + +1998-12-14 Hrvoje Niksic + + * extents.c (set_extent_glyph_1): Make sure that the glyph we + attach to the extent is valid. + +1998-12-12 Hrvoje Niksic + + * dired.c (user_name_completion): Mule-ize. + (user_name_completion): Use xmalloc/xrealloc/xfree. + (user_name_completion): Use DO_REALLOC. + (user_name_completion): Cut down the number of static variables; + use a structure. + (user_name_completion): Username completion is always + case-sensitive. + +1998-12-06 Hrvoje Niksic + + * fns.c (base64_decode_1): Remove COUNTER. + (base64_decode_1): Accept CRLF in addition to CR. + (base64_decode_1): Disallow a stray character after final EOF; the + check was probably a remnant of buggy recode code. + +1998-12-05 Hrvoje Niksic + + * fns.c (init_provide_once): Provide `base64'. + +1998-12-04 Hrvoje Niksic + + * fns.c (XMALLOC_UNBIND): Include SPECCOUNT argument, for clarity. + (Fbase64_encode_region): If buffer is read-only, bail out early. + (Fbase64_decode_region): Ditto. + (Fbase64_encode_region): Initialize SPECCOUNT to pacify the + compiler. + (Fbase64_encode_string): Ditto. + (Fbase64_decode_region): Ditto. + (Fbase64_decode_string): Ditto. + +1998-11-25 Hrvoje Niksic + + * dired.c (Fdirectory_files): Remove redundant code. + +1999-03-05 Philip Aston + + * frame-msw.c Make raise-frame restore minimised windows. + +1999-03-05 Philip Aston + + * device-msw.c: Fix DEFVAR format - Death to phantom quote, and + add magic newline. + +1999-03-05 Philip Aston + + * toolbar-msw.c Consider captions when deciding whether to rebuild + toolbar. This fixes the initial toolbar display for those of us + who don't like captions. These patches applied by Andy Piper. + +1999-03-12 XEmacs Build Bot + + * XEmacs 21.2.13 is released + +1999-03-12 SL Baur + + * file-coding.c: Guard ucs table initialization with ifdef MULE. + +1999-03-10 Stephen J. Turnbull + + * file-coding.c: docstring and comment improvements. + (decode_ucs4) flag possible data loss with comment. + +1999-03-10 Martin Buchholz + + * file-coding.c (Fset_ucs_char): add CHECK_INT, CHECK_CHAR + (ucs_to_char): + (Fucs_char): + (Fset_char_ucs): + (decode_coding_ucs4): + (encode_coding_ucs4): + (detect_coding_utf8): + (decode_coding_utf8): + (encode_utf8): + (encode_coding_utf8): + Add CHECK_* macros where needed to avoid crashes. + #ifdef out all composite character support using + #ifdef ENABLE_COMPOSITE_CHARS + Use normal XEmacs coding standards. + Fix docstrings. + Remove CODING_STREAM_COMPOSE, CODING_STREAM_DECOMPOSE. + +1998-09-08 MORIOKA Tomohiko + + * file-coding.c (make-coding-system): Add description about + `ucs-4' and `utf-8'. + (detection_state): Modify to implement ucs-4 and utf-8. + (detect_coding_type): Likewise. + (detect_coding_ucs4): New implementation. + (detect_coding_utf8): New implementation. + (encode_utf8): fixed. + (syms_of_mule_coding): Rename `ucs4' and `utf8' to `ucs-4' and + `utf-8'. + +1998-09-08 MORIOKA Tomohiko + + * file-coding.c (mule_char_to_ucs4): Encode 94x94 chars in ISO + 2022 registry to private area. + +1998-09-07 MORIOKA Tomohiko + + * file-coding.c (encode_utf8): New function. + (encode_coding_utf8): New implementation. + +1998-09-07 MORIOKA Tomohiko + + * file-coding.c (ucs_to_mule_table): New variable; abolish + `Vucs_to_mule_table' + (mule_to_ucs_table): renamed from `Vmule_to_ucs_table'. + (set-ucs-char): New function. + (ucs_to_char): New function. + (ucs-char): New function. + (set-char-ucs): New function. + (char-ucs): New function. + (decode_ucs4): Use `ucs_to_char'. + (complex_vars_of_mule_coding): Abolish `ucs-to-mule-table' and + `mule-to-ucs-table'. + +1998-09-06 MORIOKA Tomohiko + + * chartab.h: EXFUN `Fget_char_table'. + + * file-coding.c (encode_ucs4): New function. + (encode_coding_ucs4): Use `encode_ucs4'. + +1998-09-06 MORIOKA Tomohiko + + * file-coding.c (decode_coding_ucs4): New implementation. + +1998-09-06 MORIOKA Tomohiko + + * file-coding.c (decode_coding_ucs4): fixed. + + * file-coding.c (Vmule_to_ucs_table): New variable. + (mule_char_to_ucs4): New function. + (encode_coding_ucs4): New implementation. + (complex_vars_of_mule_coding): Define variable + `mule-to-ucs-table'. + +1998-09-06 MORIOKA Tomohiko + + * file-coding.c (decode_coding_utf8): New implementation. + +1998-09-06 MORIOKA Tomohiko + + * file-coding.c (decode_coding_utf8): fixed. + +1998-09-06 MORIOKA Tomohiko + + * file-coding.c (Vucs_to_mule_table): New variable. + (decode_ucs4): Refer `Vucs_to_mule_table'. + (complex_vars_of_mule_coding): Define variable + `ucs-to-mule-table'. + +1998-09-04 MORIOKA Tomohiko + + * file-coding.c (detect_coding_ucs4): New function (not + implemented yet). + (decode_coding_ucs4): New function. + (encode_coding_ucs4): New function (not implemented yet). + (detect_coding_utf8): New function (not implemented yet). + (decode_coding_utf8): New function. + (encode_coding_utf8): New function (not implemented yet). + (make-coding-system): New type `ucs4' and `utf8'. + (coding-system-type): Likewise. + (detection_state): Add `ucs4' and `utf8'. + (detect_coding_type): Likewise. + (mule_decode): Use `decode_coding_ucs4' and `decode_coding_utf8'. + (mule_encode): Use `encode_coding_ucs4' and `encode_coding_utf8'. + (decode_ucs4): New function (very incomplete). + (syms_of_mule_coding): Add `ucs4' and `utf8'. + + * file-coding.h: Add definitions for UCS-4 and UTF-8. + +1999-03-08 Martin Buchholz + + * mule-charset.c: + (non_ascii_valid_char_p): + (lookup_composite_char): + (composite_char_string): + (make-composite-char): + (composite-char-string): + (syms_of_mule_charset): + (complex_vars_of_mule_charset): + * mule-charset.h (LEADING_BYTE_COMPOSITE): + (CHAR_LEADING_BYTE): + (MAKE_CHAR): + * file-coding.h (CODING_STATE_COMPOSITE): + (CODING_STATE_ISO2022_LOCK): + (iso_esc_flag): + (LEADING_BYTE_COMPOSITE): + * file-coding.c (struct iso2022_decoder): + (decoding_closer): + (reset_iso2022): + (parse_iso2022_esc): + (encode_coding_iso2022): + #ifdef out all composite character support using + #ifdef ENABLE_COMPOSITE_CHARS + + * alloc.c: Define lrecord_coding_system only if ! FILE_CODING + +1999-03-04 Takeshi YAMADA + + * fns.c (Fbase64_encode_string): Calculate `allength' in the same + way of `Fbase64_encode_region'. + +1999-02-18 Katsumi Yamaoka + + * fns.c (base64_encode_1): Don't add a newline at the tail. + +1999-03-08 Andy Piper + + * menubar-msw.c (displayable_menu_item): correct off-by-one & + handling. + +1999-03-07 Martin Buchholz + + * console-stream.h (struct stream_console): + * event-unixoid.c (event_stream_unixoid_select_console): + (event_stream_unixoid_unselect_console): + * print.c (Fexternal_debugging_output): + * sysdep.c (reset_one_device): + * console-stream.c (stream_init_console): + (stream_delete_console): + (allocate_stream_console_struct): move into stream_init_console. + (free_stream_console_struct): move into stream_delete_console. + Use `fd' only for file descriptors. + Therefore, rename members of struct stream_console. + + * systime.h: Unix98 says sys/time.h should define select(), but + some systems define that in unistd.h. So include that file always. + + * glyphs.h (MAYBE_IIFORMAT_METH): Don't use leading `_'. Avoid + multiple evaluation of first arg. Do proper do {} while (0) wrapping. + (HAS_IIFORMAT_METH_P): Prevent macro from being used in + non-boolean context + (MAYBE_IIFORMAT_DEVMETH): Use standard internal macro naming convention. + + * EmacsShell.c: + * balloon_help.c: + Add #include . + Some versions of assert.h use printf() without #include'ing stdio.h + + * free-hook.c (blocktype): Add gcpro5_type to blocktype. + (log_gcpro): Remove unused variable FRAME. + (show_gcprohist): Ansify. + Comment the #endif's + + * frame-x.c (x_delete_frame): Don't use FRAME_X_SHELL_WIDGET(f) + after it's just been XtDestroy'ed! + +1999-02-18 Martin Buchholz + + * opaque.c (print_opaque): + (sizeof_opaque): + (equal_opaque): + (hash_opaque): + Egcs 1.1.1 seems to have a bug where + INTP (p->size_or_chain) + will crash XEmacs. Fix by introducing intermediate variable. + + * sound.c (Fdevice_sound_enabled_p): Fix compiler warning. + + * dired.c (Fdirectory_files): + (Ffile_name_completion): + (Ffile_name_all_completions): + (file_name_completion): + - Use `directory' instead of `dirname' to sync with FSF Emacs and + avoid compiler warnings. + - Fix up docstrings so that C variables match documentation. + +1999-03-05 Martin Buchholz + + * alloc.c: (garbage_collect_1): Reorg code to make scope of local + variables as small as possible to help out the compiler and the maintainer. + + * alloc.c: (disksave_object_finalization): + Set all the *-load-path variables to + nil, not just load-path itself. This gets the locate-file hash + tables garbage collected BEFORE dump, and has the side effect of + preventing crashes on OSF4.0+egcs. + + * alloc.c: + * gdbinit: + * dbxrc: + - Clean up gdb/dbx debugging support. + - Storing an EMACS_INT in an enum is not 64-bit clean! + - So change the enum to a set of separate variables. + - Add test cases to help debug the debugging support! + - Add `lisp-shadows' and `run-temacs' targets for dbx. + - Both dbx and gdb have been tested now. + +1999-03-05 XEmacs Build Bot + + * XEmacs 21.2.12 is released + +1999-02-16 Kazuyuki IENAGA + + * device-x.c: Support to find best visual without flashing. + +1999-03-02 Paul Keusemann + + * database.c (berkdb_map): Add flags argument to cursor call (must + be 0 according to docs) required for Berkeley DB 2.6.4 and later. + +1999-03-03 Martin Buchholz + + * hash.c: + * hash.h: + General cleanup. Get free-hook.c working again. + Remove unused functions: + make_strings_hash_table, copy_hash, expand_hash_table. + + * malloc.c: + * mem-limits.h: + Always use new ANSI-style function prototypes. + + * unexalpha.c (unexec): Never use implicit int. + + * sgiplay.c (close_sound_file): + (play_sound_file): + (restore_audio_port): + (play_sound_data): + (audio_initialize): + (play_internal): + (drain_audio_port): + (write_mulaw_8_chunk): + (write_linear_chunk): + (write_linear_32_chunk): + (initialize_audio_port): + (open_audio_port): + (set_channels): + (set_output_format): + (adjust_audio_volume): + (get_current_volumes): + (parse_snd_header): + Always use new ANSI-style function prototypes. + Use unistd.h for missing prototypes. + + * unexelfsgi.c (round_up): + (find_section): + (unexec): Always use new ANSI-style function prototypes + + * elhash.c (struct Lisp_Hash_Table): rename golden to golden_ratio + + * console.h (struct console_methods): Always use full ANSI prototypes + + * emacs.c (__sti__iflPNGFile_c___): Always use full ANSI prototypes + +1999-03-02 Andy Piper + + * event-stream.c (init_event_stream): make sure native mswindows + gets an appropriate event loop. + +1999-02-22 Andy Piper + + * frame-msw.c (mswindows_make_frame_visible): use SW_SHOW rather + than SW_SHOWNORMAL to prevent resizing of maximised frames. + (mswindows_raise_frame): remove comment. + +1999-03-01 XEmacs Build Bot + + * XEmacs 21.2.11 is released + +1999-02-25 SL Baur + + * mule-charset.c (Qleading_byte): New variable to implement + charset-leading-byte function. + (Fcharset_property): Use it. + (syms_of_mule_charset): Initialize it. + From Kazuyuki IENAGA + +1999-02-17 Kazuo Oishi + + * glyphs-x.c (cononvert_EImage_to_XImage): correct + bytes per pixel counting. + +1999-02-15 Andy Piper + + * s/cygwin32.h (BROKEN_SIGIO): don't define this as it causes + major lockups. + +1999-02-16 MORIOKA Tomohiko + + * fns.c (Fbase64_encode_string): New optional argument + `NO_LINE_BREAK'. + +1999-02-16 Martin Buchholz + + * gdbinit: Fix up commands to run temacs. Add lisp-shadows command. + * alloc.c (xcalloc): undef xcalloc, just like xmalloc + +1999-02-10 Martin Buchholz + + * s/bsdos4.h: New file. Port to BSDI BSD/OS 4.0. + * xintrinsic.h: Redo CONST support for X11 R4 compatibility. + +1999-02-05 XEmacs Build Bot + + * XEmacs 21.2.10 is released + +1999-02-02 Gleb Arshinov + + * process-nt.c (nt_send_process): + Fix for process-send-region/process-send-string breaking when size + of the input > 128 chars: change maximum chunk size for process + stream from 512 to 128, thus guaranteeing that ntpipe_shove_writer + succeeds. + +1999-02-02 XEmacs Build Bot + + * XEmacs 21.2.9 is released + +1999-01-30 Martin Buchholz + + * bytecode.c (funcall_compiled_function): Call + UNBIND_TO_GCPRO instead of UNBIND_TO_GCPRO_VARIABLES_ONLY. + + * backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY): + #ifdef 0 out unused macro. + +1999-01-27 Martin Buchholz + + * gui.c (gui_parse_item_keywords_internal): Make static. + +1999-01-21 Andy Piper + + * glyphs-msw.c: add xface support. + (mswindows_xface_instantiate): new function copied from glyphs-x.c + (image_instantiator_format_create_glyphs_mswindows): do device + specific initialisation for xfaces. + (xbm_create_bitmap_from_data): line data must be padded to a word + boundary. + + * glyphs-x.c (xface_validate): moved to glyphs.c + (xface_normalize): ditto. + (xface_possible_dest_types): ditto. + (image_instantiator_format_create_glyphs_x): do device specific + initialisation for xfaces. + + * glyphs.h: declare xface symbol. + + * glyphs.c: move generic xface support here. + (xface_validate): moved from glyphs-x.c + (xface_normalize): ditto. + (xface_possible_dest_types): ditto. + (image_instantiator_format_create): xface declarations moved from + glyphs-x.c. + +1999-01-14 Adrian Aichner + + * event-stream.c (vars_of_event_stream): Fixing documentation. + +1999-01-17 Gunnar Evermann + + * glyphs-eimage.c (gif_instantiate): Correct handling of + interlaced gifs to avoid writing past the end of the eimage + buffer. + +1999-01-13 Hrvoje Niksic + + * search.c (Freplace_match): Handle single backslash at end of + NEWTEXT correctly. + +1999-01-12 William M. Perry + + * eldap.c (Fldap_open): slow down interrupts around ldap_open to + avoid connection errors. + +1999-01-12 Andy Piper + + * redisplay-output.c (redisplay_update_line): backout change that + shouldn't have gone ine. + +1999-01-09 Oscar Figueiredo + + * eldap.c (vars_of_ldap): Do no provide `ldap' here since it may + collide with ldap.el + +1999-01-11 Andy Piper + + * redisplay.h (DISPLAY_LINE_HEIGHT): new macro. + (DISPLAY_LINE_YPOS): new macro. + + * redisplay-msw.c (mswindows_output_string): use it. + (mswindows_output_pixmap): ditto. + (mswindows_output_display_block): ditto. + + * redisplay-output.c (redisplay_output_display_block): new + function. just call the devmeth, maybe insert some generic code + here later. + (compare_display_blocks): use it. + (output_display_line): ditto. + (redisplay_unmap_subwindows_maybe): new function. potentially + unmap subwindows in the given area. + + * glyphs.c (reset_subwindow_cachels): unmap subwindows that we are + resetting. + +1999-01-10 J. Kean Johnston + + * Makefile.in.in: Set value of moduledir + - Changed DUMPENV to include $(MODULEPATH) + - Added install rule to install header files for use by ellcc. + + * config.h.in: Added INHIBIT_SITE_MODULES + - Added HAVE__DLERROR + - Added HAVE_DLFCN_H + - Added DLSYM_NEEDS_UNDERSCORE + + * dll.c: Removed. + + * emodules.c: New file containing dynamic loading code. + + * emodules.h: New file. + + * emacs.c: Added variables Vmodule_directory, + Vsite_module_directory, Vconfigure_module_directory and + Vconfigure_site_module_directory. + - (main_1): Added new variable inhibit_site_modules and command + line options `-no-site-modules' and `--no-site-modules'. + - (main_1): Call syms_of_module() instead of syms_of_dll(). + - (main_1): Call vars_of_module(). + - (vars_of_emacs): Introduce inhibit-site-modules, + module-directory, configure-module-directory, + site-module-directory, and configure-site-module-directory to the + Lisp reader. + + * lisp.h: Declare load_module and list_modules, as well as + Vmodule_directory, Vsite_module_directory, + Vconfigure_module_directory and Vconfigure_site_module_directory. + + * paths.h.in: Added PATH_MODULESEARCH and PATH_SITE_MODULES. + - Added correct support for site-lisp directory. + + * symbols.c (defsubr): Modified to allow modules to add new subrs + after dump time. + - (defsubr_macro): Same. + - (defvar_magick): Only use purespace when not initialized, so + that loaded modules can still add symbols. + + * symsinit.h: Add definitions for syms_of_module(), + vars_of_module(). Removed syms_of_dll(). + + * sysdll.c: Include dlfcn.h if HAVE_DLFCN_H is defined. + - (dll_variable): Take DLSYM_NEEDS_UNDERSCORE into account. + - (dll_error): use _dlerror() if HAVE__DLERROR is defined. + + * s/sco5-shr.h (C_SWITCH_SYSTEM): Correct for modern gcc and + explicitly pass -belf for native cc. + + * s/sco5.h (LIB_GCC): Use -print-libgcc-file-name instead of + hard-coding the library name. + +1999-01-01 + + * device-x.c (Fx_set_font_path): + Add proper cast to permit compilation under C++. + + * buffer.c (directory_is_current_directory): + Add proper casts to permit compilation under C++. + +1998-12-30 Damon Lipparelli + + * event-msw.c (mswindows_wnd_proc): + Fixed failure when building with MSVC 5. + +1998-12-29 Martin Buchholz + + * file-coding.c (decode_coding_iso2022): + - Prevent crash when decoding ISO7/Lock detected files + - the usual martin fiddling + +1998-12-29 Jonathan Harris + + * event-msw.c: + glyphs-msw.c: + Fixed failures when building with MSVC. + * unexnt.c (dump_bss_and_heap): + Removed compiler warning by removing bss_data variable. + +1998-12-18 Jim Radford + + * device-x.c (Fx_set_font_path, Fx_get_font_path): New functions + so that packages that distribute their own fonts can access them. + +1998-12-28 Andy Piper + + * glyphs-msw.c (mswindows_button_instantiate): cope with buttons + that have an image provided. + + * glyphs.h: add Q_image decl. + + * glyphs-widget.c new functionality allowing images in + widgets. + (check_valid_glyph_or_image): new function to validate + glyphs passed in through :image. + (widget_normalize): new function. convert :image parameters into + real glyphs if not already so. + (widget_instantiate_1): mess with size parameters to be similar to + :image if provided. + (syms_of_glyphs_widget): new keyword :image. + (image_instantiator_format_create_glyphs_widget): normalize + buttons and allow :image. + +1998-12-27 Andy Piper + + * frame-msw.c (mswindows_init_frame_1): warning elimination. + + * glyphs-widget.c (check_valid_anything): no-op function. + (check_valid_callback): check callbacks in gui_items. + (check_valid_symbol): as it sounds. + (check_valid_string_or_vector): ditto. + (widget_validate): modified for descriptors that are vectors or + sequences of keyword/val pairs. + (widget_instantiate_1): ditto. + (image_instantiator_format_create_glyphs_widget): allow gui_item + keywords in the instantiator. + + * gui.c (gui_parse_item_keywords_internal): renamed from + gui_parse_item_keywords but taking error behaviour. + (gui_parse_item_keywords): use it. + (gui_parse_item_keywords_no_errors): ditto. + (gui_item_add_keyval_pair): add Error_behavior flag and only + signal invalid keywords if required. + + * gui.h: new gui signatures. + + * menubar.c (menu_parse_submenu_keywords): use new + gui_item_add_keyval_pair signature. + + * s/cygwin32.h: modify PTY_ITERATION to eliminate warnings. + +1998-12-28 Martin Buchholz + + * XEmacs 21.2.8 is released. + +1998-12-28 Martin Buchholz + + * editfns.c (get_home_directory): + (user-home-directory): Simplify. + + + * callproc.c (child_setup): + - Environment variables were being passed to inferior processes + using internal encoding. + - Convert to external encoding. + - Rename local var `tem' to better name `tail'. + - Use Flength instead of `manual' calculation. + + * buffer.c (kill-buffer): + (record-buffer): + (set-buffer-major-mode): + (current-buffer): + - Fix up parameter names to correspond to docstrings. + - Don't use `bufname' when a buffer will do as well. + - Remove one unneeded GCPRO. + + * buffer.h (initial_directory): + * buffer.c (init_initial_directory): + - use correct conversions between internal and external format. + (directory_is_current_directory): new function + (init_buffer): convert initial_directory to internal format. + - solve crashes when current working directory is non-ASCII. + + * alloc.c (xmalloc): + (xcalloc): + (xrealloc): + - remove stupid casts, since XEmacs requires an ANSI C system. + (lrecord_type_index): replace abort() with more readable assert(). + + (reset_lcrecord_stats): remove. + (sweep_lcrecords_1): + - replace call to reset_lcrecord_stats() with call to xzero(). + +1998-12-27 Martin Buchholz + + * process-unix.c (unix_create_process): + - Fix crash invoking program with non-ASCII name. + Try invoking xemacs with SHELL=/bin/sh, then M-x shell. + - Remove unused variable `env'. + - Rename `temp' to better name `save_errno'. + - Reorganize code for clarity. But still too chicken to nuke the + BSD 4.2 support. + +1998-12-24 Martin Buchholz + + * XEmacs 21.2.7 is released. + +1998-12-23 Martin Buchholz + + * glyphs.c (decode_device_ii_format): + - Fix indentation. + - Use GET_C_STRING_FILENAME_DATA_ALLOCA with char *, not Extbyte *. + + * glyphs-x.c (x_subwindow_instantiate): + - A image instance mask was being assigned to a image instance type! + - X_SUBWINDOW_INSTANCE_DATA (ii) is not an lvalue in C++. + + * glyphs-msw.c (mswindows_initialize_dibitmap_image_instance): + Fix indentation. + * glyphs-x.h: Make indentation consistent. + + * emacs.c (Fdump_emacs): Remove Steve Martin merge artifacts. + + * glyphs-widget.c (check_valid_glyph): Warning suppression. + - Make it static + - #ifdef it out, since it's not actually used yet (FIX THIS!) + + * glyphs-widget.c: + * glyphs.h: + Move declarations of decode_device_ii_format and + decode_image_instantiator_format into glyphs.h where they belong. + +1998-12-22 Martin Buchholz + + * frame-x.c (x_delete_frame): Revert part of my changes at the + suggestion of Gunnar Evermann - unfortunately no one really + understands this code. + + * callproc.c (init_callproc): code cleanup. + + * free-hook.c (malloc): + (check_malloc): + (__free_hook): + (__malloc_hook): + (__realloc_hook): + (block_input_malloc): + (block_input_realloc): + * device-x.c (x_delete_device): + * emacs.c (voodoo_free_hook): + * events.c (print_event): + (CHECK_EVENT_TYPE): + (CHECK_EVENT_TYPE2): + (CHECK_EVENT_TYPE3): + Use proper prototypes. + Make C_E_T macros a little faster. + Pedantic fiddly little changes. You really don't care. + +1998-12-22 Andy Piper + + * redisplay-output.c (redisplay_clear_region): make sure that + fg/bg colors get set even when we are in the border area. + +1998-12-13 Martin Buchholz + + * console-msw.c: Function definitions follow coding standards + - This prevents e.g. find-tag on Lisp_Event finding DEVENT + +1998-12-11 Martin Buchholz + + * events.h (struct timeout_data): + * event-tty.c (tty_timeout_to_emacs_event): + * event-msw.c (mswindows_wm_timer_callback): + * event-Xt.c (Xt_timeout_to_emacs_event): + * event-msw.c (mswindows_cancel_dispatch_event): + Make sure Lisp_Objects inside events are initialized to Qnil, not + Qnull_pointer, which is now illegal. + +1998-12-10 Martin Buchholz + + * lisp.h: Fix up prototypes to match alloc.c + +1998-12-08 Martin Buchholz + + * windowsnt.h: Remove `support' for using index and rindex + + * filelock.c (current_lock_owner): + - Change uses of index -> strchr, rindex -> strrchr + +1998-12-07 Martin Buchholz + + * sysdep.c (set_descriptor_non_blocking): + Since O_NONBLOCK is now always #defined, make use of fcntl + conditional on F_SETFL being defined. + + * console-msw.c (DHEADgER): + (DOPAQUE_DATA): + (DEVENT): + (DCONS): + (DCONSCDR): + (DSTRING): + (DVECTOR): + (DSYMBOL): + (DSYMNAME): + - max_align_t should not be visible to the user of the + XOPAQUE_DATA macro. + - use Bufbyte instead of char + - parens around (FOOP (obj)) are always redundant. + If they were necessary, we should fix the macro instead. + - Always use string_data(foo) instead of foo->data. + + +1998-12-06 Martin Buchholz + + * frame-msw.c (mswindows_init_frame_1): + - use make_lisp_hash_table, not Fmake_hash_table + - include elhash.h + + * lisp.h: + * alloc.c (make_vector): remove travesty + (Fmake_vector): + (make_pure_vector): + (pure_cons): + (make_bit_vector_internal): + (make_bit_vector): + (make_bit_vector_from_byte_vector): + (Fmake_bit_vector): + - make vector_equal a little faster. + - Don't use variable name `new'. + - Use size_t instead of EMACS_INT. + - usual Martin-style pointless bit-twiddling. + + * fns.c (mapcar1): + (Fmapconcat): + (Fmapcar): + (Fmapvector): + Make mapcar faster. In particular, make + (mapc #'identity long-string) + MUCH faster under Mule. + * tests/automated/lisp-tests.el: Test 'em! + + * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded + bytecode. + +1998-12-01 Martin Buchholz + + * menubar-x.c (menu_item_descriptor_to_widget_value_1): Always use + Qnil, not NULL, to initialize `null' Lisp_Objects. + +1998-11-29 Hrvoje Niksic + + * specifier.c (display_table_validate): Update. + + * redisplay.c (create_text_block): Use them. + + * glyphs.c (display_table_entry): New function. + (get_display_tables): Ditto. + +1998-12-15 Oscar Figueiredo + + * eldap.c (toplevel): Mention that eldap.c compiles with + OpenLDAP libs + (Fldap_open): Use `GET_C_STRING_OS_DATA_ALLOCA' + (Fldap_search_internal): Ditto + +1998-12-11 Martin Buchholz + + * event-msw.c (mswindows_cancel_dispatch_event): + Gratuitous code prettification + + +1998-12-07 Hrvoje Niksic + + * fns.c (Fnconc): Fix use of wrong_type_argument(). + + * floatfns.c (Ffloat): Fix docstring. + (Ffloat): Fix use of wrong_type_argument(). + (Fabs): Ditto. + (extract_float): Ditto. + (Fceiling): Ditto. + (Fround): Ditto. + (Ftruncate): Ditto. + +1998-12-06 Martin Buchholz + + * frame-msw.c (mswindows_init_frame_1): + - use make_lisp_hash_table, not Fmake_hash_table + - include elhash.h + + * lisp.h: + * alloc.c (make_vector): remove travesty + (Fmake_vector): + (make_pure_vector): + (pure_cons): + (make_bit_vector_internal): + (make_bit_vector): + (make_bit_vector_from_byte_vector): + (Fmake_bit_vector): + - make vector_equal a little faster. + - Don't use variable name `new'. + - Use size_t instead of EMACS_INT. + - usual Martin-style pointless bit-twiddling. + + * fns.c (mapcar1): + (Fmapconcat): + (Fmapcar): + (Fmapvector): + Make mapcar faster. In particular, make + (mapc #'identity long-string) + MUCH faster under Mule. + * tests/automated/lisp-tests.el: Test 'em! + + * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded + bytecode. + +1998-12-02 Didier Verna + + * menubar-x.c (menu_item_descriptor_to_widget_value_1): set the + accelerator field to nil for labels. + +1998-12-16 Jonathan Harris + + * menubar-msw.c (displayable_menu_item): + Escape occurrences of '&' and support occurrences of the + '%_' accelerator indicator in menus. + +1998-11-26 Didier Verna + + * dired.c (Fdirectory_files): use make_string instead of + make_ext_string on the filename. The conversion external->internal + format is already done in sys_readdir. + +1998-12-15 Gunnar Evermann + + * glyphs.c (normalize_image_instantiator): GCPRO instantiator + +1998-12-16 Jonathan Harris + + * event-msw.c + (Belatedly) added Kirill to list of file's authors. + emacs_mswindows_quit_p: Don't process WM_PAINT messages in + quit checking. WM_PAINT messages cause redisplay, but + windows' states are not necessarily stable when this function + gets called. + +1998-12-17 Andy Piper + + * strftime.c (zone_name): CONSTify. + +1998-12-15 Andy Piper + + * glyphs-msw.c (mswindows_combo_instantiate): ditto. + (mswindows_widget_property): return Qunbound when no property available. + (mswindows_button_property): ditto. + (mswindows_combo_property): ditto. + (mswindows_widget_set_property): ditto. + + * glyphs-widget.c (check_valid_item_list): use properties. + + * glyphs.h (struct Lisp_Image_Instance): we have properties now. + + * glyphs.c (Fset_image_instance_property): allow setting of arbitrary properties. + (Fimage_instance_property): ditto. + * glyphs-widget.c (widget_property): ditto. + (widget_set_property): ditto. + + * frame-msw.c (mswindows_set_frame_pointer): SetCursor() as well + as setting the class cursor so that GC actually changes the + cursor. + + * config.h: don't undef MAIL_USE_POP. + +1998-12-13 Andy Piper + + * glyphs-msw.c + (image_instantiator_format_create_glyphs_mswindows): line -> + label. + (mswindows_label_instantiate): ditto. Play with window flags. + (image_instantiator_format_create_glyphs_mswindows): ditto. + (vars_of_glyphs_mswindows): provide Qlabel as we support it now. + + * glyphs-widget.c (widget_instantiate_1): re-jig autosizing to + cope with lines and labels. + (static_instantiate): use widget_instantiate_1. + line -> label. + (image_instantiator_format_create_glyphs_widget): ditto. + +1998-12-10 Andy Piper + + * Makefile.in.in (objs): add gui.o + +1998-12-10 Andy Piper + + * gui.c: adjust defines of HAVE_POPUPS so that we can build with + no window system. + +1998-12-09 Andy Piper + + * glyphs.c (finalize_image_instance): mark glyphs changed when an + image instance is removed so that the subwindow cache gets reset + and thus destroyed images get GC'd. + +1998-12-08 Andy Piper + + * gui-msw.c (mswindows_handle_gui_wm_command): call + MARK_SUBWINDOWS_CHANGED. + + * glyphs-msw.c (mswindows_finalize_image_instance): make sure + subwindows really get deleted. + + * redisplay.c: new variable subwindows_changed[_set]. + (redisplay_window): use it. + (redisplay_frame): ditto. + (redisplay_device): ditto. + (redisplay_without_hooks): ditto. + + * device.h (MARK_DEVICE_SUBWINDOWS_CHANGED): new macro for + subwindows redisplay as per glyphs equivalent. + * redisplay.h: ditto. + (MARK_SUBWINDOWS_CHANGED): ditto. + (RESET_CHANGED_SET_FLAGS): ditto. + * frame.h (MARK_FRAME_SUBWINDOWS_CHANGED): ditto. + +1998-12-07 Andy Piper + + * frame.c (Fmake_frame): reset subwindow cachels on non-stream + frames. + + * redisplay.c (redisplay_frame): invalidate subwindow cachels. + + * event-msw.c (mswindows_wnd_proc): catch the various WM_CTLCOLOR* + messages and paint widget glyphs as appropriate with their face fg + & bg. + +1998-12-06 Andy Piper + + * glyphs-msw.c (vars_of_glyphs_mswindows): provide widget types + here rather than in glyphs-widget - do this because we only want + to provide what is really available. + + * glyphs.c (Fimage_instance_property): new function to get the + properties of image instances. wires through to console specific + methods and then to widget specific methods. + (Fset_image_instance_property): ditto but for setting widget properties. + (check_valid_face): make extern so that it can be used elsewhere. + + * glyphs-widget.c (widget_property): new function. gets the + properties of widgets in general and wires the function through to + widget specific ones. + (widget_set_property): ditto but for setting widget properties. + + * glyphs-msw.c (mswindows_combo_instantiate): Add functionality to + add items to the list. Play with window styles a bit to get the + desired effect. + (mswindows_widget_property): break out specific widget properties. + (mswindows_button_property): new function. gets the checked state + of a button. + (mswindows_combo_property): new function. gets the current + selection in the combo box. + (mswindows_widget_set_property): new function. sets specific + properties of specific widgets. + + * glyphs-widget.c (check_valid_item_list): new function. check + that items for a combo-box are just a list of strings. + (combo_validate): new function. check there is an item list. + (widget_instantiate_1): new function. renamed from + widget_instantiate so that we can do slightly different things for + other widgets. + (widget_instantiate): call widget_instantiate_1. + (combo_instantiate): new function to instantiate combo boxes, + defaults height to the pixel height of the number of items in the + box. + (syms_of_glyphs_widget): move widget keywords here. + (image_instantiator_format_create_glyphs_widget): use new combo + functions. + +1998-12-04 Andy Piper + + * event-msw.c (mswindows_wnd_proc): mule-ize. + + * glyphs.c (pixmap_to_lisp_data): mule-ize. + + * glyphs-msw.c (extract_xpm_color_names): mule-ize. + (resource_name_to_resource): ditto. + (mswindows_resource_instantiate): ditto. + (mswindows_widget_instantiate): ditto. + (mswindows_widget_set_property): ditto. + + * redisplay-output.c (redisplay_output_subwindow): don't show + subwindows if they are obscured at the edge of the frame, emacs + gets into some sort of redisplay loop otherwise. + + * gui.h: prototype gui_item_selected_p. + + * gui.c (gui_item_selected_p): new function to determine the + selected state of a gui_item. + + * frame.h (struct frame): add subwindows_changed flag. + + * redisplay.c (redisplay_frame): call update_frame_subwindows (). + + * glyphs.c (update_subwindow): new function to update a + subwindow's state. + (update_frame_subwindows): new function to update all the + subwindows on a frame. + + * console.h (struct console_methods): add update_subwindow. + + * glyphs-msw.c (mswindows_widget_property): return selected state + for selected property. + (mswindows_update_subwindow): new function. updates widget glyphs + in redisplay as per menubars or toolbars e.g. selected state. + (console_type_create_glyphs_mswindows): add update_subwindow. + +1998-12-03 Andy Piper + + * console-tty.c (syms_of_console_tty): MULE -> FILE_CODING since + tty coding system things are such. + + * glyphs-widget.c (widget_face_font_info): new function for + pulling out height and width metrics for a widget's face. + (widget_text_to_pixel_conversion): calculate pixel sizes of text + for widgets. + + * event-msw.c (mswindows_drain_windows_queue): translate messages + that are destined for subwindows. This makes edit fields interact + with the keyboard correctly. + nuke warnings by #ifndef'ing out stuff not required by msg select(). + + * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): new + macro defining the iiforma without the symbol required by widget. + (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): use it. + + * general.c (syms_of_general): add Qwidget, Qselected. + + * faces.c (complex_vars_of_faces): add widget face inheriting from + gui-element face. + +1998-11-09 Andy Piper + + * window.h (struct window): add a cache of subwindows on a + per-window basis. + + * window.c (mark_window): mark the subwindow_instance_cache. + (allocate_window): initialise the subwindow instance_cache. + + * toolbar-x.c (x_output_toolbar): call redisplay_clear_region + instead of the devmeth. + (x_clear_toolbar): ditto. + + * redisplay-x.c (x_output_display_block): call + redisplay_output_subwindow for subwindows and widgets. + + * redisplay-tty.c (tty_output_display_block): add IMAGE_WIDGET to + types to do nothing for. + + * lisp.h: declare new widget/subwindow symbols. + + * glyphs.c (image_instantiate): cache subwindows on a per-window + basis. + (subwindow_possible_dest_types): new function for subwindow dest + types. + (subwindow_instantiate): generic instantiation of a + subwindow. specialised by device multi-methods. + (Fsubwindowp): moved from glyphs-x.c. adapted for glyph-based + subwindows. + (Fimage_instance_subwindow_id): ditto. + (Fresize_subwindow): ditto. + (Fforce_subwindow_map): ditto. + + * glyphs-x.c (x_print_image_instance): remove subwindow + stuff. Handled genrically in glyphs.c. + (x_image_instance_equal): ditto. + (x_image_instance_hash): ditto. + (x_finalize_image_instance): delete subwindows when required. + (mark_subwindow) (print_subwindow) (finalize_subwindow) + (subwindow_hash) (Fmake_subwindow): deleted because of new, + glyph-based, subwindow implementation. + (Fsubwindow_height) (Fsubwindow_width) (Fsubwindow_xid): aliased + in glyphs.el + (Fsubwindowp) (Fresize_subwindow) (Fforce_subwindow_map): moved to + glyphs.c. + (x_unmap_subwindow): new function to unmap X subwindows. + (x_map_subwindow): new function to map X subwindows. + (x_subwindow_instantiate): new function to instantiate X + subwindows. + (x_resize_subwindow): new function to resize X subwindows. + (console_type_create_glyphs_x): add subwindow functions. + (image_instantiator_format_create_glyphs_x): add device + multi-methods for xpm, xbm and subwindow. + + * glyphs.el (subwindow-xid): old alias for new subwindow functions. + (subwindow-width): ditto. + (subwindow-height): ditto. + + * glyphs-msw.c (mswindows_widget_instantiate): new function for + generally instantiating ms subwindows. Used by + mswindows_*_instantiate. + (mswindows_edit_instantiate): instantiate an edit field on a + mswindows frame. + +1998-11-04 Andy Piper + + * symsinit.h: declare new functions. + + * redisplay.h: declare new functions. + + * redisplay-x.c (x_output_display_block): call + redisplay_clear_region rather than x_clear_region. + (x_output_string): ditto. + (x_output_pixmap): ditto. + (x_clear_to_window_end): ditto. + (x_output_eol_cursor): ditto. + (x_clear_region): only do X specific things. other duties handled + in redisplay_clear_region. + + * redisplay-tty.c (tty_clear_region): do tty specific things - some + duties moved to redisplay_clear_region. + + * redisplay-output.c (clear_left_border): use + redisplay_clear_region instead of device method. + (clear_right_border): ditto. + (output_display_line): ditto. + (redisplay_output_subwindow): ditto. + (redisplay_clear_top_of_window): ditto. + (redisplay_clear_region): perform duties previously handled by + device methods. call the appropriate device method at the + end. unmap subwindows if necessary. + + * redisplay-msw.c (mswindows_output_string): use + redisplay_clear_region instead of mswindows_clear_region. + (mswindows_clear_to_window_end): ditto. + (mswindows_output_display_block): output subwindows when required. + (mswindows_clear_region): only do mswindows specific things, + everything else is now handled in redisplay_clear_region. + + * gui.h: add item id hash defines and declare function prototypes. + + * gui.c (mark_gui_item): new function for marking gui_items. + (gui_item_hash): generic hash function for generating command ids + for gui_items. + + * gui-msw.c: new file. + (mswindows_handle_gui_wm_command): new function to handle widget + callbacks. + + * glyphs.h (MAYBE_IIFORMAT_DEVMETH): new function for device + multi-methods. + (IIFORMAT_HAS_SHARED_METHOD): ditto. + (DEFINE_DEVICE_IIFORMAT): ditto. + (INITIALIZE_DEVICE_IIFORMAT): ditto. + (struct Lisp_Image_Instance): add widget and subwindow data plus + appropriate access functions. + + * glyphs.c (decode_device_ii_format): new function for decoding + image instantiator functions based on a device type as well as an + image format. + (decode_image_instantiator_format): just call + decode_device_ii_format with nil device. + (add_entry_to_device_ii_format_list): new function for per device + method instances. + (add_entry_to_image_instantiator_format_list): just call + add_entry_to_device_ii_format_list with nil device. + (check_valid_vector): new function. + (instantiate_image_instantiator): instantiate using per-format + method and then per-format-per-device method (device + multi-methods). signal an error if neither is possible. + (mark_image_instance): cope with subwindows and widgets. + (print_image_instance): ditto. + (image_instance_equal): ditto. + (image_instance_hash): ditto. + (allocate_glyph): ditto. + (glyph_width): ditto. + (glyph_height_internal): ditto. + (xpm_instantiate): removed because of device multi-methods. + (mark_subwindow_cachels): new cachel functions for caching + instantiated subwindows on a per-frame basis. mostly copied from + glyph cachel functions. + (update_subwindow_cachel_data): ditto. + (add_subwindow_cachel): ditto. + (get_subwindow_cachel_index): ditto. + (reset_subwindow_cachels): ditto. + (mark_subwindow_cachels_as_not_updated): ditto. + (unmap_subwindow): generic unmapping of subwindows based on cachel + data. + (map_subwindow): ditto. + (initialize_subwindow_image_instance): generic initialisation of + subwindow data. + (syms_of_glyphs): add widget keywords. + + * glyphs-x.h (struct x_subwindow_data): convert Lisp_Subwindow to + x_subwindow_data. + +1998-11-04 Andy Piper + + * glyphs-widget.c: new file for instantiating widget type glyphs. + (widget_possible_dest_types): new general dest type function for + widgets. + (widget_validate): ditto. + (initialize_widget_image_instance): ditto + (widget_instantiate): ditto. Sets up fg/bg, gui_item parsing + before handing on control to device multi-methods. + (syms_of_glyphs_widget): new function. + (image_instantiator_format_create_glyphs_widget): new function, + added placeholders for button, edit, combo, scrollbar + (vars_of_glyphs_widget): new function. + + * glyphs-msw.h (WIDGET_INSTANCE_MSWINDOWS_HANDLE): new define for + storing window ids of widgets. + + * glyphs-msw.c (mswindows_finalize_image_instance): cope with + deletion of widget and subwindow glyphs. + (mswindows_unmap_subwindow): new device function for unmapping + subwindows on a msw frame. + (mswindows_map_subwindow): ditto. + (mswindows_register_image_instance): register instantiated widgets + with the widget hastable. + (mswindows_button_instantiate): instantiate a button type widget + on an msw frame. + (mswindows_subwindow_instantiate): instanttiate a subwindow on a + mswindows frame. + (image_instantiator_format_create_glyphs_mswindows): add device + multi-methods for xbm, xpm, subwindow, edit and button. + + * frame.h (struct frame): add subwindow_cachels dynarr for caching + information about subwindows visible on the current frame. used by + redisplay_clear_region to unmap subwindows as required. + + * frame.c (mark_frame): mark subwindow_cachels. + (allocate_frame_core): instantiate subwindow_cachels. + + * frame-msw.c (mswindows_init_frame_1): instntiate and mark the + widget hashtable. + + * event-msw.c (mswindows_wnd_proc): add call to + mswindows_handle_gui_wm_command to handle widget callbacks. + + * emacs.c (main_1): add calls to glyphs-widget initialisation + routines. + + * console.h (struct console_methods): add + unmap/map_subwindow_method for use be redisplay_clear_region to + map and unmap subwindows. Remove xpm and xbm stuff - now dealt + with by image instantiator multi-methods. Add + resize_subwindow_method. + + * console-stream.c (stream_clear_region): change signature to + match new generic clear region function. + + * Makefile.in.in: add glyphs-widget.o to list of objects. + + * console-msw.h (struct mswindows_frame): add widget hashtable for + wiring command ids to callbacks. + +1998-12-16 Andy Piper + + * XEmacs 21.2.6 is released + +1998-12-08 Hrvoje Niksic + + * md5.c (Fmd5): Correctly initiate string input stream. + + * Makefile.in.in (tests): Add md5-tests.el. + +1998-12-06 Martin Buchholz + + * lisp.h: + * alloc.c (make_vector): remove travesty + (Fmake_vector): + (make_pure_vector): + (pure_cons): + (make_bit_vector_internal): + (make_bit_vector): + (make_bit_vector_from_byte_vector): + (Fmake_bit_vector): + - make vector_equal a little faster. + - Don't use variable name `new'. + - Use size_t instead of EMACS_INT. + - usual Martin-style pointless bit-twiddling. + + * fns.c (mapcar1): + (Fmapconcat): + (Fmapcar): + (Fmapvector): + Make mapcar faster. In particular, make + (mapc #'identity long-string) + MUCH faster under Mule. + * tests/automated/lisp-tests.el: Test 'em! + +1998-12-06 Martin Buchholz + + * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded + bytecode. + +1998-12-13 Martin Buchholz + + * console-msw.c: Function definitions follow coding standards + - This prevents e.g. find-tag on Lisp_Event finding DEVENT + +1998-12-11 Martin Buchholz + + * events.h (struct timeout_data): + * event-tty.c (tty_timeout_to_emacs_event): + * event-msw.c (mswindows_wm_timer_callback): + * event-Xt.c (Xt_timeout_to_emacs_event): + * event-msw.c (mswindows_cancel_dispatch_event): + Make sure Lisp_Objects inside events are initialized to Qnil, not + Qnull_pointer, which is now illegal. + +1998-12-10 Martin Buchholz + + * lisp.h: Fix up prototypes to match alloc.c + +1998-12-09 Andy Piper + + * glyphs-msw.c (init_image_instance_from_xbm_inline): don't use + XSETINT for assigning lisp objects. + +1998-12-07 Martin Buchholz + + * opaque.h: + * console-msw.c (DHEADER): + (DOPAQUE_DATA): + (DEVENT): + (DCONS): + (DCONSCDR): + (DSTRING): + (DVECTOR): + (DSYMBOL): + (DSYMNAME): + - max_align_t should not be visible to the user of the + XOPAQUE_DATA macro. + - use Bufbyte instead of char + - parens around (FOOP (obj)) are always redundant. + If they were necessary, we should fix the macro instead. + - Always use string_data(foo) instead of foo->data. + +1998-12-07 Martin Buchholz + + * sysdep.c (set_descriptor_non_blocking): + Since O_NONBLOCK is now always #defined, make use of fcntl + conditional on F_SETFL being defined. + +1998-12-09 Andy Piper + + * menubar-msw.c (mswindows_handle_wm_command): add back in checks + that got removed in the merge + +1998-11-30 Greg Klanderman + + * dired.c (vars_of_dired): bugfix for previous conditionalization + of user-name-completion on non- Windows NT. + +1998-12-08 Martin Buchholz + + * windowsnt.h: Remove `support' for using index and rindex + + * filelock.c (current_lock_owner): + - Change uses of index -> strchr, rindex -> strrchr + +1998-12-06 Martin Buchholz + + * frame-msw.c (mswindows_init_frame_1): + - use make_lisp_hash_table, not Fmake_hash_table + - include elhash.h + +1998-12-05 XEmacs Build Bot + + * XEmacs 21.2.5 is released + +1998-11-30 Martin Buchholz + + * xselect.c (receive_incremental_selection): + * xselect.c (x_get_window_property): + * xmu.c (XmuReadBitmapDataFromFile): + * xmu.c (XmuCursorNameToIndex): + * xgccache.c (describe_gc_cache): + * xgccache.c (gc_cache_lookup): + * xgccache.c (free_gc_cache): + * xgccache.c (make_gc_cache): + * window.h: + * window.c (map_windows_1): + * window.c (Fother_window_for_scrolling): + * window.c (window_scroll): + * window.c (change_window_height): + * window.c (Fsplit_window): + * window.c (window_left_gutter_width): + * window.c (window_modeline_height): + * window.c (invalidate_vertical_divider_cache_in_window): + * window.c (window_needs_vertical_divider_1): + * window.c (update_mirror_internal): + * window.c (SET_LAST_FACECHANGE): + * widget.c (Fwidget_plist_member): + * unexec.c (copy_text_and_data): + * unexcw.c (copy_executable_and_dump_data_section): + * tooltalk.doc: + * tooltalk.c (struct Lisp_Tooltalk_Pattern): + * tooltalk.c (struct Lisp_Tooltalk_Message): + * toolbar.h (struct toolbar_button): + * toolbar.c (default_toolbar_visible_p_changed_in_window): + * toolbar.c (recompute_overlaying_specifier): + * toolbar.c (toolbar_validate): + * toolbar.c (toolbar_button_at_pixpos): + * toolbar.c (get_toolbar_coords): + * toolbar.c (update_frame_toolbars): + * toolbar-x.c: + * toolbar-msw.c (mswindows_handle_toolbar_wm_command): + * toolbar-msw.c (mswindows_find_toolbar_pos): + * toolbar-msw.c (mswindows_output_toolbar): + * toolbar-msw.c (mswindows_clear_toolbar): + * toolbar-msw.c: + * systty.h: + * syssignal.h: + * sysproc.h: + * sysfile.h: + * sysdll.c: + * sysdep.h: + * sysdep.c (rmdir): + * sysdep.c (sys_fopen): + * sysdep.c (sys_open): + * sysdep.c (tty_init_sys_modes_on_device): + * sysdep.c (get_eof_char): + * sysdep.c (child_setup_tty): + * sysdep.c (set_descriptor_non_blocking): + * syntax.h: + * syntax.c (scan_words): + * syntax.c: + * symsinit.h: + * symeval.h (struct symbol_value_varalias): + * symeval.h (struct symbol_value_forward): + * symbols.c (syms_of_symbols): + * symbols.c (init_symbols_once_early): + * symbols.c (Fbuilt_in_variable_type): + * symbols.c (Fsymbol_value_in_buffer): + * symbols.c (default_value): + * symbols.c (Fset): + * symbols.c (find_symbol_value_quickly): + * symbols.c (store_symval_forwarding): + * symbols.c (set_default_console_slot_variable): + * symbols.c (set_default_buffer_slot_variable): + * symbols.c (verify_ok_for_buffer_local): + * symbols.c (symbol_is_constant): + * symbols.c (oblookup): + * symbols.c (Funintern): + * symbols.c (Fintern): + * symbols.c (check_obarray): + * sunplay.c: + * specifier.h (struct specifier_methods): + * specifier.h: + * specifier.c (specifier_instance): + * specifier.c (specifier_instance_from_inst_list): + * specifier.c (decode_locale_type): + * specifier.c (specifier_equal): + * specifier.c (finalize_specifier): + * specifier.c (prune_specifiers): + * specifier.c (kill_specifier_buffer_locals): + * sound.c (init_native_sound): + * sound.c: + * signal.c (alarm): + * search.c (Fmatch_data): + * search.c (match_limit): + * search.c (Freplace_match): + * search.c (skip_chars): + * search.c (scan_buffer): + * search.c: + * scrollbar.c (specifier_vars_of_scrollbar): + * scrollbar.c (Fscrollbar_set_hscroll): + * scrollbar.c (vertical_scrollbar_changed_in_window): + * scrollbar.c (release_window_mirror_scrollbars): + * scrollbar.c (free_scrollbar_instance): + * scrollbar-x.c: + * scrollbar-msw.c: + * s/msdos.h (O_BINARY): + * s/linux.h: + * s/freebsd.h (LIBS_TERMCAP): + * regex.c (re_match_2_internal): + * regex.c (compile_extended_range): + * regex.c (POP_FAILURE_POINT): + * regex.c (PUSH_FAILURE_POINT): + * redisplay.h (RESET_CHANGED_SET_FLAGS): + * redisplay.h: + * redisplay.h (struct display_line): + * redisplay.h (struct rune): + * redisplay.c (vars_of_redisplay): + * redisplay.c (redisplay_variable_changed): + * redisplay.c (UPDATE_CACHE_RETURN): + * redisplay.c (validate_line_start_cache): + * redisplay.c (mark_redisplay_structs): + * redisplay.c (mark_glyph_block_dynarr): + * redisplay.c (window_line_number): + * redisplay.c (redisplay_frame): + * redisplay.c (redisplay_window): + * redisplay.c (generate_modeline): + * redisplay.c (create_right_glyph_block): + * redisplay.c (create_left_glyph_block): + * redisplay.c (create_text_block): + * redisplay.c: + * redisplay-x.c (x_output_hline): + * redisplay-x.c (x_output_vertical_divider): + * redisplay-tty.c (tty_output_display_block): + * redisplay-output.c (output_display_line): + * redisplay-output.c: + * redisplay-msw.c (mswindows_output_vertical_divider): + * redisplay-msw.c (mswindows_ring_bell): + * redisplay-msw.c (mswindows_output_cursor): + * redisplay-msw.c: + * rangetab.c: + * ralloc.c: + * puresize.h (RAW_PURESIZE): + * profile.c (syms_of_profile): + * profile.c (Fstart_profiling): + * profile.c (sigprof_handler): + * profile.c: + * procimpl.h: + * process.c (vars_of_process): + * process.c (read_process_output): + * process.c (get_process): + * process.c: + * process-unix.c (unix_open_multicast_group): + * process-unix.c (unix_get_tty_name): + * process-unix.c (unix_send_process): + * process-unix.c (unix_reap_exited_processes): + * process-unix.c (unix_create_process): + * process-unix.c (unix_init_process_io_handles): + * process-unix.c (allocate_pty): + * process-unix.c: + * process-nt.c (nt_open_network_stream): + * process-nt.c (nt_update_status_if_terminated): + * process-nt.c (nt_finalize_process_data): + * process-nt.c: + * print.c (debug_short_backtrace): + * print.c (debug_backtrace): + * print.c (print_symbol): + * print.c (print_internal): + * print.c (print_cons): + * print.c (Fwrite_char): + * print.c (print_prepare): + * print.c (canonicalize_printcharfun): + * print.c (output_string): + * print.c: + * opaque.h: + * opaque.c (allocate_managed_opaque): + * opaque.c: + * offix.c (DndSetData): + * objects.c (face_boolean_create): + * objects.c (font_instantiate): + * objects.c (font_create): + * objects.c (color_create): + * objects.c (finalize_font_instance): + * objects.c (finalize_color_instance): + * objects.c: + * objects-x.c (x_font_instance_truename): + * objects-x.c: + * objects-x.c (x_initialize_font_instance): + * objects-x.c (allocate_nearest_color): + * objects-tty.c (tty_initialize_font_instance): + * objects-tty.c (tty_initialize_color_instance): + * objects-msw.c (mswindows_initialize_color_instance): + * ntproc.c (syms_of_ntproc): + * ntproc.c (Fwin32_set_process_priority): + * ntproc.c (sys_spawnve): + * ntproc.c: + * ntheap.c (get_data_end): + * nt.c (period): + * nt.c: + * nt.c (stat): + * nt.c (generate_inode_val): + * nt.c (sys_rename): + * nas.c: + * mule-wnnfns.c (Fwnn_hinsi_number): + * mule-wnnfns.c (Fwnn_yuragi): + * mule-wnnfns.c (Fwnn_common_learn): + * mule-wnnfns.c (Fwnn_suffix_learn): + * mule-wnnfns.c (Fwnn_prefix_learn): + * mule-wnnfns.c (Fwnn_okuri_learn): + * mule-wnnfns.c (Fwnn_complex_conv): + * mule-wnnfns.c (Fwnn_last_is_first): + * mule-wnnfns.c (Fwnn_bmodify_dict_add): + * mule-wnnfns.c (Fwnn_notrans_dict_add): + * mule-wnnfns.c (Fwnn_fiusr_dict_add): + * mule-wnnfns.c (Fwnn_fisys_dict_add): + * mule-wnnfns.c (Fwnn_hinsi_list): + * mule-wnnfns.c (Fwnn_fuzokugo_set): + * mule-wnnfns.c (Fwnn_dict_search): + * mule-wnnfns.c (Fwnn_word_toroku): + * mule-wnnfns.c (Fwnn_hindo_update): + * mule-wnnfns.c (Fwnn_bunsetu_henkou): + * mule-wnnfns.c (Fwnn_kakutei): + * mule-wnnfns.c (Fwnn_begin_henkan): + * mule-wnnfns.c (Fwnn_dict_comment): + * mule-wnnfns.c (Fwnn_dict_add): + * mule-wnnfns.c (Fwnn_open): + * mule-mcpath.c (mc_getcwd): + * mule-coding.c (vars_of_mule_coding): + * mule-coding.c (convert_to_external_format): + * mule-coding.c (encoding_marker): + * mule-coding.c (decoding_marker): + * mule-coding.c (Fcopy_coding_system): + * mule-coding.c (Fmake_coding_system): + * mule-coding.c (Fcoding_system_list): + * mule-coding.c (Ffind_coding_system): + * mule-coding.c (symbol_to_eol_type): + * mule-coding.c: + * mule-charset.c (complex_vars_of_mule_charset): + * mule-charset.c (vars_of_mule_charset): + * mule-charset.c (Fset_charset_ccl_program): + * mule-charset.c (struct charset_list_closure): + * mule-charset.c (Ffind_charset): + * mule-charset.c (make_charset): + * mule-charset.c (non_ascii_valid_char_p): + * mule-charset.c: + * mule-ccl.c (ccl_driver): + * mule-canna.c (c2mu): + * mule-canna.c (Fcanna_henkan_begin): + * mule-canna.c (Fcanna_parse): + * mule-canna.c (Fcanna_store_yomi): + * mule-canna.c (Fcanna_touroku_string): + * mule-canna.c (Fcanna_initialize): + * minibuf.c: + * menubar.c (menu_parse_submenu_keywords): + * menubar-x.c (make_dummy_xbutton_event): + * menubar-x.c (set_frame_menubar): + * menubar-x.c (menu_item_descriptor_to_widget_value_1): + * menubar-x.c: + * menubar-msw.h: + * menubar-msw.c (mswindows_popup_menu): + * menubar-msw.c (mswindows_update_frame_menubars): + * menubar-msw.c (mswindows_handle_wm_command): + * menubar-msw.c (unsafe_handle_wm_initmenu_1): + * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): + * menubar-msw.c (update_frame_menubar_maybe): + * menubar-msw.c (populate_or_checksum_helper): + * menubar-msw.c (empty_menu): + * menubar-msw.c: + * md5.c: + * marker.c (set_marker_internal): + * marker.c (print_marker): + * malloc.c: + * make-src-depend: + * lstream.c (lisp_buffer_rewinder): + * lstream.c (mark_lstream): + * lrecord.h: + * lrecord.h (struct lrecord_header): + * lread.c (readevalloop): + * lread.c (locate_file): + * lread.c (locate_file_in_directory): + * lread.c (Flocate_file): + * lread.c (load_force_doc_string_unwind): + * lread.c (ebolify_bytecode_constants): + * lread.c: + * lisp.h: + * lisp-union.h: + * lisp-disunion.h: + * linuxplay.c (linux_play_data_or_file): + * linuxplay.c (audio_init): + * line-number.c: + * keymap.h: + * keymap.c (describe_map): + * keymap.c (describe_map_mapper): + * keymap.c (Fdescribe_bindings_internal): + * keymap.c (Fsingle_key_description): + * keymap.c (map_keymap_sorted): + * keymap.c (get_relevant_keymaps): + * keymap.c (Flookup_key): + * keymap.c (raw_lookup_key_mapper): + * keymap.c (Fdefine_key): + * keymap.c (Fevent_matches_key_specifier_p): + * keymap.c (key_desc_list_to_event): + * keymap.c (define_key_parser): + * keymap.c (define_key_check_and_coerce_keysym): + * keymap.c (keymap_submaps): + * keymap.c (keymap_store_internal): + * keymap.c (keymap_delete_inverse_internal): + * keymap.c (keymap_store_inverse_internal): + * keymap.c (print_keymap): + * keymap.c (Lisp_Keymap): + * keymap.c: + * intl.c: + * insdel.c (convert_bufbyte_string_into_emchar_dynarr): + * insdel.c (make_gap): + * input-method-xlib.c (get_XIM_input): + * input-method-xlib.c (XIM_init_frame): + * imgproc.c: + * hash.h: + * hash.c: + * gui.c: + * gui-x.c (button_item_to_widget_value): + * gui-x.c (popup_selection_callback): + * glyphs.h (struct image_instantiator_methods): + * glyphs.c (mark_glyph_cachels): + * glyphs.c (Fglyph_type): + * glyphs.c (image_instantiate): + * glyphs.c (image_create): + * glyphs.c (make_image_instance_1): + * glyphs.c (finalize_image_instance): + * glyphs.c: + * glyphs-x.c (finalize_subwindow): + * glyphs-x.c (xface_validate): + * glyphs-x.c (x_locate_pixmap_file): + * glyphs-x.c (convert_EImage_to_XImage): + * glyphs-msw.c: + * glyphs-msw.c (mswindows_resource_instantiate): + * glyphs-msw.c (xpm_to_eimage): + * glyphs-msw.c (convert_EImage_to_DIBitmap): + * glyphs-eimage.c (tiff_instantiate): + * glyphs-eimage.c (png_instantiate): + * glyphs-eimage.c (struct png_error_struct): + * glyphs-eimage.c (gif_memory_storage): + * glyphs-eimage.c: + * gifrlib.h: + * getloadavg.c (getloadavg): + * getloadavg.c: + * gdbinit: + * free-hook.c (log_gcpro): + * free-hook.c (check_malloc): + * free-hook.c (check_free): + * free-hook.c (ROUND_UP_TO_PAGE): + * free-hook.c: + * frame.h (struct frame): + * frame.h: + * frame.c (change_frame_size_1): + * frame.c (allocate_frame_core): + * frame.c: + * frame-x.c (x_focus_on_frame): + * frame-x.c (x_init_frame_2): + * frame-x.c (x_popup_frame): + * frame-x.c (xemacs_XtPopup): + * frame-x.c: + * frame-x.c (Foffix_start_drag_internal): + * frame-x.c (x_cde_destroy_callback): + * frame-x.c (x_wm_hack_wm_protocols): + * frame-tty.c (tty_frame_visible_p): + * frame-msw.c (mswindows_make_frame_invisible): + * frame-msw.c (mswindows_after_init_frame): + * frame-msw.c (mswindows_init_frame_1): + * fns.c (syms_of_fns): + * fns.c (Fbase64_decode_string): + * fns.c (Fnconc): + * fns.c (Ffillarray): + * fns.c (Fobject_plist): + * fns.c (Fget): + * fns.c (Fcanonicalize_lax_plist): + * fns.c (Fcanonicalize_plist): + * fns.c (Fplist_remprop): + * fns.c (Fplist_get): + * fns.c (advance_plist_pointers): + * fns.c (internal_plist_put): + * fns.c (Fnreverse): + * fns.c (Fremassq): + * fns.c (Felt): + * fns.c (Fsubstring): + * fns.c (Fbvconcat): + * fns.c (Flength): + * fns.c (length_with_bytecode_hack): + * fns.c (print_bit_vector): + * fns.c: + * floatfns.c (Ffloor): + * floatfns.c: + * floatfns.c (in_float_error): + * fileio.c (Ffile_modes): + * fileio.c (Fexpand_file_name): + * fileio.c (Fmake_temp_name): + * fileio.c (Ffile_name_nondirectory): + * fileio.c (Ffile_name_directory): + * file-coding.h: + * file-coding.c (vars_of_mule_coding): + * file-coding.c (convert_to_external_format): + * file-coding.c (encoding_marker): + * file-coding.c (decoding_marker): + * file-coding.c (Fcopy_coding_system): + * file-coding.c (Fmake_coding_system): + * file-coding.c (struct coding_system_list_closure): + * file-coding.c (Ffind_coding_system): + * file-coding.c (symbol_to_eol_type): + * file-coding.c: + * faces.h (struct face_cachel): + * faces.c (vars_of_faces): + * faces.c (face_property_was_changed): + * faces.c (mark_face_cachels): + * faces.c (temporary_faces_list): + * faces.c (struct face_list_closure): + * faces.c: + * extents.h (struct extent): + * extents.c (vars_of_extents): + * extents.c (struct copy_string_extents_1_arg): + * extents.c (add_string_extents_mapper): + * extents.c (Fextent_property): + * extents.c (Fset_extent_property): + * extents.c (symbol_to_glyph_layout): + * extents.c (properties_equal): + * extents.c (print_extent): + * extents.c (print_extent_1): + * extents.c (extent_in_region_p): + * extents.c (gap_array_make_gap): + * extents.c: + * events.h (struct Lisp_Event): + * events.h: + * events.c (Fevent_properties): + * events.c (format_event_object): + * events.c (Fmake_event): + * events.c (event_equal): + * events.c (print_event): + * events.c (mark_event): + * event-stream.c ((read-char) + * event-stream.c (vars_of_event_stream): + * event-stream.c (syms_of_event_stream): + * event-stream.c (Fset_recent_keys_ring_size): + * event-stream.c (Fsit_for): + * event-stream.c (Fnext_event): + * event-stream.c (execute_help_form): + * event-stream.c (maybe_kbd_translate): + * event-stream.c: + * event-msw.c (vars_of_event_mswindows): + * event-msw.c (mswindows_wnd_proc): + * event-msw.c (mswindows_need_event): + * event-msw.c (mswindows_drain_windows_queue): + * event-msw.c (mswindows_pump_outstanding_events): + * event-msw.c: + * event-msw.c (slurp_thread): + * event-msw.c (struct ntpipe_slurp_stream): + * event-msw.c (HANDLE_TO_USID): + * event-Xt.c (emacs_Xt_handle_magic_event): + * event-Xt.c (x_event_to_emacs_event): + * event-Xt.c (x_reset_modifier_mapping): + * event-Xt.c (x_reset_key_mapping): + * event-Xt.c: + * eval.c (syms_of_eval): + * eval.c (warn_when_safe): + * eval.c (warn_when_safe_lispobj): + * eval.c (Fbacktrace_frame): + * eval.c (Fbacktrace): + * eval.c (top_level_set): + * eval.c (unbind_to_hairy): + * eval.c (specbind_magic): + * eval.c (specbind_unwind_wasnt_local): + * eval.c (call2_trapping_errors): + * eval.c (call1_trapping_errors): + * eval.c (catch_them_squirmers_call2): + * eval.c (call0_trapping_errors): + * eval.c (run_hook_trapping_errors): + * eval.c (catch_them_squirmers_eval_in_buffer): + * eval.c (call4_in_buffer): + * eval.c (call3_in_buffer): + * eval.c (call2_in_buffer): + * eval.c (call1_in_buffer): + * eval.c (call0_in_buffer): + * eval.c (run_hook): + * eval.c (run_hook_with_args_in_buffer): + * eval.c (Fapply): + * eval.c (Feval): + * eval.c (do_autoload): + * eval.c (un_autoload): + * eval.c (Fautoload): + * eval.c (Finteractive_p): + * eval.c (Fcommand_execute): + * eval.c (signal_quit): + * eval.c (call_with_suspended_errors): + * eval.c (signal_error): + * eval.c (return_from_signal): + * eval.c (Fcall_with_condition_handler): + * eval.c (run_condition_case_handlers): + * eval.c (condition_case_1): + * eval.c (Funwind_protect): + * eval.c (unwind_to_catch): + * eval.c (internal_catch): + * eval.c (Fmacroexpand_internal): + * eval.c (Fuser_variable_p): + * eval.c (Fdefconst): + * eval.c (Fdefvar): + * eval.c (Ffunction): + * eval.c (signal_call_debugger): + * eval.c (call_debugger): + * eval.c: + * emacs.c (main): + * emacs.c (sort_args): + * emacs.c (main_1): + * elhash.h: + * elhash.c: + * editfns.c (Fencode_time): + * editfns.c (Fdecode_time): + * editfns.c (Fuser_full_name): + * editfns.c: + * editfns.c (save_excursion_restore): + * ecrt0.c: + * dynarr.c: + * doprnt.c (emacs_doprnt_1): + * doc.c (verify_doc_mapper): + * doc.c (Fsnarf_documentation): + * doc.c (Fdocumentation): + * dll.c: + * dired.c (user_name_completion): + * dired.c (Fdirectory_files): + * dialog-x.c: + * dialog-msw.c: + * dgif_lib.c (FreeSavedImages): + * dgif_lib.c (DGifGetImageDesc): + * device.h: + * device.h (struct device): + * device.c (Fselect_device): + * device.c (allocate_device): + * device.c: + * device-x.c (Fx_keysym_on_keyboard_p): + * device-x.c (Fx_valid_keysym_name_p): + * device-x.c (x_IO_error_handler): + * device-x.c (x_delete_device): + * device-x.c (x_finish_init_device): + * device-x.c (x_init_device): + * device-x.c: + * device-msw.c (mswindows_init_device): + * dbxrc: + * database.c (vars_of_database): + * database.c (Fput_database): + * database.c (Fopen_database): + * database.c (berkdb_remove): + * database.c (berkdb_put): + * database.c (Fdatabasep): + * database.c (print_database): + * database.c: + * data.c (vars_of_data): + * data.c (syms_of_data): + * data.c (init_errors_once_early): + * data.c (prune_weak_lists): + * data.c (finish_marking_weak_lists): + * data.c (print_weak_list): + * data.c (Fmod): + * data.c (Fstring_to_number): + * data.c (Fnumber_to_string): + * data.c (Findirect_function): + * data.c (Fsetcdr): + * data.c (Ffloatp): + * data.c (Fsubr_interactive): + * data.c (Farrayp): + * data.c (Fkeywordp): + * data.c (Fnull): + * data.c: + * console.h (CONSOLE_NAME): + * console.h: + * console.c (vars_of_console): + * console.c (Fselect_console): + * console.c: + * console-x.h (DEVICE_X_COLORMAP): + * console-x.h (struct x_device): + * console-x.c (x_device_to_console_connection): + * console-tty.h (CONSOLE_TTY_FINAL_CURSOR_Y): + * console-tty.c (tty_init_console): + * console-tty.c: + * console-msw.h (struct mswindows_frame): + * conslots.h: + * config.h.in: + * cmds.c (internal_self_insert): + * cmds.c (Fforward_line): + * cmds.c (Fforward_char): + * cmds.c: + * cmdloop.c: + * chartab.c (mark_char_table_entry): + * chartab.c: + * casefiddle.c (casify_word): + * callproc.c (child_setup): + * callproc.c (Fcall_process_internal): + * callproc.c: + * callint.c (Fcall_interactively): + * bytecode.h: + * bytecode.c (execute_rare_opcode): + * bytecode.c (execute_optimized_program): + * bytecode.c: + * bufslots.h: + * buffer.h (BUFFER_REALLOC): + * buffer.h (GET_CHARPTR_INT_DATA_ALLOCA): + * buffer.h (GET_CHARPTR_EXT_DATA_ALLOCA): + * buffer.h: + * buffer.h (MAP_INDIRECT_BUFFERS): + * buffer.h (CHECK_LIVE_BUFFER): + * buffer.c (init_initial_directory): + * buffer.c (complex_vars_of_buffer): + * buffer.c (vars_of_buffer): + * buffer.c (finish_init_buffer): + * buffer.c (Fget_file_buffer): + * buffer.c (Fbuffer_list): + * buffer.c (mark_buffer): + * balloon_help.c (balloon_help_move_to_pointer): + * balloon_help.c (show_help): + * balloon_help.c: + * backtrace.h: + * alloc.c (garbage_collect_1): + * alloc.c (sweep_strings): + * alloc.c (sweep_compiled_functions): + * alloc.c (sweep_bit_vectors_1): + * alloc.c (sweep_vectors_1): + * alloc.c (sweep_lcrecords_1): + * alloc.c (tick_lcrecord_stats): + * alloc.c (pure_string_sizeof): + * alloc.c (mark_conses_in_list): + * alloc.c (mark_object): + * alloc.c (report_pure_usage): + * alloc.c (make_pure_float): + * alloc.c (make_pure_string): + * alloc.c (free_managed_lcrecord): + * alloc.c (mark_string): + * alloc.c (noseeum_make_marker): + * alloc.c (allocate_event): + * alloc.c (Fbit_vector): + * alloc.c (Fvector): + * alloc.c (make_float): + * alloc.c (Fmake_list): + * alloc.c (Flist): + * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC): + * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): + * alloc.c (DECLARE_FIXED_TYPE_ALLOC): + * alloc.c (dbg_constants): + * alloc.c (gc_record_type_p): + * alloc.c (free_lcrecord): + * alloc.c (xmalloc): + * alloc.c (NOSEEUM_INCREMENT_CONS_COUNTER): + * abbrev.c: + * Makefile.in.in (mostlyclean): + * Makefile.in.in (external_client_xlib_objs_nonshared): + * Makefile.in.in (temacs_link_args): + * Makefile.in.in (release): + * Makefile.in.in (dnd_objs): + * Makefile.in.in (objs): + * Makefile.in.in (PROGNAME): + * EmacsShell.c: cast strings to (XtPointer) + * EmacsFrame.c: cast strings to (XtPointer) + - mega patch + - rewrite basic lisp functions for speed + - rewrite bytecode interpreter for speed + - rewrite list looping constructs for speed and safety using + tortoise/hare. + - use size_t where appropriate. + - new hashtable implementation + - cleanup implementation of opaques + - opaques can now be purecopy'ed + - move some cl functionality into C for speed. + - remove last remaining VMS support + - spelling fixes + - improve gdb/dbx debugger support + - move pure.c back into alloc.c for performance + - enable report_pure_usage() if --memory-usage-stats + - remove remnants of Energize support (EMACS_BTL, cadillac...) + - don't use symbols with leading `_' or embedded `__' + - globally cleanup duplicated semicolons `;;' + - I give in on %p vs %lx - we use printf("%lx",(long) p) + globally. + - globally replace O_NDELAY with O_NONBLOCK. + - globally replace CDISABLE with _POSIX_VDISABLE. + - use O_RDONLY and O_RDWR instead of magic `0' and `2'. + - define (and maybe use!) STDERR_FILENO and friends. + - add support for macros defined in C + - `when', `unless', `not' and `defalias' now defined in C, + so that they are universally available. + - rename defvar_mumble to defvar_magic + - rename RETURN__ to RETURN_SANS_WARNINGS + - use consistent style of initial caps in error messages + - implement last, butlast, nbutlast, copy-list in C. + - provide typedefs for all struct Lisp_foo types + - Lisp_Objects must be initialized to Qnil rather than 0. + - make sure XEmacs runs (slowly) with always_gc == 1; + - fast and safe LOOP_* macros + - change calls to XSETOBJ to XSETFOO + - replace calls to XSETINT by make_int() + - plug up memory leaks + - use style markobj (foo), not silly ((markobj) (foo)) + - use XFLOAT_DATA (obj) instead of float_data (XFLOAT (obj)) + +1998-12-02 P. E. Jareth Hein + + * unexec.c: Changed a #ifndef statement to fix XEmacs on BSDI 3.0 + +1998-11-28 SL Baur + + * XEmacs 21.2-beta4 is released. + +1998-11-27 SL Baur + + * mule-charset.c (complex_vars_of_mule_charset): Fix graphic + property in control-1 charset. + From Julian Bradfield + +1998-11-26 Jan Vroonhof + + * gui-x.c (button_item_to_widget_value): Ignore :key-sequence + keyword. + Add stub for :label. + + * gui.c (gui_item_add_keyval_pair): ditto. + + * menubar-x.c (menu_item_descriptor_to_widget_value_1): Ignore + :key-sequence keyword. + Add stub for:label. + Support :active for submenus like the Windows code and FSF Emacs. + +1998-11-27 Hrvoje Niksic + + * dired.c (make_directory_hash_table): make_string() is OK because + readdir() Mule-encapsulates. + +1998-11-26 Hrvoje Niksic + + * fns.c (Fbase64_encode_string): Fix docstring. + (Fbase64_decode_string): Ditto. + +1998-11-26 Hrvoje Niksic + + * editfns.c (Ftranslate_region): Use + convert_bufbyte_string_into_emchar_string(). + +1998-11-25 Hrvoje Niksic + + * editfns.c (Ftranslate_region): Accept vectors and char-tables as + well as strings. + (Ftranslate_region): Turn table into an array of Emchars for + larger regions. + +1998-11-25 Hrvoje Niksic + + * chartab.c (Freset_char_table): Fix wrong placement of #endif. + +1998-11-24 Hrvoje Niksic + + * chartab.c (Freset_char_table): Don't blindly fill chartables of + type `char' with nils. + + * chartab.c (canonicalize_char_table_value): Coerce ints to chars + for tables of type `char'. + +1998-11-26 Didier Verna + + * input-method-xlib.c (Initialize_Locale): don't call + XtSetLanguageProc. We've done the whole work here. + * input-method-xfs.c (Initialize_Locale): ditto. + * input-method-motif.c (Initialize_Locale): ditto. + +1998-11-26 Didier Verna + + * process-unix.c (unix_create_process): handle properly + Vfile_name_coding_system for converting the program and directory + names. + +1998-11-27 SL Baur + + * m/arm.h: New file. + From James LewisMoss + +1998-11-27 Takeshi Hagiwara + + * m/mips-nec.h: + Fix the realpath() problem of UnixWare2.1.3. + Patches for NEC's sysv4.2 machine. + +1998-11-25 Hrvoje Niksic + + * dired.c (Fdirectory_files): Remove redundant code. + +1998-11-25 Hrvoje Niksic + + * fns.c (free_malloced_ptr): New function. + (XMALLOC_OR_ALLOCA): New macro. + (XMALLOC_UNBIND): Ditto. + (Fbase64_encode_region): Use malloc() for large blocks; arrange it + to be freed in case of non-local exit. + (Fbase64_encode_string): Ditto. + (Fbase64_decode_region): Ditto. + (Fbase64_decode_string): Ditto. + (STORE_BYTE): New macro. + (base64_decode_1): Use it. + +1998-11-25 Hrvoje Niksic + + * fns.c (base64_value_to_char): Base64 stuff. + +1998-11-24 Hrvoje Niksic + + * editfns.c (Fbuffer_substring): New function. + + * lisp.h: Declare make_string_from_buffer_no_extents(). + + * insdel.c (make_string_from_buffer_1): New function. + (make_string_from_buffer_no_extents): Ditto. + +1998-11-15 Michael Sperber [Mr. Preprocessor] + + * linuxplay.c: Including instead of makes + sound work on AIX with OSS installed. Linux should still work. + +1998-11-03 Andy Piper + + * config.h.in: name change for cygwin/version.h + + * configure.in: check for cygwin/version.h now. + + * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR -> + CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20. + move cygwin32/version.h to cygwin/version.h + +1998-11-03 Olivier Galibert + + * lisp.h (struct Lisp_Bit_Vector): Fix declaration of bits from + int to long. + +1998-10-22 Andy Piper + + * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR -> + CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20. + enable BROKEN_SIGIO under b20 to make QUIT work. + +1998-10-22 Andy Piper + + * frame-msw.c (mswindows_size_frame_internal): force frame sizing + to fit within the constraints of the screen size. I.e. make the + frame small enough to fit and move it if some of it will be + off-screen. + +1998-10-19 Greg Klanderman + + * dired.c: conditionalize inclusion of user-name-completion + primitives on non-Windows NT. The needed functions don't exist on NT. + +1998-11-24 SL Baur + + * gifrlib.h: Clean up types for 64 bit compile. + * dgif_lib.c (DGifInitRead): Ditto. + (MakeSavedImage): Ditto. + * emacs.c (decode_path): Ditto. + From Steve Carney + +1998-10-16 William M. Perry + + * glyphs-msw.c (bitmap_table): Fixed typo in builtin bitmaps + (cehckboxes instead of checkboxes). + +1998-10-15 SL Baur + + * XEmacs 21.2-beta3 is released. + +1998-10-13 Raymond Toy + + * runemacs.c (WinMain): If the basename is "rungnuclient.exe", run + gnuclient. Otherwise, we run xemacs as we always did. This gets + rid of the annoying DOS window when running gnuclient. + +1998-10-13 Andy Piper + + * dragdrop.c (vars_of_dragdrop): rename HAVE_MSWINDOWS -> + HAVE_MS_WINDOWS typo. + +1998-10-13 SL Baur + + * process-unix.c (unix_send_process): Set closed flag on writable + pipe after SIGPIPE is received and before we call deactivate_process. + +1998-10-03 Gunnar Evermann + + * window.c (Fset_window_start): respect narrowing when + checking wheter start is at the beginning of a line. + (Fset_window_buffer): Ditto + Fixes repeatable crash in VM. + +1998-10-09 SL Baur + + * window.c (specifier_vars_of_window): Set default vertical + divider width to 1 on ttys. + +1998-10-08 Martin Buchholz + + * alloc.c: + * unexec.c: + * malloc.c: + Add to get ptrdiff_t declaration + +1998-10-07 Jonathan Harris + + * scrollbar-msw.c: Use the same vertical scrollbar drag hack as + is used for Motif or Lucid scrollbars under X. + +1998-10-08 Pierre Wendling + + * m/alpha.h (UNEXEC): quoted to avoid bad expansion when running + `configure' + +1998-10-06 Takeshi Hagiwara + + * frame-x.c (x_delete_frame): Fix an argument of XtDestroyWidget. + +1998-10-05 Andy Piper + + * s/cygwin32.h: more cygwin b20 reorganisation. + +1998-10-01 Raymond Toy + + * nas.c: Added necessary support functions to be able to handle + WAVE files in memory, just like the support for SND files in + memory. + +1998-09-30 SL Baur + + * callproc.c (child_setup): Fix spelling typo. + +1998-09-29 SL Baur + + * XEmacs 21.2-beta2 is released. + +1998-09-27 P. E. Jareth Hein + + * regex.c (re_match_2_internal): Add in code to reset lowest_active_reg + to prevent memory corruption in the case of jumping out of a series of + nested match patterns. This is a rather brute force approach, though. + +1998-09-02 Andy Piper + + * config.h.in: ditto. + + * s/cygwin32.h: rearrange declarations to cope with cygwin + b20. Include cygwin32/version.h if it exists. + +1998-09-20 Jonathan Harris + + * device-msw.c (mswindows_init_device): Call new + mswindows_enumerate_fonts() function in objects-msw.c instead + of font_enum_callback_1() to enumerate fonts. + + font_enum_callback_1() and _2() moved to objects-msw.c. + + * faces.c (complex_vars_of_faces): Make the mswindows default + face font fully specified and provide some fallbacks. + + * objects-msw.c: font_enum_callback_1() and _2() moved here + from objects-msw.c. Obtain the enumerated font's character + sets by table lookup instead of using the locale-specific + string provided by Windows. + + New public non-method mswindows_enumerate_fonts() that fills + in the supplied mswindows device's font list. + + mswindows_initialize_font_instance: Use the supplied name + variable instead of f->name when signalling errors. Match font + weights and character sets using lookup tables which handle + spaces instead of by frobbing. + +1998-09-20 Jonathan Harris + + * process-nt.c: Define an arbitrary limit, FRAGMENT_CODE_SIZE, + on the size of code fragments passed to run_in_other_process. + + run_in_other_process(): Use FRAGMENT_CODE_SIZE to determine + the amount of memory to allocate in the other process. + + Removed sigkill_code_end(), sigint_code_end() and + sig_enable_code_end() since they are now redundant. + + send_signal() and enable_child_signals(): Don't try to work + out the end of the code fragments passed to + run_in_other_process() + +1998-09-10 Kazuyuki IENAGA + + * src/s/freebsd.h: Added __ELF__ and compiler/liker flags for + FreeBSD-current. + + * src/unexelf.c: Partially synched with FSF's 20.3. + +1998-09-10 Hrvoje Niksic + + * insdel.c (signal_after_change): Map across indirect buffers + here, and not in the upper-level functions. + (signal_first_change): Don't check for Armageddon. + (signal_before_change): Map across indirect buffers here. + (prepare_to_modify_buffer): ...and here. + +1998-09-09 Hrvoje Niksic + + * insdel.c (signal_after_change): Add return value. + (buffer_insert_string_1): Use it. + (buffer_delete_range): Ditto. + (buffer_replace_char): Ditto. + (cancel_multiple_change): Map the indirect buffers. + +1998-09-06 Hrvoje Niksic + + * insdel.c (init_buffer_text): Remove INDIRECT_P parameter. + (uninit_buffer_text): Ditto. + + * buffer.c (Fmake_indirect_buffer): Implement stricter + error-checking. + +1998-09-04 Hrvoje Niksic + + * insdel.c (change_function_restore): Reverse order of + function-call and assignment. + (first_change_hook_restore): Ditto. + + * extents.c (mark_extent_auxiliary): Mark them. + (Fset_extent_property): Set them. + (Fextent_property): Get them. + (Fextent_properties): Ditto. + (vars_of_extents): Set their default. + + * extents.h (struct extent_auxiliary): Add before_change_functions + and after_change_functions. + + * insdel.c (signal_before_change): Use it. + (signal_after_change): Ditto. + + * extents.c (report_extent_modification): New function. + + * insdel.c (signal_before_change): Don't check for Armageddon. + (signal_after_change): Ditto. + +1998-09-11 Gunnar Evermann + + * redisplay.c (redisplay_window): make sure a new starting point + is chosen if it somehow got moved from the beginning of the line + -- this can happen because Fwiden was called recently. + + * window.c (Fset_window_start): set start_at_line_beg correctly + (Fset_window_buffer): Ditto + +1998-09-06 Hrvoje Niksic + + * insdel.c (init_buffer_text): Remove INDIRECT_P parameter. + (uninit_buffer_text): Ditto. + + * buffer.c (Fmake_indirect_buffer): Implement stricter + error-checking. + +1998-05-14 Jan Vroonhof + + * emacs.c (main_1): Removed references to *vars_of_filelock. + + * lisp.h: Added Fsystem_name. + + * filelock.c: Replaced by version from FSF 20.2. Now implements + locking by using symlinks which is NFS safe. However keep the + GCPRO's in lock_file and the calls to callx_in_buffer like our old + version (and of course use ansi C, acessor macros, etc). + +1998-09-06 Jan Vroonhof + + * process-unix.c (unix_create_process): Reset SIGHUP handler to + SIG_DFL. We now try to conserve any inherted SIG_IGN settings + in init_signals_very_early. However these should not be passed + on to children attached to the new pty. + +1998-08-28 Andy Piper + + * glyphs-eimage.c (png_instantiate_unwind): clean up eimage after use. + +1998-09-07 Jonathan Harris + + * fileio.c (file-name-directory, file_name_as_directory): + Don't call CORRECT_DIR_SEPS, even when #defined WINDOWSNT. + +1998-09-02 Andy Piper + + * emacs.c (main_1): init_ralloc() if initialised and we have REL_ALLOC + + * ralloc.c: uncomment __morecore. + +1998-09-92 Jonathan Harris + + * event-msw.c(winsock_writer): Supply a dummy 4th argument to + WriteFile() to fix a winsock 1.x bug on Win95. + +1998-08-28 Hrvoje Niksic + + * event-Xt.c (emacs_Xt_mapping_action): Check for device being + deleted. + (x_event_to_emacs_event): Ditto. + (emacs_Xt_handle_focus_event): Ditto. + (emacs_Xt_handle_magic_event): Ditto. + + * console-x.h (struct x_device): New flag being_deleted. + (DEVICE_X_BEING_DELETED): New macro. + + * device-x.c (x_IO_error_handler): Throw to top-level instead of + returning. Before doing that, set the being_deleted flag on the + device. + +1998-08-27 Hrvoje Niksic + + * device-x.c (x-seppuku-on-epipe): Removed. + +1998-08-26 Gunnar Evermann + + * frame-x.c (x_delete_frame): Flush the X output buffer after + calling XtDestroyWidget to ensure that the windows are really + killed right now. + +1998-08-26 Hrvoje Niksic + + * menubar-x.c (my_run_hook): New unused function. + (pre_activate_callback): Use run_hook for Qactivate_menubar_hook, + since we ignore the results of the contained functions anyway. + +1998-08-26 P. E. Jareth Hein + + * glyphs-eimage.c (gif_instantiate): Fix a crash in handling + interlaced GIF files that are smaller than 4 lines high... + +1998-08-31 Hrvoje Niksic + + * buffer.c (map_over_sharing_buffers): Deleted. + + * insdel.c (MAP_INDIRECT_BUFFERS): Move to buffer.h. + + * buffer.c (Fkill_buffer): Keep indirect_children updated while + killing them. + +1998-08-31 Hrvoje Niksic + + * insdel.c (buffer_insert_string_1): Advance the point bytind in + all the buffers. + (buffer_delete_range): Ditto. + + * marker.c (init_buffer_markers): Set point-marker to the value of + point in an indirect buffer. + +1998-08-30 Hrvoje Niksic + + * undo.c (undo_prelude): Test last-undo-buffer against base + buffer. + + * insdel.c (MAP_INDIRECT_BUFFERS): Use it. + + * buffer.h (BUFFER_BASE_BUFFER): New macro. + +1998-08-30 Hrvoje Niksic + + * insdel.c (init_buffer_text): Initialize it here. + + * line-number.c: Address line_number_cache through buffer->text. + + * buffer.c (mark_buffer): Mark line number cache. + + * bufslots.h (line_number_cache): Move to struct buffer_text. + + * insdel.c (buffer_insert_string_1): Propagate signals and changes + across the children buffers. + (buffer_delete_range): Ditto. + (buffer_replace_char): Ditto. + (gap_left): Ditto. + (gap_right): Ditto. + + * insdel.c (MAP_INDIRECT_BUFFERS): New macro. + + * buffer.c (Fmake_indirect_buffer): Uncomment. + +1998-08-31 Hrvoje Niksic + + * macros.c (Fend_kbd_macro): Remove trailing period from error + message. + (Fexecute_kbd_macro): Ditto. + +1998-08-21 Greg Klanderman + + * dired.c (Fuser_name_completion): remove optional 2nd argument. + (Fuser_name_completion_1): new function to return uniqueness + indication in addition to the user name completion. + (user_name_completion): change type of `uniq' argument. + +1998-08-19 Michael Sperber [Mr. Preprocessor] + + * lread.c (vars_of_lread): Removed `source-directory' variable. + +1998-08-22 Hrvoje Niksic + + * fileio.c (Ffile_readable_p): Apply the DOS/Windows logic to + Cygwin. + +1998-08-19 SL Baur + + * dired.c (vars_of_dired): Fix misapplied patch. + +1998-08-16 Martin Buchholz + + * fns.c (Fremrassq, remrassq_no_quit): + A XCAR that should have been an XCDR turned Fremrassq into Fremassq + +1998-07-17 Didier Verna + + * redisplay-x.c (x_get_gc): returns a GC with a FillStipple fill + style as foreground GC for faces that have the `dim' property. + (x_output_string): when the `dim' face property is set, + ensure the gray pixmap has been created, and get a proper + foreground GC to draw the text. + +1998-08-09 Jonathan Harris + + * event-msw.c (mswindows_wnd_proc): Workaround for a Win95 bug: + Manually track the state of the left and right Ctrl and Alt + modifiers. + +1998-08-07 Matt Stupple + + * ntproc.c: don't wait on char_consumed at thread entry. + Additionally, to get the 'process' marked as finished, ensure + that the CHILD_ACTIVE macro returns false, so before exiting + close char_avail and set it to NULL, and close other handles + to reduce handle leak problems. + +1998-08-09 Jonathan Harris + + * menubar-msw.c (displayable_menu_item): take account of menu + depth when deciding whether to try to display accelerators. + +1998-08-04 Andy Piper + + * event-msw.c: use MsgWaitForMultipleObjects if there are no + subprocesses. + + * glyphs-msw.c: fix a couple of potential handle leaks. + +1998-08-04 P. E. Jareth Hein + + * dgif_lib.c gif_io.c gifrlib.h: New files to put GIF + *decoding ONLY* back into the core. + * glyphs-eimage.c: Change referenced header file for GIF + reading to point to the incore version. + +1998-07-20 Martin Buchholz + + * casefiddle.c (casify_object): + Change algorithm from O(N**2) to O(N). + Code cleanup. + Doc string cleanup. + +1998-07-22 Greg Klanderman + + * dired.c (file_name_completion_unwind): don't leak the cons. + +1998-07-20 Greg Klanderman + + * dired.c (Fuser_name_completion): new function. + (Fuser_name_all_completions): new function. + (user_name_completion): new function. + (syms_of_dired): 2 new DEFSUBRs. + (vars_of_dired): initialize user name cache vars. + +1998-07-29 P. E. Jareth Hein + + * glyphs-eimage.c (png_instantiate): Add proper handling for background + colors taken from the default face. Also correct a thinko in + transparency (not alpha) handling. + +1998-07-23 Martin Buchholz + + * s/decosf4-0.h: Use a perfectly ordinary link. Nuke BSD crap. + * unexalpha.c: ANSI C-ize. Clean compiler warnings. + * lread.c (Fload_internal): Be very careful with printfs of + size_t's + * gui-x.c (menu_name_to_accelerator): tolower wants an `int' + argument. + +1998-07-27 Gunnar Evermann + + * callint.c (Fcall_interactively): GCPRO prompt string before + passing it to Fread_key_sequence + +1998-07-27 SL Baur + + * keymap.c (vars_of_keymap): Initialize Vkey_translation_map and + Vvertical_divider_map. + + * mule-canna.c (vars_of_mule_canna): Initialize every symbol to + Qnil or 0, none were initialized prior to this change. + + Rename misnamed `V' prefixed integer variables: + Vcanna_empty_info, Vcanna_through_info, Vcanna_underline, + Vcanna_inhibit_hankakukana, Vcanna_henkan_length, Vcanna_henkan_revPos, + Vcanna_henkan_revLen, Vcanna_ichiran_length, Vcanna_ichiran_revPos, + Vcanna_ichiran_revLen. + + Rename misnamed `V' prefixed integer variables and initialize + properly in the vars_of routine. + Vcanna_mode_AlphaMode, Vcanna_mode_EmptyMode, Vcanna_mode_KigoMode, + Vcanna_mode_YomiMode, Vcanna_mode_JishuMode, Vcanna_mode_TankouhoMode, + Vcanna_mode_IchiranMode, Vcanna_mode_YesNoMode, Vcanna_mode_OnOffMode, + Vcanna_mode_AdjustBunsetsuMode, Vcanna_mode_ChikujiYomiMode, + Vcanna_mode_ChikujiTanMode, Vcanna_mode_HenkanMode, + Vcanna_mode_HenkanNyuryokuMode, Vcanna_mode_ZenHiraHenkanMode, + Vcanna_mode_HanHiraHenkanMode, Vcanna_mode_ZenKataHenkanMode, + Vcanna_mode_HanKataHenkanMode, Vcanna_mode_HanKataHenkanMode, + Vcanna_mode_ZenAlphaHenkanMode, Vcanna_mode_HanAlphaHenkanMode, + Vcanna_mode_ZenHiraKakuteiMode, Vcanna_mode_HanHiraKakuteiMode, + Vcanna_mode_ZenKataKakuteiMode, Vcanna_mode_HanKataKakuteiMode, + Vcanna_mode_ZenAlphaKakuteiMode, Vcanna_mode_HanAlphaKakuteiMode, + Vcanna_mode_HexMode, Vcanna_mode_BushuMode, Vcanna_mode_ExtendMode, + Vcanna_mode_RussianMode, Vcanna_mode_GreekMode, Vcanna_mode_LineMode, + Vcanna_mode_ChangingServerMode, Vcanna_mode_HenkanMethodMode, + Vcanna_mode_DeleteDicMode, Vcanna_mode_TourokuMode, + Vcanna_mode_TourokuEmptyMode, Vcanna_mode_TourokuHinshiMode, + Vcanna_mode_TourokuDicMode, Vcanna_mode_QuotedInsertMode, + Vcanna_mode_BubunMuhenkanMode, Vcanna_mode_MountDicMode, + Vcanna_fn_SelfInsert, Vcanna_fn_FunctionalInsert, + Vcanna_fn_QuotedInsert, Vcanna_fn_JapaneseMode, Vcanna_fn_AlphaMode, + Vcanna_fn_HenkanNyuryokuMode, Vcanna_fn_Forward, Vcanna_fn_Backward, + Vcanna_fn_Next, Vcanna_fn_Prev, Vcanna_fn_BeginningOfLine, + Vcanna_fn_EndOfLine, Vcanna_fn_DeleteNext, Vcanna_fn_DeletePrevious, + Vcanna_fn_KillToEndOfLine, Vcanna_fn_Henkan, Vcanna_fn_Kakutei, + Vcanna_fn_Extend, Vcanna_fn_Shrink, Vcanna_fn_AdjustBunsetsu, + Vcanna_fn_Quit, Vcanna_fn_ConvertAsHex, Vcanna_fn_ConvertAsBushu, + Vcanna_fn_KouhoIchiran, Vcanna_fn_BubunMuhenkan, Vcanna_fn_Zenkaku, + Vcanna_fn_Hankaku, Vcanna_fn_ExtendMode, Vcanna_fn_ToUpper, + Vcanna_fn_Capitalize, Vcanna_fn_ToLower, Vcanna_fn_Hiragana, + Vcanna_fn_Katakana, Vcanna_fn_Romaji, Vcanna_fn_BaseHiragana, + Vcanna_fn_BaseKatakana, Vcanna_fn_BaseEisu, Vcanna_fn_BaseZenkaku, + Vcanna_fn_BaseHankaku, Vcanna_fn_BaseKana, Vcanna_fn_BaseKakutei, + Vcanna_fn_BaseHenkan, Vcanna_fn_BaseHiraKataToggle, + Vcanna_fn_BaseZenHanToggle, Vcanna_fn_BaseKanaEisuToggle, + Vcanna_fn_BaseKakuteiHenkanToggle, Vcanna_fn_BaseRotateForward, + Vcanna_fn_BaseRotateBackward, Vcanna_fn_Touroku, Vcanna_fn_HexMode, + Vcanna_fn_BushuMode, Vcanna_fn_KigouMode, Vcanna_fn_Mark, + Vcanna_fn_TemporalMode, Vcanna_key_Nfer, Vcanna_key_Xfer, + Vcanna_key_Up, Vcanna_key_Left, Vcanna_key_Right, Vcanna_key_Down, + Vcanna_key_Insert, Vcanna_key_Rollup, Vcanna_key_Rolldown, + Vcanna_key_Home, Vcanna_key_Help, Vcanna_key_KP_Key, + Vcanna_key_Shift_Nfer, Vcanna_key_Shift_Xfer, Vcanna_key_Shift_Up, + Vcanna_key_Shift_Left, Vcanna_key_Shift_Right, Vcanna_key_Shift_Down, + Vcanna_key_Cntrl_Nfer, Vcanna_key_Cntrl_Xfer, Vcanna_key_Cntrl_Up, + Vcanna_key_Cntrl_Left, Vcanna_key_Cntrl_Right, Vcanna_key_Cntrl_Down + +1998-07-16 Jan Vroonhof + + * event-Xt.c (x_to_emacs_keysym): Return nil for modifier keysyms. + (x_event_to_emacs_event): Let x_to_emacs_keysym check for modifier + keys thus no longer considering all keysyms on a key. + +1998-07-19 SL Baur + + * XEmacs 21.2-beta1 is released. + +1998-07-12 Oscar Figueiredo + + * eldap.c (Fldap_search_internal): When converting the list of + attributes to search Copy the final 0 from Lisp strings to C + strings. + Check base, not Vldap_default_base as a a string + +1998-07-13 Jonathan Harris + + * nt.c: Remove Vstdio_str; already defined in console-stream.c. + + * unexnt.c: Unconditionally define bss_start and bss_size, and + ensure that they don't go in the .bss section. + +1998-07-17 Olivier Galibert + + * glyphs-x.c (convert_EImage_to_XImage): Fix previous patch (conv + byte order is dependant of the local byte order). + From Takeshi Hagiwara + +1998-07-18 SL Baur + + * glyphs-msw.c (mswindows_resource_normalize): Qresource -> + Qmswindows_resource. + From Jonathan Harris + +1998-07-12 SL Baur + + * general.c (syms_of_general): Add defsymbol for Qresource. + + * glyphs-msw.c (vars_of_glyphs_mswindows): Rename Qresource to + Qmswindows_resource. + (TopLevel): Rename 'resource image format to 'mswindows_resource. + (mswindows_resource_validate): Rename. + (mswindows_resource_normalize): Rename. + (mswindows_resource_possible_dest_types): Rename. + (mswindows_resource_instantiate): Rename. + (image_instantiator_format_create_glyphs_mswindows): Replace + `resource' with `mswindows.resource'. + + * XEmacs 21.0-pre5 is released. + +1998-07-10 SL Baur + + * mule-wnnfns.c (Fwnn_open): Correctly trap on misdefined Wnn + server type in environment. + Use alloca-ed strings instead of tiny fixed size ones. + +1998-07-09 SL Baur + + * XEmacs 21.0-pre4 is released. + +1998-07-01 James N. Potts + + * fileio.c: (expand_file_name): under win32: Don't treat names + as UNC names if a drive letter has been specified. If a drive + has been specified, strip out extra directory-seperators that + reportedly cause problems under Win95. + +1998-07-09 Jonathan Harris + + * windowsnt.h: Define DUMP_SEPARATE_SECTION when building with + MSVC >= 5.0. Put emacs init and zero-init data in a special + section of the executable when this is defined. + + * unexnt.c, ntheap.h: + Removed unused find_section() and get_section_size(). + + * unexnt.c: + Fix up the executable's checksum after dumping otherwise the + profiler complains. + When DUMP_SEPARATE_SECTION is defined, don't need to dump + zero-init data separately from init data. Dump emacs data + into a special section of the executable. + When DUMP_SEPARATE_SECTION not defined, dump .bss up to + my_ebss instead of up to the end of bss. + +1998-07-09 Jonathan Harris + + * filelock.c: Removed Vconfigure_lock_directory - already + defined in emacs.c. + + * frame-msw.c: Removed Qinitially_unmapped and Qpopup - already + defined in frame.c and general.c respectively. + + * glyphs-msw.c: Removed Qresource - already defined in + general.c. + +1998-07-05 Oscar Figueiredo + + * eldap.c (Fldap_search_internal): Docstring fixes + +1998-07-04 Jonathan Harris + + * nt.c (init_environment): Removed unused PRELOAD_WINSOCK, + EMACSDOC and TERM variables. Added EMACSDEBUGPATHS, + EMACSPACKAGEPATH and INFOPATH variables. + Removed unused get_emacs_configuration function. + + * s/windowsnt.h: Don't define EMACS_CONFIGURATION here because + it is now defined at build-time by the makefile. + +1998-07-01 James N. Potts + + * fileio.c: (expand_file_name): under win32: Don't treat names as + UNC names if a drive letter has been specified. If a drive has + been specified, strip out extra directory-seperators that + reportedly cause problems under Win95. + +1998-07-05 Andy Piper + + * faces.c (complex_vars_of_faces): for the gui-element face don't + fallback to the default face, instead provide reasonable default + fallbacks that were previously hardcoded elsewhere. + +1998-07-06 Olivier Galibert + + * glyphs-x.c (convert_EImage_to_XImage): Fix pixel writing problem + when the X server endianness is different than the client's one. + +1998-06-29 Kyle Jones + + * eval.c (run_hook_with_args_in_buffer): Check + default (non-buffer-local) value of hook for + nil before treating it as a function. Don't initialize + the `globals' variable twice. + +1998-06-24 Jonathan Harris + + * fileio.c: Don't do directory seperator canonicalisation in + substitute-in-file-name because we don't know that the + filename refers to a local file. + +1998-06-24 Adrian Aichner + + * process-nt.c (nt_create_process): Try appending the standard + executable file extensions to the filename if none supplied. + +1998-06-29 SL Baur + + * fileio.c (Fsubstitute_in_file_name): Enable double slash notation + for cygwin32. + From Keisuke Mori + +1998-06-24 Andy Piper + + * toolbar-msw.c (mswindows_output_toolbar): only enable masked + images if we have masks. This handles the xbm case (have masks) + and avoids overuse of resources in the xpm case (generally no masks). + Don't output small toolbars. + +1998-06-29 Kyle Jones + + * eval.c (run_hook_with_args_in_buffer): Don't treat + the default value of a buffer local hook as a list of + hooks unless it is both a cons and the car of that cons + is not Qlambda. + +1998-06-29 SL Baur + + * extents.c: Email address for Ben Wing is ben@xemacs.org. + * process-unix.c: Ditto. + * mule-coding.h: Ditto. + * mule-coding.c: Ditto. + * mule-charset.c: Ditto. + * mule-charset.h: Ditto. + * file-coding.c: Ditto. + * file-coding.h: Ditto. + +1998-06-22 Jonathan Harris + + * event-msw.c: Guard against recursion when freeing + FRAME_MSWINDOWS_TARGET_RECT struture in WM_SIZE processing. + + * frame-msw.c: Don't set WS_VISIBLE attribute on first frame. + Call ShowWindow twice in init_frame_3 to get round runemacs + weirdness. + +1998-06-27 Hrvoje Niksic + + * scrollbar.c (vertical_scrollbar_changed_in_window): Ditto. + + * winslots.h: Rename. + + * window.c (specifier_vars_of_window): Renamed + vertical-divider-draggable-p to vertical-divider-always-visible-p, + as suggested by Ben Wing. + (specifier_vars_of_window): Fix docstrings. + +1998-06-22 Michael Sperber [Mr. Preprocessor] + + * unexaix.c: Line number information works correctly again. + +1998-06-22 Olivier Galibert + + * emacs.c (__sti__iflPNGFile_c___): Added. See comment. Cry. + +1998-06-21 Martin Buchholz + + * editfns.c (get_home_directory): ANSIfy. + XEmacs is compilable under C *and* C++. + It's XEmacs, not Xemacs! + +1998-06-19 Jonathan Harris + + * console-msw.h: added a list of fonts to device data. + + * device-msw.c: enumerate list of available fonts in + mswindows_init_device. Free list in mswindows_delete_device. + + * objects-msw.c: Added helper function match_font used by + mswindows_initialize_font_instance and mswindows_list_fonts. + Allow a charset to be specified in a font string, even if + previous fields havn't been specified. + +1998-06-23 Greg Klanderman + + * indent.c (column_at_point): column cache bugfix. + Set last_known_column_point to the buffer position for + which the column was requested, not buffer's point. + + * redisplay.c (decode_mode_spec): for current-column, show + window's point's column, not buffer's point's column. + +1998-06-23 Andy Piper + + * menubar-msw.c (mswindows_handle_wm_command): use + enqueue_misc_user event rather than + mswindows_enqueue_msic_user_event to fix customize problems. Add some + checks that X does. + + * console-msw.h: declare mswindows_enqueue_magic_event. + + * event-msw.c (mswindows_enqueue_magic_event): make global. + +1998-06-24 Hrvoje Niksic + + * line-number.c (LINE_NUMBER_FAR): Reverted to 16384. + (buffer_line_number): Use EMACS_INT_MAX instead of random LOTS. + (add_position_to_cache): Use EMACS_INT instead of int. + +1998-06-21 Olivier Galibert + + * lisp-disunion.h (XMARKBIT): Have XMARKBIT return something + suitable for an int used as a boolean (btw, C sucks.). + +1998-06-18 Andy Piper + + * object-msw.c: remove warnings. + + * device-msw.c: #define wrongly named cygwin structure elements. + + * s/cygwin32.h: define DEMI_BOLD + +1998-06-19 Jonathan Harris + + * redisplay-msw.c: new function mswindows_apply_face_effects. + This is called by output_string and output_cursor to display + underline and strikeout on faces. + +1998-06-19 Jonathan Harris + + * console-msw.h: added a list of fonts to device data. + + * device-msw.c: enumerate list of available fonts in + mswindows_init_device. Free list in mswindows_delete_device. + + * objects-msw.c: Added helper function match_font used by + mswindows_initialize_font_instance and mswindows_list_fonts. + Allow a charset to be specified in a font string, even if + previous fields havn't been specified. + +1998-06-15 Jonathan Harris + + * objects-msw.c: + Removed compilation warnings from mswindows_string_to_color. + mswindows_list_fonts returns a more general bogus font. + New lisp-visible function mswindows-color-list. + +1998-06-19 David Bush + + * editfns.c (Fuser_login_name): Modify to user new function + user_login_name. + (user_login_name): C only function to avoid Lisp object overhead + Returns "unknown" instead of nil in Cygwin environment + + * fileio.c (Fexpand_file_name): Treat "~" and "~user" as + equivalent for current user in Cygwin environment. Use new + function user_login_name to get username. + + * lisp.h: Declare user_login_name + +1998-06-18 Michael Sperber [Mr. Preprocessor] + + * unexaix.c (make_hdr): Fixed bias computations so debugging info + works again. + Some other insignificant nitpicks. + +1998-06-18 Andy Piper + + * toolbar-msw.c (mswindows_output_toolbar): specify ILC_MASK when + creating the image list and make sure he bk color is transparent. + +1998-06-18 Jan Vroonhof + + * event-Xt.c (emacs_Xt_remove_timeout): Also remove timeout from + completed_timeouts. The timer could have expired. + +1998-06-17 Andy Piper + + * console-msw.h: move XEMACS_RECT_WH inside frame + parameters. define macors to access it. + + * frame-msw.c (mswindows_init_frame_1): use new target_rect + parameter to intialise desired sizing. (mswindows_init_frame_2): + enable and size the frame to something sensible when we get + here. (mswindows_set_frame_properites): use new + mswindows_size_frame_internal function and size frame if frame + parameters not just if init is finished - WM_SIZE happens too + early for some specs. (mswindows_size_frame_internal): new + function abstracted from mswindows_set_frame_properties. + (Vmswindows_use_system_frame_size_defaults): + new variable controls whether to allow the system to pick frame + size defaults, defaults to nil. + + * event-msw.c: in WM_SIZE use mswindows_size_frame_internal rather + than duplicated code. + +1998-06-15 Colin Rafferty + + * Makefile.in.in: Made EXTW_LINK expand properly. + +1998-06-12 Martin Buchholz + + * redisplay.c (vars_of_redisplay): default value of + column-number-start-at-one should be NIL! + +1998-06-11 Martin Buchholz + + * casefiddle.c: + (upcase-initials "fooBar") ==> "FooBar" instead of "Foobar" + +1998-06-05 Hrvoje Niksic + + * eldap.c (Fldap_search_internal): Use build_ext_string instead of + build_string to avoid crashes under Mule. + +1998-06-13 Andy Piper + + * ntplay.c (play_sound_data_1): don't delete the sound data until + the next sound is played and the previous one finished. + +1998-06-10 Samuel Mikes + + * fileio.c (directory-sep-char): Escape backslashes. + +1998-06-10 Hrvoje Niksic + + * event-stream.c: Fix docstring reference. + +1998-06-12 Hrvoje Niksic + + * alloc.c (make_float): Remove useless initialization of `next' + field. + (make_pure_float): Ditto. + + * lisp.h (struct Lisp_Float): Rename `next' to `__unused__next'. + +1998-06-08 Kirill M. Katsnelson + + * fileio.c (Fmake_directory_internal): Remove conditionals + on WINDOWSNT when calling mkdir. + + * ntproc.c: Deleted the following unused functions: + register_child, reap_subprocess, sys_wait. + + * nt.c (sys_rename): Ifzeroed this implementation. + Deleted the following unused functions: + sys_access, sys_chdir, sys_chmod, sys_creat, sys_link, sys_mkdir, + sys_mktemp, sys_rmdir, sys_unlink, sys_close, sys_dup, sys_dup2, + sys_read, sys_write. + Merger sys_fopen and sys_open with sysdep.c implementation. + + * sysdep.c: Removed MS-DOS code. + (sys_rename): Deal with Microsoft rename weirdness. + (sys_open): Implemented for Windows. + (sys_fopen): Ditto. + (sys_mkdir): Ditto. + +1998-06-08 Kirill M. Katsnelson + + * buffer.c (complex_vars_of_buffer): Removed %t description from + the docstring. + +1998-06-04 Rick Rankin + + * scrollbar-msw.c: initialize the cbSize element of the + SCROLLINFO struct before calling SetScrollInfo. WinNT seems + to ignore the value of cbSize, but Win95 (and I presume Win98) + appear to want it set to sizeof(SCROLLINFO). + +1998-06-04 Kirill M. Katsnelson + + * event-stream.c: Defined Qcancel_mode_internal. + (syms_of_event_stream): defsymbol'ed it. + + * events.h: Externed it. + + * event-msw.c (mswindows_wnd_proc, WM_CANCELMODE): Added this handler. + +1998-06-04 Oliver Graf + + * frame-x.c (x_cde_destroy_callback): free the data + (cde-start-drag-internal) corrected root position, 21.1 needs this + hardcoded in Button events + (offix-start-drag-internal) corrected root position + +1998-06-03 Kirill M. Katsnelson + + * process-nt.c (signal_cannot_launch): Use signal_simple_error() + instead of error(). + +1998-06-03 Kirill M. Katsnelson + + * dialog-msw.c (button_width): Removed `inline' from the function + declaration. + +1998-06-03 Rick Rankin + + * frame-msw.c: add WS_VISIBLE flag to the first frame created. + Note that adding this flag to subsequent frames causes problems. + +1998-06-03 Gunnar Evermann + + * glyphs-eimage.c (png_instantiate) move 'struct + png_memory_storage tbr' out of nested block to avoid dangling + reference + +1998-06-02 Andy Piper + + * faces.h: + * faces.c: rename 3d-object -> gui-element. add toolbar face which + inherits from gui-element. + + * glyphs-msw.c: use DIBitmaps for xbm bitmaps to be consistent + with existing code, generate masks correctly. + +1998-06-03 P. E. Jareth Hein + + * glyphs-eimage.c: Changed included header for gifs to use + Gifreader instead of giflib. + + * glyphs-x.c: removed the image-related functions that were + moved into glyphs-eimage. + +1998-06-02 David Bush + + * glyphs.c (bitmap_to_lisp_data) Define XFree to be free + if built without X Windows support. + +1998-06-02 Hrvoje Niksic + + * fns.c (Fconcat): Synch docstring with new reality. + +1998-06-03 SL Baur + + * frame.c: Remove reference to msdos.h (which is going away). + Suggested by Hrvoje Niksic and Kirill Katsnelson. + +1998-06-02 P. E. Jareth Hein + + * glyphs-eimage.c (jpeg_instantiate): Fix handling of + grayscale images/ + + +1998-05-30 Kirill M. Katsnelson + + * events.h: Fixed commentary about misc-user scrollbar events. + + * scrollbar-x.c (x_update_vertical_scrollbar_callback): Use frame + object as an event channel, instead of window object. + (x_update_horizontal_scrollbar_callback): Ditto. + +1998-05-29 Andy Piper + + * ntplay.c (play_sound_data_1) new function. convert alloca data + to malloc if necessary. + (play_sound_file): if the file is not in our path then convert to + data and play. + +1998-06-01 SL Baur + + * mule-mcpath.c (mc_chdir): Reverse parameters in call to memcpy. + * msdos.c (Frecent_doskeys): Ditto. + + * unexalpha.c (unexec): Reverse parameters in call to memcpy. + Suggested by Reggie Perry + + * buffer.h: Eliminate size in declaration. + +1998-06-01 Olivier Galibert + + * unexelfsgi.c (unexec): Cleanup n/nn and remove useless kludge. + +1998-06-01 Kirill M. Katsnelson + + * gui.c (gui_item_init): Changed the default value for config member + from Qunbound to Qnil. + +1998-06-01 Greg Klanderman + + * indent.c (vmotion_pixels): Don't #define abs(). + +1998-05-30 Kirill M. Katsnelson + + * s/windowsnt.h: Defined popen and pclose to be _popen and _pclose + respectively. + +1998-05-30 Andy Piper + + * glyphs.h: add xbm declarations. + + * console.h: add xbm_instantiate_method device method. + + * glyphs.c (check_valid_xbm_inline) (xbm_validate) + (bitmap_to_lisp_data) (xbm_mask_file_munging) (xbm_normalize) + (xbm_possible_dest_types): moved here from glyphs-x.c. use + locate_pixmap_file device method and read_bitmap_data_from_file + instead of XmuReadBitmapDataFromFile. + (xbm_instatntiate): make a device method. + + * glyphs-x.c: see glyphs.c changes. (read_bitmap_data_from_file) + new function that just calls XmuReadBitmapDataFromFile. + (x_xbm_instatntiate): device method from xbm_instantiate. + + * glyphs-msw.c (read_bitmap_data) (NextInt) + (read_bitmap_data_from_file): new functions copied from Xmu + sources. + (xbm_create_bitmap_from_data) from Ben convert + inline data to an mswindows bitmap. + (init_image_instance_from_xbm_inline) (xbm_instantiate_1) + (mswindows_xbm_instantiate): mswindows-ized versions of the X + functions. + +1998-05-30 Kirill M. Katsnelson + + * window.c (specifier_vars_of_window): Renamed `has_modeline-p' to + `modeline-visible-p'. + Declared specifier lisp variables at the beginning oh the file + as static. + + * procimpl.h (struct process_methods): Changed semantics of + create_process method so it accepts lisp strings instead of + char pointers. + + * process.c (Fstart_process_internal): Moved building of + unix style argv from here to process-unix.c, ... + + * process-unix.c (unix_create_process): ... right here. + + * process-nt.c (nt_create_process): Changed this function to + support new semantics, so avoided a GC problem. + + * events.c (Fmake_event): Document misc-user events properties. + (Fmake_event): Do not allow arbitrary objects for channel property + of misc-user events. + (Fmake_event): Change misc-user event validation: it is function + which is required, not button. + + * event-msw.c (mswindows_user_event_p): Recognize misc user events as + user events. + (mswindows_enqueue_misc_user_event): Added function. + (mswindows_bump_queue): Removed function. + (mswindows_enqueue_magic_event): Support NULL HWND parameter. + (mswindows_wnd_proc, WM_CLOSE): Use mswindows_enqueue_misc_user_event(). + (mswindows_wnd_proc, WM_EXITSIZEMOVE): Ditto. + (emacs_mswindows_handle_magic_event): Handle XM_BUMPQUEUE, by doing + really nothing, which is my personal favorite thing. + + * console-msw.h: Removed prototype for mswindows_bump_queue(). + Added prototype for mswindows_enqueue_misc_user_event(). + + * menubar-msw.c (mswindows_handle_wm_command): Use + mswindows_enqueue_misc_user_event(). + + * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto. + + * dialog-msw.c (dialog_proc): Ditto. + + * scrollbar-msw.c (mswindows_handle_scrollbar_event): Ditto. + (mswindows_handle_scrollbar_event): Use frame, not window, for misc + user events channel. + +1998-05-29 Greg Klanderman + + * window.c (Fwindow_displayed_text_pixel_height): was relying on + incorrect semantics of vmotion_pixels which has been fixed. don't + use it anymore as it can't easily be used. + + * indent.c (vmotion_pixels): fix off by one bug moving up. also + the motion was reported incorrectly if you tried to go past end of + buffer. + +1998-05-30 Kirill M. Katsnelson + + * toolbar.h: Removed misleading commentary, as Martin suggested. + +1998-05-30 Kirill M. Katsnelson + + * lisp.h: Extern Qactivate_menubar_hook. + + * menubar-msw.c (unsafe_handle_wm_initmenu_1): Pass correct value to + run_hook (). + +1998-05-29 Andy Piper + + * glyphs-msw.c: use BPLINE macro. + + * select-msw.c (mswindows-selection-exists-p) + (mswindows-delete-selection): doc string fixes. + + * toolbar-msw.c (mswindows_output_toolbar): make disabled buttons + unpressable. warning elimination. + +1998-05-28 Martin Buchholz + + * alloc.c (dbg_constants): + * dbxrc: + * gdbinit: + Remove toolbar_data debugging code, since that lrecord has + also been removed. + +Wed May 27, 1998 Darryl Okahata + + * alloc.c: zap cached value of (user-home-directory), so that + it's not undumped. + + * buffer.c: From init_buffer(), separated out code that + determined the initial directory for the *scratch* buffer, and + put them into a function called "init_initial_directory()". + The initial directory is now available as a global "char *" + called initial_directory. + + * buffer.h: Added extern entries for initial_directory[] and + init_initial_directory(). + + * editfns.c: added new elisp function "user-home-directory", + which basically returns getenv("HOME"), but attempts to use + other values if $HOME isn't set.This may have to be tweaked in + the future as, under Unix, "/" is used if $HOME isn't set (this + probably should be set to the current directory). To support + this, a new C function, "get_home_directory()", now exists, + which returns the "home directory", as a "char *" string. + + * emacs.c: Rearrange NT initialization order so that + environment/registry variables will be properly entered into + Vprocess_enviroment. + + * fileio.c: replaced egetenv("HOME") with calls to the new + get_home_directory(). + + * lisp.h: Added function prototypes for uncache_home_directory() + and get_home_directory(), along with lisp prototypes for + Fuser_home_directory() and friends. + + * nt.c: replaced getenv("HOME") with calls to the new + get_home_directory(). + + * sysfile.h: for WINDOWSNT, #include , to suppress + warnings about getcwd(), etc. not having prototypes. + +1998-05-28 Kirill M. Katsnelson + + * process-nt.c (send_signal): Emulate SIGHUP. + (validate_signal_number): Ditto. + + * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Unconditionally + remove MOD_SHIFT from ASCII characters. + (mswindows_wnd_proc, WM_KEYDOWN): Do not activate the menubar when + F10 is pressed. + +1998-05-24 Oliver Graf + + * frame-x.c (cde-start-drag-internal): added filename and multi- + data transfers + (x_cde_convert_callback) dito + +1998-05-26 Oliver Graf + + * frame-x.c: include event-mod.h also with CDE + (x_cde_convert_callback) made the thing working + (cde-start-drag-internal) also debugging + +1998-05-25 Hans Guenter Weigand + + * m/sparc.h: + * getloadavg.c: + * malloc.c: + * unexec.c: + * mem-limits.h: + - add __OpenBSD__ where __NetBSD__ was found. + - TODO: replace platform-specific conditional compilation by + feature tests in configure.in. + +1998-05-15 Greg Klanderman + + * window.c (Fwindow_displayed_text_pixel_height): New function. + (syms_of_window): DEFSUBR it. + + * indent.c (Fvertical_motion_pixels): New function - request + movement in pixels. + (vmotion_pixels): helper. + (syms_of_indent): DEFSUBR. + * lisp.h: declaration for vmotion_pixels(). + + * indent.c (Fvertical_motion): Add optional third argument PIXELS, + to request returning motion in pixels. + (Fvertical_motion_pixels): Remove, functionality merged into + Fvertical_motion. + * window.c (window_scroll): call Fvertical_motion with 3 arguments. + (Fmove_to_window_line): ditto. + * lisp.h: Change declaration for Fvertical_motion. + + * window.c: rename window-text-pixel-{height,width,edges} to + window-text-area-pixel-*. + +1998-05-26 Gunnar Evermann + + * tooltalk.c (vars_of_tooltalk) added staticpro for + Tooltalk_Message_plist_str and Tooltalk_Pattern_plist_str + +1998-05-27 Andy Piper + + * faces.c: create a new 3d_object_face, make modeline and + vertical_divider faces fallback to this rather than the default. + +1998-05-21 Andy Piper + + * s/cygwin32.h: define charsets for cygwin. + +1998-05-25 Andy Piper + + * toolbar-msw.c (mswindows_output_toolbar): fix up button sizes + and coordinates. resize bitmaps if we have already settled on a + different size. + + * glyphs-msw.c (xpm_to_eimage): add ';' for mswindows compiler. + +1998-05-25 Hrvoje Niksic + + * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto. + + * menubar-msw.c (mswindows_handle_wm_command): Ditto. + + * gui.h: Ditto. + + * gui-x.c (popup_selection_callback): Ditto. + + * dialog-msw.c (dialog_proc): get_callback -> get_gui_callback. + + * gui.c (get_callback): Renamed to get_gui_callback. + +1998-05-17 Martin Buchholz + + * glyphs.h: order rearrangement. + + * device-tty.c (tty_asynch_device_change): Warning suppression. + * device-x.c (x_device_system_metrics): Warning suppression. + Make Doc strings consistent with coding standards. + +1998-05-24 Martin Buchholz + + * general.c: multiple definition of `Qicon'. general.c seems + like a good home for Qicon. + +1998-05-20 Kirill M. Katsnelson + + * This patch is to fix compilation warnings under Windows. + + * s/windowsnt.h: Encapsulate getpid with sys_getpid. + Added prototypes for FSF inherited functions, with which XEmacs is + sprinkled thoroughly. + Removed some #if 0 code. Bracketed some more definitions, probably + related to Visual C versions prior to 4 (we do not support them). + + * sysfloat.h (logb): Finally, get logb() prototyped. + + * sysfile.h: Added Windows specific includes. + Removed old Windows specific code bracketed with #if 0. + + * sysdep.h: Added prototype for xrealpath(). + + * sysdep.c (sys_getpid): Added function, to support '95 negative pids. + + * symsinit.h: Added prototypes for syms_of_dired_mswindows, + vars_of_dired_mswindows and init_ntproc (Grrr). + + * realpath.c: Added Windows specific include files. + (xrealpath): Conditionalized declaration of some auto variables on + S_IFLNK, to avoid warnings. + + * ntproc.c: Disabled some compiler warnings. This file is going to + die, so I have not cleaned it up much. + (set_process_dir): Const parameter. + (Fwin32_short_file_name): Down CHECK_* macros to one argument. + (Fwin32_long_file_name): Ditto. + (Fwin32_set_process_priority): Ditto. Why didn't I remove these + three functions? + + * nt.h: Added prototypes for set_process_dir and convert_time. + + * nt.c: More include files. + (getpwnam): Consted char* argument. + (get_emacs_configuration): Const return value. + (opendir): Const argument. + (stat): Casted converstion long->short. + (stat): Removed ad hoc and questionable support for non-MSC compile. + (sys_pipe): Removed unused auto variable. + (_sys_read_ahead): Removed calls to DebPrint. + (sys_read): Ditto, in 2 places. + (term_ntproc): Added unused int parameter to signal handler, to + avoid a warning when compiling a call to signal(). + (msw_sigset): Properly return old signandler or NULL instead of void. + + * floatfns.c (Flogb): Casted arguments to unary minus to signed. + + * gmalloc.c (morecore): Ditto. + (_free_internal): Ditto. + + * lread.c (parse_integer): Ditto. + + * dired-msw.c: Added several include files. + + * cmdloop.c (Fcommand_loop_1): Added Microsoft C to the Big List + of Compilers to Shut Up. + + * callproc.c: Added #includes to suppress warnings under Windows. + (init_callproc): Removed #if0'ed code and unused variables. + +1998-05-25 Andy Piper + + * device-msw.c (mswindows_device_system_metrics): do planes in a + way consistent with X. + + * glyphs-msw.c (mswindows_initialize_image_instance_mask): don't + use SetPixel, use DIBits functions. + (xpm_to_eimage): frob colors more closely like xpm deos. + + * toolbar-msw.c: only resize bitmaps when shrinking. Adjust look + to be closer to X version. + + * event-msw.c: use tooltip string directly. + + * redisplay-msw.c: reinstate Kirill's bg pixmap change. + + * objects-msw.c: frob rgb colors that only Kyle uses. + + * dialog-msw.c (button_width): INLINE -> inline. + +1998-05-23 SL Baur + + * getloadavg.c (getloadavg): Fix typo. + +1998-05-23 Kirill M. Katsnelson + + * objects-msw.c (mswindows_initialize_font_instance): Added support + for font character sets. + Replaced 'XXX' with '####' in comments throughout the file. + +1998-05-23 Kirill M. Katsnelson + + * emacs.c (main_1): Added calls to vars_of_dialog_mswindows() and + console_type_create_dialog_mswindows(), to initialize Windows dialog + support. + + * symsinit.h: Prototyped the above functions. + + * dialog-x.c (x_popup_dialog_box): Moved dialog descriptor consistency + checks to dialog.c... + + * dialog.c (Fpopup_dialog_box): ...right here. Added more checks: a + device must support dialog boxes, and the descriptor must supply at + least one button. + + * dialog-msw.c: New file, dialogs for Windows. + +1998-05-21 Oscar Figueiredo + + * eldap.c (ldap_search_unwind): Return Qnil instead of nothing + (Fldap_search_internal): Removed unused variable `err' + + * eldap.h: Moved Lisp_LDAP declaration here instead of using a + forward declaration + +1998-05-17 Martin Buchholz + + * eldap.h: eldap.[ch] should never be used unless HAVE_LDAP is + defined. Therefore there is no need to handle the case when + HAVE_LDAP is undefined. Similarily, there is no reason to have + any code wrapped within `#ifdef emacs', since this code is only + useful within an emacs. This simplifies the code significantly. + + * inline.c: Include eldap.h only if HAVE_LDAP. + * inline.c: Don't bother including TT_C_H_PATH, since tooltalk.h + already does that. + +1998-05-21 Kirill M. Katsnelson + + * unexnt.c (copy_executable_and_dump_data_section): Suppress + printing dump stats when building without DEBUG_XEMACS. + (dump_bss_and_heap): Ditto. + +1998-05-21 Andy Piper + + * gnuclient.c: don't suppress window system if there is no display + and we are running under mswindows. send 'mswindows device type if + we are in this situation. + +1998-05-20 Andy Piper + + * general.c: + * lisp.h: Qbitmap, Qcursor, Qicon moved here from glyphs-msw.c. + + * glyphs-msw.c: change cursor imgae type name to resource. Fix + some nits. + +1998-05-20 Kirill M. Katsnelson + + * EmacsFrame.c (Xt_StringToScrollBarPlacement): Added support for + {top,bottom}-{left,right} values in addition to + {top,bottom}_{left,right}. + +1998-05-18 Hrvoje Niksic + + * fileio.c (Fmake_temp_name): Remove unreached code. + + * process-nt.c (validate_signal_number): Use + signal_simple_error(). + +1998-05-19 Martin Buchholz + + * unexhp9k800.c: + * sound.c (vars_of_sound): + * sysdep.c (reset_sigio_on_device): + * window.c (window_bottom_gutter_height): + unexhp9k800.c:258: warning: implicit declaration of function + `calculate_checksum' + sound.c:604: warning: implicit declaration of function `vars_of_hpplay' + sysdep.c:1012: warning: unused variable `owner' + window.c:993: warning: `window_right_toolbar_width' defined but not used + +1998-05-19 Andy Piper + + * glyphs-msw.c (mswindows_create_resized_mask) + (mswindows_create_resized_bitmap): new funnctions split out from + mswindows_resize_dibitmap_instance. + + * glyphs-msw.h: declare new resize functions. + + * toolbar-msw.c (mswindows_output_toolbar): use new bitmap resize + functions so that the original bitmaps are preserved. + + * sheap.c: fixup static heap exhausted error to avoid FAQs. + + * redisplay-msw.c (mswindows_output_blank): fixup brush from bg + color if we are trying to output 0 depth bg pixmap. + + * scrollbar-msw.c: warning elimination. + +1998-05-18 Martin Buchholz + + * frame-x.c (x_update_frame_external_traits): Start preprocessor + directives in column 1. + + * search.c (skip_chars): Avoid using xzero with arrays, since some + compilers get confused by the construct &array. + +1998-05-18 Kirill M. Katsnelson + + * objects-msw.h: + * objects-msw.c: Changed the charset value for a new font from + "don't care" to "ansi". + + * glyphs-msw.c (convert_EImage_to_DIBitmap): Warnings fix. + +1998-05-18 Kirill M. Katsnelson + + * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Do not clear shift + modifier on control chars. + Use IsCharAlpha() instead of isaplha(). + +1998-05-19 Kazuyuki IENAGA + + * s/freebsd.h: FreeBSD 2.2.6 now supports setlocale(LC_ALL, ""). + +1998-05-18 Kirill M. Katsnelson + + * objects-msw.c (mswindows_initialize_font_instance): Use ANSI + charset when creating font. + (mswindows_initialize_color_instance): Do not create brush along + with a color. + (mswindows_finalize_color_instance): Do not delete it then. + + * objects-msw.h (struct mswindows_color_instance_data): Removed + brush slot, and corresponding accessor macro. + +1998-05-18 Kirill M. Katsnelson + + * toolbar.c: Removed toolbar_data lrecord implementation. + (mark_frame_toolbar_buttons_dirty): Replase usage of toolbar_data + with toolbar_buttons (via FRAME_TOOLBAR_BUTTONS). + (compute_frame_toolbar_buttons): Ditto. + (CHECK_TOOLBAR): Ditto. + (set_frame_toolbar): Removed allocation of toolbar_data lrecord. + (update_frame_toolbars): Do not check for changed buffer + here. Toolbar information is provided by cached specs in + windows. The check for buffer is eliminated becuase toolbars are + marked changed in set_frame_selected_window() in frame.c + Added check for changed toolbars geometry. + (compute_frame_toolbars_data): Removed unused second parameter; + Adjusted callers of this static function throughout the file. + (init_frame_toolbars): Initialize current_toolbar_size. + (update_frame_toolbars): Use DEVICE_SUPPORTS_TOOLBARS_P instead of + what is its current expansion, for clarity. + (init_frame_toolbars): Ditto. + (init_device_toolbars): Ditto. + (init_global_toolbars): Ditto. + + * toolbar.h: Removed definition of toolbar_data lrecord. + Added accessor macros FRAME_TOOLBAR_BUTTONS and + FRAME_CURRENT_TOOLBAR_SIZE. + Added macro DEVICE_SUPPORTS_TOOLBARS_P. + + * toolbar-x.c (x_output_toolbar): The same change as in + toolbar-msw.c + (x_output_toolbar): Ditto. + (x_redraw_exposed_toolbar): Ditto. + + * toolbar-msw.c (mswindows_output_toolbar): Retrieve current + buttons from toolbar_buttons using FRAME_TOOLBAR_BUTTONS macro. + (mswindows_output_toolbar): Ditto. + (mswindows_output_toolbar): Ditto. + + * frame.c (mark_frame): Removed marking of arrays, according to + frameslots.h change. + (nuke_all_frame_slots): Ditto. + (set_frame_selected_window): Mark toolbars changed when + last_nonminibuf_window changes. + + * frame.h (struct frame): Moved some slots to frameslots.h. + Added current_toolbar_size array. + Changed references from toolbar_data to toolbar_buttons in macros + FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE, + FRAME_RAW_THEORETICAL_TOOLBAR_SIZE and + FRAME_RAW_THEORETICAL_TOOLBAR_BORDER_WIDTH. + + * frameslots.h: Added macro MARKED_SLOT_ARRAY a la winslots.h + Moved arrays of lisp objects here from frame.h: toolbar_size, + toolbar_visible_p, toolbar_border_width. + Removed toolbar_data slot and added toolbar_buttons. + +1998-05-17 Kirill M. Katsnelson + + * symsinit.h: Externed syms_of_process_nt() + + * emacs.c (main_1): Call syms_of_process_nt() + + * process-nt.c: Quote process arguments by a call to Lisp function + `nt-quote-process-args'. + (syms_of_process_nt): New function. + (nt_send_process): Flush data stream after each write, to avoid + leaving buffered data. + (nt_send_process): When blocked on process output, wait for + process to slurp more for progressively increasing time intervals. + +1998-05-17 Martin Buchholz + + * window.c (have_undivided_common_edge): Make file-local function + static. + (map_windows): Return 0 if all map functions successful. + Fix typos. + + * winslots.h: Use unlikely names for local variables in macros to + avoid shadowing warnings. + +1998-05-17 Andy Piper + + * toolbar-msw.c (mswindows_output_toolbar): hash on toolbar width + so that we re-output if the toolbar size has changed. + +1998-05-17 Michael Sperber [Mr. Preprocessor] + + * s/aix4-2.h (ALIGN_DATA_RELOC): Undefined to support new unexaix.c. + + * s/aix3-1.h (ALIGN_DATA_RELOC): Defined to support new unexaix.c. + + * unexaix.c: Massive cleanup and support of AIX 4.2 (and hopefully + greater). + +1998-05-16 Kirill M. Katsnelson + + * glyphs-msw.c: Defined OEMRESOURCE before including windows.h to + get bitmap manifest constants defined. + + * console-msw.h: Include system files in angle brackets, not in + quotes. + + * window.c (specifier_vars_of_window): Fixed a typo in + `vertical-divider-line-width' docstirng. + +1998-05-16 Olivier Galibert + + * line-number.c (delete_invalidate_line_number_cache): Use an + EMACS_INT. + (buffer_line_number): Remove dangerous, plain wrong when using + 64bits emacs ints, cast. + + * insdel.c (buffer_delete_range): Use an EMACS_INT. + + * cmds.c (Fforward_line): Use EMACS_INTs. + + * search.c (bi_scan_buffer): Change to use EMACS_INTs. + (scan_buffer): Ditto. + (bi_find_next_newline_no_quit): Remove useless cast. + (find_next_newline_no_quit): Ditto. + (find_next_newline): Ditto. + (find_before_next_newline): Use an EMACS_INT. + + * lisp.h: Change scan_buffer to pass EMACS_INTs. + +1998-05-16 Hrvoje Niksic + + * menubar-msw.c (mswindows_handle_wm_command): Ditto. + + * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto. + + * gui-x.c (popup_selection_callback): Use it. + + * gui.h (get_callback): Declare it. + + * gui.c (get_callback): New function. + +1998-05-15 SL Baur + + * window.c (have_undivided_common_edge): Guard scrollbar specific + stuff. + (window_needs_vertical_divider_1): Ditto. + +1998-05-16 Hrvoje Niksic + + * emacs.c (decode_path): Eliminate compiler warning. + (Fdecode_path): Renamed to Fsplit_path. + (Fsplit_string_by_char): New function. + +1998-05-14 Damon Lipparelli + + * winslots.h: close comment + +1998-05-16 Kirill M. Katsnelson + + * callproc.c: Removed declared and unused variable Qbuffer_file_type. + + * bufslots.h: Removed buffer_file_type slot. + + * buffer.c (complex_vars_of_buffer): Removed buffer_file_type from + buffer local flags. + (complex_vars_of_buffer): Removed buffer-file-type variable and + its default reference. + +1998-05-15 Kirill M. Katsnelson + + * faces.c (complex_vars_of_faces): Defined + Vvertical_divider_face. + (vars_of_faces): Staticpro it. + + * faces.h: Externed Vvertical_divider_face. + + * redisplay-x.c (x_output_vertical_divider): Use + Vvertical_divider_face to draw the divider instead of modeline + face. + + * redisplay-msw.c (mswindows_output_vertical_divider): Draw + divider face using Vvertical_divider_face background. + Fix drawing spacing gaps around the divider. + +1998-05-14 Didier Verna + + * redisplay-x.c (x_output_vertical_divider): removed hard-wired + values for the vertical divider line width and spacing. Use the + cached values from the window structure instead. + (x_divider_width): ditto. + + * window.c (specifier_vars_of_window): new specifiers: + vertical-divier -line-width and -spacing. + (vertical_divider_global_width_changed): formerly known as + vertical_divider_shadow_thickness_changed. + + * winslots.h: new slots: vertical_specifier _line_width and + _spacing. Plus corrected a comment typo. + +1998-05-15 Kirill M. Katsnelson + + * window.h: Declared window_divider_width(). + + * console-stream.c (stream_divider_width): Removed method. + (console_type_create_stream): And declaration for it. + + * redisplay.c (pixel_to_glyph_translation): Use + window_divider_width() instead of divider_width redisplay method. + (pixel_to_glyph_translation): Fix top divider edge calculation + when scrollbar is on top. + + * window.c (window_divider_width): New function, an outphaser for + divider_width redisplay method. + (window_right_gutter_width): Use it. + (specifier_vars_of_window): For vertical-divider-{spacing,line-width} + specifiers, set fallback values differently on TTYs, and document + the behavior of these on TTYs in the docstrings. + + * scrollbar.c (update_scrollbar_instance): Use + window_divider_width() instead of divider_width redisplay method. + + * console.h (struct console_methods): Removed divider_width_method. + + * redisplay-tty.c (tty_divider_width): Removed device method. + (console_type_create_redisplay_tty): Removed definition for it. + (tty_output_vertical_divider): Respect the value returned by + window_divider_width thus divider line width specification. + + * redisplay-msw.c (mswindows_divider_width): Removed device method. + (console_type_create_redisplay_mswindows): Removed definition for it. + (mswinodws_output_vertical_divider): Respect the value returned by + window_divider_width thus divider line width specification. + +1998-05-15 Andy Piper + + * toolbar-msw.c: guess toolbar frame size a bit more accurately. + +1998-05-15 Andy Piper + + * glyphs-msw.c: resource loading implementation. + (cursor_normalize): new function. + (cursor_validate): ditto. + (cursor_instantiate): ditto. + (cursor_name_to_resource): ditto. + (cursor_possible_dest_types): ditto. + (check_valid_symbol): ditto. + (check_valid_string_or_int): ditto. + +1998-05-14 Martin Buchholz + + * sysdep.c (tty_init_sys_modes_on_device): Treat VSUSP just like + VINTR and VQUIT. + + * process-unix.c (process_signal_char): Use VSUSP instead of + non-standard VSWTCH. Always prefer VSUSP to VSWTCH. + +1998-05-14 Kirill M. Katsnelson + + * specifier.c (specifier_instance): Change locale precedence of + instantiation so window locale has higher priority than buffer + locale. + (Fspecifier_instance): Reflect this in docstring. + (Fadd_spec_list_to_specifier): Ditto. + (Fadd_spec_to_specifier): Ditto. + (Fremove_specifier): Ditto. + +1998-05-15 Kirill M. Katsnelson + + ** Dialog separation into a device method from Andy Piper + + * emacs.c (main_1): Call console_type_create_dialog_x(). + + * dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted + into this device method. + (console_type_create_dialog_x): New function. + + * dialog.c (Fpopup_dialog_box): New function. + (syms_of_dialog): Defsubr it. + + * console.h (struct console_methods): Declared + popup_dialog_box_method(). + + * symsinit.h: Defined console_type_create_dialog_{x,mswindows} + +1998-05-14 Oliver Graf + + * dragdrop.c (vars_of_dragdrop): dragdrop-protocols created + * frame-x.c (x_cde_transfer_callback): checked for merge errors + +1998-05-13 Oliver Graf + + * dragdrop.c (vars_of_dragdrop): provide dragdrop-api + +1998-05-15 Kirill M. Katsnelson + + * console.h (device_metrics): Removed dbcs, input-method-editor + and right-to-left metrics. + + * device.c (Fdevice_system_metric): Ditto. + (Fdevice_system_metrics): Ditto. + (syms_of_device): Ditto. + (Fdevice_system_metric): Swapped DEVICE and METRIC parameters back + again. + +1998-05-14 Hrvoje Niksic + + * line-number.h (mark_line_number_cache): Remove unused + declaration. + + * line-number.c (LINE_NUMBER_FAR): Increase to 32768. + (get_nearest_line_number): Simplify. + (add_position_to_cache): Make the old marker point nowhere. + +1998-05-14 Kirill M. Katsnelson + + ** Renamed window-divider-map => vertical-divider-map + and event-over-divider-p => event-over-vertical-divider-p, + in the following files/functions: + * events.h: + * events.c (Fevent_over_divider_p): + * keymap.c (get_relevant_keymaps): + (vars_of_keymap): + + * redisplay.h (OVER_V_DIVIDER): Renamed so from OVER_DIVIDER. + + * redisplay.c (pixel_to_glyph_translation): Use OVER_V_DIVIDER. + +1998-05-14 Kirill M. Katsnelson + + * window.c (vertical_divider_changed_in_window): Renamed so. + (specifier_vars_of_window): Defined Vvertical_divider_draggable_p. + (window_needs_vertical_divider_1): Decide whether we need it based + on the value of the above specifier. If separators are unwanted, + put them only if there's no scrollbar between this window and its + right neighbor. + (have_undivided_common_edge): New function, helper for the above. + (window_needs_vertical_divider): Return either a cached value, + or clauclate and cache one. + (invalidate_vertical_divider_cache_in_window): Implemented. + (map_windows): Changed return type to int, return the value from + MAPFUN. + + * window.h: Prototype invalidate_vertical_divider_cache_in_window. + (struct window): Added need_vertical_divider_p and + need_vertical_divider_valid_p. + + * winslots.h: Added vertical_divider_draggable_p slot. + + * scrollbar.c (vertical_scrollbar_changed_in_window): Implemented. + (specifier_vars_of_scrollbar): Used it in all vertical specifiers. + + * frame.c (invalidate_vertical_divider_cache_in_frame): New function. + + * frame.h (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): Call + invalidate_vertical_divider_cache_in_frame(). + Prototype it. + +1998-05-14 Andy Piper + + * toolbar-msw.c: provide correct parameters to TB_SETROWS. + + * glyphs-msw.c (mswindows_initialize_image_instance_mask): size + masks correctly and don't select 0. + +1998-05-14 Kirill M. Katsnelson + + * winslots.h: New file, declaration of some struct window and + struct saved_window members. + + * window.h (struct window): Include it, with required preprocessor + magic. + + * window.c (mark_window): Ditto. + (allocate_window): Ditto. + (struct saved_window): Ditto. + (mark_window_config): Ditto. + (saved_window_equal): Ditto. + (Fset_window_configuration): Ditto. + +1998-05-14 Kirill M. Katsnelson + + * redisplay-msw.c (mswindows_output_vertical_divider): Syntax fix. + +1998-05-12 Didier Verna + + * redisplay-x.c (x_output_vertical_divider): draw shadows around + the divider line. The shadow thickness is currently + hard-wired. This will probably be turned into a specifier soon. + +1998-05-12 Didier Verna + + * console.h (struct console_methods): the divider_width console + method now requires a struct window * argument. + + * redisplay-x.c (x_divider_width): ditto. Plus remove + X_DIVIDER_WIDTH, X_DIVIDER_SHADOW_THICKNESS. + (x_output_vertical_divider): give a depressed look when the shadow + thickness is negative. + + * console-stream.c (stream_divider_width): pass a struct window * + argument. + + * redisplay-tty.c (tty_divider_width): ditto. + + * window.c (window_right_gutter_width): totdi. + + * redisplay.c (generate_modeline): ittod. + + * scrollbar.c (update_scrollbar_instance): ttido. + + * redisplay-msw.c (mswindows_divider_width): ottid. + WARNING: this enables to compile, but the feature is not functional. + + * window.h (struct window): new field + vertical_divider_shadow_thickness. + + * window.c (specifier_vars_of_window): new specifier + vertical-divider-shadow-thickness. + (vertical_divider_shadow_thickness_changed): new function to + inform redisplay that the window has changed. + (mark_window): handle new field vertical_divider_shadow_thickness + from struct window. + (allocate_window): ditto. + (saved_window_equal): toddi. + (Fset_window_configuration): totid. + (save_window_save): ttdio. + (struct saved_window): new field vertical_divider_shadow_thickness. + +1998-05-14 Kirill M. Katsnelson + + * device-msw.c (mswindows_device_system_metrics): Support a deluge + of metrics. + +1998-05-12 Oliver Graf + + * frame-x.c (x_cde_transfer_callback): fixed for the new protocol + * event-Xt.c (x_event_to_emacs_event): C++ compability + +1998-05-14 Hrvoje Niksic + + * emacs.c (Fdecode_path): Default SEPCHAR to value of + path-separator. + +1998-05-14 Hrvoje Niksic + + * emacs.c (vars_of_emacs): Do it here; change the meaning of + Vpath_separator. + + * fileio.c (vars_of_fileio): Don't define Vpath_separator here. + +1998-05-14 Hrvoje Niksic + + * emacs.c (decode_path_1): New function. + (decode_path): Use it. + (Fdecode_path): Renamed from Fdecode_path_internal; use + decode_path_1. + +1998-05-12 Hrvoje Niksic + + * macros.c (Fzap_last_kbd_macro_event): New function. + (Fend_kbd_macro): Remove REMOVE_LAST kludge. + +1998-05-10 Andy Piper + + * redisplay-msw.c (mswindows_output_dibitmap_region): make sure + multiple bitmaps are output vertically as well as horizontally. + * (mswindows_output_dibitmap): don't cope with bitmap boundaries + crossing lines this is handled by + mswindows_output_dibitmap_region. + +1998-05-12 Martin Buchholz + + * inline.c: Include eldap.h + + * menubar-x.c (x_update_frame_menubar_internal): + Remove: unused variable `container' + +1998-05-11 Martin Buchholz + + * s/aix4.h: Allow AIX 4.3 XEmacs to compile cleanly. + Unfortunately, the resulting temacs still cannot dump. + + * symbols.c (symbol_is_constant): + (verify_ok_for_buffer_local): + -Wswitch Warning suppression - add default case to switches. + + * redisplay.c (decode_mode_spec): Remove unused variables, + Replace Fcoding_system_property (codesys, Qmnemonic) with + XCODING_SYSTEM_MNEMONIC (codesys); + Fcoding_system_property is for users. + + * buffer.c: + * fileio.c: + * lread.c: + * xselect.c: + Change empty docstrings into no doc strings at all. + Fix bogus FSF-format docstrings. + + * extents.c: + Standardize docstrings. + + * floatfns.c: + Explain problems with matherr. + + * glyphs.c: make DEFUNs etags-readable, i.e. single-line + + * syssignal.h: + if BROKEN_SIGIO, then SIGIO wants to be undefined. + if SIGIO and not SIGPOLL, SIGPOLL wants to be SIGIO.\ + Fix the weird resultant interaction (causes windows problems) + + * gdbinit: + * dbxrc: + Take new EMACSBOOTSTRAPLOADPATH into account. + Update documentation strings + + * Makefile.in.in: + - Adjust for luser's CDPATH being set to something weird. + - Take into account bash 2.02's tendency to print the cwd when + using CDPATH. Always use `cd ./foo' instead of `cd foo'. + - fix the run-temacs target to use $(DUMPENV) + - fix the run-puremacs target to use $(DUMPENV) + - fix the `depend' target to properly $(RM) the right files + - Generate a better TAGS file for XEmacs' lisp code using + hand-crafted regexps. + - Use standard coding conventions for modules/Makefile.in + +1998-05-12 Didier Verna + + * redisplay.c: removed the scrolling modeline code that didn't + make it for 21.0. To be continued ... + +1998-05-13 Michael Sperber [Mr. Preprocessor] + + * emacs.c (Fdecode_path_internal): Removed bogus handling of nil + and empty string inputs. + +1998-05-12 Hrvoje Niksic + + * redisplay-x.c (x_output_vertical_divider): Fixed typo. + +1998-05-10 Oliver Graf + + * event-stream.c (enqueue_misc_user_event_pos): created + * lisp.h (enqueue_misc_user_event_pos): prototype added + * frame-x.c (x_cde_transfer_callback): debug code plus API changes + * emacs.c: call vars_of_dragdrop + * dragdrop.c (vars_of_dragdrop): provide dragdrop + +1998-05-11 Oliver Graf + + * frame-x.c (x_cde_transfer_callback): return at correct pos + * event-Xt.c (x_event_to_emacs_event): changed format of drop + object for MIME (see comment in dragdrop.c) + * dragdrop.c: API change documented in comment + removed provide of dragdrop [is provided by dragdrop.el] + +1998-05-12 Kirill M. Katsnelson + + * window.c (window_needs_vertical_divider): Enable vertical + dividers for every non-rightmost window. + (window_left_gutter_width): Left gutter consists of mythical + toolbar and a virtual scrollbar. + (window_right_gutter_width): The right one may have a divider + also. + + * scrollbar.c (update_scrollbar_instance): Position vertical + scrollbar left to divider if the latter present. + + * redisplay.h: Declared OVER_DIVIER constant. + + * redisplay.c (pixel_to_glyph_translation): Handle OVER_DIVIDER + case. + + * redisplay-x.c (x_output_vertical_divider): Output divider along + the right side of the window, down to window bottom. Swapped + foreground and background colors so it is visible by default. + + * redisplay-tty.c (tty_output_vertical_divider): Uncondiionally + stick the divider to the right window side. + + * redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Fixed + deadbox painting. + (mswindows_divider_width): Ask system for user preferred value. + (mswindows_output_vertical_divider): Always output the divider on + the right side of a window, down to bottom. + + * keymap.c (get_relevant_keymaps): Route mouse button events which + happened over a window divider through window-divider-map. + (Fkey_binding): Documented that in the docstring. + Defined the variable Vwindow_divider_map. + + * events.c (Fevent_over_divider_p): Added this function. + + * events.h: EXFUNed it. + +1998-05-12 Kirill M. Katsnelson + + * toolbar.c (update_frame_toolbars): Re-layout frame windows if + toolbar geometry is suspected to change. + +1998-05-11 Jonathan Harris + + * src/device-msw.c + * src/event-msw.c + Condition dnd and dde code on HAVE_DRAGNDROP. + +1998-05-11 Hrvoje Niksic + + * events.c (format_event_object): Print space as SPC etc. + +1998-05-11 Hrvoje Niksic + + * print.c (print_internal): In the default case, abort() if + ERROR_CHECK_TYPECHECK. + + * fileio.c (Fmake_temp_name): Doc fix. + +1998-05-10 Hrvoje Niksic + + * xgccache.c (describe_gc_cache): Define only if DEBUG_XEMACS. + + * undo.c (Fprimitive_undo): Fixed typo. + +1998-05-11 Hrvoje Niksic + + * fns.c (concat): Signal error on integer argument. + +1998-05-10 Kirill M. Katsnelson + + * console.h (device_metrics): Prefixed each constatnt with DM_ + + * device.c: (Fdevice_system_metric): Renamed so from plural form + (metrics); Changed parameters order and added DEFAULT parameter; + Unabbreviated some metric constants; Fixed and untabified doc string. + (Fdevice_system_metrics): Added. Returns a plist of all provided + metrics. + + * device-msw.c (mswindows_device_system_metrics): Renamed + device_metrics enum constants. + Return Qunbound instead of Qnil. + + * device-tty.c (tty_device_system_metrics): Ditto. + + * device-x.c (x_device_system_metrics): Ditto. + +1998-05-10 Andy Piper + + * redisplay-msw.c: implement background pixmaps (really!). Make + sure bg color is transparent if we have bg pmaps. + * (mswindows_output_string) (mswindows_clear_region): output bg + pmap if required. + * (mswindows_output_dibitmap_region): new function. + * (mswindows_output_dibitmap): output offset pixmaps, blt masks in + the bg color rather than transparently. + + * toolbar-msw.c: use masks if they exist. + + * glyphs-msw.c: set up masks correctly. + + * event-msw.c: typedef SOCKET if cygwin and not msg select(). + +1998-05-10 Hrvoje Niksic + + * regex.c (re_match_2_internal): Check for quit. + +1998-05-10 Hrvoje Niksic + + * frame.c (Ffocus_frame): New function. diff --git a/tests/automated/syntax-tests.el b/tests/automated/syntax-tests.el new file mode 100644 index 0000000..e848e11 --- /dev/null +++ b/tests/automated/syntax-tests.el @@ -0,0 +1,102 @@ +;; Copyright (C) 1999 Free Software Foundation, Inc. + +;; Author: Yoshiki Hayashi +;; Maintainer: Yoshiki Hayashi +;; Created: 1999 +;; Keywords: tests + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Synched up with: Not in FSF. + +;;; Commentary: + +;; Test syntax related functions. +;; Right now it tests scan_words using forward-word and backward-word. +;; See test-harness.el for instructions on how to run these tests. + +;;; Notation +;; W: word constituent character. +;; NW: non word constituent character. +;; -!-: current point. +;; EOB: end of buffer +;; BOB: beginning of buffer. + +;; Algorithm of scan_words is simple. It just searches SW and then +;; moves to NW. When with MULE, it also stops at word boundary. Word +;; boundary is tricky and listing all possible cases will be huge. +;; Those test are omitted here as it doesn't affect core +;; functionality. + +(defun test-forward-word (string stop) + (goto-char (point-max)) + (let ((point (point))) + (insert string) + (goto-char point) + (forward-word 1) + (Assert (eq (point) (+ point stop))))) + +(with-temp-buffer + ;; -!- W NW + (test-forward-word "W " 1) + (test-forward-word "WO " 2) + ;; -!- W EOB + (test-forward-word "W" 1) + (test-forward-word "WO" 2) + ;; -!- NW EOB + (test-forward-word " " 1) + (test-forward-word " !" 2) + ;; -!- NW W NW + (test-forward-word " W " 2) + (test-forward-word " WO " 3) + (test-forward-word " !W " 3) + (test-forward-word " !WO " 4) + ;; -!- NW W EOB + (test-forward-word " W" 2) + (test-forward-word " WO" 3) + (test-forward-word " !W" 3) + (test-forward-word " !WO" 4)) + +(defun test-backward-word (string stop) + (goto-char (point-min)) + (insert string) + (let ((point (point))) + (backward-word 1) + (Assert (eq (point) (- point stop))))) + +(with-temp-buffer + ;; NW W -!- + (test-backward-word " W" 1) + (test-backward-word " WO" 2) + ;; BOB W -!- + (test-backward-word "W" 1) + (test-backward-word "WO" 2) + ;; BOB NW -!- + ;; -!-NW EOB + (test-backward-word " " 1) + (test-backward-word " !" 2) + ;; NW W NW -!- + (test-backward-word " W " 2) + (test-backward-word " WO " 3) + (test-backward-word " W !" 3) + (test-backward-word " WO !" 4) + ;; BOB W NW -!- + (test-backward-word "W " 2) + (test-backward-word "WO " 3) + (test-backward-word "W !" 3) + (test-backward-word "WO !" 4))