diff src/ChangeLog @ 39588:62d7faafb853

*** empty log message ***
author Gerd Moellmann <gerd@gnu.org>
date Fri, 05 Oct 2001 10:13:12 +0000
parents 60435e699582
children ad301d019554
line wrap: on
line diff
--- a/src/ChangeLog	Fri Oct 05 10:12:12 2001 +0000
+++ b/src/ChangeLog	Fri Oct 05 10:13:12 2001 +0000
@@ -14,6 +14,134 @@
 	prefix from charset.
 	(w32_list_synthesized_fonts): Fix argument to alloca.
 
+2001-10-04  Stefan Monnier  <monnier@cs.yale.edu>
+
+	* window.h (MINI_WINDOW_P): Use NILP.
+
+	* coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
+
+	* termhooks.h (struct input_event): Use proper type for `kind'.
+
+2001-10-04  Gerd Moellmann  <gerd@gnu.org>
+
+	This handles unknown keysyms better than before.  For example,
+	after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
+	Emacs formerly completely ignored F5.  With the change, it derives
+	a key symbol from the name of the X keysym, `ccaron' in this case.
+	Reported by Martin Buchholz.
+
+	* xterm.c (XTread_socket): Return a non_ascii_keystroke for
+	unknown keysyms.
+
+	* keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
+	that EVENT->code isn't a function key, use the keysym's name.
+
+2001-10-04  Gerd Moellmann  <gerd@gnu.org>
+
+	FOREACH is a macro that should make it easier to loop over Lisp
+	lists with checks for cycles and proper lists.
+
+	* lisp.h (LIST_END_P, FOREACH): New macros.
+
+2001-10-04  Gerd Moellmann  <gerd@gnu.org>
+
+	On some systems, XtCloseDisplay seems to cause a SIGSEGV when
+	called for a lost connection.  Prevent dumping core in this case.
+	Instead print the X error, and exit.  On user request.
+
+	* xterm.c (error_msg): New variable.
+	(x_fatal_error_signal): New function.
+	(x_connection_closed): Set error_msg.  Install x_fatal_error_signal
+	as fatal_error_signal_hook around the call to XtCloseDisplay.
+
+	* emacs.c (fatal_error_signal_hook): New variable.
+	(fatal_error_signal): Call that function.
+
+2001-10-04  Gerd Moellmann  <gerd@gnu.org>
+
+	With this, Emacs prints how much pure storage it will
+	approximately need in case pure storage overflows while dumping.
+
+	* alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
+	New variables.
+	(init_alloc_once): Initialize new variables.
+	(PURE_POINTER_P): Use new variables.
+	(pure_alloc): If pure storage overflows, allocate from the heap.
+	(check_pure_size): New function.
+	(Fgarbage_collect): Don't GC if pure storage has overflowed.
+
+	* lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
+	(check_pure_size): Add prototype.
+
+	* emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
+
+2001-10-04  Gerd Moellmann  <gerd@gnu.org>
+
+	This adds a post-gc-hook that's run with GC inhibited.
+	Requested by Francois Pinard.  XEmacs has it.  Added to NEWS.
+
+	* alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
+	(syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
+	(Fgarbage_collect): Run post-gc-hook.
+
+2001-10-04  Gerd Moellmann  <gerd@gnu.org>
+
+	This adds `defvaralias' and `indirect-variable'.  Changes not
+	directly related to this feature are there to gain the same
+	performance again as before variable aliases.
+
+	You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
+	code to get and set symbol values, to take defvaralias into account.
+
+	(Note: the new `constant' bit-flag in symbols would make it
+	possible to define arbitrary read-only variables, e.g. with
+	`defconst'.)
+
+	Documentation is in lispref/variables.texi.  Added to NEWS.
+
+	* lisp.h (enum symbol_interned): New enumeration.
+	(struct Lisp_Symbol): Remove member `obarray', add
+	`indirect_variable', `constant', and `interned'.
+	(SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
+	(SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
+	(indirect_variable): Add prototype.
+
+	* print.c (print_preprocess, print_object): Test internedness of
+	symbols differently.
+
+	* lread.c (Fintern, Funintern): Set symbol's interned and constant
+	bit-fields.
+	(init_obarray): Likewise for t and nil.
+
+	* eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
+	(Fdefvaralias): New function.
+	(specbind): Simplify the test if symbol is a constant.
+	(syms_of_eval): Defsubr Fdefvaralias.
+
+	* data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
+	(Qcyclic_variable_indirection): New variable.
+	(Fkeywordp): Check for internedness differently.
+	(Fmakunbound): Simplify the test if symbol is a constant.
+	(indirect_variable, Findirect_variable): New functions.
+	(swap_in_symval_forwarding): If SYMBOL is an alias, use the
+	aliased symbol.
+	(let_shadows_buffer_binding_p): Check for variable aliases.
+	(set_internal): Simplify the test if SYMBOL is a constant.
+	If SYMBOL has a buffer-local value and is an alias, use the aliased
+	symbol instead.
+	(syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
+	Sindirect_variable.
+
+	* bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
+	(Fbyte_code) <varset>: Simplify the test if symbol's value can be
+	set directly.
+
+	* alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
+
+	* abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
+	* minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
+	SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
+
 2001-10-03  Miles Bader  <miles@gnu.org>
 
 	* callproc.c (syms_of_callproc): Explicitly state in the