Paul Eggert
a6860c56aa
Pacify 'make check-declare'
2016-05-26 13:39:41 -07:00
Eli Zaretskii
01d70ef7e6
Avoid byte-compiler warnings due to 'declare-function'
...
* lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
(w32-get-valid-locale-ids):
* lisp/progmodes/js.el (ido-mode): Specify arglist in
'declare-function' forms, to avoid byte-compiler warnings.
2016-05-26 22:48:35 +03:00
Dmitry Gutov
8af79702fc
Make js-mode's syntax highlighting work again
...
* lisp/progmodes/js.el (js-mode): Fix the assigned
font-lock-defaults value (bug#23603).
2016-05-24 13:09:32 +03:00
Paul Eggert
1adfb5ee55
Merge from origin/emacs-25
...
9c2a1a2
* doc/misc/texinfo.tex: Sync from gnulib.
66cd4d8
* lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
1a5a05c
Do not mistake colon at the end of regexp for slash symbol
4c5a00b
Make package-install-from-buffer not move point
9596ea1
; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
f79c352
Redo the fix for bug#21839
8d2f78c
Don't treat JS spread as contination method call
2016-05-13 07:45:30 -07:00
Dmitry Gutov
8d2f78c421
Don't treat JS spread as contination method call
...
* lisp/progmodes/js.el (js--indent-operator-re):
Allow only one dot (bug#23492).
* test/indent/js.js (default): Add a corresponding example.
2016-05-11 02:27:46 +03:00
Stefan Monnier
4deb5bd9b1
* lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
2016-05-04 08:53:00 -04:00
Dmitry Gutov
0255a70c8a
Don't mistake `for' inside a function for a part of array comprehension
...
* lisp/progmodes/js.el (js--indent-in-array-comp): Also check the
depth in parens between the bracket and `for' (bug#23391).
* test/indent/js.js: Add a corresponding example.
2016-04-28 02:00:48 +03:00
Dmitry Gutov
c28f87a53d
(js--continued-expression-p): Special-case unary plus and minus
...
* lisp/progmodes/js.el (js--continued-expression-p): Make an
effort to recognize unary plus and minus, in the contexts where
they make sense (https://github.com/mooz/js2-mode/issues/322 ).
2016-04-02 03:07:09 +03:00
Dmitry Gutov
dc9d837d02
Don't misindent computed property generator methods
...
* lisp/progmodes/js.el (js--looking-at-operator-p):
Don't misindent computed property generator methods
(https://github.com/mooz/js2-mode/issues/317 ).
2016-03-05 14:35:35 +02:00
Eli Zaretskii
c1d32a6537
Fix problems caused by new implementation of sub-word mode
...
* lisp/subr.el (forward-word-strictly, backward-word-strictly):
New functions.
(word-move-empty-char-table): New variable.
* etc/NEWS: Mention 'forward-word-strictly' and
'backward-word-strictly'.
* doc/lispref/positions.texi (Word Motion): Document
'find-word-boundary-function-table', 'forward-word-strictly', and
'backward-word-strictly'. (Bug#22560)
* src/syntax.c (syms_of_syntax)
<find-word-boundary-function-table>: Doc fix.
* lisp/wdired.el (wdired-xcase-word):
* lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
(texinfo-copy-section-title, texinfo-start-menu-description)
(texinfo-copy-menu-title, texinfo-specific-section-type)
(texinfo-insert-node-lines, texinfo-copy-next-section-title):
* lisp/textmodes/texinfo.el (texinfo-clone-environment)
(texinfo-insert-@end):
* lisp/textmodes/texinfmt.el (texinfo-format-scan)
(texinfo-anchor, texinfo-multitable-widths)
(texinfo-multitable-item):
* lisp/textmodes/tex-mode.el (latex-env-before-change):
* lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
* lisp/skeleton.el (skeleton-insert):
* lisp/simple.el (count-words):
* lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
(vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
(vhdl-update-sensitivity-list, vhdl-template-block)
(vhdl-template-break, vhdl-template-case, vhdl-template-default)
(vhdl-template-default-indent, vhdl-template-for-loop)
(vhdl-template-if-then-use, vhdl-template-bare-loop)
(vhdl-template-nature, vhdl-template-procedural)
(vhdl-template-process, vhdl-template-selected-signal-asst)
(vhdl-template-type, vhdl-template-variable)
(vhdl-template-while-loop, vhdl-beginning-of-block)
(vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
* lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
(verilog-forward-sexp, verilog-beg-of-statement)
(verilog-set-auto-endcomments, verilog-backward-token)
(verilog-do-indent):
* lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
(vera-indent-block-closing):
* lisp/progmodes/simula.el (simula-context)
(simula-backward-up-level, simula-forward-down-level)
(simula-previous-statement, simula-next-statement)
(simula-skip-comment-backward, simula-calculate-indent)
(simula-find-if, simula-electric-keyword):
* lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
* lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
(ruby-smie--forward-token, ruby-smie--backward-token)
(ruby-singleton-class-p, ruby-calculate-indent)
(ruby-forward-sexp, ruby-backward-sexp):
* lisp/progmodes/ps-mode.el (ps-run-goto-error):
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
(perl-syntax-propertize-special-constructs)
(perl-backward-to-start-of-continued-exp):
* lisp/progmodes/pascal.el (pascal-indent-declaration):
* lisp/progmodes/octave.el (octave-function-file-p):
* lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
* lisp/progmodes/js.el (js--forward-function-decl):
* lisp/progmodes/idlwave.el (idlwave-show-begin-check)
(idlwave-beginning-of-block, idlwave-end-of-block)
(idlwave-block-jump-out, idlwave-determine-class):
* lisp/progmodes/icon.el (icon-is-continuation-line)
(icon-backward-to-start-of-continued-exp, end-of-icon-defun):
* lisp/progmodes/hideif.el (hide-ifdef-define):
* lisp/progmodes/f90.el (f90-change-keywords):
* lisp/progmodes/cperl-mode.el (cperl-electric-pod)
(cperl-linefeed, cperl-electric-terminator)
(cperl-find-pods-heres, cperl-fix-line-spacing)
(cperl-invert-if-unless):
* lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
* lisp/progmodes/cc-align.el (c-lineup-java-inher):
* lisp/progmodes/ada-mode.el (ada-compile-goto-error)
(ada-adjust-case-skeleton, ada-create-case-exception)
(ada-create-case-exception-substring)
(ada-case-read-exceptions-from-file, ada-after-keyword-p)
(ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
(ada-get-indent-if, ada-get-indent-block-start)
(ada-get-indent-loop, ada-get-indent-type)
(ada-search-prev-end-stmt, ada-check-defun-name)
(ada-goto-decl-start, ada-goto-matching-start)
(ada-goto-matching-end, ada-looking-at-semi-or)
(ada-looking-at-semi-private, ada-in-paramlist-p)
(ada-search-ignore-complex-boolean, ada-move-to-start)
(ada-move-to-end, ada-which-function, ada-gen-treat-proc):
* lisp/net/quickurl.el (quickurl-grab-url):
* lisp/mail/sendmail.el (mail-do-fcc):
* lisp/mail/rmail.el (rmail-resend):
* lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
* lisp/mail/mail-extr.el (mail-extract-address-components):
* lisp/json.el (json-read-keyword):
* lisp/files.el (insert-directory):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
* lisp/completion.el (symbol-under-point, symbol-before-point)
(symbol-before-point-for-complete, next-cdabbrev)
(add-completions-from-c-buffer):
* lisp/cedet/semantic/texi.el (semantic-up-context)
(semantic-beginning-of-context):
* lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
use 'forward-word-strictly' and 'backward-word-strictly' instead
of 'forward-word' and 'backward-word'.
2016-02-05 23:54:21 +02:00
Paul Eggert
0e963201d0
Update copyright year to 2016
...
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Dmitry Gutov
48471e9614
Don't mistake certain JS method calls for keywords
...
* lisp/progmodes/js.el (js--ctrl-statement-indentation):
Braceless keyword can't come after a period (bug#22063).
2015-12-01 05:41:14 +02:00
Paul Eggert
ac16149ba4
Fix docstring quoting problems with ‘ '’
...
Problem reported by Artur Malabarba in:
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
Most of these fixes are to documentation; many involve fixing
longstanding quoting glitches that are independent of the
recent substitute-command-keys changes. The changes to code are:
* lisp/cedet/mode-local.el (mode-local-augment-function-help)
(describe-mode-local-overload):
Substitute docstrings before displaying them.
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
Quote the generated docstring for later substitution.
2015-11-17 15:29:35 -08:00
Jackson Ray Hamilton
958da7ff63
Add JSX indentation via js-jsx-mode. (Bug#21799)
...
* progmodes/js.el: Add JSX indentation support.
(js-jsx-indent-line)
(js-jsx-mode): New functions.
2015-10-31 13:02:36 -07:00
Dmitry Gutov
360d1d8caa
js-mode: Don't misindent generator methods
...
* lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish
generator methods from multiplication operator
(https://github.com/mooz/js2-mode/issues/275 ).
2015-10-15 22:36:08 +03:00
Dmitry Gutov
166a6556d0
; Remove extraneous "coding: utf-8" specifications in Elisp files
2015-09-29 01:39:46 +03:00
Simen Heggestøyl
1ac5a9c20c
Add prettify-symbols-alist for js-mode
...
* lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
(js-mode): Use it.
2015-09-27 10:04:09 +02:00
Stefan Monnier
2ad2f8b084
* lisp/progmodes/js.el (js--syntax-begin-function): Remove.
...
(js-mode): Don't set syntax-begin-function.
2015-09-20 12:41:03 -04:00
Paul Eggert
284c470ef7
Backslash cleanup in Elisp source files
...
This patch should not change behavior. It typically omits backslashes
where they are redundant (e.g., in the string literal "^\$").
In a few places, insert backslashes where they make regular
expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
"^\\*", which has the same effect as a regular expression.
Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
RCS IDs, as that makes it clearer that the backslash is intended.
2015-09-17 16:09:39 -07:00
Stefan Monnier
9f31fb2a66
* lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
2015-08-21 09:03:52 -04:00
Bozhidar Batsov
83fbe89537
Correct js-mode's lighter
...
* lisp/progmodes/js.el (js-mode): Correct the lighter.
2015-07-19 08:18:56 +03:00
Dmitry Gutov
8b57f12ab7
Consider a jsdoc tag to be a beginning of a paragraph as well
...
* lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
consider a jsdoc tag to be a beginning of a paragraph as well.
2015-07-18 04:01:30 +03:00
Glenn Morris
754fdb1280
* lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
2015-05-05 20:11:22 -07:00
Dmitry Gutov
0b914bada3
; Tweak the previous change
2015-04-03 07:13:14 +03:00
Dmitry Gutov
f2fbd4b712
js-mode: Don't indent inside a multiline string literal
...
* lisp/progmodes/js.el (js-indent-line): Do nothing when bol is inside
a string (https://github.com/mooz/js2-mode/issues/227 ).
2015-04-03 06:37:31 +03:00
Paul Eggert
2a1be9eb23
Prefer "initialize" to "initialise"
...
* lisp/progmodes/js.el (js-indent-first-init):
Rename from js-indent-first-initialiser, to avoid worrying about
American vs British spelling. All uses changed.
* test/indent/js-indent-init-t.js: Rename from
indent/js-indent-first-initialiser-t.js.
* test/indent/js-indent-init-dynamic.js: Rename from
test/indent/js-indent-first-initialiser-dynamic.js.
2015-03-10 16:29:59 -07:00
Glenn Morris
6c9681afe9
* lisp/progmodes/js.el (js-indent-first-initialiser): Fix doc, type, version.
...
First line of the doc string should be a complete sentence.
* etc/NEWS: Mention new option.
# Fix associated ChangeLog entries.
2015-03-10 18:40:09 -04:00
Jackson Ray Hamilton
933e0ab4b0
New indentation option for js-mode
...
* lisp/progmodes/js.el (js--proper-indentation): Add new custom option
`js-indent-first-initialiser' and a function to utilize it,
`js--maybe-goto-declaration-keyword-end'.
* test/indent/js.js: Add local variables.
* test/indent/js-indent-first-initialiser-t.js: New test for
`js-indent-first-initialiser'.
* test/indent/js-indent-first-initialiser-dynamic.js: New test for
`js-indent-first-initialiser'.
2015-03-10 10:19:07 -07:00
Dmitry Gutov
77ab7f8455
Teach js-mode about ES6 template strings
...
* lisp/progmodes/js.el (js-mode-syntax-table): Add an entry for `.
2015-03-05 04:33:36 +02:00
Daniel Colascione
9c64c52b27
Teach js-mode about ES6 generators
...
* lisp/progmodes/js.el (js--function-heading-1-re)
(js--function-prologue-beginning): Parse ES6 generator function
declarations. (That is, "function* name()").
2015-01-09 10:25:50 -08:00
Paul Eggert
7e09ef09a4
Update copyright year to 2015
...
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Fabián Ezequiel Gallina
411c1c6531
Merge from origin/emacs-24
...
216c6aa
* net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use `tramp-rsh-end-of-line', it ought to be more robust.
20cfd24
Improve indexing on the chapter/section/subsection levels.
14c3739
* lisp/progmodes/js.el (js-syntax-propertize): "return" can't be divided.
ea78112
* net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use "\n" as end-of-line delimeter for passwords, when running on MS Windows.
012479a
* lisp/progmodes/sh-script.el: Don't set global indent-line-function
75e114f Fix line numbers on Python shell.
d0fd23c
doc/emacs/buffers.texi (Kill Buffer): Improve indexing.
8e818d1
Keep maximized when going fullscreen.
749813e
python.el: Fix electric colon behavior
936d5e5
Fix last patch.
74d3b20
Fixes: debbugs:18623
Conflicts:
doc/emacs/ChangeLog
doc/lispref/ChangeLog
doc/lispref/functions.texi
lisp/ChangeLog
src/ChangeLog
src/xterm.c
test/ChangeLog
2014-12-27 13:21:17 -03:00
Stefan Monnier
29c5e2cea2
(js-syntax-propertize-regexp): Recognize "slash in a character class"
...
Fixes: debbugs:19397
* lisp/progmodes/js.el (js--syntax-propertize-regexp-syntax-table): New var.
(js-syntax-propertize-regexp): Use it to recognize "slash in
a character class".
2014-12-23 11:17:55 -05:00
Stefan Monnier
14c3739040
* lisp/progmodes/js.el (js-syntax-propertize): "return" can't be divided.
...
Fixes: debbugs:19397
2014-12-23 10:50:36 -05:00
Ted Zlatanov
ba4502fe14
Merge branch 'emacs-24'
...
Conflicts:
nt/addsection.c
nt/inc/ms-w32.h
src/w32.c
2014-11-26 21:31:11 -05:00
Dmitry Gutov
c613f4d6c1
Fix indentation before !=' and after
+='
...
Originally reported in https://github.com/mooz/js2-mode/issues/174 .
* lisp/progmodes/js.el (js--indent-operator-re): Make assignments and
(in)equality operator a separate case.
(js--continued-expression-p): Escape the second `+' in the regexp.
2014-11-16 14:19:16 +02:00
Reuben Thomas
061184b8c6
Add interpreter-mode-alist support for various JavaScript interpreters.
...
* progmodes/js.el: here.
2014-09-17 10:17:27 +01:00
Stefan Monnier
ffa8a2db08
* lisp/progmodes/js.el (js-indent-line): Don't mix columns and chars.
...
Fixes: debbugs:17619
2014-05-31 21:53:04 -04:00
Glenn Morris
d136f18462
Doc fixes
...
* doc/misc/autotype.texi (Skeleton Language):
* doc/misc/message.texi (Header Commands):
* lisp/allout-widgets.el (allout-widgets-tally)
(allout-decorate-item-guides):
* lisp/menu-bar.el (menu-bar-positive-p):
* lisp/minibuffer.el (completion-pcm-complete-word-inserts-delimiters):
* lisp/cedet/ede.el (ede-project-directories, ede-check-project-directory):
* lisp/cedet/semantic/ia-sb.el (semantic-ia-sb-show-doc):
* lisp/cedet/semantic/tag.el (semantic-tag-in-buffer-p):
* lisp/cedet/semantic/bovine/c.el (semantic-tag-abstract-p):
* lisp/gnus/gnus-registry.el (gnus-registry-install-p): Doc fix.
* lisp/progmodes/gdb-mi.el (gdbmi-same-start, gdbmi-is-number):
* lisp/progmodes/js.el (js--inside-param-list-p)
(js--inside-dojo-class-list-p, js--forward-destructuring-spec):
* lisp/progmodes/prolog.el (region-exists-p):
* lisp/progmodes/verilog-mode.el (verilog-scan-cache-ok-p):
* lisp/textmodes/reftex-parse.el (reftex-using-biblatex-p):
* lisp/url/url-parse.el (url-generic-parse-url):
* src/floatfns.c (Fisnan):
* src/profiler.c (Fprofiler_cpu_running_p):
Doc fixes (replace `iff').
Fixes: debbugs:17309
2014-05-01 19:55:25 -04:00
Dmitry Gutov
5af9fbadd1
* lisp/progmodes/js.el (js-indent-line): Don't widen.
...
http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00276.html
2014-02-12 08:23:42 +02:00
Paul Eggert
ba3189039a
Update copyright year to 2014 by running admin/update-copyright.
2014-01-01 07:43:34 +00:00
Dmitry Gutov
47e59c666a
Port indentation code from js2-mode to js-mode
...
* lisp/progmodes/js.el (js-auto-indent-flag): Remove, was unused.
(js-switch-indent-offset): New option.
(js--proper-indentation): Use it. And handle the case when
"default" is actually a key in an object literal.
(js--same-line): New function.
(js--multi-line-declaration-indentation): Use it.
(js--indent-in-array-comp, js--array-comp-indentation): New
functions.
(js--proper-indentation): Use them, to handle array comprehension
continuations.
2013-12-08 18:08:45 +02:00
Mihir Rege
64e415297c
* lisp/progmodes/js.el (js--ctrl-statement-indentation): Fix indent
...
when control-statement is the first statement in a buffer.
Fixes: debbugs:15956
2013-11-25 00:01:08 +02:00
Stefan Monnier
54bd972f15
* lisp/subr.el (define-error): New function.
...
* doc/lispref/control.texi (Signaling Errors): Refer to define-error.
(Error Symbols): Add `define-error'.
* doc/lispref/errors.texi (Standard Errors): Don't refer to `error-conditions'.
* lisp/progmodes/ada-xref.el (ada-error-file-not-found): Rename from
error-file-not-found and define with define-error.
* lisp/emacs-lisp/cl-lib.el (cl-assertion-failed): Move here from subr.el
and define with define-error.
* lisp/userlock.el (file-locked, file-supersession):
* lisp/simple.el (mark-inactive):
* lisp/progmodes/js.el (js-moz-bad-rpc, js-js-error):
* lisp/progmodes/ada-mode.el (ada-mode-errors):
* lisp/play/life.el (life-extinct):
* lisp/nxml/xsd-regexp.el (xsdre-invalid-regexp, xsdre-parse-error):
* lisp/nxml/xmltok.el (xmltok-markup-declaration-parse-error):
* lisp/nxml/rng-util.el (rng-error):
* lisp/nxml/rng-uri.el (rng-uri-error):
* lisp/nxml/rng-match.el (rng-compile-error):
* lisp/nxml/rng-cmpct.el (rng-c-incorrect-schema):
* lisp/nxml/nxml-util.el (nxml-error, nxml-file-parse-error):
* lisp/nxml/nxml-rap.el (nxml-scan-error):
* lisp/nxml/nxml-outln.el (nxml-outline-error):
* lisp/net/soap-client.el (soap-error):
* lisp/net/gnutls.el (gnutls-error):
* lisp/net/ange-ftp.el (ftp-error):
* lisp/mpc.el (mpc-proc-error):
* lisp/json.el (json-error, json-readtable-error, json-unknown-keyword)
(json-number-format, json-string-escape, json-string-format)
(json-key-format, json-object-format):
* lisp/jka-compr.el (compression-error):
* lisp/international/quail.el (quail-error):
* lisp/international/kkc.el (kkc-error):
* lisp/emacs-lisp/ert.el (ert-test-failed):
* lisp/calc/calc.el (calc-error, inexact-result, math-overflow)
(math-underflow):
* lisp/bookmark.el (bookmark-error-no-filename):
* lisp/epg.el (epg-error): Define with define-error.
2013-08-09 17:22:44 -04:00
Glenn Morris
43cc956bb8
* lisp/progmodes/js.el (js--optimize-arglist): Declare.
2013-05-23 20:50:31 -07:00
Glenn Morris
8fa2398418
Silence some js compilation warnings
...
* lisp/progmodes/js.el: No need to load comint when compiling.
(ring-insert, comint-send-string, comint-send-input)
(comint-last-input-end, ido-chop): Declare.
2013-05-23 00:37:56 -07:00
Dmitry Gutov
94e48c7d75
* lisp/progmodes/js.el (js--multi-line-declaration-indentation): Merge
...
from js2-mode (https://github.com/mooz/js2-mode/issues/89 ).
2013-03-07 20:08:33 +04:00
Juanma Barranquero
d6596b941f
lisp/progmodes/js.el: Silence byte-compiler warning.
2013-02-13 01:53:07 +01:00
Leo Liu
b117094709
* lisp/progmodes/js.el: Tweak autoload cookie for alias.
2013-01-19 02:22:18 +08:00
Felix H. Dahlke
f90ff90659
* lisp/progmodes/js.el: Fix multiline declarations's indentation.
...
(js--declaration-keyword-re): New var.
(js--multi-line-declaration-indentation): New function.
(js--proper-indentation): Use it.
Fixes: debbugs:8576
2013-01-11 18:24:52 -05:00