So wouldn't you know it -- after building JoinMtext to put a blank line between the contents of selected objects when it combines them, as I thought I would usually want, the first time I actually went to use it in some real work, I found that I wanted all three possibilities [mentioned in the comment at the double Enter] -- one to join everything into one paragraph with only a space added between the selected objects' contents; one to start a new paragraph for each one's content without a blank line between, and one to put a blank line between as the original does. So I adjusted it to make three varieties.
The attached OneMtext.lsp defines three commands: 1MT0, 1MT1 and 1MT2. The 1MT part is about combining Mtext/Text objects into One Mtext object. The number at the end is the number of Enters added between the contents of each selected object [0 adds a Space, 1 starts a new paragraph for each, 2 adds a blank line between]. You could easily make variations with more than 2 Enters if you have a use for such things....
I also chose to force "Exactly" line spacing [my preference] -- you can eliminate that line if you want to retain whatever the line spacing style is of the first-selected Mtext or the default if the first one is converted Text, or you can change the 2 to a 1 to force "At least" spacing.
In addition to accepting both Mtext and Text objects, they have a few other differences from TXT2MTXT:
1. The order of selection determines the order of the joined contents, rather than the relative positions of the pieces. That does mean that you need to pick the pieces one at a time, and not with something like a window.
2. They take the first-selected object [converting it to Mtext if it’s Text], and add each subsequently-selected object’s content to the end, with the added Space/Enter[s], retaining the first-selected object’s text Style, height, rotation, Layer, color, etc., and incorporating within all of that the subsequently-selected objects’ textual content only. [TXT2MTXT retains differences in font, height, color, etc. between selected Text objects.]
3. If the first-selected object is Mtext, they retain its defined width, so content from other objects with different widths can end up with line breaks in different places. If the first-selected object is plain Text, and any of the other objects is Mtext with a non-zero defined width, the width of the widest one of those will be applied to the result, to minimize effects on formatting. If all are plain Text, they use the width of the first-selected one.
Kent Cooper, AIA