diff options
| author | Joakim Verona | 2013-07-14 11:04:49 +0200 |
|---|---|---|
| committer | Joakim Verona | 2013-07-14 11:04:49 +0200 |
| commit | 0bb9bb0841d89fff09820a57369df4cb01b16b43 (patch) | |
| tree | 832bf9fa8415eef0ce464d22b3ee1300cfa90bb1 /admin | |
| parent | 3718127221fbbc31f8ebd027ab7c95403dbe9118 (diff) | |
| parent | 3af1c8684ed6e48fbc21481d129e9aa164752c6e (diff) | |
| download | emacs-0bb9bb0841d89fff09820a57369df4cb01b16b43.tar.gz emacs-0bb9bb0841d89fff09820a57369df4cb01b16b43.zip | |
Merge branch 'trunk' into xwidget
Conflicts:
src/xdisp.c
Diffstat (limited to 'admin')
| -rw-r--r-- | admin/ChangeLog | 33 | ||||
| -rw-r--r-- | admin/FOR-RELEASE | 14 | ||||
| -rw-r--r-- | admin/admin.el | 132 | ||||
| -rwxr-xr-x | admin/merge-gnulib | 10 | ||||
| -rw-r--r-- | admin/notes/changelogs | 7 |
5 files changed, 139 insertions, 57 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog index 8746657517e..cbcd698e8b1 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,36 @@ | |||
| 1 | 2013-07-12 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * admin.el (manual-style-string): Use non-abbreviated url. | ||
| 4 | |||
| 5 | 2013-07-09 Paul Eggert <eggert@cs.ucla.edu> | ||
| 6 | |||
| 7 | Port recent close-on-exec changes to Cygwin (Bug#14821). | ||
| 8 | * merge-gnulib (GNULIB_TOOL_FLAGS): Don't avoid binary-io. | ||
| 9 | |||
| 10 | Handle error numbers a bit more reliably. | ||
| 11 | * merge-gnulib (GNULIB_MODULES): Remove ignore-value. | ||
| 12 | |||
| 13 | 2013-07-07 Paul Eggert <eggert@cs.ucla.edu> | ||
| 14 | |||
| 15 | Make file descriptors close-on-exec when possible (Bug#14803). | ||
| 16 | * merge-gnulib (GNULIB_MODULES): Add fcntl, pipe2. | ||
| 17 | (GNULIB_TOOL_FLAGS): Avoid binary-io, close. Do not avoid fcntl. | ||
| 18 | |||
| 19 | 2013-07-06 Glenn Morris <rgm@gnu.org> | ||
| 20 | |||
| 21 | * admin.el (manual-misc-manuals): New function. | ||
| 22 | (make-manuals): Avoid hard-coding list of misc manuals. | ||
| 23 | Add the option to only make certain type(s) of output. | ||
| 24 | (manual-misc-html): Special-case ccmode and efaq. | ||
| 25 | (manual-html-mono, manual-html-node, manual-pdf, manual-ps): | ||
| 26 | Move creation of output directory here from make-manuals. | ||
| 27 | (manual-html-fix-index-2): Avoid dynamic reference to `f'. | ||
| 28 | |||
| 29 | 2013-07-05 Glenn Morris <rgm@gnu.org> | ||
| 30 | |||
| 31 | * admin.el (make-manuals): Use a standard location for lispintro. | ||
| 32 | Use a pdf/ subdirectory for pdf versions. | ||
| 33 | |||
| 1 | 2013-06-29 Glenn Morris <rgm@gnu.org> | 34 | 2013-06-29 Glenn Morris <rgm@gnu.org> |
| 2 | 35 | ||
| 3 | * admin.el (make-manuals): Don't bother with txt or dvi any more. | 36 | * admin.el (make-manuals): Don't bother with txt or dvi any more. |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 0821593955e..53186b21688 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -18,6 +18,20 @@ in the web pages repository. E.g.: | |||
| 18 | Redirect /software/emacs/manual/html_mono/automake.html /software/automake/manual/automake.html | 18 | Redirect /software/emacs/manual/html_mono/automake.html /software/automake/manual/automake.html |
| 19 | Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/html_node/ | 19 | Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/html_node/ |
| 20 | 20 | ||
| 21 | Another tool you can use to check links is gnu.org's linc.py: | ||
| 22 | http://www.gnu.org/server/source/ | ||
| 23 | |||
| 24 | You run this something like: | ||
| 25 | |||
| 26 | cd /path/to/cvs/emacs-www | ||
| 27 | linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ . | ||
| 28 | |||
| 29 | Be warned that it is really, really slow (as in, can take ~ a full day | ||
| 30 | to check the manual/ directory). It is probably best to run it on a | ||
| 31 | single directory at a time from eg manual/html_node. It is very | ||
| 32 | inefficient, but may reveal a few things that info-xref does not. | ||
| 33 | |||
| 34 | |||
| 21 | make emacs.dvi, elisp.dvi, and deal with any errors (undefined | 35 | make emacs.dvi, elisp.dvi, and deal with any errors (undefined |
| 22 | references etc) in the output. Break any overfull lines. | 36 | references etc) in the output. Break any overfull lines. |
| 23 | Underfull hboxes are not serious, but it can be nice to get rid of | 37 | Underfull hboxes are not serious, but it can be nice to get rid of |
diff --git a/admin/admin.el b/admin/admin.el index 2bc4955810d..9c0015fc413 100644 --- a/admin/admin.el +++ b/admin/admin.el | |||
| @@ -193,58 +193,82 @@ Root must be the root of an Emacs source tree." | |||
| 193 | 193 | ||
| 194 | ;;; Various bits of magic for generating the web manuals | 194 | ;;; Various bits of magic for generating the web manuals |
| 195 | 195 | ||
| 196 | (defun make-manuals (root) | 196 | (defun manual-misc-manuals (root) |
| 197 | "Generate the web manuals for the Emacs webpage." | 197 | "Return doc/misc manuals as list of strings." |
| 198 | (interactive "DEmacs root directory: ") | 198 | ;; Like `make -C doc/misc echo-info', but works if unconfigured. |
| 199 | (with-temp-buffer | ||
| 200 | (insert-file-contents (expand-file-name "doc/misc/Makefile.in" root)) | ||
| 201 | (search-forward "INFO_TARGETS = ") | ||
| 202 | (let ((start (point)) | ||
| 203 | res) | ||
| 204 | (end-of-line) | ||
| 205 | (while (and (looking-back "\\\\") | ||
| 206 | (zerop (forward-line 1))) | ||
| 207 | (end-of-line)) | ||
| 208 | (split-string (replace-regexp-in-string | ||
| 209 | "\\(\\\\\\|\\.info\\)" "" | ||
| 210 | (buffer-substring start (point))))))) | ||
| 211 | |||
| 212 | (defun make-manuals (root &optional type) | ||
| 213 | "Generate the web manuals for the Emacs webpage. | ||
| 214 | Interactively with a prefix argument, prompt for TYPE. | ||
| 215 | Optional argument TYPE is type of output (nil means all)." | ||
| 216 | (interactive (let ((root (read-directory-name "Emacs root directory: " | ||
| 217 | source-directory nil t))) | ||
| 218 | (list root | ||
| 219 | (if current-prefix-arg | ||
| 220 | (completing-read | ||
| 221 | "Type: " | ||
| 222 | (append | ||
| 223 | '("misc" "pdf" "ps") | ||
| 224 | (let (res) | ||
| 225 | (dolist (i '("emacs" "elisp" "eintr") res) | ||
| 226 | (dolist (j '("" "-mono" "-node" "-ps" "-pdf")) | ||
| 227 | (push (concat i j) res)))) | ||
| 228 | (manual-misc-manuals root))))))) | ||
| 199 | (let* ((dest (expand-file-name "manual" root)) | 229 | (let* ((dest (expand-file-name "manual" root)) |
| 200 | (html-node-dir (expand-file-name "html_node" dest)) | 230 | (html-node-dir (expand-file-name "html_node" dest)) |
| 201 | (html-mono-dir (expand-file-name "html_mono" dest)) | 231 | (html-mono-dir (expand-file-name "html_mono" dest)) |
| 202 | (ps-dir (expand-file-name "ps" dest))) | 232 | (ps-dir (expand-file-name "ps" dest)) |
| 233 | (pdf-dir (expand-file-name "pdf" dest)) | ||
| 234 | (emacs (expand-file-name "doc/emacs/emacs.texi" root)) | ||
| 235 | (elisp (expand-file-name "doc/lispref/elisp.texi" root)) | ||
| 236 | (eintr (expand-file-name "doc/lispintro/emacs-lisp-intro.texi" root)) | ||
| 237 | (misc (manual-misc-manuals root))) | ||
| 238 | ;; TODO this makes it non-continuable. | ||
| 239 | ;; Instead, delete the individual dest directory each time. | ||
| 203 | (when (file-directory-p dest) | 240 | (when (file-directory-p dest) |
| 204 | (if (y-or-n-p (format "Directory %s exists, delete it first?" dest)) | 241 | (if (y-or-n-p (format "Directory %s exists, delete it first? " dest)) |
| 205 | (delete-directory dest t) | 242 | (delete-directory dest t) |
| 206 | (error "Aborted"))) | 243 | (user-error "Aborted"))) |
| 207 | (make-directory dest) | 244 | (if (member type '(nil "emacs" "emacs-node")) |
| 208 | (make-directory html-node-dir) | 245 | (manual-html-node emacs (expand-file-name "emacs" html-node-dir))) |
| 209 | (make-directory html-mono-dir) | 246 | (if (member type '(nil "emacs" "emacs-mono")) |
| 210 | (make-directory ps-dir) | 247 | (manual-html-mono emacs (expand-file-name "emacs.html" html-mono-dir))) |
| 211 | ;; Emacs manual | 248 | (if (member type '(nil "emacs" "emacs-pdf" "pdf")) |
| 212 | (let ((texi (expand-file-name "doc/emacs/emacs.texi" root))) | 249 | (manual-pdf emacs (expand-file-name "emacs.pdf" pdf-dir))) |
| 213 | (manual-html-node texi (expand-file-name "emacs" html-node-dir)) | 250 | (if (member type '(nil "emacs" "emacs-ps" "ps")) |
| 214 | (manual-html-mono texi (expand-file-name "emacs.html" html-mono-dir)) | 251 | (manual-ps emacs (expand-file-name "emacs.ps" ps-dir))) |
| 215 | (manual-pdf texi (expand-file-name "emacs.pdf" dest)) | 252 | (if (member type '(nil "elisp" "elisp-node")) |
| 216 | (manual-ps texi (expand-file-name "emacs.ps" ps-dir))) | 253 | (manual-html-node elisp (expand-file-name "elisp" html-node-dir))) |
| 217 | ;; Lisp manual | 254 | (if (member type '(nil "elisp" "elisp-mono")) |
| 218 | (let ((texi (expand-file-name "doc/lispref/elisp.texi" root))) | 255 | (manual-html-mono elisp (expand-file-name "elisp.html" html-mono-dir))) |
| 219 | (manual-html-node texi (expand-file-name "elisp" html-node-dir)) | 256 | (if (member type '(nil "elisp" "elisp-pdf" "pdf")) |
| 220 | (manual-html-mono texi (expand-file-name "elisp.html" html-mono-dir)) | 257 | (manual-pdf elisp (expand-file-name "elisp.pdf" pdf-dir))) |
| 221 | (manual-pdf texi (expand-file-name "elisp.pdf" dest)) | 258 | (if (member type '(nil "elisp" "elisp-ps" "ps")) |
| 222 | (manual-ps texi (expand-file-name "elisp.ps" ps-dir))) | 259 | (manual-ps elisp (expand-file-name "elisp.ps" ps-dir))) |
| 223 | (let ((texi (expand-file-name "doc/lispintro/emacs-lisp-intro.texi" root)) | 260 | (if (member type '(nil "eintr" "eintr-node")) |
| 224 | (dest (expand-file-name "emacs-lisp-intro" dest)) | 261 | (manual-html-node eintr (expand-file-name "eintr" html-node-dir))) |
| 225 | dest2) | 262 | (if (member type '(nil "eintr" "eintr-node")) |
| 226 | ;; Mimic the atypical directory layout used for emacs-lisp-intro. | 263 | (manual-html-mono eintr (expand-file-name "eintr.html" html-mono-dir))) |
| 227 | (make-directory dest) | 264 | (if (member type '(nil "eintr" "eintr-pdf" "pdf")) |
| 228 | (make-directory (setq dest2 (expand-file-name "html_node" dest))) | 265 | (manual-pdf eintr (expand-file-name "eintr.pdf" pdf-dir))) |
| 229 | (manual-html-node texi dest2) | 266 | (if (member type '(nil "eintr" "eintr-ps" "ps")) |
| 230 | (make-directory (setq dest2 (expand-file-name "html_mono" dest))) | 267 | (manual-ps eintr (expand-file-name "eintr.ps" ps-dir))) |
| 231 | (manual-html-mono texi (expand-file-name "emacs-lisp-intro.html" dest2)) | ||
| 232 | (manual-pdf texi (expand-file-name "emacs-lisp-intro.pdf" dest)) | ||
| 233 | (make-directory (setq dest2 (expand-file-name "ps" dest))) | ||
| 234 | (manual-ps texi (expand-file-name "emacs-lisp-intro.ps" dest2))) | ||
| 235 | ;; Misc manuals | 268 | ;; Misc manuals |
| 236 | (let ((manuals '("ada-mode" "auth" "autotype" "bovine" "calc" "cc-mode" | 269 | (dolist (manual misc) |
| 237 | "cl" "dbus" "dired-x" "ebrowse" "ede" "ediff" | 270 | (if (member type `(nil ,manual "misc")) |
| 238 | "edt" "eieio" "emacs-gnutls" "emacs-mime" "epa" "erc" "ert" | 271 | (manual-misc-html manual root html-node-dir html-mono-dir))) |
| 239 | "eshell" "eudc" "faq" "flymake" "forms" | ||
| 240 | "gnus" "htmlfontify" "idlwave" "info" | ||
| 241 | "mairix-el" "message" "mh-e" "newsticker" | ||
| 242 | "nxml-mode" "org" "pcl-cvs" "pgg" "rcirc" | ||
| 243 | "reftex" "remember" "sasl" "sc" "semantic" | ||
| 244 | "ses" "sieve" "smtpmail" "speedbar" "srecode" "tramp" | ||
| 245 | "url" "vip" "viper" "widget" "wisent" "woman"))) | ||
| 246 | (dolist (manual manuals) | ||
| 247 | (manual-misc-html manual root html-node-dir html-mono-dir))) | ||
| 248 | (message "Manuals created in %s" dest))) | 272 | (message "Manuals created in %s" dest))) |
| 249 | 273 | ||
| 250 | (defconst manual-doctype-string | 274 | (defconst manual-doctype-string |
| @@ -259,10 +283,15 @@ Root must be the root of an Emacs source tree." | |||
| 259 | <meta name=\"DC.title\" content=\"gnu.org\">\n\n") | 283 | <meta name=\"DC.title\" content=\"gnu.org\">\n\n") |
| 260 | 284 | ||
| 261 | (defconst manual-style-string "<style type=\"text/css\"> | 285 | (defconst manual-style-string "<style type=\"text/css\"> |
| 262 | @import url('/s/emacs/manual.css');\n</style>\n") | 286 | @import url('/software/emacs/manual.css');\n</style>\n") |
| 263 | 287 | ||
| 264 | (defun manual-misc-html (name root html-node-dir html-mono-dir) | 288 | (defun manual-misc-html (name root html-node-dir html-mono-dir) |
| 265 | (let ((texi (expand-file-name (format "doc/misc/%s.texi" name) root))) | 289 | ;; Hack to deal with the cases where .texi creates a different .info. |
| 290 | ;; Blech. TODO Why not just rename the .texi files? | ||
| 291 | (let* ((texiname (cond ((equal name "ccmode") "cc-mode") | ||
| 292 | ((equal name "efaq") "faq") | ||
| 293 | (t name))) | ||
| 294 | (texi (expand-file-name (format "doc/misc/%s.texi" texiname) root))) | ||
| 266 | (manual-html-node texi (expand-file-name name html-node-dir)) | 295 | (manual-html-node texi (expand-file-name name html-node-dir)) |
| 267 | (manual-html-mono texi (expand-file-name (concat name ".html") | 296 | (manual-html-mono texi (expand-file-name (concat name ".html") |
| 268 | html-mono-dir)))) | 297 | html-mono-dir)))) |
| @@ -272,6 +301,7 @@ Root must be the root of an Emacs source tree." | |||
| 272 | This function also edits the HTML files so that they validate as | 301 | This function also edits the HTML files so that they validate as |
| 273 | HTML 4.01 Transitional, and pulls in the gnu.org stylesheet using | 302 | HTML 4.01 Transitional, and pulls in the gnu.org stylesheet using |
| 274 | the @import directive." | 303 | the @import directive." |
| 304 | (make-directory (or (file-name-directory dest) ".") t) | ||
| 275 | (call-process "makeinfo" nil nil nil | 305 | (call-process "makeinfo" nil nil nil |
| 276 | "-D" "WWW_GNU_ORG" | 306 | "-D" "WWW_GNU_ORG" |
| 277 | "-I" (expand-file-name "../emacs" | 307 | "-I" (expand-file-name "../emacs" |
| @@ -298,6 +328,7 @@ HTML 4.01 Transitional, and pulls in the gnu.org stylesheet using | |||
| 298 | the @import directive." | 328 | the @import directive." |
| 299 | (unless (file-exists-p texi-file) | 329 | (unless (file-exists-p texi-file) |
| 300 | (error "Manual file %s not found" texi-file)) | 330 | (error "Manual file %s not found" texi-file)) |
| 331 | (make-directory dir t) | ||
| 301 | (call-process "makeinfo" nil nil nil | 332 | (call-process "makeinfo" nil nil nil |
| 302 | "-D" "WWW_GNU_ORG" | 333 | "-D" "WWW_GNU_ORG" |
| 303 | "-I" (expand-file-name "../emacs" | 334 | "-I" (expand-file-name "../emacs" |
| @@ -334,6 +365,7 @@ the @import directive." | |||
| 334 | 365 | ||
| 335 | (defun manual-pdf (texi-file dest) | 366 | (defun manual-pdf (texi-file dest) |
| 336 | "Run texi2pdf on TEXI-FILE, emitting pdf output to DEST." | 367 | "Run texi2pdf on TEXI-FILE, emitting pdf output to DEST." |
| 368 | (make-directory (or (file-name-directory dest) ".") t) | ||
| 337 | (let ((default-directory (file-name-directory texi-file))) | 369 | (let ((default-directory (file-name-directory texi-file))) |
| 338 | (call-process "texi2pdf" nil nil nil | 370 | (call-process "texi2pdf" nil nil nil |
| 339 | "-I" "../emacs" "-I" "../misc" | 371 | "-I" "../emacs" "-I" "../misc" |
| @@ -341,6 +373,7 @@ the @import directive." | |||
| 341 | 373 | ||
| 342 | (defun manual-ps (texi-file dest) | 374 | (defun manual-ps (texi-file dest) |
| 343 | "Generate a PostScript version of TEXI-FILE as DEST." | 375 | "Generate a PostScript version of TEXI-FILE as DEST." |
| 376 | (make-directory (or (file-name-directory dest) ".") t) | ||
| 344 | (let ((dvi-dest (concat (file-name-sans-extension dest) ".dvi")) | 377 | (let ((dvi-dest (concat (file-name-sans-extension dest) ".dvi")) |
| 345 | (default-directory (file-name-directory texi-file))) | 378 | (default-directory (file-name-directory texi-file))) |
| 346 | (call-process "texi2dvi" nil nil nil | 379 | (call-process "texi2dvi" nil nil nil |
| @@ -452,7 +485,8 @@ the @import directive." | |||
| 452 | (setq done t)) | 485 | (setq done t)) |
| 453 | (t | 486 | (t |
| 454 | (if (eobp) | 487 | (if (eobp) |
| 455 | (error "Parse error in %s" f)) ; f is bound in manual-html-node | 488 | (error "Parse error in %s" |
| 489 | (file-name-nondirectory buffer-file-name))) | ||
| 456 | (unless open-td | 490 | (unless open-td |
| 457 | (setq done t)))) | 491 | (setq done t)))) |
| 458 | (forward-line 1)))) | 492 | (forward-line 1)))) |
diff --git a/admin/merge-gnulib b/admin/merge-gnulib index c8bfe0dacc3..82e0cd77fca 100755 --- a/admin/merge-gnulib +++ b/admin/merge-gnulib | |||
| @@ -29,11 +29,11 @@ GNULIB_MODULES=' | |||
| 29 | alloca-opt c-ctype c-strcase | 29 | alloca-opt c-ctype c-strcase |
| 30 | careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 | 30 | careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 |
| 31 | dtoastr dtotimespec dup2 environ execinfo faccessat | 31 | dtoastr dtotimespec dup2 environ execinfo faccessat |
| 32 | fcntl-h fdatasync fdopendir filemode fstatat fsync | 32 | fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync |
| 33 | getloadavg getopt-gnu gettime gettimeofday | 33 | getloadavg getopt-gnu gettime gettimeofday |
| 34 | ignore-value intprops largefile lstat | 34 | intprops largefile lstat |
| 35 | manywarnings memrchr mktime | 35 | manywarnings memrchr mktime |
| 36 | pselect pthread_sigmask putenv qacl readlink readlinkat | 36 | pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat |
| 37 | sig2str socklen stat-time stdalign stdarg stdbool stdio | 37 | sig2str socklen stat-time stdalign stdarg stdbool stdio |
| 38 | strftime strtoimax strtoumax symlink sys_stat | 38 | strftime strtoimax strtoumax symlink sys_stat |
| 39 | sys_time time timer-time timespec-add timespec-sub unsetenv utimens | 39 | sys_time time timer-time timespec-add timespec-sub unsetenv utimens |
| @@ -41,8 +41,8 @@ GNULIB_MODULES=' | |||
| 41 | ' | 41 | ' |
| 42 | 42 | ||
| 43 | GNULIB_TOOL_FLAGS=' | 43 | GNULIB_TOOL_FLAGS=' |
| 44 | --avoid=dup | 44 | --avoid=close --avoid=dup |
| 45 | --avoid=fchdir --avoid=fcntl --avoid=fstat | 45 | --avoid=fchdir --avoid=fstat |
| 46 | --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow | 46 | --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow |
| 47 | --avoid=open --avoid=openat-die --avoid=opendir | 47 | --avoid=open --avoid=openat-die --avoid=opendir |
| 48 | --avoid=raise | 48 | --avoid=raise |
diff --git a/admin/notes/changelogs b/admin/notes/changelogs index ae9ce40aa0a..1025cfc217f 100644 --- a/admin/notes/changelogs +++ b/admin/notes/changelogs | |||
| @@ -3,9 +3,10 @@ entry in their name, not yours. | |||
| 3 | 3 | ||
| 4 | 4 | ||
| 5 | http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00793.html | 5 | http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00793.html |
| 6 | http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00485.html | 6 | There is no need to make change log entries for files such as NEWS, |
| 7 | There is no need to make trivial change log entries for files such | 7 | MAINTAINERS, and FOR-RELEASE. |
| 8 | as NEWS, MAINTAINERS, and FOR-RELEASE. | 8 | "There is no need" means you don't have to, but you can if you want to. |
| 9 | |||
| 9 | 10 | ||
| 10 | http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg01135.html | 11 | http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg01135.html |
| 11 | There is no need to indicate regeneration of files such as configure | 12 | There is no need to indicate regeneration of files such as configure |