Monday, November 08, 2010 at 12:01 AM.


on set (adrSitePrefs, msgnum, subject, body, bodyType, windowInfoTable, rendererInfoTable=nil) {
	<<Set the contents of a message.
		<<02/05/00; 5:31:02 PM by PBS
			<<Send the windowInfoTable. If it fails, try again without the windowInfoTable. This is needed during the transition for the Manila RPC interface.
		<<02/19/00; 6:48:59 PM by PBS
			<<Removed the try statement. now that manila.root has been updated.
		<<03/23/00; 12:22:36 PM by PBS
			<<Don't show messages -- Pike displays its own message in the About Window.
		<<03/23/00; 6:24:25 PM by PBS
			<<New parameter: rendererInfo. It's a table with two items: name (the name of the renderer to use) and a boolean, flRenderOnEntry, which specifies whether or not the outline can be rendered on entering the system (as opposed to rendering at request time).
		<<04/09/00; 3:45:47 PM by PBS
			<<If this is a Mac, convert the text to latin before sending. The server expects latin text, even if the server is running on a Mac.
		<<11/20/00; 5:16:07 PM by JES
			<<Enocde ampersands as & when using SOAP to transmit opml-based messages, since entities are decoded twice -- once by the SOAP decoder and once by op.xmlToOutline.
		<<01/02/01; 12:44:12 AM by JES
			<<On Macs, convert the message subject to latin text.
		<<9/6/01; 8:24:55 PM by JES
			<<Changed params from a list to a record of named parameters, for SOAP compatibility.
	if system.environment.isMac { //PBS 04/09/00: convert from Mac to latin text
		body = latinToMac.macToLatin (body);
		subject = latinToMac.macToLatin (subject)}; //JES 01/02/00
	with adrSitePrefs^ {
		if rendererInfoTable == nil {
			new (tableType, @rendererInfoTable); = "pikeRenderer";
			rendererInfoTable.flRenderOnEntry = true};
		if bodyType == "text/x-opml" { //11/20/00 JES: enocde quote characters as &quot; if the transport is SOAP.
			if defined (manila.flUseSoap) and manila.flUseSoap {
				body = string.replaceAll (body, "&", "&")}};
		local (params = {"username":username, "password":string (password), "siteName":sitename, "msgnum":msgnum, "subject":subject, "body":body, "bodyType":bodyType, "windowInfo":windowInfoTable, "rendererInfo":rendererInfoTable});
		return (manila.callHandler (host, port, "manila.message.set", @params, rpcPath:rpcPath, flShowMessages:false))}}

This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.