Now on revision 114537. ------------------------------------------------------------ revno: 114537 committer: Dmitry Gutov branch nick: trunk timestamp: Sun 2013-10-06 04:21:51 +0300 message: * test/automated/ruby-mode-tests.el: Add tests for `ruby-forward-sexp' and `ruby-backward-sexp' that fail when `ruby-use-smie' is t. * test/indent/ruby.rb: Two more failing examples. diff: === modified file 'test/ChangeLog' --- test/ChangeLog 2013-10-06 00:46:28 +0000 +++ test/ChangeLog 2013-10-06 01:21:51 +0000 @@ -1,5 +1,8 @@ 2013-10-06 Dmitry Gutov + * automated/ruby-mode-tests.el: Add tests for `ruby-forward-sexp' + and `ruby-backward-sexp' that fail when `ruby-use-smie' is t. + * indent/ruby.rb: Fix a syntax error, add a few failing examples. 2013-10-05 Stefan Monnier === modified file 'test/automated/ruby-mode-tests.el' --- test/automated/ruby-mode-tests.el 2013-07-11 16:04:56 +0000 +++ test/automated/ruby-mode-tests.el 2013-10-06 01:21:51 +0000 @@ -586,6 +586,30 @@ (end-of-defun) (should (= 5 (line-number-at-pos))))) +;; Tests below fail when using SMIE. + +(defvar ruby-sexp-test-example + (ruby-test-string + "class C + | def foo + | self.end + | D.new.class + | end + |end")) + +(ert-deftest ruby-forward-sexp-skips-method-calls-with-keyword-names () + (ruby-with-temp-buffer ruby-sexp-test-example + (goto-line 2) + (ruby-forward-sexp) + (should (= 5 (line-number-at-pos))))) + +(ert-deftest ruby-backward-sexp-skips-method-calls-with-keyword-names () + (ruby-with-temp-buffer ruby-sexp-test-example + (goto-line 5) + (end-of-line) + (ruby-backward-sexp) + (should (= 2 (line-number-at-pos))))) + (provide 'ruby-mode-tests) ;;; ruby-mode-tests.el ends here === modified file 'test/indent/ruby.rb' --- test/indent/ruby.rb 2013-10-06 00:46:28 +0000 +++ test/indent/ruby.rb 2013-10-06 01:21:51 +0000 @@ -123,3 +123,9 @@ desc "foo foo" \ "bar bar" + +foo. + bar + +foo + .bar ------------------------------------------------------------ revno: 114536 committer: Dmitry Gutov branch nick: trunk timestamp: Sun 2013-10-06 03:46:28 +0300 message: * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Dedent `ensure' keyword, too. * test/indent/ruby.rb: Fix a syntax error, add a few failing examples. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-05 23:40:16 +0000 +++ lisp/ChangeLog 2013-10-06 00:46:28 +0000 @@ -1,3 +1,8 @@ +2013-10-06 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-smie-rules): Dedent `ensure' + keyword, too. + 2013-10-05 Dmitry Gutov * newcomment.el (comment-use-global-state): Change default value === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2013-10-05 18:37:08 +0000 +++ lisp/progmodes/ruby-mode.el 2013-10-06 00:46:28 +0000 @@ -381,7 +381,7 @@ (looking-at comment-start-skip))))) ;; `(column . ,(smie-indent-virtual)) (smie-rule-parent))) - (`(:before . ,(or `"else" `"then" `"elsif" `"rescue")) 0) + (`(:before . ,(or `"else" `"then" `"elsif" `"rescue" `"ensure")) 0) (`(:before . ,(or `"when")) (if (not (smie-rule-sibling-p)) 0)) ;; ruby-indent-level ;; Hack attack: Since newlines are separators, don't try to align args that === modified file 'test/ChangeLog' --- test/ChangeLog 2013-10-05 18:37:08 +0000 +++ test/ChangeLog 2013-10-06 00:46:28 +0000 @@ -1,3 +1,7 @@ +2013-10-06 Dmitry Gutov + + * indent/ruby.rb: Fix a syntax error, add a few failing examples. + 2013-10-05 Stefan Monnier * indent/ruby.rb: Port a few cases from automated/ruby-mode-tests.el. === modified file 'test/indent/ruby.rb' --- test/indent/ruby.rb 2013-10-05 18:37:08 +0000 +++ test/indent/ruby.rb 2013-10-06 00:46:28 +0000 @@ -37,7 +37,7 @@ 2] foo = { # ruby-deep-indent-disabled - a : b + a: b } foo = [ # ruby-deep-indent-disabled @@ -99,6 +99,27 @@ do_something end +begin + foo +ensure + bar +end + +# Examples below fail with SMIE. + # Bug#15369 MSG = 'Separate every 3 digits in the integer portion of a number' \ 'with underscores(_).' + +# Next two fail similarly to the one above, so maybe remove 1 or 2 +# after they're fixed: + +a = foo(j, k) - + bar_tee + +while a < b do # "do" is optional + foo +end + +desc "foo foo" \ + "bar bar" ------------------------------------------------------------ revno: 114535 fixes bug: http://debbugs.gnu.org/15251 committer: Dmitry Gutov branch nick: trunk timestamp: Sun 2013-10-06 02:40:16 +0300 message: * lisp/newcomment.el (comment-use-global-state): Change default value to t, mark obsolete. (comment-beginning): In addition to `comment-to-syntax', check the value of `comment-use-global-state'. diff: === modified file 'etc/NEWS' --- etc/NEWS 2013-09-28 01:52:23 +0000 +++ etc/NEWS 2013-10-05 23:40:16 +0000 @@ -157,6 +157,9 @@ ** The command `quail-help' is deleted. Use `C-h C-\' (`describe-input-method') instead. +** The default value of `comment-use-global-state' is changed to t, +and this variable has been marked obsolete. + * Editing Changes in Emacs 24.4 @@ -214,7 +217,7 @@ See `remember-data-directory' and `remember-directory-file-name-format' for new options related to this function. -** More packages look for ~/.emacs.d/ additionally to ~/.. +* More packages look for ~/.emacs.d/ additionally to ~/.. Affected files: ~/.emacs.d/timelog replaces ~/.timelog ~/.emacs.d/vip replaces ~/.vip === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-05 18:37:08 +0000 +++ lisp/ChangeLog 2013-10-05 23:40:16 +0000 @@ -1,3 +1,10 @@ +2013-10-05 Dmitry Gutov + + * newcomment.el (comment-use-global-state): Change default value + to t, mark obsolete (Bug#15251). + (comment-beginning): In addition to `comment-to-syntax', check the + value of `comment-use-global-state'. + 2013-10-05 Stefan Monnier * progmodes/ruby-mode.el (ruby-use-smie): Change default. === modified file 'lisp/newcomment.el' --- lisp/newcomment.el 2013-10-01 01:13:48 +0000 +++ lisp/newcomment.el 2013-10-05 23:40:16 +0000 @@ -435,12 +435,15 @@ ;;;; Navigation ;;;; -(defvar comment-use-global-state nil +(defvar comment-use-global-state t "Non-nil means that the global syntactic context is used. More specifically, it means that `syntax-ppss' is used to find out whether -point is within a string or not. Major modes whose syntax is faithfully -described by the syntax-tables can set this to non-nil so comment markers -in strings will not confuse Emacs.") +point is within a string or not. Major modes whose syntax is not faithfully +described by the syntax-tables (or where `font-lock-syntax-table' is radically +different from the main syntax table) can set this to nil, +then `syntax-ppss' cache won't be used in comment-related routines.") + +(make-obsolete-variable 'comment-use-global-state 'comment-use-syntax "24.4") (defun comment-search-forward (limit &optional noerror) "Find a comment start between point and LIMIT. @@ -515,7 +518,7 @@ "Find the beginning of the enclosing comment. Returns nil if not inside a comment, else moves point and returns the same as `comment-search-backward'." - (if comment-use-syntax + (if (and comment-use-syntax comment-use-global-state) (let ((state (syntax-ppss))) (when (nth 4 state) (goto-char (nth 8 state)) ------------------------------------------------------------ revno: 114534 committer: Stefan Monnier branch nick: trunk timestamp: Sat 2013-10-05 14:37:08 -0400 message: Get Ruby's SMIE code to pass the test suite. * lisp/progmodes/ruby-mode.el (ruby-use-smie): Change default. (ruby-comment-column): Follow the global default, by default. (ruby-smie-grammar): Add assignment syntax. (ruby-smie--implicit-semi-p): No implicit semi-colon after an open-paren, a comma, or a \. (ruby-smie--forward-token, ruby-smie--backward-token): Handle heredocs, and line continuations. (ruby-smie-rules): Adjust handling of open-paren, now that it's never followed by implicit semi-colons. Add rule for string concatenation and for indentation at BOB. (ruby-forward-sexp, ruby-backward-sexp): Adjust for when smie is in use. * lisp/emacs-lisp/smie.el (smie-next-sexp): Don't go back to pos before calling next-sexp, since next-token may have skipped chars which next-sexp doesn't know should be skipped! * test/indent/ruby.rb: Port a few cases from automated/ruby-mode-tests.el. Adjust indentation of continued line to the new SMIE behavior. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-05 17:21:22 +0000 +++ lisp/ChangeLog 2013-10-05 18:37:08 +0000 @@ -1,7 +1,25 @@ +2013-10-05 Stefan Monnier + + * progmodes/ruby-mode.el (ruby-use-smie): Change default. + (ruby-comment-column): Follow the global default, by default. + (ruby-smie-grammar): Add assignment syntax. + (ruby-smie--implicit-semi-p): No implicit semi-colon after an + open-paren, a comma, or a \. + (ruby-smie--forward-token, ruby-smie--backward-token): Handle heredocs, + and line continuations. + (ruby-smie-rules): Adjust handling of open-paren, now that it's never + followed by implicit semi-colons. Add rule for string concatenation + and for indentation at BOB. + (ruby-forward-sexp, ruby-backward-sexp): Adjust for when smie is in use. + + * emacs-lisp/smie.el (smie-next-sexp): Don't go back to pos before + calling next-sexp, since next-token may have skipped chars which + next-sexp doesn't know should be skipped! + 2013-10-05 Leo Liu - * progmodes/octave.el (octave-send-region): Call - compilation-forget-errors. + * progmodes/octave.el (octave-send-region): + Call compilation-forget-errors. 2013-10-04 Xue Fuqiao === modified file 'lisp/emacs-lisp/smie.el' --- lisp/emacs-lisp/smie.el 2013-06-07 22:58:35 +0000 +++ lisp/emacs-lisp/smie.el 2013-10-05 18:37:08 +0000 @@ -707,7 +707,7 @@ ((null toklevels) (when (zerop (length token)) (condition-case err - (progn (goto-char pos) (funcall next-sexp 1) nil) + (progn (funcall next-sexp 1) nil) (scan-error (let ((pos (nth 2 err))) (throw 'return === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2013-10-05 17:21:22 +0000 +++ lisp/progmodes/ruby-mode.el 2013-10-05 18:37:08 +0000 @@ -144,7 +144,7 @@ (define-abbrev-table 'ruby-mode-abbrev-table () "Abbrev table in use in Ruby mode buffers.") -(defvar ruby-use-smie nil) +(defvar ruby-use-smie t) (defvar ruby-mode-map (let ((map (make-sparse-keymap))) @@ -198,7 +198,7 @@ "Indentation of Ruby statements." :type 'integer :group 'ruby) -(defcustom ruby-comment-column 32 +(defcustom ruby-comment-column (default-value 'comment-column) "Indentation column of comments." :type 'integer :group 'ruby) @@ -246,7 +246,7 @@ '((id) (insts (inst) (insts ";" insts)) (inst (exp) (inst "iuwu-mod" exp)) - (exp (exp1) (exp "," exp)) + (exp (exp1) (exp "," exp) (exp "=" exp)) (exp1 (exp2) (exp2 "?" exp1 ":" exp1)) (exp2 ("def" insts "end") ("begin" insts-rescue-insts "end") @@ -265,7 +265,7 @@ (for-body (for-head ";" insts)) (for-head (id "in" exp)) (cases (exp "then" insts) ;; FIXME: Ruby also allows (exp ":" insts). - (cases "when" cases) (insts "else" insts)) + (cases "when" cases) (insts "else" insts)) (expseq (exp) );;(expseq "," expseq) (hashvals (id "=>" exp1) (hashvals "," hashvals)) (insts-rescue-insts (insts) @@ -274,7 +274,7 @@ (itheni (insts) (exp "then" insts)) (ielsei (itheni) (itheni "else" insts)) (if-body (ielsei) (if-body "elsif" if-body))) - '((nonassoc "in") (assoc ";") (assoc ",")) + '((nonassoc "in") (assoc ";") (assoc ",") (right "=")) '((assoc "when")) '((assoc "elsif")) '((assoc "rescue" "ensure")) @@ -288,7 +288,8 @@ (save-excursion (skip-chars-backward " \t") (not (or (bolp) - (and (memq (char-before) '(?\; ?- ?+ ?* ?/ ?: ?.)) + (and (memq (char-before) + '(?\; ?- ?+ ?* ?/ ?: ?. ?, ?\[ ?\( ?\{ ?\\)) ;; Make sure it's not the end of a regexp. (not (eq (car (syntax-after (1- (point)))) 7))) (and (memq (char-before) '(?\? ?=)) @@ -305,12 +306,13 @@ (defun ruby-smie--forward-token () (skip-chars-forward " \t") - (if (and (looking-at "[\n#]") - ;; Only add implicit ; when needed. - (ruby-smie--implicit-semi-p)) - (progn - (if (eolp) (forward-char 1) (forward-comment 1)) - ";") + (cond + ((looking-at "\\s\"") "") ;A heredoc or a string. + ((and (looking-at "[\n#]") + (ruby-smie--implicit-semi-p)) ;Only add implicit ; when needed. + (if (eolp) (forward-char 1) (forward-comment 1)) + ";") + (t (forward-comment (point-max)) (if (looking-at ":\\s.+") (progn (goto-char (match-end 0)) (match-string 0)) ;; bug#15208. @@ -321,15 +323,18 @@ tok "iuwu-mod")) ((equal tok "|") (if (ruby-smie--opening-pipe-p) "opening-|" tok)) - (t tok)))))) + ((and (equal tok "") (looking-at "\\\\\n")) + (goto-char (match-end 0)) (ruby-smie--forward-token)) + (t tok))))))) (defun ruby-smie--backward-token () (let ((pos (point))) (forward-comment (- (point))) - (if (and (> pos (line-end-position)) - (ruby-smie--implicit-semi-p)) - (progn (skip-chars-forward " \t") - ";") + (cond + ((and (> pos (line-end-position)) (ruby-smie--implicit-semi-p)) + (skip-chars-forward " \t") ";") + ((and (bolp) (not (bobp))) "") ;Presumably a heredoc. + (t (let ((tok (smie-default-backward-token))) (when (and (eq ?: (char-before)) (string-match "\\`\\s." tok)) (forward-char -1) (setq tok (concat ":" tok))) ;; bug#15208. @@ -339,20 +344,31 @@ tok "iuwu-mod")) ((equal tok "|") (if (ruby-smie--opening-pipe-p) "opening-|" tok)) - (t tok)))))) + ((and (equal tok "") (eq ?\\ (char-before)) (looking-at "\n")) + (forward-char -1) (ruby-smie--backward-token)) + (t tok))))))) (defun ruby-smie-rules (kind token) (pcase (cons kind token) (`(:elem . basic) ruby-indent-level) + ;; "foo" "bar" is the concatenation of the two strings, so the second + ;; should be aligned with the first. + (`(:elem . args) (if (looking-at "\\s\"") 0)) + ;; (`(:after . ",") (smie-rule-separator kind)) (`(:after . ";") (if (smie-rule-parent-p "def" "begin" "do" "class" "module" "for" - "[" "{" "while" "until" "unless" + "while" "until" "unless" "if" "then" "elsif" "else" "when" "rescue" "ensure") (smie-rule-parent ruby-indent-level) ;; For (invalid) code between switch and case. ;; (if (smie-parent-p "switch") 4) 0)) + (`(:before . ,(or `"(" `"[" `"{")) + ;; Treat purely syntactic block-constructs as being part of their parent, + ;; when the opening statement is hanging. + (if (smie-rule-hanging-p) (smie-rule-parent))) + (`(:after . "=") 2) (`(:before . "do") (when (save-excursion @@ -369,8 +385,9 @@ (`(:before . ,(or `"when")) (if (not (smie-rule-sibling-p)) 0)) ;; ruby-indent-level ;; Hack attack: Since newlines are separators, don't try to align args that - ;; appear on a separate line. - (`(:list-intro . ";") t))) + ;; appear on a separate line. "" is for the case where the "previous + ;; separator" was not an implicit ";" but the BOB. + (`(:list-intro . ,(or `";" `"")) t))) (defun ruby-imenu-create-index-in-block (prefix beg end) "Create an imenu index of methods inside a block." @@ -1095,8 +1112,10 @@ With ARG, do it many times. Negative ARG means move backward." ;; TODO: Document body (interactive "p") - (if (and (numberp arg) (< arg 0)) - (ruby-backward-sexp (- arg)) + (cond + (ruby-use-smie (forward-sexp arg)) + ((and (numberp arg) (< arg 0)) (ruby-backward-sexp (- arg))) + (t (let ((i (or arg 1))) (condition-case nil (while (> i 0) @@ -1131,15 +1150,17 @@ (not expr)))) (setq i (1- i))) ((error) (forward-word 1))) - i))) + i)))) (defun ruby-backward-sexp (&optional arg) "Move backward across one balanced expression (sexp). With ARG, do it many times. Negative ARG means move forward." ;; TODO: Document body (interactive "p") - (if (and (numberp arg) (< arg 0)) - (ruby-forward-sexp (- arg)) + (cond + (ruby-use-smie (backward-sexp arg)) + ((and (numberp arg) (< arg 0)) (ruby-forward-sexp (- arg))) + (t (let ((i (or arg 1))) (condition-case nil (while (> i 0) @@ -1178,7 +1199,7 @@ nil)) (setq i (1- i))) ((error))) - i))) + i)))) (defun ruby-indent-exp (&optional ignored) "Indent each line in the balanced expression following the point." === modified file 'test/ChangeLog' --- test/ChangeLog 2013-10-04 21:45:37 +0000 +++ test/ChangeLog 2013-10-05 18:37:08 +0000 @@ -1,3 +1,8 @@ +2013-10-05 Stefan Monnier + + * indent/ruby.rb: Port a few cases from automated/ruby-mode-tests.el. + Adjust indentation of continued line to the new SMIE behavior. + 2013-10-04 Stefan Monnier * automated/completion-tests.el: === modified file 'test/indent/ruby.rb' --- test/indent/ruby.rb 2013-09-15 23:42:26 +0000 +++ test/indent/ruby.rb 2013-10-05 18:37:08 +0000 @@ -1,3 +1,10 @@ +if something_wrong? # ruby-move-to-block-skips-heredoc + ActiveSupport::Deprecation.warn(<<-eowarn) + boo hoo + end + eowarn +end + # Percent literals. b = %Q{This is a "string"} c = %w!foo @@ -21,6 +28,26 @@ # Highlight the regexp after "if". x = toto / foo if /do bar/ =~ "dobar" +bar(class: XXX) do # ruby-indent-keyword-label + foo +end +bar + +foo = [1, # ruby-deep-indent + 2] + +foo = { # ruby-deep-indent-disabled + a : b +} + +foo = [ # ruby-deep-indent-disabled + 1 +] + +foo( # ruby-deep-indent-disabled + a +) + # Multiline regexp. /bars tees # toots @@ -74,4 +101,4 @@ # Bug#15369 MSG = 'Separate every 3 digits in the integer portion of a number' \ - 'with underscores(_).' + 'with underscores(_).' ------------------------------------------------------------ revno: 114533 committer: Dmitry Gutov branch nick: trunk timestamp: Sat 2013-10-05 20:21:22 +0300 message: Revert 114527 `last-coding-system-used' is unreliable: it can be modified by other functions in `after-save-hook'. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-05 02:45:24 +0000 +++ lisp/ChangeLog 2013-10-05 17:21:22 +0000 @@ -3,14 +3,6 @@ * progmodes/octave.el (octave-send-region): Call compilation-forget-errors. -2013-10-05 Dmitry Gutov - - * progmodes/ruby-mode.el (ruby-mode): Add `ruby-mode-set-encoding' - to `after-save-hook' instead of `before-save-hook', because then - we know exactly what encoding was used to write the file. - (ruby-mode-set-encoding): Use `last-coding-system-used' instead of - guessing. Call `basic-save-buffer-1' after modifying the buffer. - 2013-10-04 Xue Fuqiao * vc/vc-svn.el (vc-svn-find-admin-dir): === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2013-10-05 02:26:39 +0000 +++ lisp/progmodes/ruby-mode.el 2013-10-05 17:21:22 +0000 @@ -450,13 +450,19 @@ (when (re-search-forward "[^\0-\177]" nil t) (goto-char (point-min)) (let ((coding-system - (or (coding-system-get last-coding-system-used 'mime-charset) - (coding-system-change-eol-conversion ast-coding-system-used - nil)))) + (or coding-system-for-write + buffer-file-coding-system))) + (if coding-system + (setq coding-system + (or (coding-system-get coding-system 'mime-charset) + (coding-system-change-eol-conversion coding-system nil)))) (setq coding-system - (symbol-name (or (and ruby-use-encoding-map - (cdr (assq coding-system ruby-encoding-map))) - coding-system))) + (if coding-system + (symbol-name + (or (and ruby-use-encoding-map + (cdr (assq coding-system ruby-encoding-map))) + coding-system)) + "ascii-8bit")) (if (looking-at "^#!") (beginning-of-line 2)) (cond ((looking-at "\\s *#.*-\*-\\s *\\(en\\)?coding\\s *:\\s *\\([-a-z0-9_]*\\)\\s *\\(;\\|-\*-\\)") (unless (string= (match-string 2) coding-system) @@ -470,9 +476,7 @@ (insert coding-system))) ((looking-at "\\s *#.*coding\\s *[:=]")) (t (when ruby-insert-encoding-magic-comment - (insert "# -*- coding: " coding-system " -*-\n")))) - (when (buffer-modified-p) - (basic-save-buffer-1)))))) + (insert "# -*- coding: " coding-system " -*-\n")))))))) (defun ruby-current-indentation () "Return the indentation level of current line." @@ -1930,7 +1934,11 @@ (set (make-local-variable 'end-of-defun-function) 'ruby-end-of-defun) - (add-hook 'after-save-hook 'ruby-mode-set-encoding nil 'local) + (add-hook + (cond ((boundp 'before-save-hook) 'before-save-hook) + ((boundp 'write-contents-functions) 'write-contents-functions) + ((boundp 'write-contents-hooks) 'write-contents-hooks)) + 'ruby-mode-set-encoding nil 'local) (set (make-local-variable 'electric-indent-chars) (append '(?\{ ?\}) electric-indent-chars)) ------------------------------------------------------------ revno: 114532 committer: Xue Fuqiao branch nick: trunk timestamp: Sat 2013-10-05 23:06:17 +0800 message: Minor doc fixes. diff: === modified file 'doc/lispref/display.texi' --- doc/lispref/display.texi 2013-09-14 16:33:12 +0000 +++ doc/lispref/display.texi 2013-10-05 15:06:17 +0000 @@ -168,6 +168,7 @@ @end defopt @defopt truncate-partial-width-windows +@cindex partial-width windows This variable controls line truncation in @dfn{partial-width} windows. A partial-width window is one that does not occupy the entire frame width (@pxref{Splitting Windows}). If the value is @code{nil}, line @@ -235,6 +236,7 @@ @cindex error display @cindex echo area +@c FIXME: Why not use @xref{Minibuffers} directly? --xfq The @dfn{echo area} is used for displaying error messages (@pxref{Errors}), for messages made with the @code{message} primitive, and for echoing keystrokes. It is not the same as the minibuffer, === modified file 'src/ChangeLog' --- src/ChangeLog 2013-10-05 14:41:10 +0000 +++ src/ChangeLog 2013-10-05 15:06:17 +0000 @@ -1,3 +1,7 @@ +2013-10-05 Xue Fuqiao + + * editfns.c (message): Mention batch mode in doc string. + 2013-10-05 Jan Djärv * nsterm.m (check_native_fs): Remove erroneous comment. === modified file 'src/editfns.c' --- src/editfns.c 2013-08-29 16:36:54 +0000 +++ src/editfns.c 2013-10-05 15:06:17 +0000 @@ -3419,6 +3419,9 @@ is non-nil. (In keyboard macros, that's all it does.) Return the message. +In batch mode, the message is printed to the standard error stream, +followed by a newline. + The first argument is a format control string, and the rest are data to be formatted under control of the string. See `format' for details. ------------------------------------------------------------ revno: 114531 committer: Jan D. branch nick: trunk timestamp: Sat 2013-10-05 16:41:10 +0200 message: * nsterm.m (check_native_fs): Remove erroneous comment. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-10-04 13:41:10 +0000 +++ src/ChangeLog 2013-10-05 14:41:10 +0000 @@ -1,3 +1,7 @@ +2013-10-05 Jan Djärv + + * nsterm.m (check_native_fs): Remove erroneous comment. + 2013-10-04 Dmitry Antipov * xdisp.c (redisplay_internal): Simplify because scan_for_column now === modified file 'src/nsterm.m' --- src/nsterm.m 2013-09-28 10:01:50 +0000 +++ src/nsterm.m 2013-10-05 14:41:10 +0000 @@ -3385,7 +3385,6 @@ ns_last_use_native_fullscreen = ns_use_native_fullscreen; - /* Clear the mouse-moved flag for every frame on this display. */ FOR_EACH_FRAME (tail, frame) { struct frame *f = XFRAME (frame); ------------------------------------------------------------ revno: 114530 committer: Xue Fuqiao branch nick: trunk timestamp: Sat 2013-10-05 19:49:02 +0800 message: * doc/lispref/syntax.texi (Categories): Add an index for category sets. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2013-10-03 15:32:10 +0000 +++ doc/lispref/ChangeLog 2013-10-05 11:49:02 +0000 @@ -1,3 +1,7 @@ +2013-10-05 Xue Fuqiao + + * syntax.texi (Categories): Add an index for category sets. + 2013-10-03 Xue Fuqiao * syntax.texi (Syntax Flags): === modified file 'doc/lispref/syntax.texi' --- doc/lispref/syntax.texi 2013-10-03 15:32:10 +0000 +++ doc/lispref/syntax.texi 2013-10-05 11:49:02 +0000 @@ -1060,6 +1060,7 @@ the range @w{@samp{ }} to @samp{~}. You specify the name of a category when you define it with @code{define-category}. +@cindex category set The category table is actually a char-table (@pxref{Char-Tables}). The element of the category table at index @var{c} is a @dfn{category set}---a bool-vector---that indicates which categories character @var{c} ------------------------------------------------------------ revno: 114529 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-10-05 06:17:33 -0400 message: Auto-commit of generated files. diff: === modified file 'autogen/Makefile.in' --- autogen/Makefile.in 2013-10-04 10:17:40 +0000 +++ autogen/Makefile.in 2013-10-05 10:17:33 +0000 @@ -83,7 +83,8 @@ DIST_COMMON = $(srcdir)/../nt/gnulib.mk $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/gnulib.mk COPYING @BUILDING_FOR_WINDOWSNT_TRUE@am__append_1 = core *.stackdump alloca.h \ -@BUILDING_FOR_WINDOWSNT_TRUE@ alloca.h-t errno.h errno.h-t \ +@BUILDING_FOR_WINDOWSNT_TRUE@ alloca.h-t byteswap.h \ +@BUILDING_FOR_WINDOWSNT_TRUE@ byteswap.h-t errno.h errno.h-t \ @BUILDING_FOR_WINDOWSNT_TRUE@ execinfo.h execinfo.h-t getopt.h \ @BUILDING_FOR_WINDOWSNT_TRUE@ getopt.h-t arg-nonnull.h \ @BUILDING_FOR_WINDOWSNT_TRUE@ arg-nonnull.h-t c++defs.h \ @@ -103,16 +104,18 @@ # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. -@BUILDING_FOR_WINDOWSNT_TRUE@am__append_3 = $(ALLOCA_H) $(ERRNO_H) \ -@BUILDING_FOR_WINDOWSNT_TRUE@ $(EXECINFO_H) $(GETOPT_H) \ -@BUILDING_FOR_WINDOWSNT_TRUE@ arg-nonnull.h c++defs.h \ -@BUILDING_FOR_WINDOWSNT_TRUE@ warn-on-use.h $(STDALIGN_H) \ -@BUILDING_FOR_WINDOWSNT_TRUE@ $(STDARG_H) $(STDBOOL_H) \ -@BUILDING_FOR_WINDOWSNT_TRUE@ $(STDDEF_H) $(STDINT_H) -@BUILDING_FOR_WINDOWSNT_TRUE@am__append_4 = alloca.in.h close-stream.h \ -@BUILDING_FOR_WINDOWSNT_TRUE@ md5.h sha1.h sha256.h sha512.h \ -@BUILDING_FOR_WINDOWSNT_TRUE@ dosname.h ftoastr.c ftoastr.h \ -@BUILDING_FOR_WINDOWSNT_TRUE@ dup2.c errno.in.h euidaccess.c \ +@BUILDING_FOR_WINDOWSNT_TRUE@am__append_3 = $(ALLOCA_H) $(BYTESWAP_H) \ +@BUILDING_FOR_WINDOWSNT_TRUE@ $(ERRNO_H) $(EXECINFO_H) \ +@BUILDING_FOR_WINDOWSNT_TRUE@ $(GETOPT_H) arg-nonnull.h \ +@BUILDING_FOR_WINDOWSNT_TRUE@ c++defs.h warn-on-use.h \ +@BUILDING_FOR_WINDOWSNT_TRUE@ $(STDALIGN_H) $(STDARG_H) \ +@BUILDING_FOR_WINDOWSNT_TRUE@ $(STDBOOL_H) $(STDDEF_H) \ +@BUILDING_FOR_WINDOWSNT_TRUE@ $(STDINT_H) +@BUILDING_FOR_WINDOWSNT_TRUE@am__append_4 = alloca.in.h byteswap.in.h \ +@BUILDING_FOR_WINDOWSNT_TRUE@ close-stream.h md5.h sha1.h \ +@BUILDING_FOR_WINDOWSNT_TRUE@ sha256.h sha512.h dosname.h \ +@BUILDING_FOR_WINDOWSNT_TRUE@ ftoastr.c ftoastr.h dup2.c \ +@BUILDING_FOR_WINDOWSNT_TRUE@ errno.in.h euidaccess.c \ @BUILDING_FOR_WINDOWSNT_TRUE@ execinfo.c execinfo.in.h \ @BUILDING_FOR_WINDOWSNT_TRUE@ at-func.c faccessat.c fdatasync.c \ @BUILDING_FOR_WINDOWSNT_TRUE@ fdopendir.c filemode.h fpending.c \ @@ -1685,6 +1688,17 @@ @BUILDING_FOR_WINDOWSNT_TRUE@@GL_GENERATE_ALLOCA_H_FALSE@alloca.h: $(top_builddir)/config.status @BUILDING_FOR_WINDOWSNT_TRUE@@GL_GENERATE_ALLOCA_H_FALSE@ rm -f $@ +# We need the following in order to create when the system +# doesn't have one. +@BUILDING_FOR_WINDOWSNT_TRUE@@GL_GENERATE_BYTESWAP_H_TRUE@byteswap.h: byteswap.in.h $(top_builddir)/config.status +@BUILDING_FOR_WINDOWSNT_TRUE@@GL_GENERATE_BYTESWAP_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@BUILDING_FOR_WINDOWSNT_TRUE@@GL_GENERATE_BYTESWAP_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ +@BUILDING_FOR_WINDOWSNT_TRUE@@GL_GENERATE_BYTESWAP_H_TRUE@ cat $(srcdir)/byteswap.in.h; \ +@BUILDING_FOR_WINDOWSNT_TRUE@@GL_GENERATE_BYTESWAP_H_TRUE@ } > $@-t && \ +@BUILDING_FOR_WINDOWSNT_TRUE@@GL_GENERATE_BYTESWAP_H_TRUE@ mv -f $@-t $@ +@BUILDING_FOR_WINDOWSNT_TRUE@@GL_GENERATE_BYTESWAP_H_FALSE@byteswap.h: $(top_builddir)/config.status +@BUILDING_FOR_WINDOWSNT_TRUE@@GL_GENERATE_BYTESWAP_H_FALSE@ rm -f $@ + # We need the following in order to create when the system # doesn't have one that is POSIX compliant. @BUILDING_FOR_WINDOWSNT_TRUE@@GL_GENERATE_ERRNO_H_TRUE@errno.h: errno.in.h $(top_builddir)/config.status ------------------------------------------------------------ revno: 114528 committer: Leo Liu branch nick: trunk timestamp: Sat 2013-10-05 10:45:24 +0800 message: * progmodes/octave.el (octave-send-region): Call compilation-forget-errors. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-05 02:26:39 +0000 +++ lisp/ChangeLog 2013-10-05 02:45:24 +0000 @@ -1,3 +1,8 @@ +2013-10-05 Leo Liu + + * progmodes/octave.el (octave-send-region): Call + compilation-forget-errors. + 2013-10-05 Dmitry Gutov * progmodes/ruby-mode.el (ruby-mode): Add `ruby-mode-set-encoding' === modified file 'lisp/progmodes/octave.el' --- lisp/progmodes/octave.el 2013-10-04 15:11:13 +0000 +++ lisp/progmodes/octave.el 2013-10-05 02:45:24 +0000 @@ -1471,6 +1471,8 @@ (string (buffer-substring-no-properties beg end)) line) (with-current-buffer inferior-octave-buffer + ;; http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00095.html + (compilation-forget-errors) (setq inferior-octave-output-list nil) (while (not (string-equal string "")) (if (string-match "\n" string)