nil_punning

Why isn't elisp nil the empty string?

Sometimes in emacs nil is not punned well enough. I found this when using Telephone Line, when the crucial problem is that nil can’t be construed as a string (why isn’t it the empty string when strings are wanted?). Error during redisplay: (eval (telephone-line-add-subseparators ‘((lambda (face) (telephone-line-raw (if (telephone-line-selected-window-active) (progn (propertize battery-mode-line-string ‘mouse-face ‘(:box 1))))))) telephone-line-cubed-hollow-left ‘evil)) signaled (wrong-type-argument stringp nil) [36 times] I fixed this manually with some extra code, when writing such cruft feels like a slight against lisps: