ChatEdit is another complicated mod to do something simple: allow you to select your chat text for copying. Simply shift-click a chat frame to enter 'edit mode'.
Edit mode is basically an editbox in which the text won't let you change it. The editbox directly overlaps the chat frame and is scrollable and resizable by the normal methods, as well as a scroll bar that pops up to the right. To make copying less painful no text will be added to the editbox while in edit mode, but it will appear in the chat frame when you leave edit mode.
To exit edit mode click anywhere on the WorldFrame or hit escape.
ChatEdit also increases the default chat frame memory from 128 lines to 500.
Note: For reasons of auto-line wrapping and non-standard width fonts it is nearly impossible to figure out what scroll position the chat frame is at. For this reason when you enter edit mode it will always scroll down to the bottom. Also be aware that the editbox has smooth scrolling as opposed to the chat frame's line by line scrolling.
Note: Thankfully the text string length editbox bug was fixed in a recent WoW patch. If you ever run into a repeatable case where the selectable text is empty, let User:KarlKFI know!