On Sat, Jan 08, 2000 at 02:50:14PM +0000, Paul J. Keenan wrote: > On Sat, Jan 08, 2000 at 12:24:26PM +0100, Wojciech Zabolotny wrote: > > Hi All, > > > > The problem is that I don't know what does mean the underscore preceeding > > the paranthesis around the string definition? > > Is it a GCC extension? > > -- > > Wojciech Zabolotny > > http://www.ise.pw.edu.pl/~wzab > > I don't have the mutt sources, but I just did a test, and underscore > is a perfectly valid (if somewhat terse!) function name. Look for a > function definition returning a char * called _ in the source - it > is probably used for preprocessing the string before printing it, > perhaps to add "mutt[PID]: " to the beginning or something.
Now I do have the sources for mutt to do something unrelated, so looked at this again. I tracked the definition to mutt.h : #ifdef ENABLE_NLS # include <libintl.h> # define _(a) (gettext (a)) So it's a macro which defines _ as an alias to calling gettext, presumably to keep the code less busy. The gettext function returns the translation of the text in the target language if you are using internationalisation. -- Regards, Paul