Everybody agrees that the table clipboard should be merged with the normal internal clipboard. I just don't think that we should do this now, since it is too risky. That leaves two different clipboars: An internal one and an external one.
I see.
I know of two reasons why we need both an internal and an external clipboard. I did not want to discuss this now, since this is definitely something for later, but it seems I need to. First reason: Performance.
I have listed five advantages of using system clipboard and I guess you agree with me on those. As I have said, after we unify the clipboard access, we can perfect the parse function slowly, and we do not have to accept 'anything tex2lyx or lyx2lyx can handle' right now. As for performance, as far as I remember, one can put multiple formats to the clipboard and another application can choose to paste from a certain format. It might be possible that we put pure text (for other application) as well as binary presentation of lyx clipboard such as lyx-text:blah, lyx-table:blah. Then, lyx paste can choose to paste from lyx internal format if it is available, or from pure text.
Next reason: We do have a stack of 10 clipboards. I personally don't use that, but the last time I proposed to get rid of that I got several complaints (and good use cases which I forgot), so removing the internal clipboard is not an option.
I do not use them either but these should be easy to keep. Just keep a copy of what we send to the clipboard and reset clipboard when 'paste n' is called. (I vote for the removal of them though.)
I don't think that we should change too much now. I see the need for merging the internal with the external clipboard, since the nUI change for windows users would be bad otherwise, and I am also OK with the implementation of a fake selection on windows, but IMHO everytthing else should wait.
To achieve what I have in mind needs a lot of work. That is why I did not bring it up before. However, we should try to agree upon what should be done, and if we are doing anything right now, we go towards the goals (I am pointing to isInternal()). Bo