<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to feature-requests</title><link href="https://sourceforge.net/p/lslplus/feature-requests/" rel="alternate"/><link href="https://sourceforge.net/p/lslplus/feature-requests/feed.atom" rel="self"/><id>https://sourceforge.net/p/lslplus/feature-requests/</id><updated>2010-09-20T10:17:07Z</updated><subtitle>Recent changes to feature-requests</subtitle><entry><title>Update to use structured text editor</title><link href="https://sourceforge.net/p/lslplus/feature-requests/39/" rel="alternate"/><published>2010-09-20T10:17:07Z</published><updated>2010-09-20T10:17:07Z</updated><author><name>Haravikk</name><uri>https://sourceforge.net/u/haravikk/</uri></author><id>https://sourceforge.neta5a0c8c4679198b8ccc03de391ba11cc66a13a8b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;In the new Eclipse Helios release there is a more formal structured text editor which seems to standardise a lot of features across different languages, including better handling of all types of brackets, formatting, text-encoding, and also access to the tasks feature.&lt;/p&gt;
&lt;p&gt;If LSL Plus could be updated to use structured text editors then it should allow it to take advantage of a number of neat features without needing to do any of the grunt work.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Add support for packages</title><link href="https://sourceforge.net/p/lslplus/feature-requests/38/" rel="alternate"/><published>2010-09-19T12:10:38Z</published><updated>2010-09-19T12:10:38Z</updated><author><name>Haravikk</name><uri>https://sourceforge.net/u/haravikk/</uri></author><id>https://sourceforge.net4e3d78856912b97589977042544215fc81578d17</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Fairly simple, but it'd be nice to be able to mimic packages and have the LSL view implement the same behaviours for displaying packages more neatly rather than as a stack of nested folders.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Native Java engine</title><link href="https://sourceforge.net/p/lslplus/feature-requests/37/" rel="alternate"/><published>2010-09-19T12:09:39Z</published><updated>2010-09-19T12:09:39Z</updated><author><name>Haravikk</name><uri>https://sourceforge.net/u/haravikk/</uri></author><id>https://sourceforge.net4c6fbafc0b7376dc4aa9d6a16fa07760ca46c13b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Fairly simply this is a proposal to replace the Haskell engine with a native Java one for maximum compatibility across platforms and removing the need for the extra build stage. I realise that Haskell is quite concise, but it seems there are few advantages to using it when a native Java component could offer greater performance and take advantage of more of the compilation/processing features of Eclipse to avoid overly long delays etc.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>break and continue</title><link href="https://sourceforge.net/p/lslplus/feature-requests/36/" rel="alternate"/><published>2010-01-08T13:32:13Z</published><updated>2010-01-08T13:32:13Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.net5e8d96b5ddbfe68f3c39d912ee4a202e509551ba</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;It would be cool if you could make the compiler translate break and continue statements into the appropriate jumps.  It would clean up a lot of "jump break01;" and "jump continue01;" mess, lol.&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Pass comments toggle for options.</title><link href="https://sourceforge.net/p/lslplus/feature-requests/35/" rel="alternate"/><published>2009-10-15T17:49:40Z</published><updated>2009-10-15T17:49:40Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.netfc3328d8fc705c433a1351261eb61cf5f90bad24</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;While using LSLP, I am very much against is behaviour where it strips out large numbers of my comments - even when I'm not using the optimizer, it seems to strip out comments inside all imported functions and inside all states.&lt;/p&gt;
&lt;p&gt;Please add a toggle to the options/preferences to switch off this behaviour, and pass all comments through to the generated code. Thank you.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Support for .lsl files without .lslp</title><link href="https://sourceforge.net/p/lslplus/feature-requests/34/" rel="alternate"/><published>2009-09-20T21:05:20Z</published><updated>2009-09-20T21:05:20Z</updated><author><name>Domagoj Klepac</name><uri>https://sourceforge.net/u/domchi/</uri></author><id>https://sourceforge.netd8411fd240d659071477c2144e90514b8ccbd86d</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Currently, lslplus thinks of .lsl files only as of .lslp counterparts. By opening .lsl files in the same editor as .lslp files (meaning coloring and code assist), it would be possible to have .lsl files without .lslp files and .lslp extensions, thus allowing to avoid code duplication when it's not needed.&lt;/p&gt;
&lt;p&gt;I suppose this would also mean that "This file is derived. Do you really want to edit it?" would have to be tweaked to show only if edited .lsl file has .lslp counterpart.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>String Constant Folding</title><link href="https://sourceforge.net/p/lslplus/feature-requests/33/" rel="alternate"/><published>2009-09-06T18:14:51Z</published><updated>2009-09-06T18:14:51Z</updated><author><name>IcyNeko</name><uri>https://sourceforge.net/u/icyneko81/</uri></author><id>https://sourceforge.netd9781b4ccab7c07469797455c4a4e9086871f627</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Would be nice if strings were also considered for folding.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;p&gt;string FOO = "bar";&lt;br /&gt;
default {&lt;br /&gt;
state_entry() {&lt;br /&gt;
llOwnerSay(FOO);&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;would then optimize to:&lt;/p&gt;
&lt;p&gt;default {&lt;br /&gt;
state_entry() {&lt;br /&gt;
llOwnerSay("bar");&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Joining constants</title><link href="https://sourceforge.net/p/lslplus/feature-requests/32/" rel="alternate"/><published>2009-07-16T12:05:14Z</published><updated>2009-07-16T12:05:14Z</updated><author><name>Haravikk</name><uri>https://sourceforge.net/u/haravikk/</uri></author><id>https://sourceforge.netcdf339a403b395f6691deb22f1e3a4fe76ca9e76</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Fairly simple in theory, but possibly complex in practise. The idea here is that if several constants are concatenated (as can happen as a result of the optimisation process), then it may be worth joining these together. &lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;p&gt;string getLabel(integer v) { return llList2String(["Label1", "Label2", "Label3"], v);&lt;/p&gt;
&lt;p&gt;default {&lt;br /&gt;
state_entry() {&lt;br /&gt;
llOwnerSay("[" + getLabel(2) + "] " + (string)llGetFreeMemory());&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;This will result in the state_entry() becoming:&lt;/p&gt;
&lt;p&gt;llOwnerSay("[" + "Label3" + "] " + (string)llGetFreeMemory());&lt;/p&gt;
&lt;p&gt;This isn't really ideal, as it should become:&lt;/p&gt;
&lt;p&gt;llOwnerSay("[Label3] " + (string)llGetFreeMemory());&lt;/p&gt;
&lt;p&gt;As this will be more efficient. However, it'll require a table of possible optimisations, as in some cases it is more efficient (on memory) to concatenate two common strings, rather than storing the concatenated form ready-made, which is where things get a bit complicated.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Fully eliminate redundant functions</title><link href="https://sourceforge.net/p/lslplus/feature-requests/31/" rel="alternate"/><published>2009-07-16T11:23:57Z</published><updated>2009-07-16T11:23:57Z</updated><author><name>Haravikk</name><uri>https://sourceforge.net/u/haravikk/</uri></author><id>https://sourceforge.net373785b7ed06f5fae6b5831927184f12be9c53b3</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Currently LSL plus won't full eliminate traces of a function whose contents are removed.&lt;/p&gt;
&lt;p&gt;If you have the following function:&lt;/p&gt;
&lt;p&gt;// pragma inline&lt;br /&gt;
function debug(string s, integer debug) {&lt;br /&gt;
if (debug) llOwnerSay(s);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;Using it in the following simplified code:&lt;/p&gt;
&lt;p&gt;integer DEBUG() { return TRUE; }&lt;/p&gt;
&lt;p&gt;default {&lt;br /&gt;
state_entry() {&lt;br /&gt;
debug("Script started", DEBUG());&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;If you leave DEBUG() as TRUE, then you get the expected results whereby debug() is replaced by:&lt;/p&gt;
&lt;p&gt;string s = "Script started";&lt;br /&gt;
llOwnerSay(s);&lt;/p&gt;
&lt;p&gt;This could be further optimised (replace references to s) but that's another issue. However, if you set DEBUG() to FALSE, then the following code is produced:&lt;/p&gt;
&lt;p&gt;string s = "Script started";&lt;/p&gt;
&lt;p&gt;This isn't desirable, as it seems to actually make it through the compile process in Mono to take up memory, even though it's never used anywhere. In cases such as these LSL plus should be able to identify that a variable it created for inlining is never used, and eliminate it.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Report unused variables/functions</title><link href="https://sourceforge.net/p/lslplus/feature-requests/30/" rel="alternate"/><published>2009-07-05T16:35:27Z</published><updated>2009-07-05T16:35:27Z</updated><author><name>Haravikk</name><uri>https://sourceforge.net/u/haravikk/</uri></author><id>https://sourceforge.netf725f81e3bec0f7b5c318765a60d688ee4fecd4a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Quite simply; any variables or functions ignored by LSL plus due to never being used, should appear as warnings in Eclipse. It would be cool if this could also work correctly across modules to highlight functions that none of your scripts are using, but this could get complicated.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>