* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
*/
var DEP = { }; (function () {
var F_RECOMPUTING = 8; // Currently being recomputed.
var F_QUEUED = 16; // Queued for recomputation.
-var BAD = Tag('BAD') // Used for the value of `bad' deps.
+var BAD = new Tag('BAD'); // Used for the value of `bad' deps.
var DELAYED = []; // Actions delayed by `with_frozen'.
var PENDING = []; // Deps awaiting recomputation.
func = value;
f |= F_QUEUED;
} else {
- val = value;
+ val = value === undefined ? BAD : value;
func = null;
f |= F_VALUE | F_DEPS;
}
* If the BODY function changes any dep values (using D.set_value(...))
* then dependents won't be updated until the BODY completes.
*
- * It's very
- * bad to do this during a recomputation phase. If DELAY is true, then the
- * BODY is delayed until the recomputation completes; otherwise you get an
- * exception.
+ * It's very bad to do this during a recomputation phase. If DELAY is
+ * true, then the BODY is delayed until the recomputation completes;
+ * otherwise you get an exception.
*/
var op, val;