view etc/TODO @ 27142:f742c86fcc15

(Fgarbage_collect): Return number of live and free strings. (mark_buffer): Remove code in #if 0. (gc_sweep): Ditto. (UNMARK_BALANCE_INTERVALS): Give the macro statement form. (strings_consed): New variable. (allocate_string): Set it. (syms_of_alloc): Add DEFVAR_INT for strings_consed. (Fmemory_use_counts): Return strings_consed. Use Flist. General cleanup in comments etc. Remove conditional compilation for `standalone'. (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): (GC_STRING_BYTES, GC_STRING_CHARS): New macros. (DONT_COPY_FLAG): Removed. (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros. (struct sdata, struct sblock): New (struct string_block): Rewritten. (STRINGS_IN_STRING_BLOCK): New macro. (oldest_sblock, current_sblock, total_strings, total_free_strings) (large_sblocks, string_blocks, string_free_list): New variables. (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros. (init_strings): Rewritten. (allocate_string, allocate_string_data, compact_small_strings) (free_large_strings, sweep_strings): New functions. (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE) (struct string_block_head, current_string_block) (first_string_block, large_string_blocks, STRING_FULLSIZE) (STRING_PAD): Removed. (make_uninit_multibyte_string, make_pure_string): Rewritten. (Fgarbage_collect): Don't set mark bit in large strings. (mark_object): Mark strings differently. Mark symbol names differently. (survives_gc_p): Test marked strings differently. (gc_sweep): Sweep strings differently, unmark strings in symbol names. (compact_strings): Removed.
author Gerd Moellmann <gerd@gnu.org>
date Tue, 04 Jan 2000 12:22:13 +0000
parents e96ffe544684
children e06c6af9d981
line wrap: on
line source

* Implement a clean way to use different major modes for
  different parts of a buffer.

* Give start-process the ability to direct standard-error
  output to a different filter.

* Make compile.el record the markers that point to error loci
  on text properties in the error message lines.

* Make desktop.el save the "frame configuration" of Emacs (in some
  useful sense).

* Make movemail work with IMAP.

* Add ANSI C prototype forward declarations to the source files,
  so that even the functions used within one file have prototypes.

* Replace finder.el with something that generates an Info file
  which gives the same information through a menu structure.

* Implement a variant of uncompress.el or jka-compr.el that
  works with GNU Privacy Guard for encryption.

* Save undo information in files, and reload it when needed
  for undoing.

* modify comint.el so that input appears in a special font.
  I can add a simple Emacs feature to help.

* Implement other text formatting properties.
** Footnotes that can appear either in place
  or at the end of the page.
** text property that says "don't break line in middle of this".
  Don't break the line between two characters that have the
  same value of this property.
** Discretionary hyphens that disappear at end of line.

* Implement use of mmap to allocate buffers, when mmap exists.

* Change the Windows NT menu code
  so that it handles the deep_p argument and avoids
  regenerating the whole menu bar menu tree except
  when the user tries to use the menubar.

  This requires the RIT to forward the WM_INITMENU message to
  the main thread, and not return from that message until the main
  thread has processed the menu_bar_activate_event and regenerated
  the whole menu bar.  In the mean time, it should process other messages.