Subject: rev 26 - trunk

From: [email-masked]
Date: Fri, 23 Aug 2002 13:42:59 -0500

Author: kfogel
Date: Fri, 23 Aug 2002 13:42:56 -0500
New Revision: 26

Removed:
   trunk/MINOR-BUGS
Modified:
   trunk/BUGS
Log:
Remove MINOR-BUGS, move everything to BUGS, start classifying as bugs,
tasks, features, etc.  (Classification not finished, though.)

We need a real bug tracker; but if not, we at least need all our bugs
in one file.

Modified: trunk/BUGS
==============================================================================
--- trunk/BUGS	(original)
+++ trunk/BUGS	Fri Aug 23 13:42:58 2002
@@ -1,7 +1,394 @@
-* can't insert a sequence at the end of the alignment.
+  Oh Most Grandiose and Majestic Emacs, please be in -*- outline -*- mode!
+
+* [BUG] Can't insert a sequence at the end of the alignment.
+
   As Jim points out, in an alignment of N sequences, there are N+1
   places where you might want to put a new sequence.
 
+* [BUG] `gene-do-window-sync' call maybe fails silently?
 
-* the `gene-do-window-sync' call at the end of `gene-process-args' is
+  The `gene-do-window-sync' call at the end of `gene-process-args' is
   maybe failing silently in an error-protection wrapper?
+
+* [FEATURE] undo should notice search-match highlights and undo them too.
+
+  Means we need to have a new form of undo record for those overlays.
+
+* [TASK] remove needless `confirm' tmp var able
+
+  The `confirm' tmp var in the `let' in gene-io-save-sequences-as is
+  pointless; just put the confirmation code in the body of the let.
+
+* [BUG] Reverse Display doesn't work *quite* as advertised.
+
+  Try reversing GDE colors to see what I mean.
+
+* [HUH?] flipcase ops can be undone by calling flipcase again.  
+
+  This is so cute it's probably worth going back and changing them.
+
+* [BUG] save atomically
+
+  Jim's point about atomicity in saving: we should write to the tmp
+  file and then mv it, not mv the real file and then write to it,
+  restoring it only if there's an error.
+
+* [HUH?] (gene-menu-popup-cb-all-remove-menu): ought to display clipboard
+  contents somehow... 
+
+
+* [TASK] we can use `intern-soft' and `unintern' now
+  
+  When 19.29 comes out, we can use `intern-soft' and `unintern' to
+  determine and set whether sequences are present in the alignment or
+  not.  See especially how we have to t-prop search to set the tmp var
+  `already-here' in gene-io.el:`gene-setup-plists'.
+
+  But note that Emacs 21 also has a hash-table type.
+
+* [BUG] online manual loses place if you hide it and later come back
+
+  Wouldn't it be nice if the online manual preserved your place when
+  you hid it?  Right now, <HIDE> means you'll jump back to the Top
+  node if you look at the manual again.
+
+* [TASK] decide how to record format facts
+
+  We don't have a variable `gene-io-current-source-format' right now,
+  because the code seems to assume that it can deduce formats.  However,
+  note that `gene-io-set-source-file' func *takes* a format arg.  Maybe
+  we should decide whether we want to always deduce the format, or
+  record it when we set the source file.
+
+* [BUG] bug from Will Fischer, apparently hard to reproduce
+
+  From: [email-masked] (Will Fischer)
+  To: [email-masked]
+  Date: Fri, 17 Mar 1995 13:44:28 -0500
+  Guppy version: 0.1.120 on walrus 
+
+  Okay, a real bug this time -- after I had an allignment open,
+  (~20 sequences, most of them ~20 nt long, 3 of them ~700 nt)
+  I read in a new sequence, then saved-all-to-one-file, and the
+  new sequence got broken up into 2 sequences (each with the same
+  name) of 480 nt each (the second one was padded with ~s in the
+  genbank output file (the input file in this case had been a genbank-format
+  file created by GDE).
+  
+  This also happened earlier, under slightly different circumstances that
+  I unfortunately cannot recall in detail -- but I think that in both cases,
+  the sequences that were affected were selected at the time that the
+  file was saved -- I'll check this out now.
+
+  [ Note: unable to duplicate.  -Karl ]
+
+* [HUH?] complementifying assumes RNA (i.e.: "u") not DNA (i.e.: "t").
+
+  ?
+
+* [TASK] use `gene-organism-seq-data'
+
+  Would be nice if everyone used `gene-organism-seq-data', now that it
+  exists...
+
+* [HUH?] Hmmm.  Inserting chars in or before a line of a selection doesn't
+  behave the same way as sliding them, because the former uses
+  `insert-char', while the latter uses `gene-shift-region-leave-properties'.
+  Is this desireable?  Maybe; think about it.
+
+
+* [HUH?]The watch doesnt go away after 'insert sequences' and maybe
+  other operations (must move pointer out into background to see
+  it).
+
+
+* [TASK] File I/O could be sped up a lot, now that we have simplified its
+  semantics.  For example, there's no need to gather up lists of
+  sequences (gene-io-compile-sequence-files) anymore, because all the
+  sequences go to the same file.  Just write ids, seqs, and anns to
+  temp files and call gene-io-coerce-from-tabl, and you're essentially
+  done.  Annotations will need to be ordered correctly, though.
+
+
+* [BUG] clear menu bar only in gene buffers, not in all of Emacs.
+
+* [TASK] The Accumulated Error code should be rethought.
+
+  Why keep two data structures (list and buffer), when one (buffer) is
+  sufficient to hold all the errors messages?
+
+  Some errors generate real lisp errors, some are problems that won't
+  signal an error.  Find some more examples, generalize.  Write a
+  condition-case clone that will handle certain errors in a custom
+  way, and simply pass on (i.e.: signal) others.  The important thing
+  is that those errors which need to be fatal remain fatal, and those
+  which don't need to be are simply displayed to the user in some
+  easily-noticeable way.
+
+  Right now, the "*Non-Fatal Errors*" frame that pops up on startup is
+  usually covered by the alignment frame which pops up after it!
+  Timing is kinda crucial here.
+
+* [FEATURE] phylo browser feature request from Niels
+
+  From: Niels Larsen <[email-masked]>
+  To: [email-masked]
+  Date: Thu, 2 Mar 1995 14:23:42 -0600
+
+  should the phylo-browser help be accessible in the 
+  phylo-browser?  think so.  Can info be asked to jumb
+  to the place in the manual with browser description?
+
+
+* (Niels) Question:  With gdbm file and everything selected in 
+  phylo browser, it says 'Placing data...' for maybe 40-80
+  seconds.  Is that expected?  what happens during that time?
+
+
+* (Niels) Forgot to mention, I think there should be more keyboard 
+  equivalents listed in menus, like for bringing up other frames etc
+
+
+* need keyboard equivalents to the items in the views and searches
+  menus, maybe more places.  This is so its easy to rebind to a 
+  one-press function key or something.
+
+
+* (Niels) Change of fonts in the settings menu makes Number, Group,
+  etc -frame vary wildly in size.  (Another question is, should a 
+  font change in one frame affect other frames?).  A friend of 
+  mine wanted better control over fonts and sizes, and I told him 
+  that C-Mouse-3 still works, which lists all fonts available; and
+  changing fonts that way only affects current frame.  Comments?
+
+
+* Should subst-char be case-insensitive?  Talk to Niels.
+
+
+* `gene-monitor-position', a function for .ale files which takes
+  &rest IDs (strings) and monitors them by default when pos-mon is on.
+
+
+* posmon buffer should grow & shrink according to # of sequences.
+
+
+* Why does gene-seq-display-column-stats-internal need  the length
+  passed to it?  It can determine that for itself.
+
+
+* Make a goto-same-char-in-this-column command.
+
+
+* Some Phylo Browser stuff from Niels:
+
+  Wouldnt it be reasonable to put up a wrist-watch symbol where
+  predictably slow things may happen?  
+
+  When this works correctly, and is documented, then we have 0.1 and
+  it should be given to 5-10 people for use.  
+
+  MS-Word has got a lot better since I saw it last: See v 6.0 for PC
+  which is a bit ahead of latest Mac version (5.1).  Try the outline
+  view, very convenient (notice the 1,2,3,4,5.. buttons, which set the
+  level you want to look at).  I especially like their way of moving
+  things around, it might also inspire you, what that time comes (we
+  once agreed there should be some simple drag/drop interface, so
+  curator can change p-list from editor).  Convenience will save us $:
+  Short learning how to use, i.e. newly hired people quickly get
+  productive.
+  
+  Question:  At our last meeting I think you mentioned that Emacs has 
+  mechanism for displaying only certain lines.  Were you thinking of the
+  ^J --> ^M substitution, or?  How well does it work?  is this a
+  feasible way to get stronger connection between phylo frame and
+  alignment?  (so show and hide groups content affects alignment, say)
+  I dont think it is really important to have it that way, it seems
+  possible to work fine without.  Just curious. 
+
+  Pooo - quite some writing again..    bye.  
+
+
+* if recording undo's takes major proportions of time during common
+  editing, then I would propose to have a settings option to switch it
+  off (assuming thats not hard to do). 
+
+
+* In gdbm storage, couldnt there be a .ale which stores all settings
+  and things one would like to preserve between sessions?  groups should
+  be re-created at startup, as well as selections of organisms made by 
+  the phylo-browser.  Jim, couldnt there be a panel (maybe in the style
+  of Karls group list) where the phylo index frame (or phylo browser, 
+  what to call it) presents choices between save sequence sets to bring 
+  into the editor?  One could then build (I mean RDP could pre-build and
+  release) interesting subsets of sequences.  If gdbm on command line, 
+  pygup would ignore .fish and look to gdbm instead (?)  Keep thinking.
+
+
+* Start up ale with no arguments.  Type '{'.  The error message
+  complains that it can't get locking info --- this is counter-intuitive.
+
+  There are many commands that require a sequence to operate on, and
+  require a certain locking state, so it would be cool to write one
+  helper function that:
+  1) makes sure the cursor is on a sequence, not at the end of the
+     buffer or in an empty buffer, else displays a comprehensible error
+     message
+  2) makes sure that the locking level is appropriate, else displays a
+     comprehensible error message
+  This helper function could then be called upon entry to every
+  command that needs it.
+
+  [ Alternatively, the existing locking code could just check for
+    unusual circumstances  like an empty buffer.  This would be cheap:
+    the check wouldn't happen unless we were about to error because of
+    lock protection anyway.  -K ]
+
+
+* Is cut/paste slower than it has to be?  Find out, see if significant
+  speedups are possible.
+
+  [ Cut one of the bottom sequences, then paste it.  Veery slow, I 
+  suspect something isnt right.  Native Kill/yank of single 3000 long 
+  lines in a buffer of 2600 lines has no visible delay, in no part of 
+  buffer.  (Minibuffer messages have backslashitis during paste). ]
+
+  [ It certainly is slow -- even more so now that it has to record
+    undo data separately.  Will profile this after release.  -Karl ]
+
+
+* Is there any sel-undo recording code that's still recording with
+  markers instead of numbers?  If so, correct it individually, or if
+  the problem is large enough, rewrite some of the basic recording
+  code.
+
+  Particularly check out gene-sel-drag-selection-or-base-group,
+  gene-sel-drag-base-group.
+
+  A basic speed-up in the selection code might be: if one already has
+  done the text property searching (for, say, undo recording
+  purposes), then it's a waste to do it again for the purpose of
+  resetting the selection's segment list.  There should be a way to
+  use the previously obtained information in resetting the segment
+  list... sort of a deep copy-sequence that changes some things to
+  markers...
+
+
+* If one has a selection line reaching to the end of the alignment, say:
+
+        AAAAAAAAAAAARGH...............~~~~~~~~~
+  
+  and you drag it to the end and then back somewhere else, the ~'s
+  will be replaced with .'s.  Even when you undo the drag, the new .'s
+  don't get undone.
+
+  Probably the solution to this is to make dragging not bulldoze
+  midstream gap-character changes, rather than changing any undo
+  code... or is that possible?
+
+
+* gene-seq-self-insert-char: the current solution to the eol insertion
+  problem is not satisfactory.  The problem: inserting chars at eol
+  failed to push the end-marker
+  (i.e.: (nth 1 (gene-get-here-property 'gene-seq-posn)))
+  forward.  It would be nice just to write
+  gene-insert-char-before-markers (or even better, have that in the
+  dist!), but then insertions at *bol* would screw up the bol marker.
+  The current solution (resetting the `gene-seq-posn' property every
+  time) is too slow and wastful allocation-wise.
+  Think about this some more.  One possibility is to use
+  set-marker-position instead of creating a whole new marker each
+  time.
+
+
+* Mail bug report frame (this one):  Shouldnt the menubar be 
+   
+   Hide__Send___________  rather than  Headers___Mail_____   ?
+   [ Well, I think it's okay the way it is.  If one pulls down the
+     mail menu, then it's obvious what to do.  -Karl ]
+   
+   Need for status bar and minibuffer? 
+   [ I think so.  There's no particular reason to hide the fact that
+     this is Emacs; perhaps some people will even be able to take
+     advantage of it.  Minibuffer is useful to make this behave like
+     the Emacs they're used to, should they choose to use it that way.
+     The difference between this and the rest of the editor is that
+     here we're using a native Emacs mode, so we should try to be
+     consistent with Emacs, not Ale, I think.   -Karl ]
+   
+
+* `gene-get-here-source' needs to do a better job of making up a
+   source.
+
+
+* `gene-get-here-sym' still does a little more than it needs to.  After
+  getting this version stable, go back and reorganize it.  It is even
+  perhaps buggy, because it assumes (in the second clause of the `or')
+  that object is a buffer, and that pos is non-nil.
+
+
+* Big Drag group select needs to deal with it if drag is ended in
+  the sequence window.  If this doesn't make sense to you, ask Karl
+  what he meant when he wrote that. :-)
+
+  Dragging in id-buffer into minibuffer, and back up, offsets
+  buffers and causes recentering. 
+
+
+
+* [BUG] Chuck Delwiche writes:
+
+  I just launched guppy with a phylip format file, then got up to do
+  something else.  When I came back I discovered the "is this file going
+  to be used with fastDNAml?" dialog box on my screen.  I tried to click
+  'yes' but got no response.  I eventually killed the process and
+  restarted it, this time waiting to answer the question rather than
+  letting it sit around for 10 minutes.  Second time it worked normally.
+
+
+* [FEATURES] Sogin's <[email-masked]> thoughts about Groups:
+
+  I have sent more comments about grouping to Niels.  I am very glad to
+  learn that you are receptive to suggestions-all too often developers
+  are defensive.  I actually like the way grouping is defined and listed
+  in gde-Dragging through taxa names but preventing overlap is a good
+  way to go unless one wants to explicitly define an overlap for example
+  using a meta key to link to groups or parts of two groups into a third
+  group.  The best way to select groups in my opinion is to have the
+  cursor define the selected group unless there is an overlap between
+  two groups which in effect defines a third group.  Under that
+  circumstance, the selection of that overlapping group would be
+  implicit e.g. once again a meta or control key.
+  
+  The most powerful aspect of your editor include the group drag
+  functions which I do like.  Finally, if the default for operating on a
+  group is define by the line that the cursor is one and its group
+  relatives, there should be the option to hold down a key or toggle a
+  key which allows that sequence or block of sequences if one is
+  selected to be manipulated without effecting others in the group.  In
+  other words it is often desireable to change alignments within a group
+  without changing the definetiion of the group.
+
+  -*- This is what he sent to Niels: -*-
+
+  I have spent a bit more time with the editor-My biggest complaint at
+  the moment is when working with groups and the requirement to point or
+  click on the abbreviations to select entire group.  This is just to
+  slow a mechanism.  Also defining twelve groups took much too long.  I
+  want to drag and form groups instantly.  Renaming them and dealing
+  with group overlaps is a pain.
+  
+  -*- Niels' response: -*-
+  
+  I wish I was sitting next to you, so I knew exactly .. we may well
+  redesign groups, but let me first make sure you know the current
+  functionality. You can define a group by dragging (left-mouse) across
+  the short-ID's you wish to include. If groups are not overlapping,
+  then a left-mouse click on a given 'dimmed' short-ID (to the left of
+  screen) makes the group active, to which that short-ID belongs. If
+  they overlap, then I usually click on the group name in the group
+  frame - it then activates that group and scrolls to nearest
+  representative. To de-select sequences from a given group, you can
+  drag too. Assuming you know this, we could perhaps discuss over the
+  phone so I learn more about the trouble. We are certainly interested
+  in making it better for you. I would like if you CC Karl
+  ([email-masked]) with comments to the editor.  -Niels

Deleted: trunk/MINOR-BUGS
==============================================================================
--- trunk/MINOR-BUGS	(original)
+++ trunk/MINOR-BUGS	Fri Aug 23 13:42:58 2002
@@ -1,376 +0,0 @@
-* undo should notice search-match highlights and undo them too.
-  means we need to have a new form of undo record for those overlays.
-
-
-* the `confirm' tmp var in the `let' in gene-io-save-sequences-as is
-  pointless; just put the confirmation code in the body of the let.
-
-
-* Reverse Display doesn't work *quite* as advertised.
-  Try reversing GDE colors to see what I mean.
-
-
-* Sogin's <[email-masked]> thoughts about Groups:
-
-  I have sent more comments about grouping to Niels.  I am very glad to
-  learn that you are receptive to suggestions-all too often developers
-  are defensive.  I actually like the way grouping is defined and listed
-  in gde-Dragging through taxa names but preventing overlap is a good
-  way to go unless one wants to explicitly define an overlap for example
-  using a meta key to link to groups or parts of two groups into a third
-  group.  The best way to select groups in my opinion is to have the
-  cursor define the selected group unless there is an overlap between
-  two groups which in effect defines a third group.  Under that
-  circumstance, the selection of that overlapping group would be
-  implicit e.g. once again a meta or control key.
-  
-  The most powerful aspect of your editor include the group drag
-  functions which I do like.  Finally, if the default for operating on a
-  group is define by the line that the cursor is one and its group
-  relatives, there should be the option to hold down a key or toggle a
-  key which allows that sequence or block of sequences if one is
-  selected to be manipulated without effecting others in the group.  In
-  other words it is often desireable to change alignments within a group
-  without changing the definetiion of the group.
-
-  -*- This is what he sent to Niels: -*-
-
-  I have spent a bit more time with the editor-My biggest complaint at
-  the moment is when working with groups and the requirement to point or
-  click on the abbreviations to select entire group.  This is just to
-  slow a mechanism.  Also defining twelve groups took much too long.  I
-  want to drag and form groups instantly.  Renaming them and dealing
-  with group overlaps is a pain.
-  
-  -*- Niels' response: -*-
-  
-  I wish I was sitting next to you, so I knew exactly .. we may well
-  redesign groups, but let me first make sure you know the current
-  functionality. You can define a group by dragging (left-mouse) across
-  the short-ID's you wish to include. If groups are not overlapping,
-  then a left-mouse click on a given 'dimmed' short-ID (to the left of
-  screen) makes the group active, to which that short-ID belongs. If
-  they overlap, then I usually click on the group name in the group
-  frame - it then activates that group and scrolls to nearest
-  representative. To de-select sequences from a given group, you can
-  drag too. Assuming you know this, we could perhaps discuss over the
-  phone so I learn more about the trouble. We are certainly interested
-  in making it better for you. I would like if you CC Karl
-  ([email-masked]) with comments to the editor.  -Niels
-
-
-* flipcase ops can be undone by calling flipcase again.  This is so
-  cute it's probably worth going back and changing them.
-
-
-* Jim's point about atomicity in saving: we should write to the tmp
-  file and then mv it, not mv the real file and then write to it,
-  restoring it only if there's an error.
-
-
-* (gene-menu-popup-cb-all-remove-menu): ought to display clipboard
-  contents somehow... 
-
-
-* When 19.29 comes out, we can use `intern-soft' and `unintern' to
-  determine and set whether sequences are present in the alignment or
-  not.  See especially how we have to t-prop search to set the tmp var
-  `already-here' in gene-io.el:`gene-setup-plists'.
-
-
-* wouldn't it be nice if the online manual preserved your place when
-  you hid it?  Right now, <HIDE> means you'll jump back to the Top
-  node if you look at the manual again.
-
-
-* We don't have a variable `gene-io-current-source-format' right now,
-  because the code seems to assume that it can deduce formats.  However,
-  note that `gene-io-set-source-file' func *takes* a format arg.  Maybe
-  we should decide whether we want to always deduce the format, or
-  record it when we set the source file.
-
-
-* Chuck Delwiche writes:
-
-  I just launched guppy with a phylip format file, then got up to do
-  something else.  When I came back I discovered the "is this file going
-  to be used with fastDNAml?" dialog box on my screen.  I tried to click
-  'yes' but got no response.  I eventually killed the process and
-  restarted it, this time waiting to answer the question rather than
-  letting it sit around for 10 minutes.  Second time it worked normally.
-
-
-* From: [email-masked] (Will Fischer)
-  To: [email-masked]
-  Date: Fri, 17 Mar 1995 13:44:28 -0500
-  Guppy version: 0.1.120 on walrus 
-
-  Okay, a real bug this time -- after I had an allignment open,
-  (~20 sequences, most of them ~20 nt long, 3 of them ~700 nt)
-  I read in a new sequence, then saved-all-to-one-file, and the
-  new sequence got broken up into 2 sequences (each with the same
-  name) of 480 nt each (the second one was padded with ~s in the
-  genbank output file (the input file in this case had been a genbank-format
-  file created by GDE).
-  
-  This also happened earlier, under slightly different circumstances that
-  I unfortunately cannot recall in detail -- but I think that in both cases,
-  the sequences that were affected were selected at the time that the
-  file was saved -- I'll check this out now.
-
-  [ Note: unable to duplicate.  -Karl ]
-
-
-* complementifying assumes RNA (i.e.: "u") not DNA (i.e.: "t").
-  ?
-
-
-* would be nice if everyone used `gene-organism-seq-data', now that it
-  exists...
-
-
-* Hmmm.  Inserting chars in or before a line of a selection doesn't
-  behave the same way as sliding them, because the former uses
-  `insert-char', while the latter uses `gene-shift-region-leave-properties'.
-  Is this desireable?  Maybe; think about it.
-
-
-* The watch doesnt go away after 'insert sequences' and maybe
-  other operations (must move pointer out into background to see
-  it).
-
-
-* File I/O could be sped up a lot, now that we have simplified its
-  semantics.  For example, there's no need to gather up lists of
-  sequences (gene-io-compile-sequence-files) anymore, because all the
-  sequences go to the same file.  Just write ids, seqs, and anns to
-  temp files and call gene-io-coerce-from-tabl, and you're essentially
-  done.  Annotations will need to be ordered correctly, though.
-
-
-* frame fonts can be different on startup... why?
-
-
-* Menu bar should only be cleared in genuine gene-buffers, not in all
-  of Emacs.
-
-
-* The Accumulated Error code should be rethought.
-
-  Why keep two data structures (list and buffer), when one (buffer) is
-  sufficient to hold all the errors messages?
-
-  Some errors generate real lisp errors, some are problems that won't
-  signal an error.  Find some more examples, generalize.  Write a
-  condition-case clone that will handle certain errors in a custom
-  way, and simply pass on (i.e.: signal) others.  The important thing
-  is that those errors which need to be fatal remain fatal, and those
-  which don't need to be are simply displayed to the user in some
-  easily-noticeable way.
-
-  Right now, the "*Non-Fatal Errors*" frame that pops up on startup is
-  usually covered by the alignment frame which pops up after it!
-  Timing is kinda crucial here.
-
-
-* From: Niels Larsen <[email-masked]>
-  To: [email-masked]
-  Date: Thu, 2 Mar 1995 14:23:42 -0600
-
-  should the phylo-browser help be accessible in the 
-  phylo-browser?  think so.  Can info be asked to jumb
-  to the place in the manual with browser description?
-
-
-* (Niels) Question:  With gdbm file and everything selected in 
-  phylo browser, it says 'Placing data...' for maybe 40-80
-  seconds.  Is that expected?  what happens during that time?
-
-
-* (Niels) Forgot to mention, I think there should be more keyboard 
-  equivalents listed in menus, like for bringing up other frames etc
-
-
-* need keyboard equivalents to the items in the views and searches
-  menus, maybe more places.  This is so its easy to rebind to a 
-  one-press function key or something.
-
-
-* (Niels) Change of fonts in the settings menu makes Number, Group,
-  etc -frame vary wildly in size.  (Another question is, should a 
-  font change in one frame affect other frames?).  A friend of 
-  mine wanted better control over fonts and sizes, and I told him 
-  that C-Mouse-3 still works, which lists all fonts available; and
-  changing fonts that way only affects current frame.  Comments?
-
-
-* Should subst-char be case-insensitive?  Talk to Niels.
-
-
-* `gene-monitor-position', a function for .ale files which takes
-  &rest IDs (strings) and monitors them by default when pos-mon is on.
-
-
-* posmon buffer should grow & shrink according to # of sequences.
-
-
-* Why does gene-seq-display-column-stats-internal need  the length
-  passed to it?  It can determine that for itself.
-
-
-* Make a goto-same-char-in-this-column command.
-
-
-* Some Phylo Browser stuff from Niels:
-
-  Wouldnt it be reasonable to put up a wrist-watch symbol where
-  predictably slow things may happen?  
-
-  When this works correctly, and is documented, then we have 0.1 and
-  it should be given to 5-10 people for use.  
-
-  MS-Word has got a lot better since I saw it last: See v 6.0 for PC
-  which is a bit ahead of latest Mac version (5.1).  Try the outline
-  view, very convenient (notice the 1,2,3,4,5.. buttons, which set the
-  level you want to look at).  I especially like their way of moving
-  things around, it might also inspire you, what that time comes (we
-  once agreed there should be some simple drag/drop interface, so
-  curator can change p-list from editor).  Convenience will save us $:
-  Short learning how to use, i.e. newly hired people quickly get
-  productive.
-  
-  Question:  At our last meeting I think you mentioned that Emacs has 
-  mechanism for displaying only certain lines.  Were you thinking of the
-  ^J --> ^M substitution, or?  How well does it work?  is this a
-  feasible way to get stronger connection between phylo frame and
-  alignment?  (so show and hide groups content affects alignment, say)
-  I dont think it is really important to have it that way, it seems
-  possible to work fine without.  Just curious. 
-
-  Pooo - quite some writing again..    bye.  
-
-
-* if recording undo's takes major proportions of time during common
-  editing, then I would propose to have a settings option to switch it
-  off (assuming thats not hard to do). 
-
-
-* In gdbm storage, couldnt there be a .ale which stores all settings
-  and things one would like to preserve between sessions?  groups should
-  be re-created at startup, as well as selections of organisms made by 
-  the phylo-browser.  Jim, couldnt there be a panel (maybe in the style
-  of Karls group list) where the phylo index frame (or phylo browser, 
-  what to call it) presents choices between save sequence sets to bring 
-  into the editor?  One could then build (I mean RDP could pre-build and
-  release) interesting subsets of sequences.  If gdbm on command line, 
-  pygup would ignore .fish and look to gdbm instead (?)  Keep thinking.
-
-
-* Start up ale with no arguments.  Type '{'.  The error message
-  complains that it can't get locking info --- this is counter-intuitive.
-
-  There are many commands that require a sequence to operate on, and
-  require a certain locking state, so it would be cool to write one
-  helper function that:
-  1) makes sure the cursor is on a sequence, not at the end of the
-     buffer or in an empty buffer, else displays a comprehensible error
-     message
-  2) makes sure that the locking level is appropriate, else displays a
-     comprehensible error message
-  This helper function could then be called upon entry to every
-  command that needs it.
-
-  [ Alternatively, the existing locking code could just check for
-    unusual circumstances  like an empty buffer.  This would be cheap:
-    the check wouldn't happen unless we were about to error because of
-    lock protection anyway.  -K ]
-
-
-* Is cut/paste slower than it has to be?  Find out, see if significant
-  speedups are possible.
-
-  [ Cut one of the bottom sequences, then paste it.  Veery slow, I 
-  suspect something isnt right.  Native Kill/yank of single 3000 long 
-  lines in a buffer of 2600 lines has no visible delay, in no part of 
-  buffer.  (Minibuffer messages have backslashitis during paste). ]
-
-  [ It certainly is slow -- even more so now that it has to record
-    undo data separately.  Will profile this after release.  -Karl ]
-
-
-* Is there any sel-undo recording code that's still recording with
-  markers instead of numbers?  If so, correct it individually, or if
-  the problem is large enough, rewrite some of the basic recording
-  code.
-
-  Particularly check out gene-sel-drag-selection-or-base-group,
-  gene-sel-drag-base-group.
-
-  A basic speed-up in the selection code might be: if one already has
-  done the text property searching (for, say, undo recording
-  purposes), then it's a waste to do it again for the purpose of
-  resetting the selection's segment list.  There should be a way to
-  use the previously obtained information in resetting the segment
-  list... sort of a deep copy-sequence that changes some things to
-  markers...
-
-
-* If one has a selection line reaching to the end of the alignment, say:
-
-        AAAAAAAAAAAARGH...............~~~~~~~~~
-  
-  and you drag it to the end and then back somewhere else, the ~'s
-  will be replaced with .'s.  Even when you undo the drag, the new .'s
-  don't get undone.
-
-  Probably the solution to this is to make dragging not bulldoze
-  midstream gap-character changes, rather than changing any undo
-  code... or is that possible?
-
-
-* gene-seq-self-insert-char: the current solution to the eol insertion
-  problem is not satisfactory.  The problem: inserting chars at eol
-  failed to push the end-marker
-  (i.e.: (nth 1 (gene-get-here-property 'gene-seq-posn)))
-  forward.  It would be nice just to write
-  gene-insert-char-before-markers (or even better, have that in the
-  dist!), but then insertions at *bol* would screw up the bol marker.
-  The current solution (resetting the `gene-seq-posn' property every
-  time) is too slow and wastful allocation-wise.
-  Think about this some more.  One possibility is to use
-  set-marker-position instead of creating a whole new marker each
-  time.
-
-
-* Mail bug report frame (this one):  Shouldnt the menubar be 
-   
-   Hide__Send___________  rather than  Headers___Mail_____   ?
-   [ Well, I think it's okay the way it is.  If one pulls down the
-     mail menu, then it's obvious what to do.  -Karl ]
-   
-   Need for status bar and minibuffer? 
-   [ I think so.  There's no particular reason to hide the fact that
-     this is Emacs; perhaps some people will even be able to take
-     advantage of it.  Minibuffer is useful to make this behave like
-     the Emacs they're used to, should they choose to use it that way.
-     The difference between this and the rest of the editor is that
-     here we're using a native Emacs mode, so we should try to be
-     consistent with Emacs, not Ale, I think.   -Karl ]
-   
-
-* `gene-get-here-source' needs to do a better job of making up a
-   source.
-
-
-* `gene-get-here-sym' still does a little more than it needs to.  After
-  getting this version stable, go back and reorganize it.  It is even
-  perhaps buggy, because it assumes (in the second clause of the `or')
-  that object is a buffer, and that pos is non-nil.
-
-
-* Big Drag group select needs to deal with it if drag is ended in
-  the sequence window.  If this doesn't make sense to you, ask Karl
-  what he meant when he wrote that. :-)
-
-  Dragging in id-buffer into minibuffer, and back up, offsets
-  buffers and causes recentering.