Allow following symlinks when recompiling directories
* doc/lispref/compile.texi (Compilation Functions): Document it. * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Allow following symlinks (bug#10292).
This commit is contained in:
parent
9c72666fea
commit
d23723cfb2
3 changed files with 17 additions and 4 deletions
|
@ -199,7 +199,7 @@ $ ls -l push*
|
|||
@end example
|
||||
@end deffn
|
||||
|
||||
@deffn Command byte-recompile-directory directory &optional flag force
|
||||
@deffn Command byte-recompile-directory directory &optional flag force follow-symlinks
|
||||
@cindex library compilation
|
||||
This command recompiles every @samp{.el} file in @var{directory} (or
|
||||
its subdirectories) that needs recompilation. A file needs
|
||||
|
@ -218,6 +218,10 @@ Interactively, @code{byte-recompile-directory} prompts for
|
|||
If @var{force} is non-@code{nil}, this command recompiles every
|
||||
@samp{.el} file that has a @samp{.elc} file.
|
||||
|
||||
This command will normally not compile @samp{.el} files that are
|
||||
symlinked. If the optional @var{follow-symlink} parameter is
|
||||
non-@code{nil}, symlinked @samp{.el} will also be compiled.
|
||||
|
||||
The returned value is unpredictable.
|
||||
@end deffn
|
||||
|
||||
|
|
4
etc/NEWS
4
etc/NEWS
|
@ -2017,6 +2017,10 @@ to lexical binding, where dynamic (special) variables bound in one
|
|||
file can affect code in another. For details, see the manual section
|
||||
"(Elisp) Converting to Lexical Binding".
|
||||
|
||||
+++
|
||||
** 'byte-recompile-directory' can now compile symlinked .el files.
|
||||
This is achieved by giving a non-nil FOLLOW-SYMLINKS parameter.
|
||||
|
||||
---
|
||||
** 'unload-feature' now also tries to undo additions to buffer-local hooks.
|
||||
|
||||
|
|
|
@ -1746,7 +1746,7 @@ Files in subdirectories of DIRECTORY are processed also."
|
|||
(byte-recompile-directory directory nil t))
|
||||
|
||||
;;;###autoload
|
||||
(defun byte-recompile-directory (directory &optional arg force)
|
||||
(defun byte-recompile-directory (directory &optional arg force follow-symlinks)
|
||||
"Recompile every `.el' file in DIRECTORY that needs recompilation.
|
||||
This happens when a `.elc' file exists but is older than the `.el' file.
|
||||
Files in subdirectories of DIRECTORY are processed also.
|
||||
|
@ -1759,7 +1759,11 @@ compile it. A nonzero ARG also means ask about each subdirectory
|
|||
before scanning it.
|
||||
|
||||
If the third argument FORCE is non-nil, recompile every `.el' file
|
||||
that already has a `.elc' file."
|
||||
that already has a `.elc' file.
|
||||
|
||||
This command will normally not follow symlinks when compiling
|
||||
files. If FOLLOW-SYMLINKS is non-nil, symlinked `.el' files will
|
||||
also be compiled."
|
||||
(interactive "DByte recompile directory: \nP")
|
||||
(if arg (setq arg (prefix-numeric-value arg)))
|
||||
(if noninteractive
|
||||
|
@ -1792,7 +1796,8 @@ that already has a `.elc' file."
|
|||
(if (file-directory-p source)
|
||||
(and (not (member file '("RCS" "CVS")))
|
||||
(not (eq ?\. (aref file 0)))
|
||||
(not (file-symlink-p source))
|
||||
(or follow-symlinks
|
||||
(not (file-symlink-p source)))
|
||||
;; This file is a subdirectory. Handle them differently.
|
||||
(or (null arg) (eq 0 arg)
|
||||
(y-or-n-p (concat "Check " source "? ")))
|
||||
|
|
Loading…
Add table
Reference in a new issue