This optimisation is already done in the code generator but performing
it at this earlier stage is a useful normalising step that uncovers
more opportunities.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-list): New.
`(list ,(nth 1 form))
form))
+(put 'list 'byte-optimizer #'byte-optimize-list)
+(defun byte-optimize-list (form)
+ ;; (list) -> nil
+ (and (cdr form) form))
+
;; Fixme: delete-char -> delete-region (byte-coded)
(put 'set 'byte-optimizer #'byte-optimize-set)