------------------------------------------------------------ revno: 114777 committer: Michael Albinus branch nick: trunk timestamp: Thu 2013-10-24 09:42:18 +0200 message: Mention the `skip-unless' macro of ert.el. diff: === modified file 'etc/NEWS' --- etc/NEWS 2013-10-19 15:30:39 +0000 +++ etc/NEWS 2013-10-24 07:42:18 +0000 @@ -591,6 +591,9 @@ whether it is safe to use Bash's --noediting option. These days --noediting is ubiquitous; it was introduced in 1996 in Bash version 2. ++++ +** There is a new macro `skip-unless' for skipping ERT tests. See the manual. + * New Modes and Packages in Emacs 24.4 ------------------------------------------------------------ revno: 114776 committer: Michael Albinus branch nick: trunk timestamp: Thu 2013-10-24 09:40:05 +0200 message: * ert.texi (Running Tests Interactively): Adapt examle output. (Tests and Their Environment): Mention skip-unless. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2013-10-23 17:20:09 +0000 +++ doc/misc/ChangeLog 2013-10-24 07:40:05 +0000 @@ -1,3 +1,8 @@ +2013-10-24 Michael Albinus + + * ert.texi (Running Tests Interactively): Adapt examle output. + (Tests and Their Environment): Mention skip-unless. + 2013-10-23 Glenn Morris * dired-x.texi, ebrowse.texi, ede.texi, eieio.texi, eshell.texi: === modified file 'doc/misc/ert.texi' --- doc/misc/ert.texi 2013-01-02 16:13:04 +0000 +++ doc/misc/ert.texi 2013-10-24 07:40:05 +0000 @@ -183,9 +183,10 @@ @example Selector: t -Passed: 31 -Failed: 2 (2 unexpected) -Total: 33/33 +Passed: 31 +Skipped: 0 +Failed: 2 (2 unexpected) +Total: 33/33 Started at: 2008-09-11 08:39:25-0700 Finished. @@ -454,6 +455,19 @@ @node Tests and Their Environment @section Tests and Their Environment +Sometimes, it doesn't make sense to run a test due to missing +preconditions. A required Emacs feature might not be compiled in, the +function to be tested could call an external binary which might not be +available on the test machine, you name it. In this case, the macro +@code{skip-unless} could be used to skip the test: + +@lisp +(ert-deftest test-dbus () + "A test that checks D-BUS functionality." + (skip-unless (featurep 'dbusbind)) + ...) +@end lisp + The outcome of running a test should not depend on the current state of the environment, and each test should leave its environment in the same state it found it in. In particular, a test should not depend on ------------------------------------------------------------ revno: 114775 committer: Michael Albinus branch nick: trunk timestamp: Thu 2013-10-24 09:38:45 +0200 message: * automated/ert-tests.el (ert-test-skip-unless): New test case. (ert-test-deftest): Adapt test for changed macro expansion. (ert-test-run-tests-interactively): * automated/ert-x-tests.el (ert-test-run-tests-interactively-2): Add a skipping test. * automated/file-notify-tests.el (top): Do not require tramp-sh.el. (file-notify--test-local-enabled): Make it a function. Check also for `file-remote-p' of `temporary-file-directory'. (file-notify--test-remote-enabled-checked): New defvar. (file-notify--test-remote-enabled): Rewrite. Do not use Tramp internal functions. Cache result. (file-notify--deftest-remote, file-notify-test00-availability) (file-notify-test01-add-watch, file-notify-test02-events) (file-notify-test03-autorevert): Add checks with `skip_unless'. (file-notify-test-all): Do not check `file-notify--test-local-enabled'. diff: === modified file 'test/ChangeLog' --- test/ChangeLog 2013-10-24 00:47:28 +0000 +++ test/ChangeLog 2013-10-24 07:38:45 +0000 @@ -1,3 +1,22 @@ +2013-10-24 Michael Albinus + + * automated/ert-tests.el (ert-test-skip-unless): New test case. + (ert-test-deftest): Adapt test for changed macro expansion. + (ert-test-run-tests-interactively): + * automated/ert-x-tests.el (ert-test-run-tests-interactively-2): + Add a skipping test. + + * automated/file-notify-tests.el (top): Do not require tramp-sh.el. + (file-notify--test-local-enabled): Make it a function. Check also + for `file-remote-p' of `temporary-file-directory'. + (file-notify--test-remote-enabled-checked): New defvar. + (file-notify--test-remote-enabled): Rewrite. Do not use Tramp + internal functions. Cache result. + (file-notify--deftest-remote, file-notify-test00-availability) + (file-notify-test01-add-watch, file-notify-test02-events) + (file-notify-test03-autorevert): Add checks with `skip_unless'. + (file-notify-test-all): Do not check `file-notify--test-local-enabled'. + 2013-10-24 Dmitry Gutov * indent/ruby.rb: Fix syntax error in the latest example. === modified file 'test/automated/ert-tests.el' --- test/automated/ert-tests.el 2013-08-04 04:37:10 +0000 +++ test/automated/ert-tests.el 2013-10-24 07:38:45 +0000 @@ -294,6 +294,20 @@ "the error signaled was a subtype of the expected type"))))) )) +(ert-deftest ert-test-skip-unless () + ;; Don't skip. + (let ((test (make-ert-test :body (lambda () (skip-unless t))))) + (let ((result (ert-run-test test))) + (should (ert-test-passed-p result)))) + ;; Skip. + (let ((test (make-ert-test :body (lambda () (skip-unless nil))))) + (let ((result (ert-run-test test))) + (should (ert-test-skipped-p result)))) + ;; Skip in case of error. + (let ((test (make-ert-test :body (lambda () (skip-unless (error "Foo")))))) + (let ((result (ert-run-test test))) + (should (ert-test-skipped-p result))))) + (defmacro ert--test-my-list (&rest args) "Don't use this. Instead, call `list' with ARGS, it does the same thing. @@ -332,23 +346,31 @@ (ert-deftest ert-test-deftest () (should (equal (macroexpand '(ert-deftest abc () "foo" :tags '(bar))) - '(progn - (ert-set-test 'abc - (make-ert-test :name 'abc - :documentation "foo" - :tags '(bar) - :body (lambda ()))) - (push '(ert-deftest . abc) current-load-list) - 'abc))) + '(progn + (ert-set-test 'abc + (progn + (vector 'cl-struct-ert-test 'abc "foo" + #'(lambda nil) + nil ':passed + '(bar)))) + (setq current-load-list + (cons + '(ert-deftest . abc) + current-load-list)) + 'abc))) (should (equal (macroexpand '(ert-deftest def () :expected-result ':passed)) - '(progn - (ert-set-test 'def - (make-ert-test :name 'def - :expected-result-type ':passed - :body (lambda ()))) - (push '(ert-deftest . def) current-load-list) - 'def))) + '(progn + (ert-set-test 'def + (progn + (vector 'cl-struct-ert-test 'def nil + #'(lambda nil) + nil ':passed 'nil))) + (setq current-load-list + (cons + '(ert-deftest . def) + current-load-list)) + 'def))) ;; :documentation keyword is forbidden (should-error (macroexpand '(ert-deftest ghi () :documentation "foo")))) @@ -543,7 +565,10 @@ :body (lambda () (ert-pass)))) (failing-test (make-ert-test :name 'failing-test :body (lambda () (ert-fail - "failure message"))))) + "failure message")))) + (skipped-test (make-ert-test :name 'skipped-test + :body (lambda () (ert-skip + "skip message"))))) (let ((ert-debug-on-error nil)) (let* ((buffer-name (generate-new-buffer-name " *ert-test-run-tests*")) (messages nil) @@ -554,23 +579,26 @@ (unwind-protect (let ((case-fold-search nil)) (ert-run-tests-interactively - `(member ,passing-test ,failing-test) buffer-name + `(member ,passing-test ,failing-test, skipped-test) buffer-name mock-message-fn) (should (equal messages `(,(concat - "Ran 2 tests, 1 results were " - "as expected, 1 unexpected")))) + "Ran 3 tests, 1 results were " + "as expected, 1 unexpected, " + "1 skipped")))) (with-current-buffer buffer-name (goto-char (point-min)) (should (equal (buffer-substring (point-min) (save-excursion - (forward-line 4) + (forward-line 5) (point))) (concat - "Selector: (member )\n" - "Passed: 1\n" - "Failed: 1 (1 unexpected)\n" - "Total: 2/2\n"))))) + "Selector: (member " + ")\n" + "Passed: 1\n" + "Failed: 1 (1 unexpected)\n" + "Skipped: 1\n" + "Total: 3/3\n"))))) (when (get-buffer buffer-name) (kill-buffer buffer-name)))))))) === modified file 'test/automated/ert-x-tests.el' --- test/automated/ert-x-tests.el 2013-01-02 16:13:04 +0000 +++ test/automated/ert-x-tests.el 2013-10-24 07:38:45 +0000 @@ -111,6 +111,9 @@ 'a 'b)) (ert-fail "failure message"))))) + (skipped-test (make-ert-test :name 'skipped-test + :body (lambda () (ert-skip + "skip message")))) (ert-debug-on-error nil) (buffer-name (generate-new-buffer-name "*ert-test-run-tests*")) (messages nil) @@ -119,10 +122,12 @@ (push (apply #'format format-string args) messages)))) (cl-flet ((expected-string (with-font-lock-p) (ert-propertized-string - "Selector: (member )\n" - "Passed: 1\n" - "Failed: 1 (1 unexpected)\n" - "Total: 2/2\n\n" + "Selector: (member " + ")\n" + "Passed: 1\n" + "Failed: 1 (1 unexpected)\n" + "Skipped: 1\n" + "Total: 3/3\n\n" "Started at:\n" "Finished.\n" "Finished at:\n\n" @@ -132,7 +137,7 @@ face ,(if with-font-lock-p 'ert-test-result-unexpected 'button)) - ".F" nil "\n\n" + ".Fs" nil "\n\n" `(category ,(button-category-symbol 'ert--results-expand-collapse-button) button (t) @@ -153,11 +158,12 @@ (unwind-protect (let ((case-fold-search nil)) (ert-run-tests-interactively - `(member ,passing-test ,failing-test) buffer-name + `(member ,passing-test ,failing-test ,skipped-test) buffer-name mock-message-fn) (should (equal messages `(,(concat - "Ran 2 tests, 1 results were " - "as expected, 1 unexpected")))) + "Ran 3 tests, 1 results were " + "as expected, 1 unexpected, " + "1 skipped")))) (with-current-buffer buffer-name (font-lock-mode 0) (should (ert-equal-including-properties === modified file 'test/automated/file-notify-tests.el' --- test/automated/file-notify-tests.el 2013-08-01 23:10:51 +0000 +++ test/automated/file-notify-tests.el 2013-10-24 07:38:45 +0000 @@ -43,60 +43,61 @@ (defvar file-notify--test-event nil) (require 'tramp) -(require 'tramp-sh) (setq tramp-verbose 0 tramp-message-show-message nil) (when noninteractive (defalias 'tramp-read-passwd 'ignore)) ;; We do not want to try and fail `file-notify-add-watch'. -(defconst file-notify--test-local-enabled file-notify--library - "Whether local file notification is enabled.") - -;; We need also a check on the remote side, w/o adding a file monitor. +(defun file-notify--test-local-enabled () + "Whether local file notification is enabled. +This is needed for local `temporary-file-directory' only, in the +remote case we return always `t'." + (or file-notify--library + (not (file-remote-p temporary-file-directory)))) + +(defvar file-notify--test-remote-enabled-checked nil + "Cached result of `file-notify--test-remote-enabled'. +If the function did run, the value is a cons cell, the `cdr' +being the result.") + (defun file-notify--test-remote-enabled () "Whether remote file notification is enabled." - (ignore-errors - (and (file-remote-p file-notify-test-remote-temporary-file-directory) - (file-directory-p file-notify-test-remote-temporary-file-directory) - (file-writable-p file-notify-test-remote-temporary-file-directory) - ;; Extracted from tramp-sh-handle-file-notify-add-watch. - ;; Even though the "remote" system is just ssh@localhost, - ;; the PATH might not be the same as the "local" PATH. - ;; Eg this seems to be the case on hydra.nixos.org. - ;; Without this, tests fail with: - ;; "No file notification program found on /ssh:localhost:" - ;; Try to fix PATH instead? - (with-parsed-tramp-file-name - file-notify-test-remote-temporary-file-directory nil - (or (tramp-get-remote-gvfs-monitor-dir v) - (tramp-get-remote-inotifywait v)))))) + (unless (consp file-notify--test-remote-enabled-checked) + (let (desc) + (unwind-protect + (ignore-errors + (and + (file-remote-p file-notify-test-remote-temporary-file-directory) + (file-directory-p file-notify-test-remote-temporary-file-directory) + (file-writable-p file-notify-test-remote-temporary-file-directory) + (setq desc + (file-notify-add-watch + file-notify-test-remote-temporary-file-directory + '(change) 'ignore)))) + ;; Unwind forms. + (setq file-notify--test-remote-enabled-checked (cons t desc)) + (when desc (file-notify-rm-watch desc))))) + ;; Return result. + (cdr file-notify--test-remote-enabled-checked)) (defmacro file-notify--deftest-remote (test docstring) "Define ert `TEST-remote' for remote files." - `(when (and (file-notify--test-remote-enabled) (ert-get-test ',test)) - ;; Define the test. - (ert-deftest ,(intern (concat (symbol-name test) "-remote")) () - ,docstring - (let* ((temporary-file-directory - file-notify-test-remote-temporary-file-directory) - (ert-test (ert-get-test ',test)) - (most-recent-result (ert-test-most-recent-result ert-test)) - result) - (unwind-protect - (progn - (setq result - (condition-case err - (ert-run-test ert-test) - ((error quit) - (ert-fail err)))) - (when (ert-test-failed-p result) - (ert-fail - (cadr (ert-test-result-with-condition-condition result))))) - ;; Reset status of TEST. - (setf (ert-test-most-recent-result ert-test) most-recent-result)))))) + `(ert-deftest ,(intern (concat (symbol-name test) "-remote")) () + ,docstring + (let* ((temporary-file-directory + file-notify-test-remote-temporary-file-directory) + (ert-test (ert-get-test ',test))) + (skip-unless (file-notify--test-remote-enabled)) + ;; The local test could have passed, skipped, or quit. All of + ;; these results should not prevent us to run the remote test. + ;; That's why we skip only for failed local tests. + (skip-unless + (not (ert-test-failed-p (ert-test-most-recent-result ert-test)))) + (funcall (ert-test-body ert-test))))) (ert-deftest file-notify-test00-availability () "Test availability of `file-notify'." + (skip-unless (file-notify--test-local-enabled)) (let (desc) ;; Check, that different valid parameters are accepted. (should (setq desc (file-notify-add-watch @@ -106,42 +107,40 @@ (file-notify--deftest-remote file-notify-test00-availability "Test availability of `file-notify' for remote files.") -(when file-notify--test-local-enabled - - (ert-deftest file-notify-test01-add-watch () - "Check `file-notify-add-watch'." - (let (desc) - ;; Check, that different valid parameters are accepted. - (should (setq desc (file-notify-add-watch - temporary-file-directory '(change) 'ignore))) - (file-notify-rm-watch desc) - (should (setq desc (file-notify-add-watch - temporary-file-directory - '(attribute-change) 'ignore))) - (file-notify-rm-watch desc) - (should (setq desc (file-notify-add-watch - temporary-file-directory - '(change attribute-change) 'ignore))) - (file-notify-rm-watch desc) - - ;; Check error handling. - (should-error (file-notify-add-watch 1 2 3 4) - :type 'wrong-number-of-arguments) - (should - (equal (should-error (file-notify-add-watch 1 2 3)) - '(wrong-type-argument 1))) - (should - (equal (should-error (file-notify-add-watch - temporary-file-directory 2 3)) - '(wrong-type-argument 2))) - (should - (equal (should-error (file-notify-add-watch - temporary-file-directory '(change) 3)) - '(wrong-type-argument 3))))) - - (file-notify--deftest-remote file-notify-test01-add-watch - "Check `file-notify-add-watch' for remote files.") - ) ;; file-notify--test-local-enabled +(ert-deftest file-notify-test01-add-watch () + "Check `file-notify-add-watch'." + (skip-unless (file-notify--test-local-enabled)) + (let (desc) + ;; Check, that different valid parameters are accepted. + (should (setq desc (file-notify-add-watch + temporary-file-directory '(change) 'ignore))) + (file-notify-rm-watch desc) + (should (setq desc (file-notify-add-watch + temporary-file-directory + '(attribute-change) 'ignore))) + (file-notify-rm-watch desc) + (should (setq desc (file-notify-add-watch + temporary-file-directory + '(change attribute-change) 'ignore))) + (file-notify-rm-watch desc) + + ;; Check error handling. + (should-error (file-notify-add-watch 1 2 3 4) + :type 'wrong-number-of-arguments) + (should + (equal (should-error (file-notify-add-watch 1 2 3)) + '(wrong-type-argument 1))) + (should + (equal (should-error (file-notify-add-watch + temporary-file-directory 2 3)) + '(wrong-type-argument 2))) + (should + (equal (should-error (file-notify-add-watch + temporary-file-directory '(change) 3)) + '(wrong-type-argument 3))))) + +(file-notify--deftest-remote file-notify-test01-add-watch + "Check `file-notify-add-watch' for remote files.") (defun file-notify--test-event-test () "Ert test function to be called by `file-notify--test-event-handler'. @@ -172,117 +171,114 @@ (expand-file-name (make-temp-name "file-notify-test") temporary-file-directory)) -(when file-notify--test-local-enabled - - (ert-deftest file-notify-test02-events () - "Check file creation/removal notifications." - (let (desc) - (unwind-protect - (progn - (setq file-notify--test-results nil - file-notify--test-tmpfile (file-notify--test-make-temp-name) - file-notify--test-tmpfile1 (file-notify--test-make-temp-name) - desc - (file-notify-add-watch - file-notify--test-tmpfile - '(change) 'file-notify--test-event-handler)) - - ;; Check creation and removal. - (write-region "any text" nil file-notify--test-tmpfile) - (delete-file file-notify--test-tmpfile) - - ;; Check copy and rename. - (write-region "any text" nil file-notify--test-tmpfile) - (copy-file file-notify--test-tmpfile file-notify--test-tmpfile1) - (delete-file file-notify--test-tmpfile) - (delete-file file-notify--test-tmpfile1) - - (write-region "any text" nil file-notify--test-tmpfile) - (rename-file file-notify--test-tmpfile file-notify--test-tmpfile1) - (delete-file file-notify--test-tmpfile1)) - - ;; Wait for events, and exit. - (sit-for 5 'nodisplay) - (file-notify-rm-watch desc) - (ignore-errors (delete-file file-notify--test-tmpfile)) - (ignore-errors (delete-file file-notify--test-tmpfile1)))) - - (dolist (result file-notify--test-results) - ;(message "%s" (ert-test-result-messages result)) - (when (ert-test-failed-p result) - (ert-fail (cadr (ert-test-result-with-condition-condition result)))))) - - (file-notify--deftest-remote file-notify-test02-events - "Check file creation/removal notifications for remote files.") - ) ;; file-notify--test-local-enabled +(ert-deftest file-notify-test02-events () + "Check file creation/removal notifications." + (skip-unless (file-notify--test-local-enabled)) + (let (desc) + (unwind-protect + (progn + (setq file-notify--test-results nil + file-notify--test-tmpfile (file-notify--test-make-temp-name) + file-notify--test-tmpfile1 (file-notify--test-make-temp-name) + desc + (file-notify-add-watch + file-notify--test-tmpfile + '(change) 'file-notify--test-event-handler)) + + ;; Check creation and removal. + (write-region "any text" nil file-notify--test-tmpfile) + (delete-file file-notify--test-tmpfile) + + ;; Check copy and rename. + (write-region "any text" nil file-notify--test-tmpfile) + (copy-file file-notify--test-tmpfile file-notify--test-tmpfile1) + (delete-file file-notify--test-tmpfile) + (delete-file file-notify--test-tmpfile1) + + (write-region "any text" nil file-notify--test-tmpfile) + (rename-file file-notify--test-tmpfile file-notify--test-tmpfile1) + (delete-file file-notify--test-tmpfile1)) + + ;; Wait for events, and exit. + (sit-for 5 'nodisplay) + (file-notify-rm-watch desc) + (ignore-errors (delete-file file-notify--test-tmpfile)) + (ignore-errors (delete-file file-notify--test-tmpfile1)))) + + (dolist (result file-notify--test-results) + ;(message "%s" (ert-test-result-messages result)) + (when (ert-test-failed-p result) + (ert-fail (cadr (ert-test-result-with-condition-condition result)))))) + +(file-notify--deftest-remote file-notify-test02-events + "Check file creation/removal notifications for remote files.") ;; autorevert runs only in interactive mode. (defvar auto-revert-remote-files) (setq auto-revert-remote-files t) (require 'autorevert) -(when (and file-notify--test-local-enabled (null noninteractive)) - (ert-deftest file-notify-test03-autorevert () - "Check autorevert via file notification. +(ert-deftest file-notify-test03-autorevert () + "Check autorevert via file notification. This test is skipped in batch mode." - ;; `auto-revert-buffers' runs every 5". And we must wait, until - ;; the file has been reverted. - (let ((timeout 10) - buf) - (unwind-protect - (progn - (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)) - - (write-region "any text" nil file-notify--test-tmpfile) - (setq buf (find-file-noselect file-notify--test-tmpfile)) - (with-current-buffer buf - (should (string-equal (buffer-string) "any text")) - (auto-revert-mode 1) - - ;; `auto-revert-buffers' runs every 5". + (skip-unless (file-notify--test-local-enabled)) + (skip-unless (not noninteractive)) + ;; `auto-revert-buffers' runs every 5". And we must wait, until the + ;; file has been reverted. + (let ((timeout 10) + buf) + (unwind-protect + (progn + (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)) + + (write-region "any text" nil file-notify--test-tmpfile) + (setq buf (find-file-noselect file-notify--test-tmpfile)) + (with-current-buffer buf + (should (string-equal (buffer-string) "any text")) + (auto-revert-mode 1) + + ;; `auto-revert-buffers' runs every 5". + (with-timeout (timeout (ignore)) + (while (null auto-revert-notify-watch-descriptor) + (sit-for 0.1 'nodisplay))) + + ;; Check, that file notification has been used. + (should auto-revert-mode) + (should auto-revert-use-notify) + (should auto-revert-notify-watch-descriptor) + + ;; Modify file. We wait for a second, in order to + ;; have another timestamp. + (sit-for 1) + (shell-command + (format "echo -n 'another text' >%s" + (or (file-remote-p file-notify--test-tmpfile 'localname) + file-notify--test-tmpfile))) + + ;; Check, that the buffer has been reverted. + (with-current-buffer (get-buffer-create "*Messages*") (with-timeout (timeout (ignore)) - (while (null auto-revert-notify-watch-descriptor) - (sit-for 0.1 'nodisplay))) - - ;; Check, that file notification has been used. - (should auto-revert-mode) - (should auto-revert-use-notify) - (should auto-revert-notify-watch-descriptor) - - ;; Modify file. We wait for a second, in order to - ;; have another timestamp. - (sit-for 1) - (shell-command - (format "echo -n 'another text' >%s" - (or (file-remote-p file-notify--test-tmpfile 'localname) - file-notify--test-tmpfile))) - - ;; Check, that the buffer has been reverted. - (with-current-buffer (get-buffer-create "*Messages*") - (with-timeout (timeout (ignore)) - (while - (null (string-match - (format "Reverting buffer `%s'." (buffer-name buf)) - (buffer-string))) - (sit-for 0.1 'nodisplay)))) - (should (string-equal (buffer-string) "another text")))) - - ;; Exit. - (ignore-errors (kill-buffer buf)) - (ignore-errors (delete-file file-notify--test-tmpfile))))) - - (file-notify--deftest-remote file-notify-test03-autorevert - "Check autorevert via file notification for remote files. + (while + (null (string-match + (format "Reverting buffer `%s'." (buffer-name buf)) + (buffer-string))) + (sit-for 0.1 'nodisplay)))) + (should (string-equal (buffer-string) "another text")))) + + ;; Exit. + (ignore-errors (kill-buffer buf)) + (ignore-errors (delete-file file-notify--test-tmpfile))))) + +(file-notify--deftest-remote file-notify-test03-autorevert + "Check autorevert via file notification for remote files. This test is skipped in batch mode.") - ) ;; (and file-notify--test-local-enabled (null noninteractive)) (defun file-notify-test-all (&optional interactive) "Run all tests for \\[file-notify]." (interactive "p") - (when file-notify--test-local-enabled - (if interactive - (ert-run-tests-interactively "^file-notify-") - (ert-run-tests-batch "^file-notify-")))) + (if interactive + (ert-run-tests-interactively "^file-notify-") + (ert-run-tests-batch "^file-notify-"))) (provide 'file-notify-tests) ;;; file-notify-tests.el ends here ------------------------------------------------------------ revno: 114774 committer: Michael Albinus branch nick: trunk timestamp: Thu 2013-10-24 09:34:41 +0200 message: * emacs-lisp/ert.el (ert-deftest): Bind macro `skip-unless'. (ert-test-skipped): New error. (ert-skip, ert-stats-skipped): New defuns. (ert--skip-unless): New macro. (ert-test-skipped): New struct. (ert--run-test-debugger, ert-test-result-type-p) (ert-test-result-expected-p, ert--stats, ert-stats-completed) (ert--stats-set-test-and-result, ert-char-for-test-result) (ert-string-for-test-result, ert-run-tests-batch) (ert--results-update-ewoc-hf, ert-run-tests-interactively): Handle skipped tests. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-24 02:21:23 +0000 +++ lisp/ChangeLog 2013-10-24 07:34:41 +0000 @@ -1,3 +1,17 @@ +2013-10-24 Michael Albinus + + * emacs-lisp/ert.el (ert-deftest): Bind macro `skip-unless'. + (ert-test-skipped): New error. + (ert-skip, ert-stats-skipped): New defuns. + (ert--skip-unless): New macro. + (ert-test-skipped): New struct. + (ert--run-test-debugger, ert-test-result-type-p) + (ert-test-result-expected-p, ert--stats, ert-stats-completed) + (ert--stats-set-test-and-result, ert-char-for-test-result) + (ert-string-for-test-result, ert-run-tests-batch) + (ert--results-update-ewoc-hf, ert-run-tests-interactively): Handle + skipped tests. + 2013-10-24 Glenn Morris * Makefile.in (check-declare): Remove unnecessary path in -l argument. === modified file 'lisp/emacs-lisp/ert.el' --- lisp/emacs-lisp/ert.el 2013-09-17 07:39:54 +0000 +++ lisp/emacs-lisp/ert.el 2013-10-24 07:34:41 +0000 @@ -34,14 +34,17 @@ ;; `ert-run-tests-batch-and-exit' for non-interactive use. ;; ;; The body of `ert-deftest' forms resembles a function body, but the -;; additional operators `should', `should-not' and `should-error' are -;; available. `should' is similar to cl's `assert', but signals a -;; different error when its condition is violated that is caught and -;; processed by ERT. In addition, it analyzes its argument form and -;; records information that helps debugging (`assert' tries to do -;; something similar when its second argument SHOW-ARGS is true, but -;; `should' is more sophisticated). For information on `should-not' -;; and `should-error', see their docstrings. +;; additional operators `should', `should-not', `should-error' and +;; `skip-unless' are available. `should' is similar to cl's `assert', +;; but signals a different error when its condition is violated that +;; is caught and processed by ERT. In addition, it analyzes its +;; argument form and records information that helps debugging +;; (`assert' tries to do something similar when its second argument +;; SHOW-ARGS is true, but `should' is more sophisticated). For +;; information on `should-not' and `should-error', see their +;; docstrings. `skip-unless' skips the test immediately without +;; processing further, this is useful for checking the test +;; environment (like availability of features, external binaries, etc). ;; ;; See ERT's info manual as well as the docstrings for more details. ;; To compile the manual, run `makeinfo ert.texinfo' in the ERT @@ -174,8 +177,8 @@ BODY is evaluated as a `progn' when the test is run. It should signal a condition on failure or just return if the test passes. -`should', `should-not' and `should-error' are useful for -assertions in BODY. +`should', `should-not', `should-error' and `skip-unless' are +useful for assertions in BODY. Use `ert' to run tests interactively. @@ -200,7 +203,7 @@ (tags nil tags-supplied-p)) body) (ert--parse-keys-and-body docstring-keys-and-body) - `(progn + `(cl-macrolet ((skip-unless (form) `(ert--skip-unless ,form))) (ert-set-test ',name (make-ert-test :name ',name @@ -237,6 +240,7 @@ (define-error 'ert-test-failed "Test failed") +(define-error 'ert-test-skipped "Test skipped") (defun ert-pass () "Terminate the current test and mark it passed. Does not return." @@ -247,6 +251,11 @@ DATA is displayed to the user and should state the reason of the failure." (signal 'ert-test-failed (list data))) +(defun ert-skip (data) + "Terminate the current test and mark it skipped. Does not return. +DATA is displayed to the user and should state the reason for skipping." + (signal 'ert-test-skipped (list data))) + ;;; The `should' macros. @@ -425,6 +434,15 @@ (list :fail-reason "did not signal an error"))))))))) +(cl-defmacro ert--skip-unless (form) + "Evaluate FORM. If it returns nil, skip the current test. +Errors during evaluation are catched and handled like nil." + (declare (debug t)) + (ert--expand-should `(skip-unless ,form) form + (lambda (inner-form form-description-form _value-var) + `(unless (ignore-errors ,inner-form) + (ert-skip ,form-description-form))))) + ;;; Explanation of `should' failures. @@ -644,6 +662,7 @@ (infos (cl-assert nil))) (cl-defstruct (ert-test-quit (:include ert-test-result-with-condition))) (cl-defstruct (ert-test-failed (:include ert-test-result-with-condition))) +(cl-defstruct (ert-test-skipped (:include ert-test-result-with-condition))) (cl-defstruct (ert-test-aborted-with-non-local-exit (:include ert-test-result))) @@ -728,6 +747,7 @@ (let* ((condition (car more-debugger-args)) (type (cl-case (car condition) ((quit) 'quit) + ((ert-test-skipped) 'skipped) (otherwise 'failed))) (backtrace (ert--record-backtrace)) (infos (reverse ert--infos))) @@ -737,6 +757,10 @@ (make-ert-test-quit :condition condition :backtrace backtrace :infos infos)) + (skipped + (make-ert-test-skipped :condition condition + :backtrace backtrace + :infos infos)) (failed (make-ert-test-failed :condition condition :backtrace backtrace @@ -862,7 +886,7 @@ nil -- Never matches. t -- Always matches. -:failed, :passed -- Matches corresponding results. +:failed, :passed, :skipped -- Matches corresponding results. \(and TYPES...\) -- Matches if all TYPES match. \(or TYPES...\) -- Matches if some TYPES match. \(not TYPE\) -- Matches if TYPE does not match. @@ -875,6 +899,7 @@ ((member t) t) ((member :failed) (ert-test-failed-p result)) ((member :passed) (ert-test-passed-p result)) + ((member :skipped) (ert-test-skipped-p result)) (cons (cl-destructuring-bind (operator &rest operands) result-type (cl-ecase operator @@ -899,7 +924,9 @@ (defun ert-test-result-expected-p (test result) "Return non-nil if TEST's expected result type matches RESULT." - (ert-test-result-type-p result (ert-test-expected-result-type test))) + (or + (ert-test-result-type-p result :skipped) + (ert-test-result-type-p result (ert-test-expected-result-type test)))) (defun ert-select-tests (selector universe) "Return a list of tests that match SELECTOR. @@ -1085,6 +1112,7 @@ (passed-unexpected 0) (failed-expected 0) (failed-unexpected 0) + (skipped 0) (start-time nil) (end-time nil) (aborted-p nil) @@ -1103,10 +1131,15 @@ (+ (ert--stats-passed-unexpected stats) (ert--stats-failed-unexpected stats))) +(defun ert-stats-skipped (stats) + "Number of tests in STATS that have skipped." + (ert--stats-skipped stats)) + (defun ert-stats-completed (stats) "Number of tests in STATS that have run so far." (+ (ert-stats-completed-expected stats) - (ert-stats-completed-unexpected stats))) + (ert-stats-completed-unexpected stats) + (ert-stats-skipped stats))) (defun ert-stats-total (stats) "Number of tests in STATS, regardless of whether they have run yet." @@ -1138,6 +1171,8 @@ (cl-incf (ert--stats-passed-expected stats) d)) (ert-test-failed (cl-incf (ert--stats-failed-expected stats) d)) + (ert-test-skipped + (cl-incf (ert--stats-skipped stats) d)) (null) (ert-test-aborted-with-non-local-exit) (ert-test-quit)) @@ -1146,6 +1181,8 @@ (cl-incf (ert--stats-passed-unexpected stats) d)) (ert-test-failed (cl-incf (ert--stats-failed-unexpected stats) d)) + (ert-test-skipped + (cl-incf (ert--stats-skipped stats) d)) (null) (ert-test-aborted-with-non-local-exit) (ert-test-quit))))) @@ -1240,6 +1277,7 @@ (let ((s (cl-etypecase result (ert-test-passed ".P") (ert-test-failed "fF") + (ert-test-skipped "sS") (null "--") (ert-test-aborted-with-non-local-exit "aA") (ert-test-quit "qQ")))) @@ -1252,6 +1290,7 @@ (let ((s (cl-etypecase result (ert-test-passed '("passed" "PASSED")) (ert-test-failed '("failed" "FAILED")) + (ert-test-skipped '("skipped" "SKIPPED")) (null '("unknown" "UNKNOWN")) (ert-test-aborted-with-non-local-exit '("aborted" "ABORTED")) (ert-test-quit '("quit" "QUIT"))))) @@ -1318,8 +1357,9 @@ (run-ended (cl-destructuring-bind (stats abortedp) event-args (let ((unexpected (ert-stats-completed-unexpected stats)) - (expected-failures (ert--stats-failed-expected stats))) - (message "\n%sRan %s tests, %s results as expected%s (%s)%s\n" + (skipped (ert-stats-skipped stats)) + (expected-failures (ert--stats-failed-expected stats))) + (message "\n%sRan %s tests, %s results as expected%s%s (%s)%s\n" (if (not abortedp) "" "Aborted: ") @@ -1328,6 +1368,9 @@ (if (zerop unexpected) "" (format ", %s unexpected" unexpected)) + (if (zerop skipped) + "" + (format ", %s skipped" skipped)) (ert--format-time-iso8601 (ert--stats-end-time stats)) (if (zerop expected-failures) "" @@ -1340,6 +1383,15 @@ (message "%9s %S" (ert-string-for-test-result result nil) (ert-test-name test)))) + (message "%s" "")) + (unless (zerop skipped) + (message "%s skipped results:" skipped) + (cl-loop for test across (ert--stats-tests stats) + for result = (ert-test-most-recent-result test) do + (when (ert-test-result-type-p result :skipped) + (message "%9s %S" + (ert-string-for-test-result result nil) + (ert-test-name test)))) (message "%s" ""))))) (test-started ) @@ -1562,15 +1614,17 @@ (ert--insert-human-readable-selector (ert--stats-selector stats)) (insert "\n") (insert - (format (concat "Passed: %s\n" - "Failed: %s\n" - "Total: %s/%s\n\n") + (format (concat "Passed: %s\n" + "Failed: %s\n" + "Skipped: %s\n" + "Total: %s/%s\n\n") (ert--results-format-expected-unexpected (ert--stats-passed-expected stats) (ert--stats-passed-unexpected stats)) (ert--results-format-expected-unexpected (ert--stats-failed-expected stats) (ert--stats-failed-unexpected stats)) + (ert-stats-skipped stats) run-count (ert-stats-total stats))) (insert @@ -1850,7 +1904,7 @@ (run-ended (cl-destructuring-bind (stats abortedp) event-args (funcall message-fn - "%sRan %s tests, %s results were as expected%s" + "%sRan %s tests, %s results were as expected%s%s" (if (not abortedp) "" "Aborted: ") @@ -1860,7 +1914,12 @@ (ert-stats-completed-unexpected stats))) (if (zerop unexpected) "" - (format ", %s unexpected" unexpected)))) + (format ", %s unexpected" unexpected))) + (let ((skipped + (ert-stats-skipped stats))) + (if (zerop skipped) + "" + (format ", %s skipped" skipped)))) (ert--results-update-stats-display (with-current-buffer buffer ert--results-ewoc) stats))) ------------------------------------------------------------ revno: 114773 committer: Glenn Morris branch nick: trunk timestamp: Thu 2013-10-24 00:04:01 -0700 message: ChangeLog fixes diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-10-24 02:15:16 +0000 +++ src/ChangeLog 2013-10-24 07:04:01 +0000 @@ -5429,7 +5429,7 @@ * keyboard.c (read_decoded_char): Don't decode under w32 (bug#14403). -2013-05-22 Barry OReilly (tiny change) +2013-05-22 Barry O'Reilly * casetab.c (init_casetab_once): Fix last change (bug#14424). @@ -5454,7 +5454,7 @@ character numbers counted by detect_coding_utf_8. Fix detection of BOM for utf-8. -2013-05-21 Barry OReilly (tiny change) +2013-05-21 Barry O'Reilly * search.c (looking_at_1): Only set last_thing_searched if the match changed the match-data (bug#14281). === modified file 'src/ChangeLog.12' --- src/ChangeLog.12 2013-07-26 17:02:22 +0000 +++ src/ChangeLog.12 2013-10-24 07:04:01 +0000 @@ -6862,7 +6862,7 @@ is undefined. See Stefan Monnier in . -2012-08-26 Barry OReilly (tiny change) +2012-08-26 Barry O'Reilly * lisp.h (functionp): New function (extracted from Ffunctionp). (FUNCTIONP): Use it. @@ -7567,7 +7567,7 @@ * editfns.c (Fformat): Doc fix (Bug#12059). (Fsave_current_buffer): Doc fix (Bug#11542). -2012-08-14 Barry OReilly (tiny change) +2012-08-14 Barry O'Reilly * keyboard.c (access_keymap_keyremap): Accept anonymous functions (bug#12022). ------------------------------------------------------------ revno: 114772 committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 21:05:54 -0700 message: Fix whitespace in previous Makefile.in changes diff: === modified file 'Makefile.in' --- Makefile.in 2013-10-24 02:15:16 +0000 +++ Makefile.in 2013-10-24 04:05:54 +0000 @@ -164,7 +164,8 @@ # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. srcdir=@srcdir@ abs_srcdir=@abs_srcdir@ -abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this +# MinGW CPPFLAGS may use this. +abs_top_srcdir=@abs_top_srcdir@ # Where the manpage source files are kept. mansrcdir=$(srcdir)/doc/man === modified file 'lib-src/Makefile.in' --- lib-src/Makefile.in 2013-10-24 02:15:16 +0000 +++ lib-src/Makefile.in 2013-10-24 04:05:54 +0000 @@ -84,7 +84,8 @@ # The top-level source directory, also set by configure. top_srcdir=@top_srcdir@ -abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this +# MinGW CPPFLAGS may use this. +abs_top_srcdir=@abs_top_srcdir@ # ==================== Emacs-specific directories ==================== === modified file 'lwlib/Makefile.in' --- lwlib/Makefile.in 2013-10-24 02:15:16 +0000 +++ lwlib/Makefile.in 2013-10-24 04:05:54 +0000 @@ -23,7 +23,8 @@ # and set up to be configured by ../configure. srcdir=@srcdir@ -abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this +# MinGW CPPFLAGS may use this. +abs_top_srcdir=@abs_top_srcdir@ VPATH=@srcdir@ @SET_MAKE@ C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ === modified file 'nt/Makefile.in' --- nt/Makefile.in 2013-10-24 02:15:16 +0000 +++ nt/Makefile.in 2013-10-24 04:05:54 +0000 @@ -76,7 +76,8 @@ # The top-level source directory, also set by configure. top_srcdir=@top_srcdir@ -abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this +# MinGW CPPFLAGS may use this. +abs_top_srcdir=@abs_top_srcdir@ # ==================== Emacs-specific directories ==================== === modified file 'oldXMenu/Makefile.in' --- oldXMenu/Makefile.in 2013-10-24 02:15:16 +0000 +++ oldXMenu/Makefile.in 2013-10-24 04:05:54 +0000 @@ -43,7 +43,8 @@ ### Code: srcdir=@srcdir@ -abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this +# MinGW CPPFLAGS may use this. +abs_top_srcdir=@abs_top_srcdir@ VPATH=@srcdir@ C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ === modified file 'src/Makefile.in' --- src/Makefile.in 2013-10-24 02:15:16 +0000 +++ src/Makefile.in 2013-10-24 04:05:54 +0000 @@ -28,7 +28,8 @@ # Here are the things that we expect ../configure to edit. # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. srcdir = @srcdir@ -abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this +# MinGW CPPFLAGS may use this. +abs_top_srcdir=@abs_top_srcdir@ ntsource = $(srcdir)/../nt abs_builddir = @abs_builddir@ VPATH = $(srcdir) ------------------------------------------------------------ revno: 114771 committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 19:29:29 -0700 message: * leim/Makefile.in (.el.elc, changed.tit, changed.misc, leim-list.el) ($(srcdir)/ja-dic/ja-dic.el, check-declare): Remove unnecessary path in -l argument (RUN_EMACS sets EMACSLOADPATH). We just need to be careful because "quail" is also a directory... diff: === modified file 'leim/ChangeLog' --- leim/ChangeLog 2013-10-23 06:22:54 +0000 +++ leim/ChangeLog 2013-10-24 02:29:29 +0000 @@ -1,3 +1,9 @@ +2013-10-24 Glenn Morris + + * Makefile.in (.el.elc, changed.tit, changed.misc, leim-list.el) + ($(srcdir)/ja-dic/ja-dic.el, check-declare): Remove unnecessary + path in -l argument (RUN_EMACS sets EMACSLOADPATH). + 2013-10-23 Glenn Morris * Makefile.in (abs_srcdir): New, set by configure. === modified file 'leim/Makefile.in' --- leim/Makefile.in 2013-10-23 06:22:54 +0000 +++ leim/Makefile.in 2013-10-24 02:29:29 +0000 @@ -77,7 +77,7 @@ .el.elc: @echo Compiling $< - @${RUN_EMACS} -l "${buildlisppath}/international/quail" -f batch-byte-compile $< + @${RUN_EMACS} -l international/quail -f batch-byte-compile $< all: leim-list.el compile-main .PHONY: all @@ -110,7 +110,7 @@ ## It doesn't seem possible to do this with VPATH and suffix rules. changed.tit: ${TIT_SOURCES} @${MKDIR_P} quail - ${RUN_EMACS} -l "${buildlisppath}/international/titdic-cnv" \ + ${RUN_EMACS} -l titdic-cnv \ -f batch-titdic-convert -dir quail ${srcdir}/CXTERM-DIC; \ echo "changed" > $@ @@ -127,24 +127,24 @@ changed.misc: ${MISC_SOURCES} @${MKDIR_P} quail - ${RUN_EMACS} -l "${buildlisppath}/international/titdic-cnv" \ + ${RUN_EMACS} -l titdic-cnv \ -f batch-miscdic-convert -dir quail ${srcdir}/MISC-DIC; \ echo "changed" > $@ leim-list.el: ${TIT_MISC} ${srcdir}/leim-ext.el rm -f leim-list.el if [ "`cd ${srcdir} && /bin/pwd`" = "`/bin/pwd`" ] ; then \ - ${RUN_EMACS} -l "${buildlisppath}/international/quail" \ + ${RUN_EMACS} -l international/quail \ --eval "(update-leim-list-file \".\")" ; \ else \ - ${RUN_EMACS} -l "${buildlisppath}/international/quail" \ + ${RUN_EMACS} -l international/quail \ --eval "(update-leim-list-file \".\" (unmsys--file-name \"${srcdir}\"))" ; \ fi sed -n '/^[^;]/ p' < ${srcdir}/leim-ext.el >> $@ $(srcdir)/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L @$(MKDIR_P) $(srcdir)/ja-dic - $(RUN_EMACS) -batch -l "$(buildlisppath)/international/ja-dic-cnv" \ + $(RUN_EMACS) -batch -l ja-dic-cnv \ -f batch-skkdic-convert -dir "$(srcdir)/ja-dic" \ "$(srcdir)/SKK-DIC/SKK-JISYO.L" @@ -196,5 +196,5 @@ .PHONY: check-declare check-declare: - $(RUN_EMACS) -l "$(buildlisppath)/emacs-lisp/check-declare" \ + $(RUN_EMACS) -l check-declare \ --eval '(check-declare-directory (unmsys--file-name "$(srcdir)"))' ------------------------------------------------------------ revno: 114770 committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 19:21:23 -0700 message: * lisp/Makefile.in (check-declare): Remove unnecessary path in -l argument diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-24 01:52:44 +0000 +++ lisp/ChangeLog 2013-10-24 02:21:23 +0000 @@ -1,5 +1,7 @@ 2013-10-24 Glenn Morris + * Makefile.in (check-declare): Remove unnecessary path in -l argument. + * Makefile.in (abs_top_srcdir): New, set by configure. (update-subdirs): Correct build-aux location. === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2013-10-24 01:52:44 +0000 +++ lisp/Makefile.in 2013-10-24 02:21:23 +0000 @@ -266,7 +266,7 @@ # In `compile-main' we could directly do # ... | xargs $(MAKE) $(MFLAGS) EMACS="$(EMACS)" # and it works, but it generates a lot of messages like -# make[2]: « gnus/gnus-mlspl.elc » is up to date. +# make[2]: gnus/gnus-mlspl.elc is up to date. # so instead, we use "xargs echo" to split the list of file into manageable # chunks and then use an intermediate `compile-targets' target so the # actual targets (the .elc files) are not mentioned as targets on the @@ -452,8 +452,7 @@ .PHONY: check-declare check-declare: - $(emacs) -l $(lisp)/emacs-lisp/check-declare \ - --eval '(check-declare-directory "$(lisp)")' + $(emacs) -l check-declare --eval '(check-declare-directory "$(lisp)")' # Dependencies ------------------------------------------------------------ revno: 114769 committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 19:15:16 -0700 message: Attempt at a fix for mingw CPPFLAGS * configure.ac (CPPFLAGS) [mingw32]: Use abs_top_srcdir. * Makefile.in (abs_top_srcdir): * lib-src/Makefile.in (abs_top_srcdir): * lwlib/Makefile.in (abs_top_srcdir): * nt/Makefile.in (abs_top_srcdir): * oldXMenu/Makefile.in (abs_top_srcdir): * src/Makefile.in (abs_top_srcdir): New, set by configure. diff: === modified file 'ChangeLog' --- ChangeLog 2013-10-23 23:27:19 +0000 +++ ChangeLog 2013-10-24 02:15:16 +0000 @@ -1,3 +1,9 @@ +2013-10-24 Glenn Morris + + * configure.ac (CPPFLAGS) [mingw32]: Use abs_top_srcdir. + + * Makefile.in (abs_top_srcdir): New, set by configure. + 2013-10-23 Glenn Morris * configure.ac: Explicit error for non-ASCII directories. (Bug#15260) === modified file 'Makefile.in' --- Makefile.in 2013-10-23 22:33:08 +0000 +++ Makefile.in 2013-10-24 02:15:16 +0000 @@ -164,6 +164,7 @@ # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. srcdir=@srcdir@ abs_srcdir=@abs_srcdir@ +abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this # Where the manpage source files are kept. mansrcdir=$(srcdir)/doc/man === modified file 'configure.ac' --- configure.ac 2013-10-23 23:27:19 +0000 +++ configure.ac 2013-10-24 02:15:16 +0000 @@ -4738,7 +4738,7 @@ LIBS=$SAVE_LIBS if test "${opsys}" = "mingw32"; then - CPPFLAGS="$CPPFLAGS -DUSE_CRT_DLL=1 -I $srcdir/nt/inc" + CPPFLAGS="$CPPFLAGS -DUSE_CRT_DLL=1 -I \${abs_top_srcdir}/nt/inc" # Remove unneeded switches from the value of CC that goes to Makefiles CC=`echo $CC | sed -e "s,$GCC_TEST_OPTIONS,,"` fi === modified file 'lib-src/ChangeLog' --- lib-src/ChangeLog 2013-10-23 07:20:57 +0000 +++ lib-src/ChangeLog 2013-10-24 02:15:16 +0000 @@ -1,3 +1,7 @@ +2013-10-24 Glenn Morris + + * Makefile.in (abs_top_srcdir): New, set by configure. + 2013-10-23 Glenn Morris * Makefile.in ($(DESTDIR)${archlibdir}, need-blessmail, install) === modified file 'lib-src/Makefile.in' --- lib-src/Makefile.in 2013-10-23 07:20:57 +0000 +++ lib-src/Makefile.in 2013-10-24 02:15:16 +0000 @@ -84,6 +84,7 @@ # The top-level source directory, also set by configure. top_srcdir=@top_srcdir@ +abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this # ==================== Emacs-specific directories ==================== === modified file 'lwlib/ChangeLog' --- lwlib/ChangeLog 2013-09-04 06:45:44 +0000 +++ lwlib/ChangeLog 2013-10-24 02:15:16 +0000 @@ -1,3 +1,7 @@ +2013-10-24 Glenn Morris + + * Makefile.in (abs_top_srcdir): New, set by configure. + 2013-09-04 Paul Eggert Makefile improvements. === modified file 'lwlib/Makefile.in' --- lwlib/Makefile.in 2013-09-04 06:45:44 +0000 +++ lwlib/Makefile.in 2013-10-24 02:15:16 +0000 @@ -23,6 +23,7 @@ # and set up to be configured by ../configure. srcdir=@srcdir@ +abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this VPATH=@srcdir@ @SET_MAKE@ C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ === modified file 'nt/ChangeLog' --- nt/ChangeLog 2013-10-23 07:20:57 +0000 +++ nt/ChangeLog 2013-10-24 02:15:16 +0000 @@ -1,3 +1,7 @@ +2013-10-24 Glenn Morris + + * Makefile.in (abs_top_srcdir): New, set by configure. + 2013-10-23 Glenn Morris * Makefile.in ($(DESTDIR)${archlibdir}, install, uninstall): === modified file 'nt/Makefile.in' --- nt/Makefile.in 2013-10-23 07:20:57 +0000 +++ nt/Makefile.in 2013-10-24 02:15:16 +0000 @@ -76,6 +76,7 @@ # The top-level source directory, also set by configure. top_srcdir=@top_srcdir@ +abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this # ==================== Emacs-specific directories ==================== === modified file 'oldXMenu/ChangeLog' --- oldXMenu/ChangeLog 2013-09-04 06:45:44 +0000 +++ oldXMenu/ChangeLog 2013-10-24 02:15:16 +0000 @@ -1,3 +1,7 @@ +2013-10-24 Glenn Morris + + * Makefile.in (abs_top_srcdir): New, set by configure. + 2013-09-04 Paul Eggert Makefile improvements. === modified file 'oldXMenu/Makefile.in' --- oldXMenu/Makefile.in 2013-09-04 06:45:44 +0000 +++ oldXMenu/Makefile.in 2013-10-24 02:15:16 +0000 @@ -43,6 +43,7 @@ ### Code: srcdir=@srcdir@ +abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this VPATH=@srcdir@ C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ === modified file 'src/ChangeLog' --- src/ChangeLog 2013-10-23 16:11:30 +0000 +++ src/ChangeLog 2013-10-24 02:15:16 +0000 @@ -1,3 +1,7 @@ +2013-10-24 Glenn Morris + + * Makefile.in (abs_top_srcdir): New, set by configure. + 2013-10-23 Dmitry Antipov Adjust recent font-related changes to fix bug#15686. === modified file 'src/Makefile.in' --- src/Makefile.in 2013-10-23 06:22:54 +0000 +++ src/Makefile.in 2013-10-24 02:15:16 +0000 @@ -28,6 +28,7 @@ # Here are the things that we expect ../configure to edit. # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. srcdir = @srcdir@ +abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this ntsource = $(srcdir)/../nt abs_builddir = @abs_builddir@ VPATH = $(srcdir) ------------------------------------------------------------ revno: 114768 committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 18:52:44 -0700 message: * lisp/Makefile.in (abs_top_srcdir): New, set by configure. (update-subdirs): Correct build-aux location. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-24 01:27:29 +0000 +++ lisp/ChangeLog 2013-10-24 01:52:44 +0000 @@ -1,3 +1,8 @@ +2013-10-24 Glenn Morris + + * Makefile.in (abs_top_srcdir): New, set by configure. + (update-subdirs): Correct build-aux location. + 2013-10-24 Dmitry Gutov * vc/vc.el (vc-print-root-log): Always set `default-directory' === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2013-10-23 06:22:54 +0000 +++ lisp/Makefile.in 2013-10-24 01:52:44 +0000 @@ -22,6 +22,7 @@ srcdir = @srcdir@ abs_srcdir = @abs_srcdir@ top_srcdir = @top_srcdir@ +abs_top_srcdir = @abs_top_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_lisp = $(abs_srcdir) lisp = $(srcdir) @@ -193,7 +194,7 @@ update-subdirs: doit cd $(lisp); $(setwins_for_subdirs); \ for file in $$wins; do \ - $(top_srcdir)/build-aux/update-subdirs $$file; \ + $(abs_top_srcdir)/build-aux/update-subdirs $$file; \ done; .PHONY: updates bzr-update update-authors ------------------------------------------------------------ revno: 114767 committer: Dmitry Gutov branch nick: trunk timestamp: Thu 2013-10-24 05:27:29 +0400 message: * lisp/vc/vc.el (vc-print-root-log): Always set `default-directory' value, whether we could auto-deduce `backend', or not. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-24 00:47:28 +0000 +++ lisp/ChangeLog 2013-10-24 01:27:29 +0000 @@ -1,5 +1,8 @@ 2013-10-24 Dmitry Gutov + * vc/vc.el (vc-print-root-log): Always set `default-directory' + value, whether we could auto-deduce `backend', or not. + * progmodes/ruby-mode.el (ruby-smie-rules): Fix the "curly block with parameters" example. Simplify the "is it block or is it hash" check, but also make it more thorough. === modified file 'lisp/vc/vc.el' --- lisp/vc/vc.el 2013-10-10 14:59:09 +0000 +++ lisp/vc/vc.el 2013-10-24 01:27:29 +0000 @@ -2330,10 +2330,10 @@ (setq rootdir (vc-call-backend backend 'root default-directory)) (setq rootdir (read-directory-name "Directory for VC root-log: ")) (setq backend (vc-responsible-backend rootdir)) - (if backend - (setq default-directory rootdir) - (error "Directory is not version controlled"))) - (setq working-revision (vc-working-revision rootdir)) + (unless backend + (error "Directory is not version controlled"))) + (setq working-revision (vc-working-revision rootdir) + default-directory rootdir) (vc-print-log-internal backend (list rootdir) working-revision nil limit))) ;;;###autoload ------------------------------------------------------------ revno: 114766 committer: Dmitry Gutov branch nick: trunk timestamp: Thu 2013-10-24 04:47:28 +0400 message: * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Fix the "curly block with parameters" example. Simplify the "is it block or is it hash" check, but also make it more thorough. * test/indent/ruby.rb: Fix syntax error in the latest example. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-23 19:44:28 +0000 +++ lisp/ChangeLog 2013-10-24 00:47:28 +0000 @@ -1,3 +1,9 @@ +2013-10-24 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-smie-rules): Fix the "curly block + with parameters" example. Simplify the "is it block or is it + hash" check, but also make it more thorough. + 2013-10-23 Masashi Fujimoto (tiny change) * battery.el (battery-pmset): Handle OS X Mavericks. (Bug#15694) === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2013-10-23 17:55:53 +0000 +++ lisp/progmodes/ruby-mode.el 2013-10-24 00:47:28 +0000 @@ -449,7 +449,7 @@ ((smie-rule-parent-p "def" "begin" "do" "class" "module" "for" "while" "until" "unless" "if" "then" "elsif" "else" "when" - "rescue" "ensure") + "rescue" "ensure" "{") (smie-rule-parent ruby-indent-level)) ;; For (invalid) code between switch and case. ;; (if (smie-parent-p "switch") 4) @@ -457,9 +457,7 @@ (`(:before . ,(or `"(" `"[" `"{")) (cond ((and (equal token "{") - (not (smie-rule-prev-p "(" "{" "[" "," "=>")) - (or (smie-rule-hanging-p) - (smie-rule-next-p "opening-|"))) + (not (smie-rule-prev-p "(" "{" "[" "," "=>" "=" "return" ";"))) ;; Curly block opener. (smie-rule-parent)) ((smie-rule-hanging-p) === modified file 'test/ChangeLog' --- test/ChangeLog 2013-10-23 06:22:54 +0000 +++ test/ChangeLog 2013-10-24 00:47:28 +0000 @@ -1,3 +1,7 @@ +2013-10-24 Dmitry Gutov + + * indent/ruby.rb: Fix syntax error in the latest example. + 2013-10-23 Glenn Morris * automated/Makefile.in (abs_top_srcdir, top_builddir): === modified file 'test/indent/ruby.rb' --- test/indent/ruby.rb 2013-10-23 17:55:53 +0000 +++ test/indent/ruby.rb 2013-10-24 00:47:28 +0000 @@ -40,7 +40,7 @@ a: b } -foo = { a: b +foo = { a: b, a1: b1 } ------------------------------------------------------------ revno: 114765 committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 19:27:19 -0400 message: * configure.ac (src/.gdbinit): Use ac_abs_top_srcdir. diff: === modified file 'ChangeLog' --- ChangeLog 2013-10-23 22:33:08 +0000 +++ ChangeLog 2013-10-23 23:27:19 +0000 @@ -12,6 +12,7 @@ Make building in directories with whitespace possible. (Bug#15675) * configure.ac (srcdir): Don't make it absolute - abs_srcdir exists. + (src/.gdbinit): Use ac_abs_top_srcdir. * Makefile.in (abs_srcdir): New, set by configure. (buildlisppath, epaths-force-w32): Use abs_srcdir. (install-arch-indep, install-etcdoc, install-info, install-man) === modified file 'configure.ac' --- configure.ac 2013-10-23 22:02:42 +0000 +++ configure.ac 2013-10-23 23:27:19 +0000 @@ -5042,9 +5042,12 @@ fi ], [GCC="$GCC" CPPFLAGS="$CPPFLAGS" opsys="$opsys"]) +dnl NB we have to cheat and use the ac_... version because abs_top_srcdir +dnl is not yet set, sigh. Or we could use ../$srcdir/src/.gdbinit, +dnl or a symlink? AC_CONFIG_COMMANDS([src/.gdbinit], [ if test ! -f src/.gdbinit && test -f "$srcdir/src/.gdbinit"; then - echo "source $srcdir/src/.gdbinit" > src/.gdbinit + echo "source $ac_abs_top_srcdir/src/.gdbinit" > src/.gdbinit fi ]) ------------------------------------------------------------ revno: 114764 committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 18:33:08 -0400 message: * Makefile.in (epaths-force-w32): Use abs_srcdir diff: === modified file 'ChangeLog' --- ChangeLog 2013-10-23 20:46:46 +0000 +++ ChangeLog 2013-10-23 22:33:08 +0000 @@ -13,7 +13,7 @@ Make building in directories with whitespace possible. (Bug#15675) * configure.ac (srcdir): Don't make it absolute - abs_srcdir exists. * Makefile.in (abs_srcdir): New, set by configure. - (buildlisppath): Use abs_srcdir. + (buildlisppath, epaths-force-w32): Use abs_srcdir. (install-arch-indep, install-etcdoc, install-info, install-man) (install-etc): Quote entities that might contain whitespace. === modified file 'Makefile.in' --- Makefile.in 2013-10-23 07:28:30 +0000 +++ Makefile.in 2013-10-23 22:33:08 +0000 @@ -341,7 +341,7 @@ # Use the value of ${locallisppath} supplied by `configure', # to support the --enable-locallisppath argument. epaths-force-w32: FRC - @(w32srcdir=`echo "${srcdir}" | ${msys_to_w32}` ; \ + @(w32srcdir=`echo "${abs_srcdir}" | ${msys_to_w32}` ; \ prefixpattern=`echo '${prefix}' | ${msys_to_w32} | ${msys_sed_sh_escape}` ; \ locallisppath=`echo '${locallisppath}' | ${msys_lisppath_to_w32} | ${msys_prefix_subst}` ; \ sed < ${srcdir}/nt/epaths.nt > epaths.h.$$$$ \ ------------------------------------------------------------ revno: 114763 committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 18:02:42 -0400 message: configure.ac: Tweak previous change diff: === modified file 'configure.ac' --- configure.ac 2013-10-23 20:46:46 +0000 +++ configure.ac 2013-10-23 22:02:42 +0000 @@ -74,8 +74,12 @@ AC_ARG_PROGRAM dnl http://debbugs.gnu.org/15260 -for var in "`pwd`" "`cd \"$srcdir\"; pwd`" "$bindir" \ - "$datadir" "$sharedstatedir" "$libexecdir"; do +dnl I think we have to check, eg, both exec_prefix and bindir, +dnl because the latter by default is not yet expanded, but the user +dnl may have specified a value for it via --bindir. +dnl Note that abs_srcdir and abs_builddir are not yet defined. :( +for var in "`pwd`" "`cd \"$srcdir\"; pwd`" "$prefix" "$exec_prefix" \ + "$datarootdir" "$bindir" "$datadir" "$sharedstatedir" "$libexecdir"; do dnl configure sets LC_ALL=C early on, so this range should work. case "$var" in ------------------------------------------------------------ revno: 114762 fixes bug: http://debbugs.gnu.org/15260 committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 16:46:46 -0400 message: * configure.ac: Explicit error for non-ASCII directories diff: === modified file 'ChangeLog' --- ChangeLog 2013-10-23 07:28:30 +0000 +++ ChangeLog 2013-10-23 20:46:46 +0000 @@ -1,5 +1,7 @@ 2013-10-23 Glenn Morris + * configure.ac: Explicit error for non-ASCII directories. (Bug#15260) + Progress towards allowing installation in directories with whitespace. * Makefile.in (COPYDESTS, write_subdir, install-arch-dep) (install-arch-indep, install-etcdoc, install-info, install-man) === modified file 'configure.ac' --- configure.ac 2013-10-23 06:22:54 +0000 +++ configure.ac 2013-10-23 20:46:46 +0000 @@ -73,6 +73,17 @@ dnl --program-transform-name options AC_ARG_PROGRAM +dnl http://debbugs.gnu.org/15260 +for var in "`pwd`" "`cd \"$srcdir\"; pwd`" "$bindir" \ + "$datadir" "$sharedstatedir" "$libexecdir"; do + + dnl configure sets LC_ALL=C early on, so this range should work. + case "$var" in + *[[^\ -~]]*) AC_MSG_ERROR([Emacs cannot be built or installed in a directory whose name contains non-ASCII characters: $var]) ;; + esac + +done + dnl It is important that variables on the RHS not be expanded here, dnl hence the single quotes. This is per the GNU coding standards, see dnl (autoconf) Installation Directory Variables ------------------------------------------------------------ revno: 114761 fixes bug: http://debbugs.gnu.org/15694 author: Masashi Fujimoto committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 15:44:28 -0400 message: * lisp/battery.el (battery-pmset): Handle OS X Mavericks (tiny change) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-23 17:55:53 +0000 +++ lisp/ChangeLog 2013-10-23 19:44:28 +0000 @@ -1,3 +1,7 @@ +2013-10-23 Masashi Fujimoto (tiny change) + + * battery.el (battery-pmset): Handle OS X Mavericks. (Bug#15694) + 2013-10-23 Stefan Monnier * progmodes/ruby-mode.el (ruby-smie-rules): Only align with parent of === modified file 'lisp/battery.el' --- lisp/battery.el 2013-03-05 17:13:01 +0000 +++ lisp/battery.el 2013-10-23 19:44:28 +0000 @@ -615,7 +615,7 @@ (with-temp-buffer (ignore-errors (call-process "pmset" nil t nil "-g" "ps")) (goto-char (point-min)) - (when (re-search-forward "Currentl?y drawing from '\\(AC\\|Battery\\) Power'" nil t) + (when (re-search-forward "\\(?:Currentl?y\\|Now\\) drawing from '\\(AC\\|Battery\\) Power'" nil t) (setq power-source (match-string 1)) (when (re-search-forward "^ -InternalBattery-0[ \t]+" nil t) (when (looking-at "\\([0-9]\\{1,3\\}\\)%") ------------------------------------------------------------ revno: 114760 committer: Stefan Monnier branch nick: trunk timestamp: Wed 2013-10-23 13:55:53 -0400 message: * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Only align with parent of { if it is hanging. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-23 17:18:11 +0000 +++ lisp/ChangeLog 2013-10-23 17:55:53 +0000 @@ -1,5 +1,8 @@ 2013-10-23 Stefan Monnier + * progmodes/ruby-mode.el (ruby-smie-rules): Only align with parent of + { if it is hanging. + * progmodes/ruby-mode.el (ruby-smie-rules): Don't return 0 for :before ";". === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2013-10-23 17:18:11 +0000 +++ lisp/progmodes/ruby-mode.el 2013-10-23 17:55:53 +0000 @@ -449,7 +449,7 @@ ((smie-rule-parent-p "def" "begin" "do" "class" "module" "for" "while" "until" "unless" "if" "then" "elsif" "else" "when" - "rescue" "ensure" "{") + "rescue" "ensure") (smie-rule-parent ruby-indent-level)) ;; For (invalid) code between switch and case. ;; (if (smie-parent-p "switch") 4) @@ -457,7 +457,9 @@ (`(:before . ,(or `"(" `"[" `"{")) (cond ((and (equal token "{") - (not (smie-rule-prev-p "(" "{" "[" "," "=>"))) + (not (smie-rule-prev-p "(" "{" "[" "," "=>")) + (or (smie-rule-hanging-p) + (smie-rule-next-p "opening-|"))) ;; Curly block opener. (smie-rule-parent)) ((smie-rule-hanging-p) === modified file 'test/indent/ruby.rb' --- test/indent/ruby.rb 2013-10-22 20:47:29 +0000 +++ test/indent/ruby.rb 2013-10-23 17:55:53 +0000 @@ -40,6 +40,10 @@ a: b } +foo = { a: b + a1: b1 + } + foo({ a: b, c: d ------------------------------------------------------------ revno: 114759 committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 13:20:09 -0400 message: Remove remaining @refills from doc/*/*.texi files diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2013-10-23 07:20:57 +0000 +++ doc/emacs/ChangeLog 2013-10-23 17:20:09 +0000 @@ -1,5 +1,8 @@ 2013-10-23 Glenn Morris + * files.texi, glossary.texi, killing.texi, search.texi, sending.texi: + Nuke @refill. + * Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. === modified file 'doc/emacs/files.texi' --- doc/emacs/files.texi 2013-10-02 17:27:52 +0000 +++ doc/emacs/files.texi 2013-10-23 17:20:09 +0000 @@ -1089,7 +1089,7 @@ restores the contents from its auto-save file @file{#@var{file}#}. You can then save with @kbd{C-x C-s} to put the recovered text into @var{file} itself. For example, to recover file @file{foo.c} from its -auto-save file @file{#foo.c#}, do:@refill +auto-save file @file{#foo.c#}, do: @example M-x recover-file @key{RET} foo.c @key{RET} === modified file 'doc/emacs/glossary.texi' --- doc/emacs/glossary.texi 2013-08-17 08:04:31 +0000 +++ doc/emacs/glossary.texi 2013-10-23 17:20:09 +0000 @@ -256,7 +256,7 @@ minibuffer (q.v.@:) arguments when the set of possible valid inputs is known; for example, on command names, buffer names, and file names. Completion usually occurs when @key{TAB}, @key{SPC} or -@key{RET} is typed. @xref{Completion}.@refill +@key{RET} is typed. @xref{Completion}. @anchor{Glossary---Continuation Line} @item Continuation Line === modified file 'doc/emacs/killing.texi' --- doc/emacs/killing.texi 2013-08-16 08:11:44 +0000 +++ doc/emacs/killing.texi 2013-10-23 17:20:09 +0000 @@ -423,7 +423,7 @@ tells the following command, if it is a kill command, to append the text it kills to the last killed text, instead of starting a new entry. With @kbd{C-M-w}, you can kill several separated pieces of text and -accumulate them to be yanked back in one place.@refill +accumulate them to be yanked back in one place. A kill command following @kbd{M-w} (@code{kill-ring-save}) does not append to the text that @kbd{M-w} copied into the kill ring. === modified file 'doc/emacs/search.texi' --- doc/emacs/search.texi 2013-06-05 20:57:09 +0000 +++ doc/emacs/search.texi 2013-10-23 17:20:09 +0000 @@ -668,7 +668,7 @@ tries to match all three @samp{a}s; but the rest of the pattern is @samp{ar} and there is only @samp{r} left to match, so this try fails. The next alternative is for @samp{a*} to match only two @samp{a}s. -With this choice, the rest of the regexp matches successfully.@refill +With this choice, the rest of the regexp matches successfully. @item @kbd{+} is a postfix operator, similar to @samp{*} except that it must match @@ -830,11 +830,11 @@ match @var{a}, and if that fails, by trying to match @var{b}. Thus, @samp{foo\|bar} matches either @samp{foo} or @samp{bar} -but no other string.@refill +but no other string. @samp{\|} applies to the largest possible surrounding expressions. Only a surrounding @samp{\( @dots{} \)} grouping can limit the grouping power of -@samp{\|}.@refill +@samp{\|}. Full backtracking capability exists to handle multiple uses of @samp{\|}. @@ -850,7 +850,7 @@ To enclose a complicated expression for the postfix operators @samp{*}, @samp{+} and @samp{?} to operate on. Thus, @samp{ba\(na\)*} matches @samp{bananana}, etc., with any (zero or more) number of @samp{na} -strings.@refill +strings. @item To record a matched substring for future reference. @@ -912,7 +912,7 @@ matches the empty string, but only at the beginning or end of a word. Thus, @samp{\bfoo\b} matches any occurrence of @samp{foo} as a separate word. @samp{\bballs?\b} matches -@samp{ball} or @samp{balls} as a separate word.@refill +@samp{ball} or @samp{balls} as a separate word. @samp{\b} matches at the beginning or end of the buffer regardless of what text appears next to it. @@ -1005,7 +1005,7 @@ you specify searching for @samp{foo}, then @samp{Foo} and @samp{foo} also match. Regexps, and in particular character sets, behave likewise: @samp{[ab]} matches @samp{a} or @samp{A} or @samp{b} or -@samp{B}.@refill +@samp{B}. An upper-case letter anywhere in the incremental search string makes the search case-sensitive. Thus, searching for @samp{Foo} does not find === modified file 'doc/emacs/sending.texi' --- doc/emacs/sending.texi 2013-05-08 03:49:29 +0000 +++ doc/emacs/sending.texi 2013-10-23 17:20:09 +0000 @@ -256,7 +256,7 @@ where @var{fulladdresses} can be either a single address, or multiple addresses separated with spaces. For instance, to make @code{maingnu} stand for @code{gnu@@gnu.org} plus a local address of your own, put in -this line:@refill +this line: @example alias maingnu gnu@@gnu.org local-gnu === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2013-10-23 07:20:57 +0000 +++ doc/lispref/ChangeLog 2013-10-23 17:20:09 +0000 @@ -1,12 +1,16 @@ 2013-10-23 Glenn Morris + * eval.texi, files.texi, intro.texi, objects.texi, searching.texi: + Nuke @refill. + * Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. 2013-10-19 Xue Fuqiao - * display.texi (Face Attributes): Add indexes for the ‘:box’ face attribute. + * display.texi (Face Attributes): Add indexes for the ‘:box’ + face attribute. 2013-10-18 Xue Fuqiao === modified file 'doc/lispref/eval.texi' --- doc/lispref/eval.texi 2013-07-24 06:21:07 +0000 +++ doc/lispref/eval.texi 2013-10-23 17:20:09 +0000 @@ -523,7 +523,7 @@ doesn't exist in Common Lisp. @code{throw} is a special form in Common Lisp (because it must be able to throw multiple values), but it is a function in Emacs Lisp (which doesn't have multiple -values).@refill +values). @end quotation @node Autoloading === modified file 'doc/lispref/files.texi' --- doc/lispref/files.texi 2013-08-20 14:49:09 +0000 +++ doc/lispref/files.texi 2013-10-23 17:20:09 +0000 @@ -2378,7 +2378,7 @@ In the following example, suppose that @file{~rms/lewis} is the current default directory, and has five files whose names begin with @samp{f}: @file{foo}, @file{file~}, @file{file.c}, @file{file.c.~1~}, and -@file{file.c.~2~}.@refill +@file{file.c.~2~}. @example @group @@ -2409,7 +2409,7 @@ In the following example, suppose that the current default directory has five files whose names begin with @samp{f}: @file{foo}, @file{file~}, @file{file.c}, @file{file.c.~1~}, and -@file{file.c.~2~}.@refill +@file{file.c.~2~}. @example @group @@ -2438,7 +2438,7 @@ @code{file-name-completion} usually ignores file names that end in any string in this list. It does not ignore them when all the possible completions end in one of these suffixes. This variable has no effect -on @code{file-name-all-completions}.@refill +on @code{file-name-all-completions}. A typical value might look like this: === modified file 'doc/lispref/intro.texi' --- doc/lispref/intro.texi 2013-10-13 00:31:19 +0000 +++ doc/lispref/intro.texi 2013-10-23 17:20:09 +0000 @@ -456,7 +456,7 @@ are no arguments. Here is a description of the imaginary @code{electric-future-map} -variable.@refill +variable. @defvar electric-future-map The value of this variable is a full keymap used by Electric Command === modified file 'doc/lispref/objects.texi' --- doc/lispref/objects.texi 2013-03-03 02:09:31 +0000 +++ doc/lispref/objects.texi 2013-10-23 17:20:09 +0000 @@ -1301,7 +1301,7 @@ derived from ``subroutine''.) Most primitive functions evaluate all their arguments when they are called. A primitive function that does not evaluate all its arguments is called a @dfn{special form} -(@pxref{Special Forms}).@refill +(@pxref{Special Forms}). It does not matter to the caller of a function whether the function is primitive. However, this does matter if you try to redefine a primitive === modified file 'doc/lispref/searching.texi' --- doc/lispref/searching.texi 2013-10-02 15:14:06 +0000 +++ doc/lispref/searching.texi 2013-10-23 17:20:09 +0000 @@ -273,12 +273,12 @@ therefore @samp{f} is a regular expression that matches the string @samp{f} and no other string. (It does @emph{not} match the string @samp{fg}, but it does match a @emph{part} of that string.) Likewise, -@samp{o} is a regular expression that matches only @samp{o}.@refill +@samp{o} is a regular expression that matches only @samp{o}. Any two regular expressions @var{a} and @var{b} can be concatenated. The result is a regular expression that matches a string if @var{a} matches some amount of the beginning of that string and @var{b} matches the rest of -the string.@refill +the string. As a simple example, we can concatenate the regular expressions @samp{f} and @samp{o} to get the regular expression @samp{fo}, which matches only @@ -304,7 +304,7 @@ is a special character that matches any single character except a newline. Using concatenation, we can make regular expressions like @samp{a.b}, which matches any three-character string that begins with @samp{a} and ends with -@samp{b}.@refill +@samp{b}. @item @samp{*} @cindex @samp{*} in regexp @@ -488,7 +488,7 @@ @samp{\\}. To write a Lisp string that contains the characters @samp{\\}, Lisp syntax requires you to quote each @samp{\} with another @samp{\}. Therefore, the read syntax for a regular expression matching -@samp{\} is @code{"\\\\"}.@refill +@samp{\} is @code{"\\\\"}. @end table @strong{Please note:} For historical compatibility, special characters @@ -496,7 +496,7 @@ meanings make no sense. For example, @samp{*foo} treats @samp{*} as ordinary since there is no preceding expression on which the @samp{*} can act. It is poor practice to depend on this behavior; quote the -special character anyway, regardless of where it appears.@refill +special character anyway, regardless of where it appears. As a @samp{\} is not special inside a character alternative, it can never remove the special meaning of @samp{-} or @samp{]}. So you @@ -599,14 +599,14 @@ specifies an alternative. Two regular expressions @var{a} and @var{b} with @samp{\|} in between form an expression that matches anything that either @var{a} or -@var{b} matches.@refill +@var{b} matches. Thus, @samp{foo\|bar} matches either @samp{foo} or @samp{bar} -but no other string.@refill +but no other string. @samp{\|} applies to the largest possible surrounding expressions. Only a surrounding @samp{\( @dots{} \)} grouping can limit the grouping power of -@samp{\|}.@refill +@samp{\|}. If you need full backtracking capability to handle multiple uses of @samp{\|}, use the POSIX regular expression functions (@pxref{POSIX @@ -785,7 +785,7 @@ matches the empty string, but only at the beginning or end of a word. Thus, @samp{\bfoo\b} matches any occurrence of @samp{foo} as a separate word. @samp{\bballs?\b} matches -@samp{ball} or @samp{balls} as a separate word.@refill +@samp{ball} or @samp{balls} as a separate word. @samp{\b} matches at the beginning or end of the buffer (or string) regardless of what text appears next to it. === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2013-10-23 07:20:57 +0000 +++ doc/misc/ChangeLog 2013-10-23 17:20:09 +0000 @@ -1,5 +1,9 @@ 2013-10-23 Glenn Morris + * dired-x.texi, ebrowse.texi, ede.texi, eieio.texi, eshell.texi: + * pcl-cvs.texi, sc.texi, srecode.texi, vip.texi, viper.texi: + * widget.texi: Nuke @refill. + * Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. === modified file 'doc/misc/dired-x.texi' --- doc/misc/dired-x.texi 2013-02-12 17:36:54 +0000 +++ doc/misc/dired-x.texi 2013-10-23 17:20:09 +0000 @@ -560,7 +560,7 @@ @vindex dired-guess-shell-alist-default Predefined rules for shell commands. Set this to @code{nil} to turn guessing off. The elements of @code{dired-guess-shell-alist-user} (defined by the -user) will override these rules.@refill +user) will override these rules. @item dired-guess-shell-alist-user @vindex dired-guess-shell-alist-user @@ -568,7 +568,6 @@ commands. These rules take precedence over the predefined rules in the variable @code{dired-guess-shell-alist-default} (to which they are prepended) when @code{dired-do-shell-command} is run). -@refill Each element of the alist looks like === modified file 'doc/misc/ebrowse.texi' --- doc/misc/ebrowse.texi 2013-01-02 16:13:04 +0000 +++ doc/misc/ebrowse.texi 2013-10-23 17:20:09 +0000 @@ -138,7 +138,7 @@ @item Types (@code{enum}s, and @code{typedef}s defined with class -scope).@refill +scope). @end itemize You can switch member buffers from one list to another, or to another @@ -210,7 +210,7 @@ @findex --help When invoked with option @samp{--help}, @command{ebrowse} prints a list of -available command line options.@refill +available command line options. @menu * Input files:: Specifying which files to parse @@ -478,12 +478,12 @@ This command views the class declaration if the database contains information about it. If you don't parse the entire source you are working on, some classes will only be known to exist but the -location of their declarations and definitions will not be known.@refill +location of their declarations and definitions will not be known. @item RET Works like @kbd{SPC}, except that it finds the class declaration rather than viewing it, so that it is ready for -editing.@refill +editing. @end table The same functionality is available from the menu opened with @@ -570,7 +570,7 @@ If the branch of the class tree containing the class searched for is currently collapsed, the class itself and all its base classes are recursively made visible. (See also @ref{Expanding and -Collapsing}.)@refill +Collapsing}.) This function is also available from the tree buffer's context menu. @@ -634,7 +634,7 @@ You can expand and collapse parts of a tree to reduce the complexity of large class hierarchies. Expanding or collapsing branches of a tree has no impact on the functionality of other commands, like @kbd{/}. (See -also @ref{Go to Class}.)@refill +also @ref{Go to Class}.) Collapsed branches are indicated with an ellipsis following the class name like in the example below. @@ -734,7 +734,7 @@ Classes can be marked for operations similar to the standard Emacs commands @kbd{M-x tags-search} and @kbd{M-x tags-query-replace} (see -also @xref{Tags-like Functions}.)@refill +also @xref{Tags-like Functions}.) @table @kbd @cindex toggle mark @@ -1292,7 +1292,7 @@ Ebrowse's commands, the position from where you performed the jump and the position where you jumped to are recorded in a @dfn{position stack}. There are several ways in which you can quickly -move to positions in the stack:@refill +move to positions in the stack: @table @kbd @cindex return to original position === modified file 'doc/misc/ede.texi' --- doc/misc/ede.texi 2013-02-12 17:36:54 +0000 +++ doc/misc/ede.texi 2013-10-23 17:20:09 +0000 @@ -1564,26 +1564,22 @@ Default Value: @code{"Untitled"} The name used when generating distribution files. -@refill @item :version Type: @code{string} @* Default Value: @code{"1.0"} The version number used when distributing files. -@refill @item :directory Type: @code{string} Directory this project is associated with. -@refill @item :file Type: @code{string} File name where this project is stored. -@refill @end table @@ -1656,35 +1652,30 @@ Type: @code{list} List of top level targets in this project. -@refill @item :tool-cache Type: @code{list} List of tool cache configurations in this project. This allows any tool to create, manage, and persist project-specific settings. -@refill @item :web-site-url Type: @code{string} @* URL to this projects web site. This is a URL to be sent to a web site for documentation. -@refill @item :web-site-directory @* A directory where web pages can be found by Emacs. For remote locations use a path compatible with ange-ftp or EFS@. You can also use TRAMP for use with rcp & scp. -@refill @item :web-site-file @* A file which contains the home page for this project. This file can be relative to slot @code{web-site-directory}. This can be a local file, use ange-ftp, EFS, or TRAMP. -@refill @item :ftp-site Type: @code{string} @* @@ -1692,7 +1683,6 @@ FTP site where this project's distribution can be found. This FTP site should be in Emacs form, as needed by @code{ange-ftp}, but can also be of a form used by TRAMP for use with scp, or rcp. -@refill @item :ftp-upload-site Type: @code{string} @* @@ -1700,7 +1690,6 @@ FTP Site to upload new distributions to. This FTP site should be in Emacs form as needed by @code{ange-ftp}. If this slot is @code{nil}, then use @code{ftp-site} instead. -@refill @item :configurations Type: @code{list} @* @@ -1709,19 +1698,16 @@ List of available configuration types. Individual target/project types can form associations between a configuration, and target specific elements such as build variables. -@refill @item :configuration-default @* Default Value: @code{"debug"} The default configuration. -@refill @item :local-variables @* Default Value: @code{nil} Project local variables -@refill @end table @@ -1966,7 +1952,6 @@ that are relative to the project's root should start with a /, such as "/include", meaning the directory @code{include} off the project root directory. -@refill @item :system-include-path Type: @code{list} @* @@ -1976,7 +1961,6 @@ C files initialized in an ede-cpp-root-project have their semantic system include path set to this value. If this is @code{nil}, then the semantic path is not modified. -@refill @item :spp-table Type: @code{list} @* @@ -1988,7 +1972,6 @@ are critical symbols derived from header files. Providing header files macro values through this slot improves accuracy and performance. Use `:spp-files' to use these files directly. -@refill @item :spp-files Type: @code{list} @* @@ -1998,14 +1981,12 @@ The PreProcessor symbols appearing in these files will be used while parsing files in this project. See @code{semantic-lex-c-preprocessor-symbol-map} for more on how this works. -@refill @item :header-match-regexp Type: @code{string} @* Default Value: @code{"\\.\\(h\\(h\\|xx\\|pp\\|\\+\\+\\)?\\|H\\)$\\|\\<\\w+$"} Regexp used to identify C/C++ header files. -@refill @item :locate-fcn Type: @code{(or null function)} @* @@ -2020,7 +2001,6 @@ It should return the fully qualified file name passed in from NAME@. If that file does not exist, it should return nil. -@refill @end table @@ -2144,14 +2124,12 @@ Can be one of @code{'Makefile}, 'Makefile.in, or 'Makefile.am. If this value is NOT @code{'Makefile}, then that overrides the @code{:makefile} slot in targets. -@refill @item :variables Type: @code{list} @* Default Value: @code{nil} Variables to set in this Makefile. -@refill @item :configuration-variables Type: @code{list} @* @@ -2159,27 +2137,23 @@ Makefile variables to use in different configurations. These variables are used in the makefile when a configuration becomes active. -@refill @item :inference-rules @* Default Value: @code{nil} Inference rules to add to the makefile. -@refill @item :include-file @* Default Value: @code{nil} Additional files to include. These files can contain additional rules, variables, and customizations. -@refill @item :automatic-dependencies Type: @code{boolean} @* Default Value: @code{t} Non-@code{nil} to do implement automatic dependencies in the Makefile. -@refill @item :metasubproject Type: @code{boolean} @* @@ -2190,7 +2164,6 @@ projects are grouped into a large project not maintained by EDE, then you need to set this to non-nil. The only effect is that the @code{dist} rule will then avoid making a tar file. -@refill @end table @@ -2380,7 +2353,6 @@ Default Value: @code{nil} Variables to set in this Makefile, at top of file. -@refill @item :additional-variables Type: @code{(or null list)} @* @@ -2388,7 +2360,6 @@ Arbitrary variables needed from this project. It is safe to leave this blank. -@refill @item :additional-rules Type: @code{(or null list)} @* @@ -2396,7 +2367,6 @@ Arbitrary rules and dependencies needed to make this target. It is safe to leave this blank. -@refill @item :installation-domain Type: @code{symbol} @* @@ -2404,7 +2374,6 @@ Installation domain specification. The variable GNUSTEP_INSTALLATION_DOMAIN is set at this value. -@refill @item :preamble Type: @code{(or null list)} @* @@ -2412,7 +2381,6 @@ The auxiliary makefile for additional variables. Included just before the specific target files. -@refill @item :postamble Type: @code{(or null list)} @* @@ -2420,7 +2388,6 @@ The auxiliary makefile for additional rules. Included just after the specific target files. -@refill @item :metasubproject Type: @code{boolean} @* @@ -2431,7 +2398,6 @@ projects are grouped into a large project not maintained by EDE, then you need to set this to non-nil. The only effect is that the @code{dist} rule will then avoid making a tar file. -@refill @end table @@ -2536,21 +2502,18 @@ Type: @code{string} Name of this target. -@refill @item :path Type: @code{string} The path to the sources of this target. Relative to the path of the project it belongs to. -@refill @item :source Type: @code{list} @* Default Value: @code{nil} Source files in this target. -@refill @item :versionsource Type: @code{list} @* @@ -2560,7 +2523,6 @@ These files are checked for a version string whenever the EDE version of the master project is changed. When strings are found, the version previously there is updated. -@refill @end table @@ -2752,14 +2714,12 @@ Type: @code{string} Name of this target. -@refill @item :path Type: @code{string} The path to the sources of this target. Relative to the path of the project it belongs to. -@refill @item :auxsource Type: @code{list} @* @@ -2768,7 +2728,6 @@ Auxiliary source files included in this target. Each of these is considered equivalent to a source file, but it is not distributed, and each should have a corresponding rule to build it. -@refill @item :compiler Type: @code{(or null symbol)} @* @@ -2778,7 +2737,6 @@ This should be a symbol, which contains the object defining the compiler. This enables save/restore to do so by name, permitting the sharing of these compiler resources, and global customization thereof. -@refill @item :linker Type: @code{(or null symbol)} @* @@ -2788,7 +2746,6 @@ This should be a symbol, which contains the object defining the linker. This enables save/restore to do so by name, permitting the sharing of these linker resources, and global customization thereof. -@refill @end table @@ -2950,7 +2907,6 @@ Default Value: @code{"Makefile"} File name of generated Makefile. -@refill @item :partofall Type: @code{boolean} @* @@ -2959,7 +2915,6 @@ Non @code{nil} means the rule created is part of the all target. Setting this to @code{nil} creates the rule to build this item, but does not include it in the ALL`all:' rule. -@refill @item :configuration-variables Type: @code{list} @* @@ -2969,7 +2924,6 @@ These variables are used in the makefile when a configuration becomes active. Target variables are always renamed such as foo_CFLAGS, then included into commands where the variable would usually appear. -@refill @item :rules Type: @code{list} @* @@ -2977,7 +2931,6 @@ Arbitrary rules and dependencies needed to make this target. It is safe to leave this blank. -@refill @end table @@ -3221,7 +3174,6 @@ prefix, or a ".so" suffix. Note: Currently only used for Automake projects. -@refill @item :ldflags Type: @code{list} @* @@ -3232,7 +3184,6 @@ options to the linker. Note: Not currently used. This bug needs to be fixed. -@refill @end table @@ -3358,7 +3309,6 @@ There should only be one toplevel package per auxiliary tool needed. These packages location is found, and added to the compile time load path. -@refill @end table @@ -3439,7 +3389,6 @@ The file that autoload definitions are placed in. There should be one load defs file for a given package. The load defs are created for all Emacs Lisp sources that exist in the directory of the created target. -@refill @item :autoload-dirs Type: @code{list} @* @@ -3447,7 +3396,6 @@ The directories to scan for autoload definitions. If @code{nil} defaults to the current directory. -@refill @end table @@ -3547,7 +3495,6 @@ Miscellaneous sources which have a specialized makefile. The sub-makefile is used to build this target. -@refill @end table @@ -3604,7 +3551,6 @@ The main menu resides in this file. All other sources should be included independently. -@refill @end table @@ -3687,7 +3633,6 @@ Default Value: @code{"guile"} The preferred interpreter for this code. -@refill @end table @@ -3817,7 +3762,6 @@ Default Value: @code{nil} Additional LD args. -@refill @end table @end table @@ -3949,7 +3893,6 @@ Default Value: @code{nil} Additional texinfo included in this one. -@refill @end table @end table @@ -4036,21 +3979,18 @@ The parent of this instance. If a slot of this class is reference, and is unbound, then the parent is checked for a value. -@refill @item :name Type: @code{string} The name of this type of source code. Such as "C" or "Emacs Lisp" -@refill @item :sourcepattern Type: @code{string} @* Default Value: @code{".*"} Emacs regex matching sourcecode this target accepts. -@refill @item :auxsourcepattern Type: @code{(or null string)} @* @@ -4059,7 +3999,6 @@ Emacs regex matching auxiliary source code this target accepts. Aux source are source code files needed for compilation, which are not compiled themselves. -@refill @item :enable-subdirectories Type: @code{boolean} @* @@ -4069,7 +4008,6 @@ If sourcecode always lives near the target creating it, this should be nil. If sourcecode can, or typically lives in a subdirectory of the owning target, set this to t. -@refill @item :garbagepattern Type: @code{list} @* @@ -4078,7 +4016,6 @@ Shell file regex matching files considered as garbage. This is a list of items added to an @code{rm} command when executing a @code{clean} type directive. -@refill @end table @@ -4158,13 +4095,11 @@ The parent of this instance. If a slot of this class is reference, and is unbound, then the parent is checked for a value. -@refill @item :name Type: @code{string} Name of this type of compiler. -@refill @item :variables Type: @code{list} @@ -4173,7 +4108,6 @@ An assoc list where each element is (VARNAME . VALUE) where VARNAME is a string, and VALUE is either a string, or a list of strings. For example, GCC would define CC=gcc, and emacs would define EMACS=emacs. -@refill @item :sourcetype Type: @code{list} @@ -4181,7 +4115,6 @@ A list of @code{ede-sourcecode} @xref{ede-sourcecode}. objects this class will handle. This is used to match target objects with the compilers and linkers they can use, and which files this object is interested in. -@refill @item :rules Type: @code{list} @* @@ -4189,7 +4122,6 @@ Auxiliary rules needed for this compiler to run. For example, yacc/lex files need additional chain rules, or inferences. -@refill @item :commands Type: @code{list} @@ -4197,7 +4129,6 @@ The commands used to execute this compiler. The object which uses this compiler will place these commands after it's rule definition. -@refill @item :autoconf Type: @code{list} @* @@ -4208,14 +4139,12 @@ call to initialize automake to use this compiler. For example, there may be multiple C compilers, but they all probably use the same autoconf form. -@refill @item :objectextention Type: @code{string} A string which is the extension used for object files. For example, C code uses .o on unix, and Emacs Lisp uses .elc. -@refill @end table @@ -4285,13 +4214,11 @@ The parent of this instance. If a slot of this class is reference, and is unbound, then the parent is checked for a value. -@refill @item :name Type: @code{string} Name of this type of compiler. -@refill @item :variables Type: @code{list} @@ -4300,7 +4227,6 @@ An assoc list where each element is (VARNAME . VALUE) where VARNAME is a string, and VALUE is either a string, or a list of strings. For example, GCC would define CC=gcc, and emacs would define EMACS=emacs. -@refill @item :sourcetype Type: @code{list} @@ -4308,7 +4234,6 @@ A list of @code{ede-sourcecode} @xref{ede-sourcecode}. objects this class will handle. This is used to match target objects with the compilers and linkers they can use, and which files this object is interested in. -@refill @item :commands Type: @code{list} @@ -4316,21 +4241,18 @@ The commands used to execute this compiler. The object which uses this compiler will place these commands after it's rule definition. -@refill @item :objectextention Type: @code{string} A string which is the extension used for object files. For example, C code uses .o on unix, and Emacs Lisp uses .elc. -@refill @item :makedepends Type: @code{boolean} @* Default Value: @code{nil} Non-@code{nil} if this compiler can make dependencies. -@refill @item :uselinker Type: @code{boolean} @* @@ -4339,7 +4261,6 @@ Non-@code{nil} if this compiler creates code that can be linked. This requires that the containing target also define a list of available linkers that can be used. -@refill @end table @@ -4399,7 +4320,6 @@ Type: @code{list} A variable dedicated to dependency generation. -@refill @end table @end table @@ -4439,7 +4359,6 @@ Type: @code{string} Name of this type of compiler. -@refill @item :variables Type: @code{list} @@ -4448,7 +4367,6 @@ An assoc list where each element is (VARNAME . VALUE) where VARNAME is a string, and VALUE is either a string, or a list of strings. For example, GCC would define CC=gcc, and emacs would define EMACS=emacs. -@refill @item :sourcetype Type: @code{list} @@ -4456,7 +4374,6 @@ A list of @code{ede-sourcecode} @xref{ede-sourcecode}. objects this class will handle. This is used to match target objects with the compilers and linkers they can use, and which files this object is interested in. -@refill @item :commands Type: @code{list} @@ -4464,14 +4381,12 @@ The commands used to execute this compiler. The object which uses this compiler will place these commands after it's rule definition. -@refill @item :objectextention Type: @code{string} A string which is the extension used for object files. For example, C code uses .o on unix, and Emacs Lisp uses .elc. -@refill @end table @end table === modified file 'doc/misc/eieio.texi' --- doc/misc/eieio.texi 2013-08-16 05:15:51 +0000 +++ doc/misc/eieio.texi 2013-10-23 17:20:09 +0000 @@ -1625,7 +1625,6 @@ with it, certain default methods or attributes can be added to all objects. In CLOS, this would be named @code{STANDARD-CLASS}, and that symbol is an alias to @code{eieio-default-superclass}. -@refill Currently, the default superclass is defined as follows: === modified file 'doc/misc/eshell.texi' --- doc/misc/eshell.texi 2013-09-14 23:47:54 +0000 +++ doc/misc/eshell.texi 2013-10-23 17:20:09 +0000 @@ -158,25 +158,25 @@ @item Eli Zaretskii made it possible for Eshell to run without requiring asynchronous subprocess support. This is important for MS-DOS, which -does not have such support.@refill +does not have such support. @item -Miles Bader contributed many fixes during the port to Emacs 21.@refill +Miles Bader contributed many fixes during the port to Emacs 21. @item Stefan Monnier fixed the things which bothered him, which of course made -things better for all.@refill +things better for all. @item Gerd Moellmann also helped to contribute bug fixes during the initial -integration with Emacs 21.@refill +integration with Emacs 21. @item Alex Schroeder contributed code for interactively querying the user -before overwriting files.@refill +before overwriting files. @item -Sudish Joseph helped with some XEmacs compatibility issues.@refill +Sudish Joseph helped with some XEmacs compatibility issues. @end itemize Apart from these, a lot of people have sent suggestions, ideas, === modified file 'doc/misc/pcl-cvs.texi' --- doc/misc/pcl-cvs.texi 2013-07-25 07:10:56 +0000 +++ doc/misc/pcl-cvs.texi 2013-10-23 17:20:09 +0000 @@ -176,18 +176,18 @@ Inge Wallin wrote the skeleton of @file{pcl-cvs.texi}, and gave useful comments on it. He also wrote the files @file{elib-node.el} and @file{compile-all.el}. The file -@file{cookie.el} was inspired by Inge.@refill +@file{cookie.el} was inspired by Inge. @item @c linus@@lysator.liu.se Linus Tolke contributed useful comments -on both the functionality and the documentation.@refill +on both the functionality and the documentation. @item @c jwz@@jwz.com Jamie Zawinski contributed @file{pcl-cvs-lucid.el}, which was later renamed to -@file{pcl-cvs-xemacs.el}.@refill +@file{pcl-cvs-xemacs.el}. @item Leif Lonnblad contributed RCVS support (since superseded by the new @@ -297,7 +297,7 @@ repository. @xref{Committing changes}. You can also press @kbd{O} to update any of the files that are marked @samp{Need-Update}. You can also run @kbd{M-x cvs-update @key{RET}} (bound to @kbd{M-u} in the -@samp{*cvs*} buffer) to update all the files.@refill +@samp{*cvs*} buffer) to update all the files. You can then press @kbd{=} to easily get a @samp{diff} between your modified file and the base version that you started from, or you can @@ -324,7 +324,7 @@ @item An asterisk when the file is @dfn{marked} (@pxref{Selected -files}).@refill +files}). @item The actual status of the file wrt the repository. See below. @@ -350,7 +350,7 @@ @item merged The file was modified in your working directory, and there were modifications in the repository as well, but they were merged -successfully, without conflict, in your working directory.@refill +successfully, without conflict, in your working directory. @end table @item Conflict @@ -360,7 +360,7 @@ the two versions; an unmodified copy of your file is also in your working directory, with the name @file{.#@var{file}.@var{version}}, where @var{version} is the RCS revision that your modified file started -from. @xref{Viewing differences}, for more details.@refill +from. @xref{Viewing differences}, for more details. A conflict can also come from a disagreement on the existence of the file rather than on its content. This case is indicated by the following @@ -382,17 +382,17 @@ @item Added The file has been added by you, but it still needs to be checked in to -the repository.@refill +the repository. @item Removed The file has been removed by you, but it still needs to be checked in to the repository. You can resurrect it by typing @kbd{a} (@pxref{Adding -and removing files}).@refill +and removing files}). @item Unknown A file that was detected in your directory, but that neither appears in the repository, nor is present on the list of files that CVS should -ignore.@refill +ignore. @item Up-to-date The file is up to date with respect to the version in the repository. @@ -400,29 +400,29 @@ @table @samp @item added -You have just added the file to the repository.@refill +You have just added the file to the repository. @item updated The file was brought up to date with respect to the repository. This is done for any file that exists in the repository but not in your source, and for files that you haven't changed but are not the most recent -versions available in the repository.@refill +versions available in the repository. @item patched The file was brought up to date with respect to the remote repository by way of fetching and applying a patch to the file in your source. This is equivalent to @samp{updated} except that CVS decided to use a hopefully -more efficient method.@refill +more efficient method. @item committed -You just committed the file.@refill +You just committed the file. @end table @item Need-Update Either a newer version than the one in your source is available in the repository and you have not modified your checked out version, or the file exists in the repository but not in your source. Use -@samp{cvs-mode-update} bound to @kbd{O} to update the file.@refill +@samp{cvs-mode-update} bound to @kbd{O} to update the file. @item Need-Merge You have modified the checked out version of the file, and a newer @@ -610,11 +610,11 @@ @table @kbd @item T -Toggles whether or not marks will be active in the next command.@refill +Toggles whether or not marks will be active in the next command. @item b Provide the next command with a branch (can be any version -specifier) to work on.@refill +specifier) to work on. @item B Secondary branch argument. Only meaningful if @kbd{b} is also used. @@ -640,13 +640,13 @@ @table @kbd @item M-u -Runs the command @samp{cvs-update}.@refill +Runs the command @samp{cvs-update}. @item M-e -Runs the command @samp{cvs-examine}.@refill +Runs the command @samp{cvs-examine}. @item M-s -Runs the command @samp{cvs-status}.@refill +Runs the command @samp{cvs-status}. @end table In addition to the above commands which operate on the whole module, @@ -656,18 +656,18 @@ @table @kbd @item O Runs @code{cvs-mode-update} on the selected files. When run on the -top-level directory, this is equivalent to @kbd{M-u}.@refill +top-level directory, this is equivalent to @kbd{M-u}. @item e Runs @code{cvs-mode-examine} on the selected files. When run on the -top-level directory, this is equivalent to @kbd{M-e}.@refill +top-level directory, this is equivalent to @kbd{M-e}. @findex cvs-status-mode @item s Runs @code{cvs-mode-status} on the selected files. When run on the top-level directory, this is equivalent to @kbd{M-s}, except that CVS output will be shown in a @samp{*cvs-info*} buffer that will be -put in @samp{cvs-status-mode}.@refill +put in @samp{cvs-status-mode}. @end table @@ -689,7 +689,7 @@ @item @key{SPC} @itemx n These keys move the cursor one file forward, towards the end of the -buffer (@code{cvs-mode-next-line}).@refill +buffer (@code{cvs-mode-next-line}). @item p This key moves one file backward, towards the beginning of the buffer @@ -725,12 +725,12 @@ @item m This marks the file that the cursor is positioned on. If the cursor is positioned on a directory all files in that directory are marked -(@code{cvs-mode-mark}).@refill +(@code{cvs-mode-mark}). @item u Unmark the file that the cursor is positioned on. If the cursor is on a directory, all files in that directory are unmarked -(@code{cvs-mode-unmark}).@refill +(@code{cvs-mode-unmark}). @item M Mark @emph{all} files in the buffer (@code{cvs-mode-mark-all-files}). @@ -774,7 +774,7 @@ @item After having selected the files you want to commit, you type either @kbd{c} or @kbd{C} which brings up a special buffer -@samp{*cvs-commit*}.@refill +@samp{*cvs-commit*}. @item You type in the log message describing the changes you're about to @@ -782,7 +782,7 @@ @item When you're happy with it, you type @kbd{C-c C-c} to do the actual -commit.@refill +commit. @end enumerate There's no hidden state, so you can abort the process or pick it up @@ -841,13 +841,13 @@ @item o Like @kbd{f}, but use another window -(@code{cvs-mode-find-file-other-window}).@refill +(@code{cvs-mode-find-file-other-window}). @item A Invoke @samp{add-change-log-entry-other-window} to edit a @file{ChangeLog} file. The @file{ChangeLog} file will be found in the directory of the file the cursor points to, or in a parent of that -directory (@code{cvs-mode-add-change-log-entry-other-window}).@refill +directory (@code{cvs-mode-add-change-log-entry-other-window}). @end table @@ -897,7 +897,7 @@ files (@pxref{Buffer contents}). The status of the file will change to @samp{Added}, and you will have to use @kbd{c} (@samp{cvs-mode-commit} @pxref{Committing changes}), to really add the file to the -repository.@refill +repository. This command can also be used on @samp{Removed} files (before you commit them) to resurrect them. @@ -911,7 +911,7 @@ also be @samp{cvs remove}d. If the files' status was @samp{Unknown} they will disappear from the buffer. Otherwise their status will change to @samp{Removed}, and you must use @kbd{c} (@samp{cvs-mode-commit}, -@pxref{Committing changes}) to commit the removal.@refill +@pxref{Committing changes}) to commit the removal. The command that is run is @code{cvs-mode-remove-file}. @end table @@ -957,7 +957,7 @@ @vindex cvs-mode-remove-handled@r{ (variable)} @kbd{x} invokes @code{cvs-mode-remove-handled}. If @samp{cvs-auto-remove-handled} is set to non-@code{nil}, this will -automatically be performed after every commit.@refill +automatically be performed after every commit. @item C-k This command can be used for lines that @samp{cvs-mode-remove-handled} would @@ -1008,22 +1008,22 @@ @item = @itemx d = Display a @samp{cvs diff} between the selected files and the version -that they are based on (@code{cvs-mode-diff}).@refill +that they are based on (@code{cvs-mode-diff}). @item d b If CVS finds a conflict while merging two versions of a file (during a @samp{cvs update}, @pxref{Updating the buffer}) it will save the original file in a file called @file{.#@var{file}.@var{version}} where @var{file} is the name of the file, and @var{version} is the revision -number that @var{file} was based on.@refill +number that @var{file} was based on. With the @kbd{d b} command you can run a @samp{diff} on the files -@file{.#@var{file}.@var{version}} and @file{@var{file}}.@refill +@file{.#@var{file}.@var{version}} and @file{@var{file}}. @item d h Display a @samp{cvs diff} between the selected files and the head revision (the most recent version on the current -branch) in the repository (@code{cvs-mode-diff-head}).@refill +branch) in the repository (@code{cvs-mode-diff-head}). @item d r Display a @samp{cvs diff} between the base revision of the selected @@ -1035,12 +1035,12 @@ @item d v Display a @samp{cvs diff} between the selected files and the head revision of the vendor branch in the repository -(@code{cvs-mode-diff-vendor}).@refill +(@code{cvs-mode-diff-vendor}). @item d y Display a @samp{cvs diff} between the selected files and yesterday's head revision in the repository -(@code{cvs-mode-diff-yesterday}).@refill +(@code{cvs-mode-diff-yesterday}). @end table By default, @samp{diff} commands ignore the marks. This can be changed @@ -1075,7 +1075,7 @@ CVS has already performed a merge. The resulting file is not used in any way if you use this command. If you use the @kbd{q} command inside @samp{ediff} (to successfully terminate a merge) the file that CVS -created will be overwritten.@refill +created will be overwritten. @end table @node Updating files @@ -1247,24 +1247,24 @@ If you have an idea about any customization that would be handy but isn't present in this list, please tell us! -For info on how to reach us, see @ref{Bugs}.@refill +For info on how to reach us, see @ref{Bugs}. @table @samp @item cvs-auto-remove-handled If this variable is set to any non-@code{nil} value, @samp{cvs-mode-remove-handled} will be called every time you check in files, after the check-in is ready. @xref{Removing handled -entries}.@refill +entries}. @item cvs-auto-remove-directories If this variable is set to any non-@code{nil} value, directories that do not contain any files to be checked in will not be listed in the -@samp{*cvs*} buffer.@refill +@samp{*cvs*} buffer. @item cvs-auto-revert If this variable is set to any non-@samp{nil} value any buffers you have that visit a file that is committed will be automatically reverted. -This variable defaults to @samp{t}. @xref{Committing changes}.@refill +This variable defaults to @samp{t}. @xref{Committing changes}. @item cvs-update-prog-output-skip-regexp The @samp{-u} flag in the @file{modules} file can be used to run a command === modified file 'doc/misc/sc.texi' --- doc/misc/sc.texi 2013-08-08 12:31:38 +0000 +++ doc/misc/sc.texi 2013-10-23 17:20:09 +0000 @@ -146,7 +146,7 @@ be able to yank (and cite) only a portion of the original message. Since Supercite only modifies the text it finds in the reply buffer as set up by the MUA, it is the MUA's responsibility to do partial yanking. -@xref{Reply Buffer Initialization}.@refill +@xref{Reply Buffer Initialization}. @vindex mail-header-separator Another potentially useful thing would be for Supercite to set up the @@ -156,7 +156,7 @@ bodies cannot be modified by Supercite. Supercite, in fact, doesn't know anything about the meaning of these headers, and never ventures outside the designated region. @xref{Hints to MUA Authors}, for more -details.@refill +details. @node What Supercite Does @section What Supercite Does @@ -168,14 +168,14 @@ @code{sc-cite-original} has been added. When @code{sc-cite-original} is executed, the original message must be set up in a very specific way, but this is handled automatically by the MUA@. @xref{Hints to MUA -Authors}.@refill +Authors}. @cindex info alist The first thing Supercite does, via @code{sc-cite-original}, is to parse through the original message's mail headers. It saves this data in an @dfn{information association list}, or @dfn{info alist}. The information in this list is used in a number of places throughout Supercite. -@xref{Information Keys and the Info Alist}.@refill +@xref{Information Keys and the Info Alist}. @cindex nuking mail headers @cindex reference header @@ -207,7 +207,7 @@ filling routines, e.g., @code{fill-paragraph}, do not recognize cited text and will not re-fill them properly because it cannot guess the @code{fill-prefix} being used. -@xref{Post-yank Formatting Commands}, for details.@refill +@xref{Post-yank Formatting Commands}, for details. As mentioned above, Supercite provides commands to recite or uncite regions of text in the reply buffer, and commands to perform other @@ -216,7 +216,7 @@ as possible to allow for a wide range of personalized citation styles, but it is also immediately useful with the default configuration, once it has been properly connected to your MUA@. @xref{Getting Connected}, -for more details.@refill +for more details. @node Citations @chapter Citations @@ -304,7 +304,7 @@ The @dfn{attribution string}. This element is supplied automatically by Supercite, based on your preferences and the original message's mail headers, though you may be asked to confirm Supercite's choice. -@xref{Selecting an Attribution}, for more details.@refill +@xref{Selecting an Attribution}, for more details. @cindex citation delimiter @vindex sc-citation-delimiter @@ -330,7 +330,7 @@ something like @code{@asis{" Jane> "}}. This citation string will be inserted in front of -every line in the original message that is not already cited.@refill +every line in the original message that is not already cited. Nested citations, being simpler than non-nested citations, are composed of the same elements, sans the attribution string. Supercite is smart @@ -379,7 +379,7 @@ @code{sc-citation-nonnested-root-regexp} is used to describe only non-nested citation roots. It is important to remember that if you change @code{sc-citation-root-regexp} you should always also change -@code{sc-citation-nonnested-root-regexp}.@refill +@code{sc-citation-nonnested-root-regexp}. @node Information Keys and the Info Alist @chapter Information Keys and the Info Alist @@ -400,7 +400,7 @@ the trailing colon. Info keys are always case insensitive (as are mail headers), and the value for a corresponding key can be retrieved from the alist with the @code{sc-mail-field} function. Thus, if the -following fields were present in the original article:@refill +following fields were present in the original article: @example Date:@: 08 April 1991, 17:32:09 EST @@ -489,7 +489,7 @@ If the author's name has more than one middle name, they will appear as info keys with the appropriate index (e.g., @code{"sc-middlename-2"}, -@dots{}). @xref{Selecting an Attribution}.@refill +@dots{}). @xref{Selecting an Attribution}. @node Reference Headers @chapter Reference Headers @@ -540,7 +540,7 @@ of the info key from the info alist will be inserted there. (@pxref{Information Keys and the Info Alist}). For example, in @code{sc-header-on-said} below, @var{date} and @var{from} correspond to the values of the -@samp{Date:@:} and @samp{From:@:} mail headers respectively.@refill +@samp{Date:@:} and @samp{From:@:} mail headers respectively. @vindex sc-reference-tag-string @vindex reference-tag-string (sc-) @@ -650,7 +650,7 @@ Displays the next reference header in the electric reference buffer. If the variable @code{sc-electric-circular-p} is non-@code{nil}, invoking @code{sc-eref-next} while viewing the last reference header in the list -will wrap around to the first header.@refill +will wrap around to the first header. @item @code{sc-eref-prev} (@kbd{p}) @findex sc-eref-prev @@ -658,7 +658,7 @@ @kindex p Displays the previous reference header in the electric reference buffer. If the variable @code{sc-electric-circular-p} is non-@code{nil}, -invoking @code{sc-eref-prev} will wrap around to the last header.@refill +invoking @code{sc-eref-prev} will wrap around to the last header. @item @code{sc-eref-goto} (@kbd{g}) @findex sc-eref-goto @@ -667,7 +667,7 @@ Goes to a specified reference header. The index (into the @code{sc-rewrite-header-list}) can be specified as a numeric argument to the command. Otherwise, Supercite will query you for the index in the -minibuffer.@refill +minibuffer. @item @code{sc-eref-jump} (@kbd{j}) @findex sc-eref-jump @@ -681,7 +681,7 @@ @findex eref-setn (sc-) @kindex s Set the preferred reference header (i.e., -@code{sc-preferred-header-style}) to the currently displayed header.@refill +@code{sc-preferred-header-style}) to the currently displayed header. @item @code{sc-eref-exit} (@kbd{C-j}, @key{RET}, and @key{ESC C-c}) @kindex RET @@ -690,7 +690,7 @@ @findex sc-eref-exit @findex eref-exit (sc-) Exit from electric reference mode and insert the current header into the -reply buffer.@refill +reply buffer. @item @code{sc-eref-abort} (@kbd{q}, @kbd{x}) @findex sc-eref-abort @@ -729,7 +729,7 @@ ``use your default citation function.'' When you add Supercite's citation function to the hook, thereby giving the variable a non-@code{nil} value, it tells the MUA to run the hook via -@code{run-hooks} instead of using the default citation.@refill +@code{run-hooks} instead of using the default citation. Early in Supercite's development, the Supercite author, a few MUA authors, and some early Supercite users got together and agreed upon a @@ -767,7 +767,7 @@ region. Note that Supercite @emph{never} touches any text outside this region. Note further that the region need not be active for @code{sc-cite-original} to do its job. -@xref{Hints to MUA Authors}.@refill +@xref{Hints to MUA Authors}. The other step in the getting connected process is to make sure your MUA calls @code{sc-cite-original} at the right time. As mentioned @@ -784,7 +784,7 @@ your Emacs maintainer has put Supercite into your dumped Emacs image. In that case, you can use the @code{sc-pre-hook} variable, but this will get executed every time @code{sc-cite-original} is called. @xref{Reply -Buffer Initialization}.@refill +Buffer Initialization}. @node Replying and Yanking @chapter Replying and Yanking @@ -814,7 +814,7 @@ work. You could conceivably use this hook to set certain Supercite variables based on the reply buffer's mode or name (i.e., to do something different based on whether you are replying or following up to -an article).@refill +an article). @item @emph{Inserts Supercite's keymap.} @@ -942,7 +942,7 @@ Supercite to anticipate every style in existence, and you probably wouldn't encounter them all anyway. But you can configure Supercite to recognize those styles you see often. -@xref{Configuring the Citation Engine}, for details.@refill +@xref{Configuring the Citation Engine}, for details. @item @emph{Runs @code{sc-post-hook}.} @@ -951,7 +951,7 @@ This variable is very similar to @code{sc-pre-hook}, except that it runs after @code{sc-cite-original} is finished. This hook is provided mostly for completeness and backward compatibility. Perhaps it could be used to -reset certain variables set in @code{sc-pre-hook}.@refill +reset certain variables set in @code{sc-pre-hook}. @end enumerate @node Filling Cited Text @@ -987,7 +987,7 @@ Also, Supercite will collapse leading whitespace between the citation string and the text on a line when the variable @code{sc-fixup-whitespace-p} is non-@code{nil}. The default value for -this variable is @code{nil}.@refill +this variable is @code{nil}. @vindex fill-prefix Its important to understand that Supercite's automatic filling (during @@ -1005,7 +1005,7 @@ will use Emacs's undo feature to undo back before the citation was applied to the original message. Then I'll toggle the variables and manually cite those paragraphs that I don't want to fill or collapse -whitespace on. @xref{Variable Toggling Shortcuts}.@refill +whitespace on. @xref{Variable Toggling Shortcuts}. @kindex C-c C-p C-p If you find that Supercite's automatic filling is just too fragile for @@ -1013,7 +1013,7 @@ Also, to make life easier, a shortcut function to toggle the state of both of these variables is provided on the key binding @kbd{C-c C-p C-p} (with the default value of @code{sc-mode-map-prefix}; -@pxref{Post-yank Formatting Commands}).@refill +@pxref{Post-yank Formatting Commands}). You will noticed that the minor mode string will show the state of these variables as qualifier characters. When both @@ -1025,7 +1025,7 @@ display @samp{SC:fw}. Note that the qualifiers chosen are mnemonics for the default bindings of the toggling function for each respective variable. -@xref{Variable Toggling Shortcuts}.@refill +@xref{Variable Toggling Shortcuts}. Why are these variables not set to @code{nil} by default? It is because many users won't manually fill paragraphs that are Supercited, and there @@ -1088,7 +1088,7 @@ @item "sc-lastchoice" the last attribution string you have selected. This is useful when you -recite paragraphs in the reply.@refill +recite paragraphs in the reply. @item "sc-consult" @vindex sc-attrib-selection-list @@ -1099,7 +1099,7 @@ @item "x-attribution" the original author's suggestion for attribution string choice. See below -for details.@refill +for details. @end table Middle name indexes can be any positive integer greater than zero, @@ -1184,7 +1184,7 @@ @code{sc-default-author-name} and @code{sc-default-attribution} are used, otherwise, the following steps are taken to find a valid attribution string, and the first step to return a non-@code{nil}, -non-empty string becomes the attribution:@refill +non-empty string becomes the attribution: @enumerate @item @@ -1244,7 +1244,7 @@ citation strings used by Supercite. One possible use of this would be to override any automatically derived attribution string when it is only one character long; e.g., you prefer to use @code{"initials"} but the -author only has one name.@refill +author only has one name. @node Author Names @section Author Names @@ -1376,7 +1376,7 @@ @code{looking-at}. This match folds case if the optional @var{case-fold-search} is non-@code{nil}. If @var{pred} is not a string, or does not @code{eval}uate to a string, it is interpreted as a -binary value (@code{nil} or non-@code{nil}).@refill +binary value (@code{nil} or non-@code{nil}). The four special symbol values for @var{pred} are recognized: @@ -1405,7 +1405,7 @@ should be careful to do explicitly), Regi will reset the frame to the first entry, and advance @samp{point} to the beginning of the next line. If a list is returned from your function, it can contain any combination -of the following elements:@refill +of the following elements: @table @asis @item the symbol @code{continue} @@ -1422,16 +1422,16 @@ This tells Regi to substitute @var{newframe} as the frame it is interpreting. In other words, your @var{func} can modify the Regi frame on the fly. @var{newframe} can be a variable containing a frame, or it -can be the frame in-lined.@refill +can be the frame in-lined. @item the list @code{(step . @var{step})} Tells Regi to move @var{step} number of lines forward as it continues processing. By default, Regi moves forward one line. @var{step} can be -zero or negative of course, but watch out for infinite loops.@refill +zero or negative of course, but watch out for infinite loops. @end table During execution of your @var{func}, the following variables will be -temporarily bound to some useful information:@refill +temporarily bound to some useful information: @table @code @item curline @@ -1471,7 +1471,7 @@ In a similar vein, there are default frames for @dfn{unciting} and @dfn{reciting}, contained in the variables @code{sc-default-uncite-frame} and @code{sc-default-recite-frame} -respectively.@refill +respectively. As mentioned earlier (@pxref{Recognizing Citations}), citations are recognized through the values of the regular expressions @@ -1500,7 +1500,7 @@ @var{regexp} is a regular expression which is @code{string-match}'d against the value of the @code{sc-mail-field} key, and @var{frame} is the frame to use if a match occurred. @var{frame} can be a variable -containing a frame or a frame in-lined.@refill +containing a frame or a frame in-lined. When Supercite is about to cite, uncite, or recite a region, it consults the appropriate alist and attempts to find a frame to use. If one @@ -1524,7 +1524,7 @@ @code{sc-mode-map-prefix} is @kbd{C-c C-p}; granted, not a great choice, but unfortunately the best general solution so far. In the rest of this chapter, we'll assume you've installed Supercite's keymap on the default -prefix.@refill +prefix. @menu * Citing Commands:: @@ -1546,7 +1546,7 @@ perform these functions on the region of text between @samp{point} and @samp{mark}. Each of them sets the @dfn{undo boundary} before modifying the region so that the command can be undone in the standard Emacs -way.@refill +way. Here is the list of Supercite citing commands: @@ -1567,7 +1567,7 @@ universal argument (@kbd{C-u}), it temporarily sets @code{sc-confirm-always-p} to @code{t} so you can confirm the attribution string for a single manual citing. -@xref{Configuring the Citation Engine}.@refill +@xref{Configuring the Citation Engine}. @findex sc-uncite-region @findex uncite-region (sc-) @@ -1578,7 +1578,7 @@ @code{sc-uncite-frame-alist}, or the default unciting frame @code{sc-default-uncite-frame}. It runs the hook @code{sc-pre-uncite-hook} before interpreting the frame. -@xref{Configuring the Citation Engine}.@refill +@xref{Configuring the Citation Engine}. @findex sc-recite-region @findex recite-region (sc-) @@ -1588,7 +1588,7 @@ frame from @code{sc-recite-frame-alist}, or the default reciting frame @code{sc-default-recite-frame}. It runs the hook @code{sc-pre-recite-hook} before interpreting the frame. -@xref{Configuring the Citation Engine}.@refill +@xref{Configuring the Citation Engine}. @vindex sc-confirm-always-p @vindex confirm-always-p (sc-) @@ -1612,7 +1612,7 @@ no arguments, the header indexed by @code{sc-preferred-header-style} is inserted. An optional numeric argument is the index into @code{sc-rewrite-header-list} indicating which reference header to -write.@refill +write. With just the universal argument (@kbd{C-u}), electric reference mode is entered, regardless of the value of @code{sc-electric-references-p}. @@ -1640,7 +1640,7 @@ Like Supercite commands in general, the toggling commands are placed on a keymap prefix within the greater Supercite keymap. For the default value of @code{sc-mode-map-prefix}, this will be -@kbd{C-c C-p C-t}.@refill +@kbd{C-c C-p C-t}. The following commands toggle the value of certain Supercite variables which take only a binary value: @@ -1700,7 +1700,7 @@ @code{sc-auto-fill-region-p} and @code{sc-fixup-whitespace-p} together. This is because you typically want to run Supercite with either variable as @code{nil} or non-@code{nil}. The command to toggle these variables -together is bound on @kbd{C-c C-p C-p}.@refill +together is bound on @kbd{C-c C-p C-p}. Finally, the command @kbd{C-c C-p C-t h} (also @kbd{C-c C-p C-t ?}) brings up a Help message on the toggling keymap. @@ -1711,7 +1711,7 @@ These commands allow you to view, modify, add, and delete various bits of information from the info alist. -@xref{Information Keys and the Info Alist}.@refill +@xref{Information Keys and the Info Alist}. @table @asis @kindex C-c C-p f @@ -1753,7 +1753,7 @@ Supercite will initially set up its information for the digest originator, but you want to cite each component article with the real message author. Note that unless an error during processing occurs, any -old information is lost.@refill +old information is lost. @end table @node Miscellaneous Commands @@ -1767,7 +1767,7 @@ @item @code{sc-open-line} (@kbd{C-c C-p o}) Similar to Emacs's standard @code{open-line} commands, but inserts the citation string in front of the new line. As with @code{open-line}, -an optional numeric argument inserts that many new lines.@refill +an optional numeric argument inserts that many new lines. @end table @node Hints to MUA Authors @@ -1810,7 +1810,7 @@ @code{mail-yank-hooks}, the hook variable that the MUA should provide is @code{mail-citation-hook}. Richard Stallman suggests that the MUAs should @code{defvar} @code{mail-citation-hook} to @code{nil} and perform -some default citing when that is the case.@refill +some default citing when that is the case. If you are writing a new MUA package, or maintaining an existing MUA package, you should make it conform to this interface so that your users @@ -1826,7 +1826,7 @@ you should place all the original headers into the body of the reply. This means that many of the mail headers will be duplicated, one copy above the @code{mail-header-separator} line and one copy below, however -there will probably be more headers below this line.@refill +there will probably be more headers below this line. @item Set @samp{point} to the beginning of the line containing the first mail @@ -1835,7 +1835,7 @@ text Supercite is to modify and that the mail headers are within this region. Supercite will not venture outside the region for any reason, and anything within the region is fair game, so don't put anything that -@strong{must} remain unchanged inside the region.@refill +@strong{must} remain unchanged inside the region. @item Run the hook @code{mail-citation-hook}. You will probably want to @@ -1846,7 +1846,7 @@ @code{mail-citation-hook} to be @code{nil}, it should perform some default citing behavior. User who want to connect to Supercite then need only add @code{sc-cite-original} to this list of hooks using -@code{add-hook}.@refill +@code{add-hook}. @end enumerate If you do all this your MUA will join the ranks of those that conform to === modified file 'doc/misc/srecode.texi' --- doc/misc/srecode.texi 2013-01-02 16:13:04 +0000 +++ doc/misc/srecode.texi 2013-10-23 17:20:09 +0000 @@ -247,7 +247,6 @@ Some arguments are major-mode specific, such as the @code{:el} or @code{:cpp} arguments. -@refill @section Template Insertion Context A context can be provided for templates in a file. This helps @@ -257,7 +256,6 @@ A context can be automatically derived as well based on the parsing state from @i{Semantic}. @inforef{Top, Semantic Manual, semantic}. -@refill @section Applications Commands that do a particular user task which involves also writing @@ -781,7 +779,6 @@ (if that section is not 'visible') or the section is shown one time for each dictionary added to that symbol. @xref{Developing Template Functions}. -@refill Macros prefixed with ``>'' will include another template. Include macros would look like this: === modified file 'doc/misc/vip.texi' --- doc/misc/vip.texi 2013-02-13 04:31:09 +0000 +++ doc/misc/vip.texi 2013-10-23 17:20:09 +0000 @@ -56,7 +56,7 @@ Comments and bug reports are welcome. Please send messages to @code{ms@@Sail.Stanford.Edu} if you are outside of Japan and to -@code{masahiko@@sato.riec.tohoku.junet} if you are in Japan.@refill +@code{masahiko@@sato.riec.tohoku.junet} if you are in Japan. @insertcopying @@ -128,14 +128,13 @@ @key{PNT} and @key{MRK} are used to indicate positions in a buffer and they are not part of the text of the buffer. If a buffer contains a @key{MRK} then the text between @key{MRK} -and @key{PNT} is called the @dfn{region} of the buffer.@refill +and @key{PNT} is called the @dfn{region} of the buffer. @cindex window Emacs provides (multiple) @dfn{windows} on the screen, and you can see the content of a buffer through the window associated with the buffer. The cursor of the screen is always positioned on the character after @key{PNT}. -@refill @cindex mode @cindex keymap @@ -149,7 +148,7 @@ a function is bound to some key in the local keymap then that function will be executed when you type the key. If no function is bound to a key in the local map, however, the function bound to the key in the global map becomes -in effect.@refill +in effect. @node Loading VIP @section Loading VIP @@ -187,7 +186,7 @@ to the function @code{vip-change-mode-to-vi}. The default binding of @kbd{C-z} in GNU Emacs is @code{suspend-emacs}, but, you can also call @code{suspend-emacs} by typing @kbd{C-x C-z}. Other than this, all the -key bindings of Emacs remain the same after loading VIP.@refill +key bindings of Emacs remain the same after loading VIP. @cindex vi mode @@ -198,12 +197,12 @@ invoked by @kbd{M-x}. Here @kbd{M-x} means @kbd{Meta-x}, and if your terminal does not have a @key{META} key you can enter it by typing @kbd{@key{ESC} x}. The same effect can also be achieve by typing -@kbd{M-x vip-mode}.)@refill +@kbd{M-x vip-mode}.) @cindex mode line You can observe the change of mode by looking at the @dfn{mode line}. For -instance, if the mode line is:@refill +instance, if the mode line is: @example -----Emacs: *scratch* (Lisp Interaction)----All------------ @end example @@ -219,7 +218,7 @@ @cindex emacs mode You can go back to the original @dfn{emacs mode} by typing @kbd{C-z} in -vi mode. Thus @kbd{C-z} toggles between these two modes.@refill +vi mode. Thus @kbd{C-z} toggles between these two modes. Note that modes in VIP exist orthogonally to modes in Emacs. This means that you can be in vi mode and at the same time, say, shell mode. @@ -265,7 +264,7 @@ You will be in this mode just after you loaded VIP@. You can do all normal Emacs editing in this mode. Note that the key @kbd{C-z} is globally bound to @code{vip-change-mode-to-vi}. So, if you type @kbd{C-z} in this mode -then you will be in vi mode.@refill +then you will be in vi mode. @node Vi Mode @subsection Vi Mode @@ -332,7 +331,7 @@ You can repeat undoing by the @kbd{.} key. So, @kbd{u} will undo a single change, while @kbd{u .@: .@: .@:}, for instance, will undo 4 previous changes. Undo is undoable as in Vi. So the content of the buffer will -be the same before and after @kbd{u u}.@refill +be the same before and after @kbd{u u}. @node Changing @subsection Changing @@ -345,7 +344,7 @@ @key{ESC} to complete the command. Before you enter @key{RET} or @key{ESC} you can abort the command by typing @kbd{C-g}. In general, @kindex 007 @kbd{C-g} (@code{vip-keyboard-quit}) -you can abort a partially formed command by typing @kbd{C-g}.@refill +you can abort a partially formed command by typing @kbd{C-g}. @node Searching @subsection Searching @@ -361,7 +360,7 @@ search and regular expression search. You cannot give an offset to the search string. (It is a limitation.) By default, search will wrap around the buffer as in Vi. You can change this by rebinding the variable -@code{vip-search-wrap-around}. @xref{Customization}, for how to do this.@refill +@code{vip-search-wrap-around}. @xref{Customization}, for how to do this. @node z Command @subsection z Command @@ -376,7 +375,7 @@ For those of you who cannot remember which of @kbd{z} followed by @key{RET}, @kbd{.}@: and @kbd{-} do what. You can also use @kbd{z} followed by @kbd{H}, @kbd{M} and @kbd{L} to place the current line in the Home (Middle, and -Last) line of the window.@refill +Last) line of the window. @node Counts @subsection Counts @@ -436,7 +435,7 @@ Thus @kbd{d r} will delete the current region. If @kbd{R} is used instead of @kbd{r} the region will first be enlarged so that it will become the smallest region containing the original region and consisting of whole -lines. Thus @kbd{m .@: d R} will have the same effect as @kbd{d d}.@refill +lines. Thus @kbd{m .@: d R} will have the same effect as @kbd{d d}. @node New Commands @subsection Some New Commands @@ -478,7 +477,7 @@ will be in vi mode again. You can give a count before typing @kbd{\}. Thus @kbd{5 \ *}, as well as @kbd{\ C-u 5 *}, will insert @samp{*****} before point. Similarly @kbd{1 0 \ C-p} will move the point 10 lines above -the current line.@refill +the current line. @item K @kindex 113 @kbd{K} (@code{vip-kill-buffer}) Kill current buffer if it is not modified. Useful when you selected a @@ -504,7 +503,7 @@ If followed by a certain character @var{ch}, it becomes an operator whose argument is the region determined by the motion command that follows. Currently, @var{ch} can be one of @kbd{c}, @kbd{C}, @kbd{g}, @kbd{q} and -@kbd{s}.@refill +@kbd{s}. @item # c @kindex 0432 @kbd{# c} (@code{downcase-region}) Change upper-case characters in the region to lower case @@ -517,7 +516,7 @@ @item # g @kindex 0432 @kbd{# g} (@code{vip-global-execute}) Execute last keyboard macro for each line in the region -(@code{vip-global-execute}).@refill +(@code{vip-global-execute}). @item # q @kindex 0432 @kbd{# q} (@code{vip-quote-region}) Insert specified string at the beginning of each line in the region @@ -577,7 +576,7 @@ the idea here is that you can execute useful Emacs commands without typing control characters. For example, if you hit @kbd{X} (or @kbd{C-x}) followed by @kbd{2}, then the current window will be split into 2 and you will be in -vi mode again.@refill +vi mode again. @end table In addition to these, @code{ctl-x-map} is slightly modified: @@ -723,7 +722,7 @@ a prefix to the commands. A numeric argument is also called a @dfn{count}. In many cases, if a count is given, the command is executed that many times. For instance, @kbd{5 d d} deletes 5 lines while simple @kbd{d d} deletes a -line. In this manual the metavariable @var{n} will denote a count.@refill +line. In this manual the metavariable @var{n} will denote a count. @node Important Keys @section Important Keys @@ -742,7 +741,7 @@ In Emacs many commands are bound to the key strokes that start with @kbd{C-x}, @kbd{C-c} and @key{ESC}. These commands can be -accessed from vi mode as easily as from emacs mode.@refill +accessed from vi mode as easily as from emacs mode. @table @kbd @item C-x @@ -772,7 +771,7 @@ and you can execute a single Emacs command. After executing the Emacs command you will be in vi mode again. You can give a count before typing @kbd{\}. Thus @kbd{5 \ +}, as well as @kbd{\ C-u 5 +}, will insert -@samp{+++++} before point.@refill +@samp{+++++} before point. @end table @node Buffers and Windows @@ -784,7 +783,7 @@ In Emacs the text you edit is stored in a @dfn{buffer}. See GNU Emacs Manual, for details. There is always one @dfn{current} -buffer, also called the @dfn{selected buffer}.@refill +buffer, also called the @dfn{selected buffer}. @cindex window @cindex modified (buffer) @@ -883,7 +882,7 @@ @dfn{default directory} which is specific to each buffer. Suppose, for instance, that the default directory of the current buffer is @file{/usr/masahiko/lisp/}. Then you will get the following prompt in the -minibuffer.@refill +minibuffer. @example visit file: /usr/masahiko/lisp/ @end example @@ -911,7 +910,7 @@ You can verify which file you are editing by typing @kbd{g}. (You can also type @kbd{X B} to get information on other buffers too.) If you type -@kbd{g} you will get an information like below in the echo area:@refill +@kbd{g} you will get an information like below in the echo area: @example "/usr/masahiko/man/vip.texinfo" line 921 of 1949 @end example @@ -921,7 +920,7 @@ associated with the buffer (@file{/usr/masahiko/man/vip.texinfo}, in this case), you can just say @kbd{X S}. If you wish to save it in another file, you can type @kbd{X W}. You will then get a similar prompt as you get for -@kbd{v}, to which you can enter the file name.@refill +@kbd{v}, to which you can enter the file name. @node Viewing the Buffer @section Viewing the Buffer @@ -1453,7 +1452,7 @@ wish to change it to @samp{bar}, you can type @kbd{c w}. Then, as @kbd{w} is a point command, you will get the prompt @samp{foo =>} in the minibuffer, for which you can type @kbd{b a r @key{RET}} to complete the change -command.@refill +command. @table @kbd @item c c === modified file 'doc/misc/viper.texi' --- doc/misc/viper.texi 2013-02-13 04:31:09 +0000 +++ doc/misc/viper.texi 2013-10-23 17:20:09 +0000 @@ -88,7 +88,7 @@ Comments and bug reports are welcome. @code{kifer@@cs.stonybrook.edu} is the current address for Viper bug reports. -Please use the Ex command @kbd{:submitReport} for this purpose.@refill +Please use the Ex command @kbd{:submitReport} for this purpose. @insertcopying @end ifnottex @@ -147,7 +147,7 @@ Comments and bug reports are welcome. @code{kifer@@cs.stonybrook.edu} is the current address for Viper bug reports. -Please use the Ex command @kbd{:submitReport} for this purpose.@refill +Please use the Ex command @kbd{:submitReport} for this purpose. @end iftex @@ -197,21 +197,21 @@ @dfn{buffer} that usually has the same name as the file. Buffers are also used for other purposes, such as shell interfaces, directory editing, etc. @xref{Dired,,Directory Editor,emacs,The -GNU Emacs Manual}, for an example.@refill +GNU Emacs Manual}, for an example. A buffer has a distinguished position called the @dfn{point}. A @dfn{point} is always between 2 characters, and is @dfn{looking at} the right hand character. The cursor is positioned on the right hand character. Thus, when the @dfn{point} is looking at the end-of-line, the cursor is on the end-of-line character, i.e., beyond the last -character on the line. This is the default Emacs behavior.@refill +character on the line. This is the default Emacs behavior. The default settings of Viper try to mimic the behavior of Vi, preventing the cursor from going beyond the last character on the line. By using Emacs commands directly (such as those bound to arrow keys), it is possible to get the cursor beyond the end-of-line. However, this won't (or shouldn't) happen if you restrict yourself to standard Vi keys, unless you -modify the default editing style. @xref{Customization}.@refill +modify the default editing style. @xref{Customization}. In addition to the @dfn{point}, there is another distinguished buffer position called the @dfn{mark}. @xref{Mark,,Mark,emacs,The GNU Emacs @@ -232,7 +232,7 @@ 135. There is no need to type the line numbers, since Viper inserts them automatically in front of the Ex command. -@xref{Basics}, for more info.@refill +@xref{Basics}, for more info. @cindex window @cindex mode line @@ -255,7 +255,7 @@ A special buffer called @dfn{Minibuffer} is displayed as the last line in a minibuffer window. The minibuffer window is used for command input output. Viper uses minibuffer window for @kbd{/} and @kbd{:} -commands.@refill +commands. @cindex mode @cindex keymap @@ -275,7 +275,7 @@ If no function is bound to a key in the local map, however, the function bound to the key in the global map will be executed. @xref{Major Modes,Major Modes,Major Modes,emacs,The -GNU Emacs Manual}, for more information.@refill +GNU Emacs Manual}, for more information. A buffer can also have a @dfn{minor mode}. Minor modes are options that you can use or not. A buffer in @code{text-mode} can have @@ -283,7 +283,7 @@ any time. In Emacs, a minor mode may have it own keymap, which overrides the local keymap when the minor mode is turned on. For more information, @pxref{Minor Modes,Minor Modes,Minor Modes,emacs,The -GNU Emacs Manual} @refill +GNU Emacs Manual}. @cindex Viper as minor mode @cindex Control keys @@ -293,7 +293,7 @@ are involved when Viper emulates Vi command mode, Vi insert mode, etc. You can also turn Viper on and off at any time while in Vi command mode. @xref{States in Viper}, for -more information.@refill +more information. Emacs uses Control and Meta modifiers. These are denoted as C and M, e.g., @kbd{^Z} as @kbd{C-z} and @kbd{Meta-x} as @kbd{M-x}. The Meta key is @@ -303,7 +303,7 @@ @key{ESC} is used as Meta. Thus @kbd{M-x} is typed as @kbd{@key{ESC} x}. Viper uses @key{ESC} to switch from Insert state to Vi state. Therefore Viper defines @kbd{C-\} as its Meta key in Vi state. @xref{Vi State}, for -more info.@refill +more info. Emacs is structured as a Lisp interpreter around a C core. Emacs keys cause Lisp functions to be called. It is possible to call these @@ -357,7 +357,7 @@ editing files by using @kbd{:e}, @kbd{:vi}, or @kbd{v} commands. (@xref{File and Buffer Handling}, for more information on @kbd{v} and other new commands that, in many cases, are more convenient than @kbd{:e}, -@kbd{:vi}, and similar old-style Vi commands.)@refill +@kbd{:vi}, and similar old-style Vi commands.) Finally, if at some point you would want to de-Viperize your running copy of Emacs after Viper has been loaded, the command @kbd{M-x @@ -386,7 +386,7 @@ Viper, @kbd{C-z} will normally take you to Vi command state. Another @kbd{C-z} will take you back to Emacs state. This toggle key can be changed, @pxref{Customization} You can also type @kbd{M-x viper-mode} to -change to Vi state.@refill +change to Vi state. For users who chose to set their user level to 1 at Viper setup time, @@ -424,7 +424,7 @@ it will automatically change to Insert state. You do not have to worry about it. The key bindings remain practically the same as in Insert state. If you type @key{ESC}, Viper will switch to Vi command mode, terminating the -replacement state.@refill +replacement state. @end table @cindex mode line @@ -488,7 +488,7 @@ major modes, each with a different set of key-bindings. Viper states are orthogonal to these Emacs major modes. The presence of these language sensitive and other modes is a major win over Vi. @xref{Improvements over -Vi}, for more.@refill +Vi}, for more. The bindings for these modes can be made available in the Viper Insert state as well as in Emacs state. Unless you specify your user level as 1 (a @@ -541,7 +541,6 @@ Edit,Recursive Edit,emacs,The GNU Emacs Manual}. At user level 1, @kbd{C-g} is bound to @code{viper-info-on-file} function instead. -@refill @item C-\ @kindex @kbd{C-\} @cindex Meta key @@ -652,7 +651,6 @@ command will appear in the history list. This is because having @kbd{:r} alone as a default is meaningless, since this command requires a file argument. -@refill @end table @noindent As in Vi, Viper's destructive commands can be re-executed by typing `@kbd{.}'. @@ -673,7 +671,7 @@ It is strongly recommended that as soon as you are comfortable, make the Emacs state bindings visible (by changing your user level to 3 or higher). @xref{Customization}, -to see how to do this.@refill +to see how to do this. Once this is done, it is possible to do quite a bit of editing in Insert state. For instance, Emacs has a @dfn{yank} command, @kbd{C-y}, @@ -823,13 +821,13 @@ file @file{foo}, start editing file @file{bar} and type @kbd{'a}, then @emph{YOU WILL SWITCH TO FILE @file{foo}}. You can see the contents of a textmarker using the Viper command @kbd{[} where are the -textmarkers, e.g., @kbd{[a} to view marker @samp{a} .@refill +textmarkers, e.g., @kbd{[a} to view marker @samp{a} . @item Repeated Commands Command repetitions are common over files. Typing @kbd{!!} will repeat the last @kbd{!} command whichever file it was issued from. Typing @kbd{.} will repeat the last command from any file, and searches will repeat the last search. Ex commands can be repeated by typing -@kbd{: @key{RET}}.@refill +@kbd{: @key{RET}}. Note: in some rare cases, that @kbd{: @key{RET}} may do something dangerous. However, usually its effect can be undone by typing @kbd{u}. @item Registers @@ -897,7 +895,7 @@ it is not implemented. A useful alternative is @code{cat -t -e file}. Unfortunately, it cannot be used directly inside Emacs, since Emacs will obdurately change @samp{^I} -back to normal tabs.@refill +back to normal tabs. @end itemize @node Improvements over Vi @@ -928,7 +926,7 @@ with other commands. The motion command is used as a text region specifier for other commands. We classify motion commands into @dfn{point commands} and -@dfn{line commands}.@refill +@dfn{line commands}. @cindex point commands @@ -1010,7 +1008,7 @@ Since the undo size is limited, Viper can create backup files and auto-save files. It will normally do this automatically. It is possible to have numbered backups, etc. For details, @pxref{Backup,,Backup and -Auto-Save,emacs,The GNU Emacs Manual} @refill +Auto-Save,emacs,The GNU Emacs Manual}. @comment [ balance parens @cindex viewing registers and markers @@ -1083,7 +1081,7 @@ you can execute this macro using @kbd{@@register}. It is, of course, possible to yank some text into a register and execute it using @kbd{@@register}. Typing @kbd{@@@@}, @kbd{@@RET}, or @kbd{@@C-j} will -execute the last macro that was executed using @kbd{@@register}.@refill +execute the last macro that was executed using @kbd{@@register}. Viper will automatically lowercase the register, so that pressing the @kbd{SHIFT} key for @kbd{@@} will not create problems. This is for @@ -1105,7 +1103,7 @@ This is useful for Emacs style keyboard macros defined using @kbd{C-x(} and @kbd{C-x)}. Emacs keyboard macros have more capabilities. @xref{Keyboard Macros,,Keyboard Macros,emacs, The GNU Emacs Manual}, for -details.@refill +details. Keyboard Macros allow an interesting form of Query-Replace: @kbd{/pattern} or @kbd{n} to go to the next pattern (the query), followed by a @@ -1161,7 +1159,7 @@ @kbd{C-r}. @xref{Customization}, to find out how to change the bindings of @kbd{C-r or C-s}. For details, @pxref{Incremental Search,,Incremental -Search,emacs,The GNU Emacs Manual} @refill +Search,emacs,The GNU Emacs Manual}. @cindex query replace @@ -1308,7 +1306,7 @@ command from the current major mode. @key{ESC} will do the same, if you configure @key{ESC} as Meta by setting @code{viper-no-multiple-ESC} to @code{nil} in @file{.viper}. @xref{Customization}. @kbd{C-\} in Insert, Replace, or Vi -states will make Emacs think @kbd{Meta} has been hit.@refill +states will make Emacs think @kbd{Meta} has been hit. @item \ @kindex @kbd{\} Escape to Emacs to execute a single Emacs command. For instance, @@ -1339,7 +1337,7 @@ (indicated as ). Currently, @var{ch} can be one of @kbd{c}, @kbd{C}, @kbd{g}, @kbd{q}, and @kbd{s}. For instance, @kbd{#qr} will prompt you for a string and then -prepend this string to each line in the buffer.@refill +prepend this string to each line in the buffer. @item # c @kindex @kbd{#c} @cindex changing case @@ -1355,7 +1353,7 @@ @item # g @kindex @kbd{#g} Execute last keyboard macro for each line in the region -(@code{viper-global-execute}).@refill +(@code{viper-global-execute}). @item # q @kindex @kbd{#q} Insert specified string at the beginning of each line in the region @@ -1401,7 +1399,7 @@ @item g <@emph{movement command}> Search buffer for text delimited by movement command. The canonical example is @kbd{gw} to search for the word under the cursor. -@xref{Improved Search}, for details.@refill +@xref{Improved Search}, for details. @item C-g and C-] @kindex @kbd{C-g} @kindex @kbd{C-]} @@ -1560,7 +1558,7 @@ @noindent Emacs Lisp archives exist on @samp{archive.cis.ohio-state.edu} -and @samp{wuarchive.wustl.edu}@refill +and @samp{wuarchive.wustl.edu} @node Customization @@ -1583,7 +1581,7 @@ 'viper)} line. This method is @emph{not} recommended, unless you know what you are doing. Only two variables, @code{viper-mode} and @code{viper-custom-file-name}, are supposed to be customized in @file{.emacs}, -prior to loading Viper (i.e., prior to @code{(require 'viper)} command.@refill +prior to loading Viper (i.e., prior to @code{(require 'viper)} command. @item @cindex :customize By executing the @kbd{:customize} Ex command. This takes you to the Emacs @@ -2780,7 +2778,7 @@ even prompt the user for input and then continue. To do this, one should type @kbd{C-x q} (for confirmation) or @kbd{C-u C-x q} (for prompt). For details, @pxref{Keyboard Macro Query,,Customization,emacs,The GNU Emacs -Manual} @refill +Manual}. When the user finishes defining a macro (which is done by typing @kbd{C-x)}, a departure from Vi), you will be asked whether you want this @@ -2994,7 +2992,7 @@ This section is a semi-automatically bowdlerized version of the Vi reference created by @* @samp{maart@@cs.vu.nl} and others. It can be -found on the Vi archives. This reference has been adapted for Viper.@refill +found on the Vi archives. This reference has been adapted for Viper. @menu * Groundwork:: Textual Conventions and Viper basics @@ -3015,7 +3013,7 @@ with other commands. The motion command is used as a text region specifier for other commands. We classify motion commands into @dfn{point commands} and -@dfn{line commands}.@refill +@dfn{line commands}. @cindex point commands @@ -4187,7 +4185,7 @@ @cindex @samp{#} (Previous file) Similarly, @samp{#} expands to the previous file. The previous file is the first file in @kbd{:args} listing. This defaults to the previous file in -the VI sense if you have one window.@refill +the VI sense if you have one window. Symbols @samp{%} and @samp{#} are also used in the Ex commands @kbd{:e} and @kbd{:r }. The commands @kbd{:w} and the regular @kbd{:r @@ -4425,7 +4423,7 @@ This command can take a prefix argument. Note: Viper sets this binding only if this mouse action is not already bound to something else. -@xref{Viper Specials}, for more information.@refill +@xref{Viper Specials}, for more information. @item S-Mouse-2 Holding Shift and clicking button 2 of the mouse will @@ -4433,7 +4431,7 @@ This command can also take a prefix argument. Note: Viper sets this binding only if this mouse action is not already bound to something else. -@xref{Viper Specials}, for more details.@refill +@xref{Viper Specials}, for more details. @end table @kindex @kbd{S-Mouse-1} @kindex @kbd{S-Mouse-2} === modified file 'doc/misc/widget.texi' --- doc/misc/widget.texi 2013-02-22 17:13:05 +0000 +++ doc/misc/widget.texi 2013-10-23 17:20:09 +0000 @@ -431,7 +431,6 @@ This should be called after creating all the widgets and before allowing the user to edit them. -@refill @end defun If you want to insert text outside the widgets in the form, the @@ -450,7 +449,7 @@ @key{TAB} and @kbd{C-@key{TAB}} are bound to @code{widget-forward} and @code{widget-backward}, respectively. @key{RET} and @kbd{Mouse-2} are bound to @code{widget-button-press} and -@code{widget-button-click}.@refill +@code{widget-button-click}. @end defvr @defvar widget-global-map @@ -1718,7 +1717,7 @@ @defun widget-prompt-value widget prompt [ value unbound ] Prompt for a value matching @var{widget}, using @var{prompt}. The current value is assumed to be @var{value}, unless @var{unbound} is -non-@code{nil}.@refill +non-@code{nil}. @end defun @defun widget-get-sibling widget ------------------------------------------------------------ revno: 114758 committer: Stefan Monnier branch nick: trunk timestamp: Wed 2013-10-23 13:18:11 -0400 message: * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Don't return 0 for :before ";". diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-23 16:25:56 +0000 +++ lisp/ChangeLog 2013-10-23 17:18:11 +0000 @@ -1,3 +1,8 @@ +2013-10-23 Stefan Monnier + + * progmodes/ruby-mode.el (ruby-smie-rules): Don't return 0 for + :before ";". + 2013-10-23 Jed Brown (tiny change) * progmodes/compile.el (compilation-directory-matcher) @@ -20,8 +25,8 @@ 2013-10-23 Dmitry Gutov - * progmodes/ruby-mode.el (ruby-smie--at-dot-call): Use - `following-char'. + * progmodes/ruby-mode.el (ruby-smie--at-dot-call): + Use `following-char'. 2013-10-22 Stefan Monnier === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2013-10-23 02:59:45 +0000 +++ lisp/progmodes/ruby-mode.el 2013-10-23 17:18:11 +0000 @@ -453,7 +453,7 @@ (smie-rule-parent ruby-indent-level)) ;; For (invalid) code between switch and case. ;; (if (smie-parent-p "switch") 4) - (t 0))) + )) (`(:before . ,(or `"(" `"[" `"{")) (cond ((and (equal token "{") ------------------------------------------------------------ revno: 114757 fixes bug: http://debbugs.gnu.org/15678 author: Jed Brown committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 09:25:56 -0700 message: compile: Support GNU Make-4.0 directory quoting (tiny change) * lisp/progmodes/compile.el (compilation-directory-matcher) (compilation-page-delimiter): Support GNU Make-4.0 directory quoting. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-23 12:15:31 +0000 +++ lisp/ChangeLog 2013-10-23 16:25:56 +0000 @@ -1,3 +1,9 @@ +2013-10-23 Jed Brown (tiny change) + + * progmodes/compile.el (compilation-directory-matcher) + (compilation-page-delimiter): + Support GNU Make-4.0 directory quoting. (Bug#15678) + 2013-10-23 Leo Liu * ido.el (ido-tidy): Handle read-only text. === modified file 'lisp/progmodes/compile.el' --- lisp/progmodes/compile.el 2013-10-07 05:15:48 +0000 +++ lisp/progmodes/compile.el 2013-10-23 16:25:56 +0000 @@ -513,7 +513,7 @@ "Directory to restore to when doing `recompile'.") (defvar compilation-directory-matcher - '("\\(?:Entering\\|Leavin\\(g\\)\\) directory `\\(.+\\)'$" (2 . 1)) + '("\\(?:Entering\\|Leavin\\(g\\)\\) directory [`']\\(.+\\)'$" (2 . 1)) "A list for tracking when directories are entered or left. If nil, do not track directories, e.g. if all file names are absolute. The first element is the REGEXP matching these messages. It can match any number @@ -526,7 +526,7 @@ you may also want to change `compilation-page-delimiter'.") (defvar compilation-page-delimiter - "^\\(?:\f\\|.*\\(?:Entering\\|Leaving\\) directory `.+'\n\\)+" + "^\\(?:\f\\|.*\\(?:Entering\\|Leaving\\) directory [`'].+'\n\\)+" "Value of `page-delimiter' in Compilation mode.") (defvar compilation-mode-font-lock-keywords ------------------------------------------------------------ revno: 114756 committer: Dmitry Antipov branch nick: trunk timestamp: Wed 2013-10-23 20:11:30 +0400 message: Fix ChangeLog entry. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-10-23 16:07:30 +0000 +++ src/ChangeLog 2013-10-23 16:11:30 +0000 @@ -1,8 +1,8 @@ 2013-10-23 Dmitry Antipov - Tweak last font-related changes to fix bug#15686. + Adjust recent font-related changes to fix bug#15686. * alloc.c (mark_object) [HAVE_WINDOW_SYSTEM]: If marked frame - is a live window system frame, mark it's default font too. + is a live window system frame, mark its default font too. 2013-10-23 Glenn Morris ------------------------------------------------------------ revno: 114755 committer: Dmitry Antipov branch nick: trunk timestamp: Wed 2013-10-23 20:07:30 +0400 message: Tweak last font-related changes to fix bug#15686. * alloc.c (mark_object) [HAVE_WINDOW_SYSTEM]: If marked frame is a live window system frame, mark it's default font too. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-10-23 06:22:54 +0000 +++ src/ChangeLog 2013-10-23 16:07:30 +0000 @@ -1,3 +1,9 @@ +2013-10-23 Dmitry Antipov + + Tweak last font-related changes to fix bug#15686. + * alloc.c (mark_object) [HAVE_WINDOW_SYSTEM]: If marked frame + is a live window system frame, mark it's default font too. + 2013-10-23 Glenn Morris * Makefile.in (RUN_TEMACS): Make relative (again). === modified file 'src/alloc.c' --- src/alloc.c 2013-10-21 14:11:25 +0000 +++ src/alloc.c 2013-10-23 16:07:30 +0000 @@ -5951,8 +5951,21 @@ break; case PVEC_FRAME: - mark_vectorlike (ptr); - mark_face_cache (((struct frame *) ptr)->face_cache); + { + struct frame *f = (struct frame *) ptr; + + mark_vectorlike (ptr); + mark_face_cache (f->face_cache); +#ifdef HAVE_WINDOW_SYSTEM + if (FRAME_WINDOW_P (f) && FRAME_X_OUTPUT (f)) + { + struct font *font = FRAME_FONT (f); + + if (font && !VECTOR_MARKED_P (font)) + mark_vectorlike ((struct Lisp_Vector *) font); + } +#endif + } break; case PVEC_WINDOW: ------------------------------------------------------------ revno: 114754 committer: Xue Fuqiao branch nick: trunk timestamp: Wed 2013-10-23 21:29:39 +0800 message: Comment diff: === modified file 'doc/lispref/display.texi' --- doc/lispref/display.texi 2013-10-19 13:53:01 +0000 +++ doc/lispref/display.texi 2013-10-23 13:29:39 +0000 @@ -2392,6 +2392,7 @@ @end example @end defun +@c FIXME: Add an index for "relative face attribute", maybe here? --xfq @defun face-attribute-relative-p attribute value This function returns non-@code{nil} if @var{value}, when used as the value of the face attribute @var{attribute}, is relative. This means ------------------------------------------------------------ revno: 114753 committer: Leo Liu branch nick: trunk timestamp: Wed 2013-10-23 20:15:31 +0800 message: * ido.el (ido-tidy): Handle read-only text. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-23 06:22:54 +0000 +++ lisp/ChangeLog 2013-10-23 12:15:31 +0000 @@ -1,3 +1,7 @@ +2013-10-23 Leo Liu + + * ido.el (ido-tidy): Handle read-only text. + 2013-10-23 Glenn Morris * Makefile.in (abs_srcdir, abs_lisp): New, set by configure. === modified file 'lisp/ido.el' --- lisp/ido.el 2013-10-19 00:39:31 +0000 +++ lisp/ido.el 2013-10-23 12:15:31 +0000 @@ -4707,19 +4707,18 @@ (cancel-timer ido-auto-merge-timer) (setq ido-auto-merge-timer nil)) - (if (ido-active) - (if (and (boundp 'ido-eoinput) - ido-eoinput) - - (if (> ido-eoinput (point-max)) - ;; Oops, got rug pulled out from under us - reinit: - (setq ido-eoinput (point-max)) - (let ((buffer-undo-list t)) - (delete-region ido-eoinput (point-max)))) - - ;; Reestablish the local variable 'cause minibuffer-setup is weird: - (make-local-variable 'ido-eoinput) - (setq ido-eoinput 1)))) + (when (ido-active) + (if (bound-and-true-p ido-eoinput) + (if (> ido-eoinput (point-max)) + ;; Oops, got rug pulled out from under us - reinit: + (setq ido-eoinput (point-max)) + (let ((inhibit-read-only t) + (buffer-undo-list t)) + (delete-region ido-eoinput (point-max)))) + + ;; Reestablish the local variable 'cause minibuffer-setup is weird: + (make-local-variable 'ido-eoinput) + (setq ido-eoinput 1)))) (defun ido-summary-buffers-to-end () ;; Move the summaries to the end of the buffer list. ------------------------------------------------------------ revno: 114752 committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 06:17:41 -0400 message: Auto-commit of generated files. diff: === modified file 'autogen/config.in' --- autogen/config.in 2013-10-12 10:17:41 +0000 +++ autogen/config.in 2013-10-23 10:17:41 +0000 @@ -1689,7 +1689,7 @@ # define _GL_EXTERN_INLINE_IN_USE #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ && !defined _GL_EXTERN_INLINE_APPLE_BUG) -# if __GNUC_GNU_INLINE__ +# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) # else === modified file 'autogen/configure' --- autogen/configure 2013-10-14 10:17:44 +0000 +++ autogen/configure 2013-10-23 10:17:41 +0000 @@ -4604,30 +4604,6 @@ fi -#### Make srcdir absolute, if it isn't already. It's important to -#### avoid running the file name through pwd unnecessarily, since pwd can -#### give you automounter prefixes, which can go away. We do all this -#### so Emacs can find its files when run uninstalled. -## Make sure CDPATH doesn't affect cd (in case PWD is relative). -unset CDPATH -case "${srcdir}" in - [\\/]* | ?:[\\/]*) ;; - . ) - ## We may be able to use the $PWD environment variable to make this - ## absolute. But sometimes PWD is inaccurate. - ## Note: we used to use $PWD at the end instead of `pwd`, - ## but that tested only for a well-formed and valid PWD, - ## it did not object when PWD was well-formed and valid but just wrong. - if test ".$PWD" != "." && test ".`(cd "$PWD" ; sh -c pwd)`" = ".`pwd`" ; - then - srcdir="$PWD" - else - srcdir=`(cd "$srcdir"; pwd)` - fi - ;; - * ) srcdir=`(cd "$srcdir"; pwd)` ;; -esac - #### When building with MinGW inside the MSYS tree, 'pwd' produces #### directories relative to the root of the MSYS tree, #### e.g. '/home/user/foo' instead of '/d/MSYS/home/user/foo'. When @@ -4637,7 +4613,7 @@ #### substitution, it cannot find the data directory. "pwd -W" #### produces Windows-style 'd:/foo/bar' absolute directory names, so #### we use it here to countermand that lossage. -test "$MSYSTEM" = "MINGW32" && srcdir=`(cd "$srcdir"; pwd -W | sed -e 's,^\([A-Za-z]\):,/\1,')` +test "$MSYSTEM" = "MINGW32" && abs_srcdir=`(cd "$abs_srcdir"; pwd -W | sed -e 's,^\([A-Za-z]\):,/\1,')` ### Canonicalize the configuration name. @@ -25592,10 +25568,8 @@ if test "${gl_cv_func_working_acl_get_file+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - gl_cv_func_working_acl_get_file=cross-compiling -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_cv_func_working_acl_get_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -25612,20 +25586,19 @@ return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_working_acl_get_file=yes -else - gl_cv_func_working_acl_get_file=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - +if ac_fn_c_try_link "$LINENO"; then : + if test $cross_compiling = yes; then + gl_cv_func_working_acl_get_file="guessing yes" + elif ./conftest$ac_exeext; then + gl_cv_func_working_acl_get_file=yes + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_acl_get_file" >&5 $as_echo "$gl_cv_func_working_acl_get_file" >&6; } - - if test $gl_cv_func_working_acl_get_file = yes; then : + if test "$gl_cv_func_working_acl_get_file" != no; then : use_acl=1 fi ------------------------------------------------------------ revno: 114751 committer: Glenn Morris branch nick: trunk timestamp: Wed 2013-10-23 00:28:30 -0700 message: More Makefile quoting * Makefile.in (install-arch-dep, install-nt, uninstall, uninstall-nt): Quote entities that might contain whitespace. diff: === modified file 'ChangeLog' --- ChangeLog 2013-10-23 07:20:57 +0000 +++ ChangeLog 2013-10-23 07:28:30 +0000 @@ -3,7 +3,8 @@ Progress towards allowing installation in directories with whitespace. * Makefile.in (COPYDESTS, write_subdir, install-arch-dep) (install-arch-indep, install-etcdoc, install-info, install-man) - (install-etc, uninstall): Quote entities that might contain whitespace. + (install-etc, uninstall, install-nt, uninstall-nt): + Quote entities that might contain whitespace. * build-aux/update-subdirs: Handle whitespace in argument. Check cd return value. === modified file 'Makefile.in' --- Makefile.in 2013-10-23 07:20:57 +0000 +++ Makefile.in 2013-10-23 07:28:30 +0000 @@ -485,9 +485,9 @@ install-arch-dep: src install-arch-indep install-etcdoc install-$(NTDIR) umask 022; ${MKDIR_P} "$(DESTDIR)${bindir}" cd lib-src && \ - $(MAKE) install $(MFLAGS) prefix=${prefix} \ - exec_prefix=${exec_prefix} bindir=${bindir} \ - libexecdir=${libexecdir} archlibdir=${archlibdir} \ + $(MAKE) install $(MFLAGS) prefix="${prefix}" \ + exec_prefix="${exec_prefix}" bindir="${bindir}" \ + libexecdir="${libexecdir}" archlibdir="${archlibdir}" \ INSTALL_STRIP=${INSTALL_STRIP} if test "${ns_self_contained}" = "no"; then \ ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACSFULL)" || exit 1 ; \ @@ -507,9 +507,9 @@ install-: install-nt: cd $(NTDIR) && \ - $(MAKE) install $(MFLAGS) prefix=${prefix} \ - exec_prefix=${exec_prefix} bindir=${bindir} \ - libexecdir=${libexecdir} archlibdir=${archlibdir} \ + $(MAKE) install $(MFLAGS) prefix="${prefix}" \ + exec_prefix="${exec_prefix}" bindir="${bindir}" \ + libexecdir="${libexecdir}" archlibdir="${archlibdir}" \ INSTALL_STRIP=${INSTALL_STRIP} ## In the share directory, we are deleting: @@ -731,8 +731,9 @@ uninstall: uninstall-$(NTDIR) uninstall-doc cd lib-src && \ $(MAKE) $(MFLAGS) uninstall \ - prefix=${prefix} exec_prefix=${exec_prefix} \ - bindir=${bindir} libexecdir=${libexecdir} archlibdir=${archlibdir} + prefix="${prefix}" exec_prefix="${exec_prefix}" \ + bindir="${bindir}" libexecdir="${libexecdir}" \ + archlibdir="${archlibdir}" -unset CDPATH; \ for dir in "$(DESTDIR)${lispdir}" "$(DESTDIR)${etcdir}" ; do \ @@ -784,8 +785,9 @@ uninstall-nt: cd $(NTDIR) && \ $(MAKE) $(MFLAGS) uninstall \ - prefix=${prefix} exec_prefix=${exec_prefix} \ - bindir=${bindir} libexecdir=${libexecdir} archlibdir=${archlibdir} + prefix="${prefix}" exec_prefix="${exec_prefix}" \ + bindir="${bindir}" libexecdir="${libexecdir}" \ + archlibdir="${archlibdir}" FRC: