[comp.windows.x.motif] XmString suggestion

nazgul@alphalpha.com (Kee Hinckley) (07/09/90)

While I'm in this mode.

It would be really nice if there was a version of XmStringConcat
which actually tied the strings together instead of copying them.
As it is I find myself continually saying:
    s1 = XmStringCreate...
    s2 = XmStringCreate...
    s3 = XmStringConcat(s1, s2);
    XmStringFree(s1);
    XmStringFree(s2);
    ...

It would be easier to say:
    str = XmStringCreate...
    tmp = XmStringCreate...
    XmStringAppend(str, tmp);
    XmStringFree(tmp);

And even better...
    str = XmStringCreate...
    XmStringAppendCreate(str, ...);

Maybe I'll find time and go much with the internals.

BTW.  While I'm complaining.  Does 1.1 change the definition of
XmString in Xm.h?  In particular it should not, repeat SHOULD NOT,
be defined as 'char *'.  Aside from making it very easy to use
char *'s where one should not, it totally screws up function
overloading in C++ and worse yet, makes it very difficult to declare
any function that takes an XmString, since that function might
be used by somethings which need to get at the Xm internals (and
thus include XmP.h) and some that don't.
Something on the order of
	struct _XmStringRec;
	typedef struct_XmStringRec	*XmString;
ought to work just fine.

						-kee

Alphalpha Software, Inc.	|	motif-request@alphalpha.com
nazgul@alphalpha.com		|-----------------------------------
617/646-7703 (voice/fax)	|	Proline BBS: 617/641-3722

I'm not sure which upsets me more; that people are so unwilling to accept
responsibility for their own actions, or that they are so eager to regulate
everyone else's.

-------