Eli Zaretskii writes: >> How about this: Instead of symbols, adding a cons-cell: >> >> (major-mode . erc-mode) >> >> prevents erc-buffers from being killed? > > You are trying to separate modes from other functions? Why? I figured it would keep the structure simpler, that way it wouldn't be necessary to distinguish between major modes and predicates. I'd also see it reducing the ambiguity from the user-side. > Just see if the major-mode's symbol is in the list, and if so, spare > the buffer. Otherwise, if it's a function, call that function > assuming it's a predicate. Does this present some problems? Hmm, it seems to work, but my initial attempt doesn't look that nice. I'll think about improving it tomorrow, but I'm still more attracted to the (major-mode . mode-name) approach. -- Philip K.