diff options
| author | Tom Tromey | 2013-06-03 12:25:05 -0600 |
|---|---|---|
| committer | Tom Tromey | 2013-06-03 12:25:05 -0600 |
| commit | 68359abba96d7ec4db8aab3d3dd9cf1105c3bab5 (patch) | |
| tree | 862703e7e1a1888170136a8296a5750d6b2ae2eb /admin | |
| parent | cbcba8ce7f980b01c18c0fd561ef6687b1361507 (diff) | |
| parent | e2d8a6f0a229b4ebe26484b892ec4f14888f58b6 (diff) | |
| download | emacs-68359abba96d7ec4db8aab3d3dd9cf1105c3bab5.tar.gz emacs-68359abba96d7ec4db8aab3d3dd9cf1105c3bab5.zip | |
merge from trunk; clean up some issues
Diffstat (limited to 'admin')
| -rw-r--r-- | admin/CPP-DEFINES | 1 | ||||
| -rw-r--r-- | admin/ChangeLog | 73 | ||||
| -rw-r--r-- | admin/cus-test.el | 311 | ||||
| -rw-r--r-- | admin/grammars/srecode-template.wy | 6 | ||||
| -rwxr-xr-x | admin/merge-gnulib | 4 | ||||
| -rw-r--r-- | admin/notes/bugtracker | 30 | ||||
| -rw-r--r-- | admin/notes/unicode | 30 | ||||
| -rwxr-xr-x | admin/quick-install-emacs | 8 |
8 files changed, 291 insertions, 172 deletions
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES index c11c3c3b489..a89d1764f7b 100644 --- a/admin/CPP-DEFINES +++ b/admin/CPP-DEFINES | |||
| @@ -377,7 +377,6 @@ HAVE_WS2TCPIP_H | |||
| 377 | HAVE_XAW3D | 377 | HAVE_XAW3D |
| 378 | HAVE_XFT | 378 | HAVE_XFT |
| 379 | HAVE_XIM | 379 | HAVE_XIM |
| 380 | HAVE_XKBGETKEYBOARD | ||
| 381 | HAVE_XPM | 380 | HAVE_XPM |
| 382 | HAVE_XRMSETDATABASE | 381 | HAVE_XRMSETDATABASE |
| 383 | HAVE_XSCREENNUMBEROFSCREEN | 382 | HAVE_XSCREENNUMBEROFSCREEN |
diff --git a/admin/ChangeLog b/admin/ChangeLog index 25ce7c0f9e4..ac6031fa205 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,76 @@ | |||
| 1 | 2013-06-02 Eric Ludlam <zappo@gnu.org> | ||
| 2 | |||
| 3 | * grammars/srecode-template.wy (variable): Accept a single number | ||
| 4 | as a variable value. Allows the 'priority' to be set to a number. | ||
| 5 | (wisent-srecode-template-lexer): Move number up so it can be | ||
| 6 | created. | ||
| 7 | |||
| 8 | 2013-05-16 Glenn Morris <rgm@gnu.org> | ||
| 9 | |||
| 10 | * cus-test.el (cus-test-cus-load-groups): New function. | ||
| 11 | (cus-test-get-options): Add option to return groups. | ||
| 12 | (cus-test-noloads): Also check custom groups. | ||
| 13 | |||
| 14 | 2013-05-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15 | |||
| 16 | * quick-install-emacs: Don't prune DOC-* files a any more. | ||
| 17 | |||
| 18 | 2013-05-14 Glenn Morris <rgm@gnu.org> | ||
| 19 | |||
| 20 | * cus-test.el (cus-test-get-lisp-files): Ignore obsolete/. | ||
| 21 | (cus-test-libs): Fix let-binding of default-directory. | ||
| 22 | (cus-test-noloads): Load all libs for the comparison. | ||
| 23 | |||
| 24 | 2013-05-11 Glenn Morris <rgm@gnu.org> | ||
| 25 | |||
| 26 | * cus-test.el (cus-test-libs-noloads): Add a few more files. | ||
| 27 | (cus-test-load-libs, cus-test-opts): | ||
| 28 | Add option to load more/all Lisp files. | ||
| 29 | (cus-test-get-lisp-files): Ignore .*.el files. | ||
| 30 | |||
| 31 | 2013-05-10 Glenn Morris <rgm@gnu.org> | ||
| 32 | |||
| 33 | * cus-test.el (cus-test-libs-noloads): Add some files. | ||
| 34 | (cus-test-get-lisp-files): New function. | ||
| 35 | (cus-test-libs): Add option to load more/all Lisp files. | ||
| 36 | |||
| 37 | 2013-05-09 Glenn Morris <rgm@gnu.org> | ||
| 38 | |||
| 39 | * cus-test.el: No need to provide bbdb, bbdb-com any more. | ||
| 40 | (cus-test-libs-noloads): Add dunnet in the defvar. | ||
| 41 | (dunnet): Don't always load it. | ||
| 42 | (viper-mode): Only set if interactive. | ||
| 43 | (cus-test-load-custom-loads): Load dunnet if necessary. | ||
| 44 | (cus-test-load-1): New macro, with common code from cus-test-load-libs | ||
| 45 | and cus-test-libs. | ||
| 46 | (cus-test-load-libs, cus-test-libs): Use cus-test-load-1 macro. | ||
| 47 | Update for cus-test-get-autoload-deps changed result. | ||
| 48 | (cus-test-get-autoload-deps): Simplify. Return file names as they | ||
| 49 | appear in loaddefs.el (directory parts are needed now that not all | ||
| 50 | lisp subdirs are in load-path). | ||
| 51 | (cus-test-deps): Explicitly skip dunnet. | ||
| 52 | |||
| 53 | 2013-05-07 Paul Eggert <eggert@cs.ucla.edu> | ||
| 54 | |||
| 55 | Use Gnulib ACL implementation, for benefit of Solaris etc. (Bug#14295) | ||
| 56 | * merge-gnulib (GNULIB_MODULES): Add qacl. | ||
| 57 | (GNULIB_TOOL_FLAGS): Do not avoid errno. | ||
| 58 | |||
| 59 | 2013-04-01 Paul Eggert <eggert@cs.ucla.edu> | ||
| 60 | |||
| 61 | Use UTF-8 for most files with non-ASCII characters (Bug#13936). | ||
| 62 | * notes/unicode (etc/tutorials/TUTORIAL.ko, leim/quail/hanja.el) | ||
| 63 | (leim/quail/hanja3.el, leim/quail/symbol-ksc.el): | ||
| 64 | Now utf-8, not iso-2022-7bit. Also, files that contain non-UTF-8 | ||
| 65 | characters are now encoded in utf-8-emacs, not iso-2022-7bit. | ||
| 66 | |||
| 67 | 2013-03-18 Paul Eggert <eggert@cs.ucla.edu> | ||
| 68 | |||
| 69 | * notes/unicode: Mention some more iso-2022-7bit files (Bug#13936). | ||
| 70 | |||
| 71 | Automate the build of ja-dic.el (Bug#13984). | ||
| 72 | * notes/unicode: ja-dic.el is now UTF-8. | ||
| 73 | |||
| 1 | 2013-03-16 Glenn Morris <rgm@gnu.org> | 74 | 2013-03-16 Glenn Morris <rgm@gnu.org> |
| 2 | 75 | ||
| 3 | * admin.el (manual-pdf, manual-dvi): Pass -I to texi2pdf, texi2dvi. | 76 | * admin.el (manual-pdf, manual-dvi): Pass -I to texi2pdf, texi2dvi. |
diff --git a/admin/cus-test.el b/admin/cus-test.el index c93a14297f8..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 | ;; |
| @@ -87,43 +87,6 @@ | |||
| 87 | ;; The command `cus-test-noloads' returns a list of variables which | 87 | ;; The command `cus-test-noloads' returns a list of variables which |
| 88 | ;; are somewhere declared as custom options, but not loaded by | 88 | ;; are somewhere declared as custom options, but not loaded by |
| 89 | ;; `custom-load-symbol'. | 89 | ;; `custom-load-symbol'. |
| 90 | ;; | ||
| 91 | ;; Some results from October 2002: | ||
| 92 | ;; | ||
| 93 | ;; 4523 options tested | ||
| 94 | ;; The following variables might have problems: | ||
| 95 | ;; ps-mule-font-info-database-default | ||
| 96 | ;; grep-tree-command | ||
| 97 | ;; grep-find-command | ||
| 98 | ;; | ||
| 99 | ;; 288 features required | ||
| 100 | ;; 10 files loaded | ||
| 101 | ;; The following load problems appeared: | ||
| 102 | ;; (killing x-win (file-error Cannot open load file x-win)) | ||
| 103 | ;; Symbol faces has loaddefs as custom dependency | ||
| 104 | ;; (reftex-index-support reftex-vars (void-function reftex-set-dirty)) | ||
| 105 | ;; (eshell-script em-script (void-variable eshell-directory-name)) | ||
| 106 | ;; (pcomplete em-cmpl (void-function eshell-under-windows-p)) | ||
| 107 | ;; (eshell-ext esh-ext (void-function eshell-under-windows-p)) | ||
| 108 | ;; ... | ||
| 109 | ;; | ||
| 110 | ;; 422 libraries had no load errors | ||
| 111 | ;; The following load problems appeared: | ||
| 112 | ;; (eudc-export error 255) | ||
| 113 | ;; (ada-xref error 255) | ||
| 114 | ;; (ada-stmt error 255) | ||
| 115 | ;; | ||
| 116 | ;; The following options were not loaded by custom-load-symbol: | ||
| 117 | ;; edt-bottom-scroll-margin | ||
| 118 | ;; edt-keep-current-page-delimiter | ||
| 119 | ;; edt-top-scroll-margin | ||
| 120 | ;; edt-use-EDT-control-key-bindings | ||
| 121 | ;; edt-word-entities | ||
| 122 | ;; grep-find-use-xargs | ||
| 123 | ;; master-mode-hook | ||
| 124 | ;; outline-level | ||
| 125 | ;; outline-minor-mode-hook | ||
| 126 | ;; refill-mode-hook | ||
| 127 | 90 | ||
| 128 | 91 | ||
| 129 | ;;; Code: | 92 | ;;; Code: |
| @@ -136,24 +99,23 @@ | |||
| 136 | (defvar cus-test-skip-list nil | 99 | (defvar cus-test-skip-list nil |
| 137 | "List of variables to disregard by `cus-test-apropos'.") | 100 | "List of variables to disregard by `cus-test-apropos'.") |
| 138 | 101 | ||
| 139 | (defvar cus-test-libs-noloads nil | 102 | (defvar cus-test-libs-noloads |
| 140 | "List of libraries not to load by `cus-test-load-libs'.") | 103 | ;; Loading dunnet in batch mode leads to a Dead end. |
| 141 | 104 | ;; blessmail writes a file. | |
| 142 | ;; The file eudc-export.el loads libraries "bbdb" and "bbdb-com" which | 105 | ;; characters cannot be loaded twice ("Category `a' is already defined"). |
| 143 | ;; are not part of GNU Emacs: (locate-library "bbdb") => nil | 106 | '("play/dunnet.el" "emulation/edt-mapper.el" |
| 144 | ;; We avoid the resulting errors from loading eudc-export.el: | 107 | "loadup.el" "mail/blessmail.el" "international/characters.el" |
| 145 | (provide 'bbdb) | 108 | "cedet/ede/loaddefs.el" "cedet/semantic/loaddefs.el" |
| 146 | (provide 'bbdb-com) | 109 | "net/tramp-loaddefs.el") |
| 110 | "List of files not to load by `cus-test-load-libs'. | ||
| 111 | Names should be as they appear in loaddefs.el.") | ||
| 147 | 112 | ||
| 148 | ;; This avoids a hang of `cus-test-apropos' in 21.2. | 113 | ;; This avoids a hang of `cus-test-apropos' in 21.2. |
| 149 | ;; (add-to-list 'cus-test-skip-list 'sh-alias-alist) | 114 | ;; (add-to-list 'cus-test-skip-list 'sh-alias-alist) |
| 150 | 115 | ||
| 151 | ;; Loading dunnet in batch mode leads to a Dead end. | 116 | (or noninteractive |
| 152 | (let (noninteractive) (load "dunnet")) | 117 | ;; Never Viperize. |
| 153 | (add-to-list 'cus-test-libs-noloads "dunnet") | 118 | (setq viper-mode nil)) |
| 154 | |||
| 155 | ;; Never Viperize. | ||
| 156 | (setq viper-mode nil) | ||
| 157 | 119 | ||
| 158 | ;; Don't create a file `save-place-file'. | 120 | ;; Don't create a file `save-place-file'. |
| 159 | (eval-after-load "saveplace" | 121 | (eval-after-load "saveplace" |
| @@ -270,17 +232,38 @@ The detected problematic options are stored in `cus-test-errors'." | |||
| 270 | (length cus-test-tested-variables)) | 232 | (length cus-test-tested-variables)) |
| 271 | (cus-test-errors-display)) | 233 | (cus-test-errors-display)) |
| 272 | 234 | ||
| 273 | (defun cus-test-get-options (regexp) | 235 | (defun cus-test-cus-load-groups (&optional cus-load) |
| 274 | "Return a list of custom options matching REGEXP." | 236 | "Return a list of current custom groups. |
| 275 | (let (found) | 237 | If 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. | ||
| 252 | If GROUP is non-nil, return groups rather than options. | ||
| 253 | If GROUP is `cus-load', include groups listed in cus-loads as well as | ||
| 254 | currently defined groups." | ||
| 255 | (let ((groups (if group (cus-test-cus-load-groups (eq group 'cus-load)))) | ||
| 256 | found) | ||
| 276 | (mapatoms | 257 | (mapatoms |
| 277 | (lambda (symbol) | 258 | (lambda (symbol) |
| 278 | (and | 259 | (and |
| 279 | (or | 260 | (if group |
| 280 | ;; (user-variable-p symbol) | 261 | (memq symbol groups) |
| 281 | (get symbol 'standard-value) | 262 | (or |
| 282 | ;; (get symbol 'saved-value) | 263 | ;; (user-variable-p symbol) |
| 283 | (get symbol 'custom-type)) | 264 | (get symbol 'standard-value) |
| 265 | ;; (get symbol 'saved-value) | ||
| 266 | (get symbol 'custom-type))) | ||
| 284 | (string-match regexp (symbol-name symbol)) | 267 | (string-match regexp (symbol-name symbol)) |
| 285 | (not (member symbol cus-test-skip-list)) | 268 | (not (member symbol cus-test-skip-list)) |
| 286 | (push symbol found)))) | 269 | (push symbol found)))) |
| @@ -302,49 +285,71 @@ The detected problematic options are stored in `cus-test-errors'." | |||
| 302 | (defun cus-test-load-custom-loads () | 285 | (defun cus-test-load-custom-loads () |
| 303 | "Call `custom-load-symbol' on all atoms." | 286 | "Call `custom-load-symbol' on all atoms." |
| 304 | (interactive) | 287 | (interactive) |
| 288 | (if noninteractive (let (noninteractive) (require 'dunnet))) | ||
| 305 | (mapatoms 'custom-load-symbol) | 289 | (mapatoms 'custom-load-symbol) |
| 306 | (run-hooks 'cus-test-after-load-libs-hook)) | 290 | (run-hooks 'cus-test-after-load-libs-hook)) |
| 307 | 291 | ||
| 308 | (defun cus-test-load-libs () | 292 | (defmacro cus-test-load-1 (&rest body) |
| 293 | `(progn | ||
| 294 | (setq cus-test-libs-errors nil | ||
| 295 | cus-test-libs-loaded nil) | ||
| 296 | ,@body | ||
| 297 | (message "%s libraries loaded successfully" | ||
| 298 | (length cus-test-libs-loaded)) | ||
| 299 | (if (not cus-test-libs-errors) | ||
| 300 | (message "No load problems encountered") | ||
| 301 | (message "The following load problems appeared:") | ||
| 302 | (cus-test-message cus-test-libs-errors)) | ||
| 303 | (run-hooks 'cus-test-after-load-libs-hook))) | ||
| 304 | |||
| 305 | ;; This is just cus-test-libs, but loading in the current Emacs process. | ||
| 306 | (defun cus-test-load-libs (&optional more) | ||
| 309 | "Load the libraries with autoloads. | 307 | "Load the libraries with autoloads. |
| 310 | Don't load libraries in `cus-test-libs-noloads'." | 308 | Don't load libraries in `cus-test-libs-noloads'. |
| 309 | If optional argument MORE is \"defcustom\", load all files with defcustoms. | ||
| 310 | If it is \"all\", load all Lisp files." | ||
| 311 | (interactive) | 311 | (interactive) |
| 312 | (setq cus-test-libs-errors nil) | 312 | (cus-test-load-1 |
| 313 | (setq cus-test-libs-loaded nil) | 313 | (let ((lispdir (file-name-directory (locate-library "loaddefs")))) |
| 314 | (mapc | 314 | (mapc |
| 315 | (lambda (file) | 315 | (lambda (file) |
| 316 | (condition-case alpha | 316 | (condition-case alpha |
| 317 | (unless (member file cus-test-libs-noloads) | 317 | (unless (member file cus-test-libs-noloads) |
| 318 | (load file) | 318 | (load (file-name-sans-extension (expand-file-name file lispdir))) |
| 319 | (push file cus-test-libs-loaded)) | 319 | (push file cus-test-libs-loaded)) |
| 320 | (error | 320 | (error |
| 321 | (push (cons file alpha) cus-test-libs-errors) | 321 | (push (cons file alpha) cus-test-libs-errors) |
| 322 | (message "Error for %s: %s" file alpha)))) | 322 | (message "Error for %s: %s" file alpha)))) |
| 323 | (cus-test-get-autoload-deps)) | 323 | (if more |
| 324 | (message "%s libraries loaded successfully" | 324 | (cus-test-get-lisp-files (equal more "all")) |
| 325 | (length cus-test-libs-loaded)) | 325 | (cus-test-get-autoload-deps)))))) |
| 326 | (if (not cus-test-libs-errors) | ||
| 327 | (message "No load problems encountered") | ||
| 328 | (message "The following load problems appeared:") | ||
| 329 | (cus-test-message cus-test-libs-errors)) | ||
| 330 | (run-hooks 'cus-test-after-load-libs-hook)) | ||
| 331 | 326 | ||
| 332 | (defun cus-test-get-autoload-deps () | 327 | (defun cus-test-get-autoload-deps () |
| 333 | "Return the list of libraries with autoloads." | 328 | "Return the list of files with autoloads." |
| 334 | (with-temp-buffer | 329 | (with-temp-buffer |
| 335 | (insert-file-contents (locate-library "loaddefs")) | 330 | (insert-file-contents (locate-library "loaddefs")) |
| 336 | ;; This is from `customize-option'. | 331 | (let (files) |
| 337 | (let (deps file) | 332 | (while (search-forward "\n;;; Generated autoloads from " nil t) |
| 338 | (while | 333 | (push (buffer-substring (match-end 0) (line-end-position)) files)) |
| 339 | (search-forward "\n;;; Generated autoloads from " nil t) | 334 | files))) |
| 340 | (goto-char (match-end 0)) | 335 | |
| 341 | (setq file (buffer-substring (point) | 336 | (defun cus-test-get-lisp-files (&optional all) |
| 342 | (progn (end-of-line) (point)))) | 337 | "Return list of all Lisp files with defcustoms. |
| 343 | (setq file (file-name-nondirectory file)) | 338 | Optional argument ALL non-nil means list all (non-obsolete) Lisp files." |
| 344 | (string-match "\\.el\\'" file) | 339 | (let ((default-directory (expand-file-name "lisp/" source-directory)) |
| 345 | (setq file (substring file 0 (match-beginning 0))) | 340 | (msg "Finding files...")) |
| 346 | (setq deps (nconc deps (list file)))) | 341 | (message "%s" msg) |
| 347 | deps))) | 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)))) | ||
| 348 | 353 | ||
| 349 | (defun cus-test-message (list) | 354 | (defun cus-test-message (list) |
| 350 | "Print the members of LIST line by line." | 355 | "Print the members of LIST line by line." |
| @@ -353,16 +358,21 @@ Don't load libraries in `cus-test-libs-noloads'." | |||
| 353 | 358 | ||
| 354 | ;;; The routines for batch mode: | 359 | ;;; The routines for batch mode: |
| 355 | 360 | ||
| 356 | (defun cus-test-opts () | 361 | (defun cus-test-opts (&optional all) |
| 357 | "Test custom options. | 362 | "Test custom options. |
| 358 | This function is suitable for batch mode. E.g., invoke | 363 | This function is suitable for batch mode. E.g., invoke |
| 359 | 364 | ||
| 360 | 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 |
| 361 | 366 | ||
| 362 | in the Emacs source directory." | 367 | in the Emacs source directory. |
| 368 | Normally only tests options belonging to files in loaddefs.el. | ||
| 369 | If optional argument ALL is non-nil, test all files with defcustoms." | ||
| 363 | (interactive) | 370 | (interactive) |
| 371 | (and noninteractive | ||
| 372 | command-line-args-left | ||
| 373 | (setq all (pop command-line-args-left))) | ||
| 364 | (message "Running %s" 'cus-test-load-libs) | 374 | (message "Running %s" 'cus-test-load-libs) |
| 365 | (cus-test-load-libs) | 375 | (cus-test-load-libs (if all "defcustom")) |
| 366 | (message "Running %s" 'cus-test-load-custom-loads) | 376 | (message "Running %s" 'cus-test-load-custom-loads) |
| 367 | (cus-test-load-custom-loads) | 377 | (cus-test-load-custom-loads) |
| 368 | (message "Running %s" 'cus-test-apropos) | 378 | (message "Running %s" 'cus-test-apropos) |
| @@ -392,7 +402,8 @@ in the Emacs source directory." | |||
| 392 | ((symbolp load) | 402 | ((symbolp load) |
| 393 | ;; (condition-case nil (require load) (error nil)) | 403 | ;; (condition-case nil (require load) (error nil)) |
| 394 | (condition-case alpha | 404 | (condition-case alpha |
| 395 | (unless (featurep load) | 405 | (unless (or (featurep load) |
| 406 | (and noninteractive (eq load 'dunnet))) | ||
| 396 | (require load) | 407 | (require load) |
| 397 | (push (list symbol load) cus-test-deps-required)) | 408 | (push (list symbol load) cus-test-deps-required)) |
| 398 | (error | 409 | (error |
| @@ -444,47 +455,54 @@ in the Emacs source directory." | |||
| 444 | (cus-test-message cus-test-deps-errors)) | 455 | (cus-test-message cus-test-deps-errors)) |
| 445 | (run-hooks 'cus-test-after-load-libs-hook)) | 456 | (run-hooks 'cus-test-after-load-libs-hook)) |
| 446 | 457 | ||
| 447 | (defun cus-test-libs () | 458 | (defun cus-test-libs (&optional more) |
| 448 | "Load the libraries with autoloads in separate processes. | 459 | "Load the libraries with autoloads in separate processes. |
| 449 | This function is useful to detect load problems of libraries. | 460 | This function is useful to detect load problems of libraries. |
| 450 | It is suitable for batch mode. E.g., invoke | 461 | It is suitable for batch mode. E.g., invoke |
| 451 | 462 | ||
| 452 | 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 |
| 453 | 464 | ||
| 454 | in the Emacs source directory." | 465 | in the Emacs source directory. |
| 466 | |||
| 467 | If optional argument MORE is \"defcustom\", load all files with defcustoms. | ||
| 468 | If it is \"all\", load all Lisp files." | ||
| 455 | (interactive) | 469 | (interactive) |
| 456 | (with-temp-buffer | 470 | (and noninteractive |
| 457 | (setq cus-test-libs-errors nil) | 471 | command-line-args-left |
| 458 | (setq cus-test-libs-loaded nil) | 472 | (setq more (pop command-line-args-left))) |
| 459 | (cd source-directory) | 473 | (cus-test-load-1 |
| 460 | (if (not (file-executable-p "src/emacs")) | 474 | (let* ((default-directory source-directory) |
| 461 | (error "No Emacs executable in %ssrc" default-directory)) | 475 | (emacs (expand-file-name "src/emacs")) |
| 462 | (mapc | 476 | skipped) |
| 463 | (lambda (file) | 477 | (or (file-executable-p emacs) |
| 464 | (condition-case alpha | 478 | (error "No such executable `%s'" emacs)) |
| 465 | (let (fn cmd status) | 479 | (mapc |
| 466 | (setq fn (locate-library file)) | 480 | (lambda (file) |
| 467 | (if (not fn) | 481 | (if (member file cus-test-libs-noloads) |
| 468 | (error "Library %s not found" file)) | 482 | (push file skipped) |
| 469 | (setq cmd (concat "src/emacs -batch -l " fn)) | 483 | (condition-case alpha |
| 470 | (setq status (call-process shell-file-name nil nil nil | 484 | (let* ((fn (expand-file-name file "lisp/")) |
| 471 | shell-command-switch cmd)) | 485 | (elc (concat fn "c")) |
| 472 | (if (equal status 0) | 486 | status) |
| 473 | (message "%s" file) | 487 | (if (file-readable-p elc) ; load compiled if present (faster) |
| 474 | (error "%s" status)) | 488 | (setq fn elc) |
| 475 | (push file cus-test-libs-loaded)) | 489 | (or (file-readable-p fn) |
| 476 | (error | 490 | (error "Library %s not found" file))) |
| 477 | (push (cons file alpha) cus-test-libs-errors) | 491 | (if (equal 0 (setq status (call-process emacs nil nil nil |
| 478 | (message "Error for %s: %s" file alpha)))) | 492 | "-batch" "-l" fn))) |
| 479 | (cus-test-get-autoload-deps)) | 493 | (message "%s" file) |
| 480 | (message "Default Directory: %s" default-directory) | 494 | (error "%s" status)) |
| 481 | (message "%s libraries had no load errors" | 495 | (push file cus-test-libs-loaded)) |
| 482 | (length cus-test-libs-loaded)) | 496 | (error |
| 483 | (if (not cus-test-libs-errors) | 497 | (push (cons file alpha) cus-test-libs-errors) |
| 484 | (message "No load problems encountered") | 498 | (message "Error for %s: %s" file alpha))))) |
| 485 | (message "The following load problems appeared:") | 499 | (if more |
| 486 | (cus-test-message cus-test-libs-errors)) | 500 | (cus-test-get-lisp-files (equal more "all")) |
| 487 | (run-hooks 'cus-test-after-load-libs-hook))) | 501 | (cus-test-get-autoload-deps))) |
| 502 | (message "Default directory: %s" default-directory) | ||
| 503 | (when skipped | ||
| 504 | (message "The following libraries were skipped:") | ||
| 505 | (cus-test-message skipped))))) | ||
| 488 | 506 | ||
| 489 | (defun cus-test-noloads () | 507 | (defun cus-test-noloads () |
| 490 | "Find custom options not loaded by `custom-load-symbol'. | 508 | "Find custom options not loaded by `custom-load-symbol'. |
| @@ -495,17 +513,17 @@ It is suitable for batch mode. E.g., invoke | |||
| 495 | 513 | ||
| 496 | in the Emacs source directory." | 514 | in the Emacs source directory." |
| 497 | (interactive) | 515 | (interactive) |
| 498 | (let (cus-loaded) | 516 | (let ((groups-loaded (cus-test-get-options "" 'cus-load)) |
| 517 | cus-loaded groups-not-loaded) | ||
| 499 | 518 | ||
| 500 | (message "Running %s" 'cus-test-load-custom-loads) | 519 | (message "Running %s" 'cus-test-load-custom-loads) |
| 501 | (cus-test-load-custom-loads) | 520 | (cus-test-load-custom-loads) |
| 502 | (setq cus-loaded | 521 | (setq cus-loaded (cus-test-get-options "")) |
| 503 | (cus-test-get-options "")) | ||
| 504 | 522 | ||
| 505 | (message "Running %s" 'cus-test-load-libs) | 523 | (message "Running %s" 'cus-test-load-libs) |
| 506 | (cus-test-load-libs) | 524 | (cus-test-load-libs "all") |
| 507 | (setq cus-test-vars-not-cus-loaded | 525 | (setq cus-test-vars-not-cus-loaded (cus-test-get-options "") |
| 508 | (cus-test-get-options "")) | 526 | groups-not-loaded (cus-test-get-options "" t)) |
| 509 | 527 | ||
| 510 | (dolist (o cus-loaded) | 528 | (dolist (o cus-loaded) |
| 511 | (setq cus-test-vars-not-cus-loaded | 529 | (setq cus-test-vars-not-cus-loaded |
| @@ -515,12 +533,15 @@ in the Emacs source directory." | |||
| 515 | (message "No options not loaded by custom-load-symbol found") | 533 | (message "No options not loaded by custom-load-symbol found") |
| 516 | (message "The following options were not loaded by custom-load-symbol:") | 534 | (message "The following options were not loaded by custom-load-symbol:") |
| 517 | (cus-test-message | 535 | (cus-test-message |
| 518 | (sort cus-test-vars-not-cus-loaded 'string<))))) | 536 | (sort cus-test-vars-not-cus-loaded 'string<))) |
| 519 | 537 | ||
| 520 | ;; And last but not least a quiz: | 538 | (dolist (o groups-loaded) |
| 521 | ;; | 539 | (setq groups-not-loaded (delete o groups-not-loaded))) |
| 522 | ;; Evaluation of the form (customize-option 'debug-on-error) yields a | 540 | |
| 523 | ;; *Customize* buffer with a mismatch mess. Why? | 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<))))) | ||
| 524 | 545 | ||
| 525 | (provide 'cus-test) | 546 | (provide 'cus-test) |
| 526 | 547 | ||
diff --git a/admin/grammars/srecode-template.wy b/admin/grammars/srecode-template.wy index de9bf351ac6..fd3f61905d3 100644 --- a/admin/grammars/srecode-template.wy +++ b/admin/grammars/srecode-template.wy | |||
| @@ -125,6 +125,10 @@ opt-read-fcn | |||
| 125 | variable | 125 | variable |
| 126 | : SET symbol insertable-string-list newline | 126 | : SET symbol insertable-string-list newline |
| 127 | (VARIABLE-TAG $2 nil $3) | 127 | (VARIABLE-TAG $2 nil $3) |
| 128 | | SET symbol number newline | ||
| 129 | ;; This so a common error w/ priority works. | ||
| 130 | ;; Note that "number" still has a string value in the lexer. | ||
| 131 | (VARIABLE-TAG $2 nil (list $3)) | ||
| 128 | | SHOW symbol newline | 132 | | SHOW symbol newline |
| 129 | (VARIABLE-TAG $2 nil t) | 133 | (VARIABLE-TAG $2 nil t) |
| 130 | ; | 134 | ; |
| @@ -260,8 +264,8 @@ It ignores whitespace, newlines and comments." | |||
| 260 | srecode-template-separator-block | 264 | srecode-template-separator-block |
| 261 | srecode-template-wy--<keyword>-keyword-analyzer | 265 | srecode-template-wy--<keyword>-keyword-analyzer |
| 262 | srecode-template-property-analyzer | 266 | srecode-template-property-analyzer |
| 263 | srecode-template-wy--<symbol>-regexp-analyzer | ||
| 264 | srecode-template-wy--<number>-regexp-analyzer | 267 | srecode-template-wy--<number>-regexp-analyzer |
| 268 | srecode-template-wy--<symbol>-regexp-analyzer | ||
| 265 | srecode-template-wy--<string>-sexp-analyzer | 269 | srecode-template-wy--<string>-sexp-analyzer |
| 266 | srecode-template-wy--<punctuation>-string-analyzer | 270 | srecode-template-wy--<punctuation>-string-analyzer |
| 267 | semantic-lex-default-action | 271 | semantic-lex-default-action |
diff --git a/admin/merge-gnulib b/admin/merge-gnulib index 100749191f0..c8bfe0dacc3 100755 --- a/admin/merge-gnulib +++ b/admin/merge-gnulib | |||
| @@ -33,7 +33,7 @@ GNULIB_MODULES=' | |||
| 33 | getloadavg getopt-gnu gettime gettimeofday | 33 | getloadavg getopt-gnu gettime gettimeofday |
| 34 | ignore-value intprops largefile lstat | 34 | ignore-value intprops largefile lstat |
| 35 | manywarnings memrchr mktime | 35 | manywarnings memrchr mktime |
| 36 | pselect pthread_sigmask putenv readlink readlinkat | 36 | 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 |
| @@ -42,7 +42,7 @@ GNULIB_MODULES=' | |||
| 42 | 42 | ||
| 43 | GNULIB_TOOL_FLAGS=' | 43 | GNULIB_TOOL_FLAGS=' |
| 44 | --avoid=dup | 44 | --avoid=dup |
| 45 | --avoid=errno --avoid=fchdir --avoid=fcntl --avoid=fstat | 45 | --avoid=fchdir --avoid=fcntl --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/bugtracker b/admin/notes/bugtracker index ee385f4dd75..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? |
| 10 | Use M-x report-emacs-bug, or send mail to bug-gnu-emacs@gnu.org. | 10 | Use M-x report-emacs-bug, or send mail to bug-gnu-emacs@gnu.org. |
| 11 | If you want to Cc someone, use an "X-Debbugs-CC" header instead. | 11 | If you want to Cc someone, use an "X-Debbugs-CC" header (or |
| 12 | pseudo-header, see below) instead. | ||
| 12 | 13 | ||
| 13 | ** How do I comment on a bug? | 14 | ** How do I comment on a bug? |
| 14 | Reply to a mail on the bug-gnu-emacs list in the normal way. | 15 | Reply 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. | |||
| 52 | ii) Optionally, you can set some database parameters when you first | 53 | ii) Optionally, you can set some database parameters when you first |
| 53 | report a bug (see "Setting bug parameters" below). | 54 | report a bug (see "Setting bug parameters" below). |
| 54 | 55 | ||
| 55 | iii) If you want to CC: someone, use X-Debbugs-CC: (this is important; | 56 | iii) If you want to CC: someone, use X-Debbugs-CC: (note this only |
| 56 | see below). | 57 | applies to _new_ reports, not followups). |
| 57 | 58 | ||
| 58 | Once your report is filed and assigned a number, it is sent out to the | 59 | Once your report is filed and assigned a number, it is sent out to the |
| 59 | bug mailing list. In some cases, it may be appropriate to just file a | 60 | bug mailing list. In some cases, it may be appropriate to just file a |
| @@ -92,18 +93,21 @@ but create duplicates and errors. (It is possible, but unlikely, that | |||
| 92 | you might want to have a dialog with the owner address, outside of | 93 | you might want to have a dialog with the owner address, outside of |
| 93 | normal bug reporting.) | 94 | normal 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. |
| 97 | Instead, use "X-Debbugs-CC:". This ensures the Cc address will get a | 98 | Instead, use "X-Debbugs-CC:". This ensures the Cc address will get a |
| 98 | mail with the bug report number in. If you do not do this, each reply | 99 | mail with the bug report number in. If you do not do this, each reply |
| 99 | in the subsequent discussion will end up creating a new bug. | 100 | in the subsequent discussion might end up creating a new bug. |
| 100 | This is annoying. | 101 | This is annoying. (So annoying that a form of message-id tracking has |
| 102 | been implemented to hopefully stop this happening, but it is still | ||
| 103 | better to use X-Debbugs-CC.) | ||
| 101 | 104 | ||
| 102 | (So annoying that a form of message-id tracking has been implemented | 105 | Like any X-Debbugs- header, this one can also be specified in the |
| 103 | to hopefully stop this happening, but it is still better to use X-Debbugs-CC.) | 106 | pseudo-header (see below), if your mail client does not let you add |
| 107 | "X-" headers. | ||
| 104 | 108 | ||
| 105 | If a new report contains X-Debbugs-CC in the input, this is | 109 | If a new report contains X-Debbugs-CC in the input, this is |
| 106 | converted to a real Cc header in the output. (See Bug#1720). | 110 | converted to a real Cc header in the output. (See Bug#1780,5384) |
| 107 | It is also merged into the Resent-CC header (see below). | 111 | It is also merged into the Resent-CC header (see below). |
| 108 | 112 | ||
| 109 | ** How does Debbugs send out mails? | 113 | ** How does Debbugs send out mails? |
| @@ -218,8 +222,8 @@ Package: emacs | |||
| 218 | Version: 23.0.60 | 222 | Version: 23.0.60 |
| 219 | Severity: minor | 223 | Severity: minor |
| 220 | 224 | ||
| 221 | This can also include tags. Some things (e.g. submitter) don't seem to | 225 | This can also include tags, or any X-Debbugs- setting. |
| 222 | work here. | 226 | Some things (e.g. submitter) don't seem to work here. |
| 223 | 227 | ||
| 224 | Otherwise, send mail to the control server, control@debbugs.gnu.org. | 228 | Otherwise, send mail to the control server, control@debbugs.gnu.org. |
| 225 | At the start of the message body, supply the desired commands, one per | 229 | At the start of the message body, supply the desired commands, one per |
| @@ -627,7 +631,9 @@ following headers: | |||
| 627 | 631 | ||
| 628 | 1) The leading envelope From line. | 632 | 1) The leading envelope From line. |
| 629 | 2) Message-ID (get it from /var/log/mailman/vette). | 633 | 2) Message-ID (get it from /var/log/mailman/vette). |
| 630 | 3) X-Debbugs-Envelope-To: submit | 634 | 3) X-Debbugs-Envelope-To: xxx |
| 635 | For a new report, xxx = submit; for a control message, xxx = control; | ||
| 636 | for a reply to bug#123, xxx = 123 | ||
| 631 | 637 | ||
| 632 | Then pipe it to receive as above. | 638 | Then pipe it to receive as above. |
| 633 | 639 | ||
diff --git a/admin/notes/unicode b/admin/notes/unicode index 7b5e21c864b..6db5bb7d05c 100644 --- a/admin/notes/unicode +++ b/admin/notes/unicode | |||
| @@ -170,11 +170,9 @@ nontrivial changes to the build process. | |||
| 170 | * japanese-iso-8bit | 170 | * japanese-iso-8bit |
| 171 | 171 | ||
| 172 | SKK-JISYO.L is a verbatim copy of a file taken from an external source. | 172 | SKK-JISYO.L is a verbatim copy of a file taken from an external source. |
| 173 | ja-dic.el is generated automatically by skkdic-convert; this process | 173 | It hasn't been converted to UTF-8. |
| 174 | hasn't been converted to use UTF-8. | ||
| 175 | 174 | ||
| 176 | leim/SKK-DIC/SKK-JISYO.L | 175 | leim/SKK-DIC/SKK-JISYO.L |
| 177 | leim/ja-dic/ja-dic.el | ||
| 178 | 176 | ||
| 179 | * japanese-shift-jis | 177 | * japanese-shift-jis |
| 180 | 178 | ||
| @@ -192,11 +190,33 @@ nontrivial changes to the build process. | |||
| 192 | 190 | ||
| 193 | * iso-2022-7bit | 191 | * iso-2022-7bit |
| 194 | 192 | ||
| 195 | This file contains significant charset information, which is not | 193 | This file switches between CJK charsets, which is not encoded in UTF-8. |
| 196 | encoded in UTF-8. | ||
| 197 | 194 | ||
| 198 | etc/HELLO | 195 | etc/HELLO |
| 199 | 196 | ||
| 197 | Each of these files contains just one CJK charset, but Emacs | ||
| 198 | currently has no easy way to specify set-charset-priority on a | ||
| 199 | per-file basis, so converting any of these files to UTF-8 might | ||
| 200 | change the file's appearance when viewed by an Emacs that is | ||
| 201 | operating in some other language environment. | ||
| 202 | |||
| 203 | etc/tutorials/TUTORIAL.ja | ||
| 204 | leim/quail/cyril-jis.el | ||
| 205 | leim/quail/hanja-jis.el | ||
| 206 | leim/quail/japanese.el | ||
| 207 | leim/quail/py-punct.el | ||
| 208 | leim/quail/pypunct-b5.el | ||
| 209 | lisp/international/ja-dic-cnv.el | ||
| 210 | lisp/international/ja-dic-utl.el | ||
| 211 | lisp/international/kinsoku.el | ||
| 212 | lisp/international/kkc.el | ||
| 213 | lisp/international/titdic-cnv.el | ||
| 214 | lisp/language/japan-util.el | ||
| 215 | lisp/language/japanese.el | ||
| 216 | lisp/term/x-win.el | ||
| 217 | |||
| 218 | * utf-8-emacs | ||
| 219 | |||
| 200 | These files contain characters that cannot be encoded in UTF-8. | 220 | These files contain characters that cannot be encoded in UTF-8. |
| 201 | 221 | ||
| 202 | leim/quail/tibetan.el | 222 | leim/quail/tibetan.el |
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 | ||
| 106 | Optionally, $me can also remove old versions of | 106 | Optionally, $me can also remove old versions of |
| 107 | automatically generated files that are version-specific (such as the | 107 | automatically generated files that are version-specific (such as the |
| 108 | versioned emacs executables in the \`src' directory, and the DOC-* files | 108 | versioned emacs executables in the \`src' directory). |
| 109 | in the \`etc' directory). The latter action is called \`pruning,' and | 109 | The latter action is called \`pruning,' and |
| 110 | can be enabled using the \`-p' or \`--prune' options. | 110 | can be enabled using the \`-p' or \`--prune' options. |
| 111 | EOF | 111 | EOF |
| 112 | exit 0 | 112 | exit 0 |
| @@ -209,10 +209,6 @@ maybe_mkdir "$DST_INFO" | |||
| 209 | 209 | ||
| 210 | PRUNED="" | 210 | PRUNED="" |
| 211 | if test x"$PRUNE" != xno; then | 211 | if 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" |