1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-22 13:40:44 -08:00
Commit graph

180 commits

Author SHA1 Message Date
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
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Chong Yidong
92eadba57f Convert several major modes to setq-local.
* emacs-lisp/lisp-mode.el (lisp-mode-variables, lisp-mode):
* progmodes/autoconf.el (autoconf-mode):
* progmodes/js.el (js-mode):
* progmodes/make-mode.el (makefile-mode, makefile-makepp-mode)
(makefile-bsdmake-mode, makefile-imake-mode, makefile-browse):
* progmodes/perl-mode.el (perl-mode):
* progmodes/sh-script.el (sh-mode, sh-set-shell):
* textmodes/css-mode.el (css-mode):
* textmodes/sgml-mode.el (html-mode, sgml-mode)
(sgml-tags-invisible, sgml-guess-indent):
* textmodes/tex-mode.el (tex-common-initialization)
(latex-complete-bibtex-keys, tex-shell, tex-main-file)
(doctex-mode, plain-tex-mode, latex-mode):
* textmodes/texinfo.el (texinfo-mode): Use setq-local.
2012-12-01 12:09:55 +08:00
Stefan Monnier
be883b34f2 * lisp/progmodes/js.el: Prefer advice to cl-letf's sneaky rebinding.
(c-forward-sws, c-backward-sws, c-beginning-of-macro): Advise.
(js--filling-paragraph): New var.
(js-c-fill-paragraph): Bind it instead of letf-ing the functions.
2012-11-08 14:44:52 -05:00
Daiki Ueno
37219830c7 Add :safe for js indent variables.
Fixes: debbugs:12257
2012-08-22 14:35:38 +09:00
Stefan Monnier
a464a6c73a More CL cleanups and reduction of use of cl.el.
* woman.el, winner.el, vc/vc-rcs.el, vc/vc-hooks.el, vc/vc-hg.el:
* vc/vc-git.el, vc/vc-dir.el, vc/vc-bzr.el, vc/vc-annotate.el:
* textmodes/tex-mode.el, textmodes/sgml-mode.el, tar-mode.el:
* strokes.el, ses.el, server.el, progmodes/js.el, progmodes/gdb-mi.el:
* progmodes/flymake.el, progmodes/ebrowse.el, progmodes/compile.el:
* play/tetris.el, play/snake.el, play/pong.el, play/landmark.el:
* play/hanoi.el, play/decipher.el, play/5x5.el, nxml/nxml-mode.el:
* net/secrets.el, net/quickurl.el, midnight.el, mail/footnote.el:
* image-dired.el, ibuffer.el, ibuf-macs.el, ibuf-ext.el, hexl.el:
* eshell/eshell.el, eshell/esh-io.el, eshell/esh-ext.el:
* eshell/esh-cmd.el, eshell/em-ls.el, eshell/em-hist.el:
* eshell/em-cmpl.el, eshell/em-banner.el:
* url/url.el, url/url-queue.el, url/url-parse.el, url/url-http.el:
* url/url-future.el, url/url-dav.el, url/url-cookie.el:
* calendar/parse-time.el, test/eshell.el: Use cl-lib.
* wid-browse.el, wdired.el, vc/vc.el, vc/vc-mtn.el, vc/vc-cvs.el:
* vc/vc-arch.el, tree-widget.el, textmodes/texinfo.el:
* textmodes/refill.el, textmodes/css-mode.el, term/tvi970.el:
* term/ns-win.el, term.el, shell.el, ps-samp.el:
* progmodes/perl-mode.el, progmodes/pascal.el, progmodes/gud.el:
* progmodes/glasses.el, progmodes/etags.el, progmodes/cwarn.el:
* play/gamegrid.el, play/bubbles.el, novice.el, notifications.el:
* net/zeroconf.el, net/xesam.el, net/snmp-mode.el, net/mairix.el:
* net/ldap.el, net/eudc.el, net/browse-url.el, man.el:
* mail/mailheader.el, mail/feedmail.el:
* url/url-util.el, url/url-privacy.el, url/url-nfs.el, url/url-misc.el:
* url/url-methods.el, url/url-gw.el, url/url-file.el, url/url-expand.el:
Dont use CL.
* ibuf-ext.el (ibuffer-mark-old-buffers): Use float-time.
* eshell/esh-opt.el (eshell-eval-using-options): Quote code with
`lambda' rather than with `quote'.
(eshell-do-opt): Adjust accordingly.
(eshell-process-option): Simplify.
* eshell/esh-var.el:
* eshell/em-script.el: Require `esh-opt' for eshell-eval-using-options.
* emacs-pcase.el (pcase--dontcare-upats, pcase--let*)
(pcase--expand, pcase--u1): Rename pcase's internal `dontcare' pattern
to `pcase--dontcare'.
* emacs-cl.el (labels): Mark obsolete.
(cl--letf, letf): Move to cl-lib.
(cl--letf*, letf*): Remove.
* emacs-cl-lib.el (cl-nth-value): Use defalias.
* emacs-cl-macs.el (cl-dolist, cl-dotimes): Add indent rule.
(cl-progv): Rewrite.
(cl--letf, cl-letf): Move from cl.el.
(cl-letf*): New macro.
* emacs-cl-extra.el (cl--progv-before, cl--progv-after): Remove.
2012-07-11 19:13:41 -04:00
Stefan Monnier
d5c6faf921 * lisp/emacs-lisp/cl.el (flet): Mark obsolete.
* lisp/emacs-lisp/cl-macs.el (cl-flet*): New macro.
* lisp/vc/vc-rcs.el (vc-rcs-annotate-command, vc-rcs-parse):
* lisp/progmodes/js.el (js-c-fill-paragraph):
* lisp/progmodes/ebrowse.el (ebrowse-switch-member-buffer-to-sibling-class)
(ebrowse-switch-member-buffer-to-derived-class):
* test/automated/ert-x-tests.el (ert-test-run-tests-interactively-2):
* lisp/play/5x5.el (5x5-solver): Use cl-flet.

Fixes: debbugs:11780
2012-06-27 11:11:28 -04:00
Stefan Monnier
a8d3cbf75d * lisp/progmodes/js.el: Add notes in comments. 2012-05-25 11:03:22 -04:00
Stefan Monnier
e95a67dc75 Replace lexical-let by lexical-binding (except Gnus, CEDET, ERT).
* lisp/term/ns-win.el (ns-define-service):
* lisp/progmodes/pascal.el (pascal-goto-defun):
* lisp/progmodes/js.el (js--read-tab):
* lisp/progmodes/etags.el (tags-lazy-completion-table):
* lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
* lisp/emacs-lisp/ewoc.el (ewoc--wrap):
* lisp/emacs-lisp/assoc.el (aput, adelete, amake):
* lisp/doc-view.el (doc-view-convert-current-doc):
* lisp/url/url.el (url-retrieve-synchronously):
* lisp/vc/diff.el (diff-no-select): Replace lexical-let by lexical-binding.
2012-04-26 08:43:28 -04:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Paul Eggert
22bcf20469 Spelling fixes. 2011-12-30 17:27:15 -08:00
Paul Eggert
c80e3b4aed Spelling fixes. 2011-12-04 00:02:42 -08:00
Paul Eggert
5396468298 Spelling fixes. 2011-11-19 01:18:31 -08:00
Paul Eggert
4c36be58ca Spelling fixes. 2011-11-17 01:09:20 -08:00
Paul Eggert
da6062e6ea Spelling fixes. 2011-11-14 23:55:13 -08:00
Stefan Monnier
6cd18349b8 * lisp/progmodes/js.el (js-syntax-propertize, js-syntax-propertize-regexp):
New function.
(js--regexp-literal, js-syntax-propertize-function): Remove.
(js-mode): Use js-syntax-propertize to handle multilines.
(js-mode-map): Don't rebind electric keys.
(js-insert-and-indent): Remove.
(js-mode): Setup electric-layout and electric-indent instead.

Fixes: debbugs:9183
2011-08-12 11:32:39 -04:00
Stefan Monnier
4640dd881c * lisp/progmodes/js.el (js--regexp-literal): Accept regexps at the beginning
of statements and in a few more cases.

Fixes: debbugs:9183
2011-08-05 15:53:46 -04:00
Lawrence Mitchell
1fa280a3de * lisp/progmodes/js.el (js-mode): Don't stomp on global settings.
Fixes: debbugs:8933
2011-06-30 12:22:33 -04:00