LINUX.ORG.RU

История изменений

Исправление den73, (текущая версия) :

В принципе вот так сработает:

proc DestroyTextReadonlyInfrastructure { pathName } {
    global $pathName.SendToLisp
    unset $pathName.SendToLisp
}

proc InitTextReadonly { pathName } {
    global $pathName.SendToLisp
    set $pathName.SendToLisp 0
    ...
    bind $pathName <Destroy> "+DestroyTextReadonlyInfrastructure $pathName"
    ...
}

Сломается только в том случае, если кто-нибудь мудрый перешибёт Destroy без плюсика. И ещё недостаток в том, что на других обработчиках Destroy эта информация может быть недоступна. Хотелось бы знать, есть ли канонический способ.

Исправление den73, :

В принципе вот так сработает:

proc DestroyTextReadonlyInfrastructure { pathName } {
    global $pathName.SendToLisp
    unset $pathName.SendToLisp
}

proc InitTextReadonly { pathName } {
    global $pathName.SendToLisp
    set $pathName.SendToLisp 0
    ...
    bind $pathName <Destroy> "+DestroyTextReadonlyInfrastructure $pathName"
    ...
}

Сломается только в том случае, если кто-нибудь мудрый перешибёт Destroy без плюсика. И ещё недостаток в том, что на других обработчиках Destroy эта информация может быть недоступна. Но хотелось бы знать канонический способ.

Исправление den73, :

В принципе вот так сработает:

proc DestroyTextReadonlyInfrastructure { pathName } {
    global $pathName.SendToLisp
    unset $pathName.SendToLisp
}

proc InitTextReadonly { pathName } {
    global $pathName.SendToLisp
    set $pathName.SendToLisp 0
    ...
    bind $pathName <Destroy> "+DestroyTextReadonlyInfrastructure $pathName"
    ...
}

Сломается только в том случае, если кто-нибудь мудрый перешибёт Destroy без плюсика. Но хотелось бы знать канонический способ.

Исходная версия den73, :

В принципе вот так сработает:


proc DestroyTextReadonlyInfrastructure { pathName } {
    global $pathName.SendToLisp
    unset $pathName.SendToLisp
}

proc InitTextReadonly { pathName } {
    global $pathName.SendToLisp
    set $pathName.SendToLisp 0
    ...
    bind $pathName <Destroy> "+DestroyTextReadonlyInfrastructure $pathName"
    ...
}

Сломается только в том случае, если кто-нибудь мудрый перешибёт Destroy без плюсика. Но хотелось бы знать канонический способ.