I just tested it, fish does reevaluate those lines every time the completion is invoked. Nevertheless you're right, because we shouldn't rely on that, it could change in the future.