CDOpsExtras.mesa (a ChipNDale module)
Copyright © 1987 by Xerox Corporation. All rights reserved.
Created by Christian Jacobi, June 2, 1987 5:23:23 pm PDT
Last edited by: Christian Jacobi, June 2, 1987 5:23:25 pm PDT
DIRECTORY
CD USING [Design, Object];
CDOpsExtras: CEDAR DEFINITIONS =
BEGIN
MakeImmutableAndSetNameHints: PROC [ob: CD.Object, design: CD.Design] RETURNS [done: BOOL];
-- Tries to make an object immutable by making all its children immutable first,
-- and then setting the objects own immutable bit.
-- Sets name hint if object was mutable and is in directory of design.
-- Very important: To make an object immutable is an operation which changes the
-- object! It must be called only while owning the designs lock [of the design
-- owning ob] with CDSequencer. [Because a parallel editing process can not check
-- the immutable-bit atomicly with performing a change to the object].
-- However, this change is not propagated.
END.