Stacks whose names start with "rev"

Monte Goulding monte at appisle.net
Tue Oct 9 18:32:01 EDT 2018


Hi Jacque

I’m sorry I haven’t been following this whole thread so forgive me if my responses have already been covered.

> On 10 Oct 2018, at 6:22 am, Richard Gaskin via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> >> If the cantEdit is false but the mode is reported as 2, that sounds
> >> like an engine bug.

Don't you mean cantModify here?

toplevel stacks that are ide stacks are forced to toplevel locked (mode 2). We determine this through a stack custom property `ideOverride`. If that is true when loading the stack from disk then it is set as an IDE stack. Additionally there is a runtime property of stacks that you can set `_ideoverride` that can turn this behavior on and off.

Jacque’s issue is we have an IDE script that dynamically sets these in revfrontsciptlibrary preOpenStack:

   if revIDEObjectIsOnIDEStack(tTarget) then
      # IM-2016-03-01: [[ Bug 16244 ]] IDE stacks should always hide invisible objects
      set the showInvisibles of stack tStack to false
      set the _ideoverride of stack tStack to true
   end if

It all hinges on a function in revcommonlibrary:

function revStackNameIsIDEStack pStackName
   if there is a stack pStackName and the _ideoverride of stack pStackName then
      return true
   else if pStackName is among the items of "message box,answer dialog,ask dialog,home" then
      return true
   else if pStackName begins with "com.livecode." then
      return true
   else if pStackName is among the lines of revInternal__ListLoadedLibraries() then
      return true
   else
      return pStackName begins with "rev"
   end if   
end revStackNameIsIDEStack

We could look at changing that to ensure the filename of the stack is an IDE or plugin file path but in your case just patching that to set the caseSensitive to true just before checking for “rev” would cover it.

Cheers

Monte





More information about the use-livecode mailing list