From: Paul Eggert Date: Sun, 3 Apr 2016 20:39:52 +0000 (-0700) Subject: Merge from origin/emacs-25 X-Git-Tag: emacs-26.0.90~2255 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b1c7207dbbc5b35aa2fa6e69a3041299e881dbb6;p=emacs.git Merge from origin/emacs-25 b787d55 More format-time-string change fixups 13c8f29 make-xwidget unused arg cleanup 36e05f0 Remove unused arguments from make-xwidget 1042217 Document incompatible changes in 'format-time-string' 7228eb8 Improve documentation of byte-code objects 0020047 Adapt calls to 'format-time-string' to changes in Emacs 25 17b5152 Improve vc-diff with Git backend c28f87a (js--continued-expression-p): Special-case unary plus and minus 2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary. 9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem... b3b523c Avoid crashes due to insanely large columns in tabulated-list... a3daa34 Teach M-x disassemble a default argument. e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows df441b3 Fix OS X specific settings in tramp-tests 2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09) # Conflicts: # lisp/net/tramp-sh.el # lisp/progmodes/cc-engine.el --- b1c7207dbbc5b35aa2fa6e69a3041299e881dbb6 diff --cc lisp/net/tramp.el index 4edca5a5998,19dced6c2f3..e101c42a494 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@@ -3739,11 -3935,10 +3739,31 @@@ This is used internally by `tramp-file- ;;;###tramp-autoload (defun tramp-get-local-gid (id-format) + ;; `group-gid' has been introduced with Emacs 24.4. (if (and (fboundp 'group-gid) (equal id-format 'integer)) (tramp-compat-funcall 'group-gid) - (nth 3 (tramp-compat-file-attributes "~/" id-format)))) + (nth 3 (file-attributes "~/" id-format)))) + ++(defun tramp-get-local-locale (&optional vec) ++ ;; We use key nil for local connection properties. ++ (with-tramp-connection-property nil "locale" ++ (let ((candidates '("en_US.utf8" "C.utf8" "en_US.UTF-8")) ++ locale) ++ (with-temp-buffer ++ (unless (or (memq system-type '(windows-nt)) ++ (not (zerop (tramp-call-process ++ nil "locale" nil t nil "-a")))) ++ (while candidates ++ (goto-char (point-min)) ++ (if (string-match (format "^%s\r?$" (regexp-quote (car candidates))) ++ (buffer-string)) ++ (setq locale (car candidates) ++ candidates nil) ++ (setq candidates (cdr candidates)))))) ++ ;; Return value. ++ (when vec (tramp-message vec 7 "locale %s" (or locale "C"))) ++ (or locale "C")))) + (defun tramp-get-local-locale (&optional vec) ;; We use key nil for local connection properties. (with-tramp-connection-property nil "locale" diff --cc lisp/progmodes/cc-engine.el index e04929a7226,62bc236706d..4aff0dc14e0 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el @@@ -5836,15 -5810,13 +5839,16 @@@ comment at the start of cc-engine.el fo `(c-forward-type) `(c-forward-name))) nil - (and (looking-at c-keywords-regexp) - (c-forward-keyword-clause 1)))) + (cond ((looking-at c-keywords-regexp) + (c-forward-keyword-clause 1)) + ((and c-opt-cpp-prefix + (looking-at c-noise-macro-with-parens-name-re)) + (c-forward-noise-clause))))) - (when (memq res '(t known found prefix)) - ,(when (eq type 'ref) - `(when c-record-type-identifiers - (c-record-ref-id c-last-identifier-range))) + (when (memq res '(t known found prefix maybe)) + (when c-record-type-identifiers - ,(if (eq type 'type) - `(c-record-type-id c-last-identifier-range) - `(c-record-ref-id c-last-identifier-range))) ++ ,(if (eq type 'type) ++ `(c-record-type-id c-last-identifier-range) ++ `(c-record-ref-id c-last-identifier-range))) t))) (defmacro c-forward-id-comma-list (type update-safe-pos) diff --cc test/manual/indent/js.js index d843f615fd8,00000000000..61c7b440ea3 mode 100644,000000..100644 --- a/test/manual/indent/js.js +++ b/test/manual/indent/js.js @@@ -1,101 -1,0 +1,107 @@@ +var a = 1; +b = 2; + +let c = 1, + d = 2; + +var e = 100500, + + 1; + +function test () +{ + return /[/]/.test ('/') // (bug#19397) +} + +var f = bar('/protocols/') +baz(); + +var h = 100500 +1; + +const i = 1, + j = 2; + +var k = 1, + l = [ + 1, 2, + 3, 4 + ], + m = 5; + +var n = function() { + return 7; +}, + o = 8; + +foo(bar, function() { + return 2; +}); + +switch (b) { +case "a": + 2; +default: + 3; +} + +var p = { + case: 'zzzz', + default: 'donkey', + tee: 'ornery' +}; + +var evens = [e for each (e in range(0, 21)) + if (ed % 2 == 0)]; + +!b + !=b + !==b + +a++ +b += + c + +baz(`http://foo.bar/${tee}`) + .qux(); + +`multiline string + contents + are kept + unchanged!` + +class A { + * x() { + return 1 + * a(2); + } + + *[Symbol.iterator]() { + yield "Foo"; + yield "Bar"; + } +} + +if (true) + 1 +else + 2 + +Foobar + .find() + .catch((err) => { + return 2; + }) + .then((num) => { + console.log(num); + }); + ++var arr = [ ++ -1, 2, ++ -3, 4 + ++ -5 ++]; ++ +// Local Variables: +// indent-tabs-mode: nil +// js-indent-level: 2 +// End: