• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. Help regarding pop-push of a LIST

Stats

  • Locked Locked
  • Replies 37
  • Subscribers 144
  • Views 26776
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Help regarding pop-push of a LIST

Neeraj Vardhan
Neeraj Vardhan over 12 years ago

Hi,

I was trying to save my path coordinates as a list. But when i was trying to print the list of points, got errors "unbound variable-plist" . the code is mentioned below.

 

procedure(nvToGetMyLocation()

let((point plist)

cvw=getCurrentWindow()

point=hiGetPoint(cvw)

plist=append(plist list(point))

print(point)

print(plist)

); let

); procedure_nvToGetMyLocation

 

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    Yes, but what functions are you running? 

    If you're calling nvGetMyLocation() (assuming you have a variable n defined), then p_list will be set within that function, but will be discarded (and hence no longer defined) after the prog() has finished. So if you're then trying to look at p_list in the CIW, it will be undefined - hardly surprising since it is a local variable. Similarly if you call nvMyDirection() it will be looking for a global variable p_list, which won't be defined. If it was, then it could compute local variables xy1, xy2, x1, x2 (which are defined in the let()), but these will be thrown away when the let() exits and hence when nvMyDirection exits. If you then call nvMyPath, it won't know what xy1 and xy2 are - plus the fact that the code is wrong in this function because the list of points is improperly specified.

    So PLEASE explain what you're doing. Nobody can debug by reading your mind!

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    Yes, but what functions are you running? 

    If you're calling nvGetMyLocation() (assuming you have a variable n defined), then p_list will be set within that function, but will be discarded (and hence no longer defined) after the prog() has finished. So if you're then trying to look at p_list in the CIW, it will be undefined - hardly surprising since it is a local variable. Similarly if you call nvMyDirection() it will be looking for a global variable p_list, which won't be defined. If it was, then it could compute local variables xy1, xy2, x1, x2 (which are defined in the let()), but these will be thrown away when the let() exits and hence when nvMyDirection exits. If you then call nvMyPath, it won't know what xy1 and xy2 are - plus the fact that the code is wrong in this function because the list of points is improperly specified.

    So PLEASE explain what you're doing. Nobody can debug by reading your mind!

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information