aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorKenichi Handa2013-05-23 00:12:59 +0900
committerKenichi Handa2013-05-23 00:12:59 +0900
commite1b96d7e637cf76864013f8dba68135f07638ab8 (patch)
tree1a2ccd5961a60f0268a37444071e8cd7a2255fbc /admin
parente6d2f1553635a746396f2f4261dde31e03e0fdd1 (diff)
parent5d0acd9d3bb26adfac1c80b78aa48dc8b2d34fe0 (diff)
downloademacs-e1b96d7e637cf76864013f8dba68135f07638ab8.tar.gz
emacs-e1b96d7e637cf76864013f8dba68135f07638ab8.zip
merge trunk
Diffstat (limited to 'admin')
-rw-r--r--admin/ChangeLog29
-rw-r--r--admin/cus-test.el134
-rw-r--r--admin/notes/bugtracker24
-rwxr-xr-xadmin/quick-install-emacs8
4 files changed, 147 insertions, 48 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 830854c8e63..221d5c0586c 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,32 @@
12013-05-16 Glenn Morris <rgm@gnu.org>
2
3 * cus-test.el (cus-test-cus-load-groups): New function.
4 (cus-test-get-options): Add option to return groups.
5 (cus-test-noloads): Also check custom groups.
6
72013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
8
9 * quick-install-emacs: Don't prune DOC-* files a any more.
10
112013-05-14 Glenn Morris <rgm@gnu.org>
12
13 * cus-test.el (cus-test-get-lisp-files): Ignore obsolete/.
14 (cus-test-libs): Fix let-binding of default-directory.
15 (cus-test-noloads): Load all libs for the comparison.
16
172013-05-11 Glenn Morris <rgm@gnu.org>
18
19 * cus-test.el (cus-test-libs-noloads): Add a few more files.
20 (cus-test-load-libs, cus-test-opts):
21 Add option to load more/all Lisp files.
22 (cus-test-get-lisp-files): Ignore .*.el files.
23
242013-05-10 Glenn Morris <rgm@gnu.org>
25
26 * cus-test.el (cus-test-libs-noloads): Add some files.
27 (cus-test-get-lisp-files): New function.
28 (cus-test-libs): Add option to load more/all Lisp files.
29
12013-05-09 Glenn Morris <rgm@gnu.org> 302013-05-09 Glenn Morris <rgm@gnu.org>
2 31
3 * cus-test.el: No need to provide bbdb, bbdb-com any more. 32 * cus-test.el: No need to provide bbdb, bbdb-com any more.
diff --git a/admin/cus-test.el b/admin/cus-test.el
index bce5f5da3cf..6b8ec9abe02 100644
--- a/admin/cus-test.el
+++ b/admin/cus-test.el
@@ -30,11 +30,11 @@
30;; 30;;
31;; The basic tests can be run in batch mode. Invoke them with 31;; The basic tests can be run in batch mode. Invoke them with
32;; 32;;
33;; src/emacs -batch -l admin/cus-test.el -f cus-test-opts 33;; src/emacs -batch -l admin/cus-test.el -f cus-test-opts [all]
34;; 34;;
35;; src/emacs -batch -l admin/cus-test.el -f cus-test-deps 35;; src/emacs -batch -l admin/cus-test.el -f cus-test-deps
36;; 36;;
37;; src/emacs -batch -l admin/cus-test.el -f cus-test-libs 37;; src/emacs -batch -l admin/cus-test.el -f cus-test-libs [all]
38;; 38;;
39;; src/emacs -batch -l admin/cus-test.el -f cus-test-noloads 39;; src/emacs -batch -l admin/cus-test.el -f cus-test-noloads
40;; 40;;
@@ -99,8 +99,14 @@
99(defvar cus-test-skip-list nil 99(defvar cus-test-skip-list nil
100 "List of variables to disregard by `cus-test-apropos'.") 100 "List of variables to disregard by `cus-test-apropos'.")
101 101
102;; Loading dunnet in batch mode leads to a Dead end. 102(defvar cus-test-libs-noloads
103(defvar cus-test-libs-noloads '("play/dunnet.el") 103 ;; Loading dunnet in batch mode leads to a Dead end.
104 ;; blessmail writes a file.
105 ;; characters cannot be loaded twice ("Category `a' is already defined").
106 '("play/dunnet.el" "emulation/edt-mapper.el"
107 "loadup.el" "mail/blessmail.el" "international/characters.el"
108 "cedet/ede/loaddefs.el" "cedet/semantic/loaddefs.el"
109 "net/tramp-loaddefs.el")
104 "List of files not to load by `cus-test-load-libs'. 110 "List of files not to load by `cus-test-load-libs'.
105Names should be as they appear in loaddefs.el.") 111Names should be as they appear in loaddefs.el.")
106 112
@@ -226,17 +232,38 @@ The detected problematic options are stored in `cus-test-errors'."
226 (length cus-test-tested-variables)) 232 (length cus-test-tested-variables))
227 (cus-test-errors-display)) 233 (cus-test-errors-display))
228 234
229(defun cus-test-get-options (regexp) 235(defun cus-test-cus-load-groups (&optional cus-load)
230 "Return a list of custom options matching REGEXP." 236 "Return a list of current custom groups.
231 (let (found) 237If CUS-LOAD is non-nil, include groups from cus-load.el."
238 (append (mapcar 'cdr custom-current-group-alist)
239 (if cus-load
240 (with-temp-buffer
241 (insert-file-contents (locate-library "cus-load.el"))
242 (search-forward "(put '")
243 (beginning-of-line)
244 (let (res)
245 (while (and (looking-at "^(put '\\(\\S-+\\)")
246 (zerop (forward-line 1)))
247 (push (intern (match-string 1)) res))
248 res)))))
249
250(defun cus-test-get-options (regexp &optional group)
251 "Return a list of custom options matching REGEXP.
252If GROUP is non-nil, return groups rather than options.
253If GROUP is `cus-load', include groups listed in cus-loads as well as
254currently defined groups."
255 (let ((groups (if group (cus-test-cus-load-groups (eq group 'cus-load))))
256 found)
232 (mapatoms 257 (mapatoms
233 (lambda (symbol) 258 (lambda (symbol)
234 (and 259 (and
235 (or 260 (if group
236 ;; (user-variable-p symbol) 261 (memq symbol groups)
237 (get symbol 'standard-value) 262 (or
238 ;; (get symbol 'saved-value) 263 ;; (user-variable-p symbol)
239 (get symbol 'custom-type)) 264 (get symbol 'standard-value)
265 ;; (get symbol 'saved-value)
266 (get symbol 'custom-type)))
240 (string-match regexp (symbol-name symbol)) 267 (string-match regexp (symbol-name symbol))
241 (not (member symbol cus-test-skip-list)) 268 (not (member symbol cus-test-skip-list))
242 (push symbol found)))) 269 (push symbol found))))
@@ -276,9 +303,11 @@ The detected problematic options are stored in `cus-test-errors'."
276 (run-hooks 'cus-test-after-load-libs-hook))) 303 (run-hooks 'cus-test-after-load-libs-hook)))
277 304
278;; This is just cus-test-libs, but loading in the current Emacs process. 305;; This is just cus-test-libs, but loading in the current Emacs process.
279(defun cus-test-load-libs () 306(defun cus-test-load-libs (&optional more)
280 "Load the libraries with autoloads. 307 "Load the libraries with autoloads.
281Don't load libraries in `cus-test-libs-noloads'." 308Don't load libraries in `cus-test-libs-noloads'.
309If optional argument MORE is \"defcustom\", load all files with defcustoms.
310If it is \"all\", load all Lisp files."
282 (interactive) 311 (interactive)
283 (cus-test-load-1 312 (cus-test-load-1
284 (let ((lispdir (file-name-directory (locate-library "loaddefs")))) 313 (let ((lispdir (file-name-directory (locate-library "loaddefs"))))
@@ -291,7 +320,9 @@ Don't load libraries in `cus-test-libs-noloads'."
291 (error 320 (error
292 (push (cons file alpha) cus-test-libs-errors) 321 (push (cons file alpha) cus-test-libs-errors)
293 (message "Error for %s: %s" file alpha)))) 322 (message "Error for %s: %s" file alpha))))
294 (cus-test-get-autoload-deps))))) 323 (if more
324 (cus-test-get-lisp-files (equal more "all"))
325 (cus-test-get-autoload-deps))))))
295 326
296(defun cus-test-get-autoload-deps () 327(defun cus-test-get-autoload-deps ()
297 "Return the list of files with autoloads." 328 "Return the list of files with autoloads."
@@ -302,6 +333,24 @@ Don't load libraries in `cus-test-libs-noloads'."
302 (push (buffer-substring (match-end 0) (line-end-position)) files)) 333 (push (buffer-substring (match-end 0) (line-end-position)) files))
303 files))) 334 files)))
304 335
336(defun cus-test-get-lisp-files (&optional all)
337 "Return list of all Lisp files with defcustoms.
338Optional argument ALL non-nil means list all (non-obsolete) Lisp files."
339 (let ((default-directory (expand-file-name "lisp/" source-directory))
340 (msg "Finding files..."))
341 (message "%s" msg)
342 (prog1
343 ;; Hack to remove leading "./".
344 (mapcar (lambda (e) (substring e 2))
345 (apply 'process-lines find-program
346 "-name" "obsolete" "-prune" "-o"
347 "-name" "[^.]*.el" ; ignore .dir-locals.el
348 (if all
349 '("-print")
350 (list "-exec" grep-program
351 "-l" "^[ \t]*(defcustom" "{}" "+"))))
352 (message "%sdone" msg))))
353
305(defun cus-test-message (list) 354(defun cus-test-message (list)
306 "Print the members of LIST line by line." 355 "Print the members of LIST line by line."
307 (dolist (m list) (message "%s" m))) 356 (dolist (m list) (message "%s" m)))
@@ -309,16 +358,21 @@ Don't load libraries in `cus-test-libs-noloads'."
309 358
310;;; The routines for batch mode: 359;;; The routines for batch mode:
311 360
312(defun cus-test-opts () 361(defun cus-test-opts (&optional all)
313 "Test custom options. 362 "Test custom options.
314This function is suitable for batch mode. E.g., invoke 363This function is suitable for batch mode. E.g., invoke
315 364
316 src/emacs -batch -l admin/cus-test.el -f cus-test-opts 365 src/emacs -batch -l admin/cus-test.el -f cus-test-opts
317 366
318in the Emacs source directory." 367in the Emacs source directory.
368Normally only tests options belonging to files in loaddefs.el.
369If optional argument ALL is non-nil, test all files with defcustoms."
319 (interactive) 370 (interactive)
371 (and noninteractive
372 command-line-args-left
373 (setq all (pop command-line-args-left)))
320 (message "Running %s" 'cus-test-load-libs) 374 (message "Running %s" 'cus-test-load-libs)
321 (cus-test-load-libs) 375 (cus-test-load-libs (if all "defcustom"))
322 (message "Running %s" 'cus-test-load-custom-loads) 376 (message "Running %s" 'cus-test-load-custom-loads)
323 (cus-test-load-custom-loads) 377 (cus-test-load-custom-loads)
324 (message "Running %s" 'cus-test-apropos) 378 (message "Running %s" 'cus-test-apropos)
@@ -401,21 +455,27 @@ in the Emacs source directory."
401 (cus-test-message cus-test-deps-errors)) 455 (cus-test-message cus-test-deps-errors))
402 (run-hooks 'cus-test-after-load-libs-hook)) 456 (run-hooks 'cus-test-after-load-libs-hook))
403 457
404(defun cus-test-libs () 458(defun cus-test-libs (&optional more)
405 "Load the libraries with autoloads in separate processes. 459 "Load the libraries with autoloads in separate processes.
406This function is useful to detect load problems of libraries. 460This function is useful to detect load problems of libraries.
407It is suitable for batch mode. E.g., invoke 461It is suitable for batch mode. E.g., invoke
408 462
409 ./src/emacs -batch -l admin/cus-test.el -f cus-test-libs 463 ./src/emacs -batch -l admin/cus-test.el -f cus-test-libs
410 464
411in the Emacs source directory." 465in the Emacs source directory.
466
467If optional argument MORE is \"defcustom\", load all files with defcustoms.
468If it is \"all\", load all Lisp files."
412 (interactive) 469 (interactive)
470 (and noninteractive
471 command-line-args-left
472 (setq more (pop command-line-args-left)))
413 (cus-test-load-1 473 (cus-test-load-1
414 (let ((default-directory source-directory) 474 (let* ((default-directory source-directory)
415 (emacs (expand-file-name "src/emacs")) 475 (emacs (expand-file-name "src/emacs"))
416 skipped) 476 skipped)
417 (or (file-executable-p emacs) 477 (or (file-executable-p emacs)
418 (error "No Emacs executable in %ssrc" default-directory)) 478 (error "No such executable `%s'" emacs))
419 (mapc 479 (mapc
420 (lambda (file) 480 (lambda (file)
421 (if (member file cus-test-libs-noloads) 481 (if (member file cus-test-libs-noloads)
@@ -436,7 +496,9 @@ in the Emacs source directory."
436 (error 496 (error
437 (push (cons file alpha) cus-test-libs-errors) 497 (push (cons file alpha) cus-test-libs-errors)
438 (message "Error for %s: %s" file alpha))))) 498 (message "Error for %s: %s" file alpha)))))
439 (cus-test-get-autoload-deps)) 499 (if more
500 (cus-test-get-lisp-files (equal more "all"))
501 (cus-test-get-autoload-deps)))
440 (message "Default directory: %s" default-directory) 502 (message "Default directory: %s" default-directory)
441 (when skipped 503 (when skipped
442 (message "The following libraries were skipped:") 504 (message "The following libraries were skipped:")
@@ -451,17 +513,17 @@ It is suitable for batch mode. E.g., invoke
451 513
452in the Emacs source directory." 514in the Emacs source directory."
453 (interactive) 515 (interactive)
454 (let (cus-loaded) 516 (let ((groups-loaded (cus-test-get-options "" 'cus-load))
517 cus-loaded groups-not-loaded)
455 518
456 (message "Running %s" 'cus-test-load-custom-loads) 519 (message "Running %s" 'cus-test-load-custom-loads)
457 (cus-test-load-custom-loads) 520 (cus-test-load-custom-loads)
458 (setq cus-loaded 521 (setq cus-loaded (cus-test-get-options ""))
459 (cus-test-get-options ""))
460 522
461 (message "Running %s" 'cus-test-load-libs) 523 (message "Running %s" 'cus-test-load-libs)
462 (cus-test-load-libs) 524 (cus-test-load-libs "all")
463 (setq cus-test-vars-not-cus-loaded 525 (setq cus-test-vars-not-cus-loaded (cus-test-get-options "")
464 (cus-test-get-options "")) 526 groups-not-loaded (cus-test-get-options "" t))
465 527
466 (dolist (o cus-loaded) 528 (dolist (o cus-loaded)
467 (setq cus-test-vars-not-cus-loaded 529 (setq cus-test-vars-not-cus-loaded
@@ -471,7 +533,15 @@ in the Emacs source directory."
471 (message "No options not loaded by custom-load-symbol found") 533 (message "No options not loaded by custom-load-symbol found")
472 (message "The following options were not loaded by custom-load-symbol:") 534 (message "The following options were not loaded by custom-load-symbol:")
473 (cus-test-message 535 (cus-test-message
474 (sort cus-test-vars-not-cus-loaded 'string<))))) 536 (sort cus-test-vars-not-cus-loaded 'string<)))
537
538 (dolist (o groups-loaded)
539 (setq groups-not-loaded (delete o groups-not-loaded)))
540
541 (if (not groups-not-loaded)
542 (message "No groups not in cus-load.el found")
543 (message "The following groups are not in cus-load.el:")
544 (cus-test-message (sort groups-not-loaded 'string<)))))
475 545
476(provide 'cus-test) 546(provide 'cus-test)
477 547
diff --git a/admin/notes/bugtracker b/admin/notes/bugtracker
index 9957bc9b567..7947b17973b 100644
--- a/admin/notes/bugtracker
+++ b/admin/notes/bugtracker
@@ -8,7 +8,8 @@ This is 95% of all you will ever need to know.
8 8
9** How do I report a bug? 9** How do I report a bug?
10Use M-x report-emacs-bug, or send mail to bug-gnu-emacs@gnu.org. 10Use M-x report-emacs-bug, or send mail to bug-gnu-emacs@gnu.org.
11If you want to Cc someone, use an "X-Debbugs-CC" header instead. 11If you want to Cc someone, use an "X-Debbugs-CC" header (or
12pseudo-header, see below) instead.
12 13
13** How do I comment on a bug? 14** How do I comment on a bug?
14Reply to a mail on the bug-gnu-emacs list in the normal way. 15Reply to a mail on the bug-gnu-emacs list in the normal way.
@@ -52,8 +53,8 @@ i) Your report will be assigned a number and generate an automatic reply.
52ii) Optionally, you can set some database parameters when you first 53ii) Optionally, you can set some database parameters when you first
53report a bug (see "Setting bug parameters" below). 54report a bug (see "Setting bug parameters" below).
54 55
55iii) If you want to CC: someone, use X-Debbugs-CC: (this is important; 56iii) If you want to CC: someone, use X-Debbugs-CC: (note this only
56see below). 57applies to _new_ reports, not followups).
57 58
58Once your report is filed and assigned a number, it is sent out to the 59Once your report is filed and assigned a number, it is sent out to the
59bug mailing list. In some cases, it may be appropriate to just file a 60bug mailing list. In some cases, it may be appropriate to just file a
@@ -92,15 +93,18 @@ but create duplicates and errors. (It is possible, but unlikely, that
92you might want to have a dialog with the owner address, outside of 93you might want to have a dialog with the owner address, outside of
93normal bug reporting.) 94normal bug reporting.)
94 95
95** When reporting a bug, to send a Cc to another address 96** When reporting a new bug, to send a Cc to another address
96(e.g. bug-cc-mode@gnu.org), do NOT just use a Cc: header. 97(e.g. bug-cc-mode@gnu.org), do NOT just use a Cc: header.
97Instead, use "X-Debbugs-CC:". This ensures the Cc address will get a 98Instead, use "X-Debbugs-CC:". This ensures the Cc address will get a
98mail with the bug report number in. If you do not do this, each reply 99mail with the bug report number in. If you do not do this, each reply
99in the subsequent discussion will end up creating a new bug. 100in the subsequent discussion might end up creating a new bug.
100This is annoying. 101This is annoying. (So annoying that a form of message-id tracking has
102been implemented to hopefully stop this happening, but it is still
103better to use X-Debbugs-CC.)
101 104
102(So annoying that a form of message-id tracking has been implemented 105Like any X-Debbugs- header, this one can also be specified in the
103to hopefully stop this happening, but it is still better to use X-Debbugs-CC.) 106pseudo-header (see below), if your mail client does not let you add
107"X-" headers.
104 108
105If a new report contains X-Debbugs-CC in the input, this is 109If a new report contains X-Debbugs-CC in the input, this is
106converted to a real Cc header in the output. (See Bug#1780,5384) 110converted to a real Cc header in the output. (See Bug#1780,5384)
@@ -218,8 +222,8 @@ Package: emacs
218Version: 23.0.60 222Version: 23.0.60
219Severity: minor 223Severity: minor
220 224
221This can also include tags. Some things (e.g. submitter) don't seem to 225This can also include tags, or any X-Debbugs- setting.
222work here. 226Some things (e.g. submitter) don't seem to work here.
223 227
224Otherwise, send mail to the control server, control@debbugs.gnu.org. 228Otherwise, send mail to the control server, control@debbugs.gnu.org.
225At the start of the message body, supply the desired commands, one per 229At the start of the message body, supply the desired commands, one per
diff --git a/admin/quick-install-emacs b/admin/quick-install-emacs
index e74a2a5af49..98bd61f839d 100755
--- a/admin/quick-install-emacs
+++ b/admin/quick-install-emacs
@@ -105,8 +105,8 @@ and build directories reside.
105 105
106Optionally, $me can also remove old versions of 106Optionally, $me can also remove old versions of
107automatically generated files that are version-specific (such as the 107automatically generated files that are version-specific (such as the
108versioned emacs executables in the \`src' directory, and the DOC-* files 108versioned emacs executables in the \`src' directory).
109in the \`etc' directory). The latter action is called \`pruning,' and 109The latter action is called \`pruning,' and
110can be enabled using the \`-p' or \`--prune' options. 110can be enabled using the \`-p' or \`--prune' options.
111EOF 111EOF
112 exit 0 112 exit 0
@@ -209,10 +209,6 @@ maybe_mkdir "$DST_INFO"
209 209
210PRUNED="" 210PRUNED=""
211if test x"$PRUNE" != xno; then 211if test x"$PRUNE" != xno; then
212 for D in `ls -1t $BUILD/etc/DOC-* | sed 1d`; do
213 echo $REMOVE_CMD $D
214 PRUNED="$PRUNED $D"
215 done
216 for D in `ls -1t $BUILD/src/emacs-$VERSION.* | sed 1d`; do 212 for D in `ls -1t $BUILD/src/emacs-$VERSION.* | sed 1d`; do
217 echo $REMOVE_CMD $D 213 echo $REMOVE_CMD $D
218 PRUNED="$PRUNED $D" 214 PRUNED="$PRUNED $D"