[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug in POP? -- additional notes ...



    Date: 13 June 1980 0047-EDT
    From: Dave Touretzky at CMU-10A

    With *RSET set to T:

	(setq foo 'bar)	=> BAR
    	(pop foo)	=> #130552	;or some such random number
    	foo		=> NIL

    Shouldn't POP cry "ILLEGAL DATUM", the way (CAR FOO) or (CDR FOO) would do?

-----
Presumably, it should observe the settings of variables CAR and CDR, which
they don't seem to. Btw, note also the following behavior ...

	(SETQ FOO 'BAR)		=> BAR
	(SETPLIST 'BAR '(A B))	=> (A B)
	(POP FOO)		=> #74004
	FOO			=> (A B)

Thus, if the system PLIST function breaks for some reason, you can write your
own that doesn't care about the global settings of CAR/CDR and yet doesn't
have to waste precious time binding and unbinding them -- eg,

	(DEFUN MY-PLIST (X) (POP X) X)

A little bit of creativity in these situations will make the problem seem a
lot more livable.

-kmp