• Mario Lang's avatar
    An efficient built-in mapcan · 466ee1b3
    Mario Lang authored
    A built-in version of `mapcan' avoids consing up (and GC'ing) the
    intermediate list.
    
    * src/fns.c (Fmapcan): New built-in.
    (syms_of_fns): Define.
    
    * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
    
    * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
    if only one sequence is provided.
    
    * lisp/progmodes/hideif.el (hif-delimit):
    * lisp/dired-aux.el (dired-do-find-regexp):
    * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
    `cl-mapcan'.
    
    * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
    compiling.
    
    * lisp/mouse.el (mouse-buffer-menu-map):
    * lisp/net/pop3.el (pop3-uidl-dele):
    * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
    * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
    * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
    * lisp/gnus/nnmail.el (nnmail-split-it):
    * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
    * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
    * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
    466ee1b3
hideif.el 75.5 KB