diff options
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 8cf269680de..62737994747 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,75 @@ | |||
| 1 | 2015-01-05 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Compute C decls for DEFSYMs automatically | ||
| 4 | Fixes Bug#15880. | ||
| 5 | This patch also makes Q constants (e.g., Qnil) constant addresses | ||
| 6 | from the C point of view. | ||
| 7 | * alloc.c, bidi.c, buffer.c, bytecode.c, callint.c, casefiddle: | ||
| 8 | * casetab.c, category.c, ccl.c, charset.c, chartab.c, cmds.c, coding.c: | ||
| 9 | * composite.c, data.c, dbusbind.c, decompress.c, dired.c, dispnew.c: | ||
| 10 | * doc.c, editfns.c, emacs.c, eval.c, fileio.c, fns.c, font.c, fontset.c: | ||
| 11 | * frame.c, fringe.c, ftfont.c, ftxfont.c, gfilenotify.c, gnutls.c: | ||
| 12 | * image.c, inotify.c, insdel.c, keyboard.c, keymap.c, lread.c: | ||
| 13 | * macfont.m, macros.c, minibuf.c, nsfns.m, nsfont.m, nsimage.m: | ||
| 14 | * nsmenu.m, nsselect.m, nsterm.m, print.c, process.c, profiler.c: | ||
| 15 | * search.c, sound.c, syntax.c, term.c, terminal.c, textprop.c, undo.c: | ||
| 16 | * window.c, xdisp.c, xfaces.c, xfns.c, xftfont.c, xmenu.c, xml.c: | ||
| 17 | * xselect.c, xsettings.c, xterm.c: | ||
| 18 | Remove Q vars that represent symbols (e.g., Qnil, Qt, Qemacs). | ||
| 19 | These names are now defined automatically by make-docfile. | ||
| 20 | * alloc.c (init_symbol): New function. | ||
| 21 | (Fmake_symbol): Use it. | ||
| 22 | (c_symbol_p): New function. | ||
| 23 | (valid_lisp_object_p, purecopy): Use it. | ||
| 24 | * alloc.c (marked_pinned_symbols): | ||
| 25 | Use make_lisp_symbol instead of make_lisp_ptr. | ||
| 26 | (garbage_collect_1): Mark lispsym symbols. | ||
| 27 | (CHECK_ALLOCATED_AND_LIVE_SYMBOL): New macro. | ||
| 28 | (mark_object): Use it. | ||
| 29 | (sweep_symbols): Sweep lispsym symbols. | ||
| 30 | (symbol_uses_obj): New function. | ||
| 31 | (which_symbols): Use it. Work for lispsym symbols, too. | ||
| 32 | (init_alloc_once): Initialize Vpurify_flag here; no need to wait, | ||
| 33 | since Qt's address is already known now. | ||
| 34 | (syms_of_alloc): Add lispsym count to symbols_consed. | ||
| 35 | * buffer.c (init_buffer_once): Compare to Qnil, not to make_number (0), | ||
| 36 | when testing whether storage is all bits zero. | ||
| 37 | * dispextern (struct image_type): | ||
| 38 | * font.c (font_property_table): | ||
| 39 | * frame.c (struct frame_parm_table, frame_parms): | ||
| 40 | * keyboard.c (scroll_bar_parts, struct event_head): | ||
| 41 | * xdisp.c (struct props): | ||
| 42 | Use XSYMBOL_INIT (Qfoo) and struct Lisp_Symbol * rather than &Qfoo and | ||
| 43 | Lisp_Object *, since Qfoo is no longer an object whose address can be | ||
| 44 | taken. All uses changed. | ||
| 45 | * eval.c (run_hook): New function. Most uses of Frun_hooks changed to | ||
| 46 | use it, so that they no longer need to take the address of a Lisp sym. | ||
| 47 | (syms_of_eval): Don't use DEFSYM on Vrun_hooks, as it's a variable. | ||
| 48 | * frame.c (syms_of_frame): Add defsyms for the frame_parms table. | ||
| 49 | * keyboard.c (syms_of_keyboard): Don't DEFSYM Qmenu_bar here. | ||
| 50 | DEFSYM Qdeactivate_mark before the corresponding var. | ||
| 51 | * keymap.c (syms_of_keymap): Use DEFSYM for Qmenu_bar and Qmode_line | ||
| 52 | instead of interning their symbols; this avoids duplicates. | ||
| 53 | (LISP_INITIALLY, TAG_PTR) | ||
| 54 | (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END, XSYMBOL_INIT): | ||
| 55 | New macros. | ||
| 56 | (LISP_INITIALLY_ZERO): Use it. | ||
| 57 | (enum symbol_interned, enum symbol_redirect, struct Lisp_Symbol) | ||
| 58 | (EXFUN, DEFUN_ARGS_MANY, DEFUN_ARGS_UNEVALLED, DEFUN_ARGS_*): | ||
| 59 | Move decls up, to avoid forward uses. Include globals.h earlier, too. | ||
| 60 | (make_lisp_symbol): New function. | ||
| 61 | (XSETSYMBOL): Use it. | ||
| 62 | (DEFSYM): Now just a placeholder for make-docfile. | ||
| 63 | * lread.c (DEFINE_SYMBOLS): Define, for globals.h. | ||
| 64 | (intern_sym): New function, with body taken from old intern_driver. | ||
| 65 | (intern_driver): Use it. Last arg is now Lisp integer, not ptrdiff_t. | ||
| 66 | All uses changed. | ||
| 67 | (define_symbol): New function. | ||
| 68 | (init_obarray): Define the C symbols taken from lispsym. | ||
| 69 | Use plain DEFSYM for Qt and Qnil. | ||
| 70 | * syntax.c (init_syntax_once): No need to worry about | ||
| 71 | Qchar_table_extra_slots. | ||
| 72 | |||
| 1 | 2015-01-04 Paul Eggert <eggert@cs.ucla.edu> | 73 | 2015-01-04 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 74 | ||
| 3 | 'temacs -nw' should not call missing functions | 75 | 'temacs -nw' should not call missing functions |