Commit graph

33 commits

Author SHA1 Message Date
Stefan Monnier
dfbd787fe6 * lisp/progmodes/ruby-mode.el: Simplify last change, and cleanup code.
(ruby-syntax-propertize-regexp): Remove.
(ruby-syntax-propertize-function): Split regexp into chunks.
Match following code directly.
* test/indent/ruby.rb: New file, to test new syntax-propertize code.
2012-04-24 13:06:12 -04:00
Dmitry Gutov
51a8ea2acf * lisp/progmodes/ruby-mode.el: Handle Cucumber defs (bug#6286).
(ruby-syntax-propertize-regexp): New function.
(ruby-syntax-propertize-function): Use it to handle regexp not preceded
by a special keyword.
2012-04-24 12:00:08 -04:00
Dmitry Gutov
85222d4485 * lisp/progmodes/ruby-mode.el: Handle general delimited literals.
(ruby-syntax-general-delimiters-goto-beg)
(ruby-syntax-propertize-general-delimiters): New functions.
(ruby-syntax-propertize-function): Use them to handle GDL.
(ruby-font-lock-keywords): Move old handling of GDL...
(ruby-font-lock-syntactic-keywords): .. to here.
(ruby-calculate-indent): Adjust indentation for GDL.

Fixes: debbugs:6286
2012-04-24 11:51:14 -04:00
Dmitry Gutov
396750161e * lisp/progmodes/ruby-mode.el: Don't confuse "end:" for "end".
(ruby-block-end-re, ruby-delimiter, ruby-parse-partial)
(ruby-beginning-of-indent): Be more careful with the difference
between word-boundary and symbol boundary.
(ruby-mode-syntax-table): Make : a symbol constituent.

Fixes: debbugs:10786
2012-03-21 14:33:07 -04:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Stefan Monnier
0adf561883 Fix misuse of quote in `case'.
* lisp/progmodes/ruby-mode.el (ruby-backward-sexp):
* lisp/progmodes/ebrowse.el (ebrowse-draw-file-member-info):
* lisp/play/gamegrid.el (gamegrid-make-face):
* lisp/play/bubbles.el (bubbles--grid-width, bubbles--grid-height)
(bubbles--colors, bubbles--shift-mode, bubbles--initialize-images):
* lisp/notifications.el (notifications-notify):
* lisp/net/xesam.el (xesam-search-engines):
* lisp/net/quickurl.el (quickurl-list-insert):
* lisp/vc/vc-hg.el (vc-hg-dir-printer): Fix use of case.
* lisp/gnus/auth-source.el (auth-source-netrc-create):
* lisp/gnus/message.el (message-yank-original): Fix use of `case'.
* lisp/org/org-src.el (org-src-switch-to-buffer):
* lisp/org/org-plot.el (org-plot/gnuplot-script, org-plot/gnuplot):
* lisp/org/org-mouse.el (org-mouse-agenda-type):
* lisp/org/org-freemind.el (org-freemind-node-to-org):
* lisp/org/ob-sql.el (org-babel-execute:sql):
* lisp/org/ob-exp.el (org-babel-exp-do-export, org-babel-exp-code):
* lisp/org/ob-ref.el (org-babel-ref-resolve): Fix use of case.
2011-03-15 13:39:56 -04:00
Stefan Monnier
89fdaac7aa * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize-function):
Copy change made to ruby-font-lock-syntactic-keywords.
2011-01-27 12:07:48 -05:00
Glenn Morris
95df8112a0 Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
06d8ace515 Merge from emacs-23.
Note setting of CANNOT_DUMP on ia64 hpux is still to be merged manually.
2011-01-24 19:47:47 -08:00
Stefan Monnier
21bb5ce0dd * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize-function):
Handle ?" and friends differently (e.g. don't use backrefs).

Fixes: debbugs:7735
2011-01-24 14:47:46 -05:00
Nobuyoshi Nakada
cc9c9831b9 Merge several fixes from upsteam ruby-mode.
* lisp/progmodes/ruby-mode.el (ruby-here-doc-beg-match): Fix for
here-doc which ends with an underscore.
(ruby-mode-set-encoding): Skip shebang line always.
(ruby-mode-map): Bind C-c C-c to comment-region.
(ruby-expr-beg, ruby-font-lock-keywords): Highlight literal hash
key labels as symbols.
(ruby-forward-sexp): Stop after literal hash key labels.
(ruby-font-lock-syntactic-keywords): Highlight regexp after open
bracket.
2011-01-22 20:02:37 -05:00
Glenn Morris
e9bffc61f2 Refill some copyright headers. 2011-01-15 18:21:30 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Glenn Morris
e180ab9fde Replace end-of-line, save-excursion etc with point-at-eol, point-at-bol.
* lisp/mh-e/mh-seq.el (mh-read-msg-list): Use point-at-eol.

* lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-show-infos)
(gnus-bookmark-kill-line): Use point-at-eol.

* lisp/cedet/ede/proj-elisp.el (ede-proj-flush-autoconf): Use point-at-bol.

* lisp/emacs-lisp/chart.el (chart-zap-chars):
* lisp/play/decipher.el (decipher-set-map):
* lisp/progmodes/ada-mode.el (ada-get-current-indent)
(ada-search-ignore-string-comment, ada-tab-hard, ada-untab-hard):
* lisp/progmodes/ada-prj.el (ada-prj-load-from-file, ada-prj-display-help):
* lisp/progmodes/ada-xref.el (ada-initialize-runtime-library)
(ada-get-all-references):
* lisp/progmodes/cperl-mode.el (cperl-electric-paren)
(cperl-electric-rparen, cperl-electric-keyword, cperl-electric-else)
(cperl-linefeed, cperl-sniff-for-indent, cperl-to-comment-or-eol)
(cperl-find-pods-heres, cperl-indent-exp, cperl-fix-line-spacing)
(cperl-word-at-point-hard):
* lisp/progmodes/idlw-shell.el (idlwave-shell-move-or-history)
(idlwave-shell-filename-string, idlwave-shell-batch-command)
(idlwave-shell-display-line):
* lisp/progmodes/idlwave.el (idlwave-show-begin, idlwave-fill-paragraph)
(idlwave-calc-hanging-indent, idlwave-auto-fill, idlwave-template):
* lisp/progmodes/js.el (js--re-search-forward-inner)
(js--re-search-backward-inner):
* lisp/progmodes/vhdl-mode.el (vhdl-align-region-1, vhdl-align-region-2)
(vhdl-fix-clause, vhdl-compose-configuration-architecture):
* lisp/progmodes/ruby-mode.el (ruby-parse-partial, eval-when-compile):
* lisp/textmodes/flyspell.el (flyspell-process-localwords):
* lisp/textmodes/ispell.el (ispell-buffer-local-parsing)
(ispell-buffer-local-dict, ispell-buffer-local-words):
Use point-at-bol and point-at-eol.
2010-11-06 18:36:33 -07:00
Glenn Morris
f4ff702e28 * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize-heredoc): Declare. 2010-10-31 23:00:04 -07:00
Stefan Monnier
2122161f8d * lisp/electric.el (electric-indent-chars): Autoload.
* lisp/progmodes/octave-mod.el (octave-mode):
* lisp/progmodes/ruby-mode.el (ruby-mode): Take advantage of it.
(ruby-mode-abbrev-table): Merge initialization and declaration.
2010-10-27 10:26:01 -04:00
Stefan Monnier
cf38dd4298 New syntax-propertize functionality.
* lisp/font-lock.el (font-lock-syntactic-keywords): Make obsolete.
(font-lock-fontify-syntactic-keywords-region): Move handling of
font-lock-syntactically-fontified to...
(font-lock-default-fontify-region): ...here.
Let syntax-propertize-function take precedence.
(font-lock-fontify-syntactically-region): Cal syntax-propertize.

* lisp/emacs-lisp/regexp-opt.el (regexp-opt-depth): Skip named groups.

* lisp/emacs-lisp/syntax.el (syntax-propertize-function)
(syntax-propertize-chunk-size, syntax-propertize--done)
(syntax-propertize-extend-region-functions): New vars.
(syntax-propertize-wholelines, syntax-propertize-multiline)
(syntax-propertize--shift-groups, syntax-propertize-via-font-lock)
(syntax-propertize): New functions.
(syntax-propertize-rules): New macro.
(syntax-ppss-flush-cache): Set syntax-propertize--done.
(syntax-ppss): Call syntax-propertize.

* lisp/progmodes/ada-mode.el (ada-set-syntax-table-properties)
(ada-after-change-function, ada-initialize-syntax-table-properties)
(ada-handle-syntax-table-properties): Only define when
syntax-propertize is not available.
(ada-mode): Use syntax-propertize-function.

* lisp/progmodes/autoconf.el (autoconf-mode):
Use syntax-propertize-function.
(autoconf-font-lock-syntactic-keywords): Remove.

* lisp/progmodes/cfengine.el (cfengine-mode):
Use syntax-propertize-function.
(cfengine-font-lock-syntactic-keywords): Remove.

* lisp/progmodes/cperl-mode.el (cperl-mode): Use syntax-propertize-function.

* lisp/progmodes/fortran.el (fortran-mode): Use syntax-propertize-function.
(fortran--font-lock-syntactic-keywords): New var.
(fortran-line-length): Update syntax-propertize-function and
fortran--font-lock-syntactic-keywords.

* lisp/progmodes/gud.el (gdb-script-syntax-propertize-function): New var;
replaces gdb-script-font-lock-syntactic-keywords.
(gdb-script-mode): Use it.

* lisp/progmodes/js.el (js--regexp-literal): Define while compiling.
(js-syntax-propertize-function): New var; replaces
js-font-lock-syntactic-keywords.
(js-mode): Use it.

* lisp/progmodes/make-mode.el (makefile-syntax-propertize-function):
New var; replaces makefile-font-lock-syntactic-keywords.
(makefile-mode): Use it.
(makefile-imake-mode): Adjust.

* lisp/progmodes/mixal-mode.el (mixal-syntax-propertize-function): New var;
replaces mixal-font-lock-syntactic-keywords.
(mixal-mode): Use it.

* lisp/progmodes/octave-mod.el (octave-syntax-propertize-sqs): New function
to replace octave-font-lock-close-quotes.
(octave-syntax-propertize-function): New function to replace
octave-font-lock-syntactic-keywords.
(octave-mode): Use it.

* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function): New fun to
replace perl-font-lock-syntactic-keywords.
(perl-syntax-propertize-special-constructs): New fun to replace
perl-font-lock-special-syntactic-constructs.
(perl-font-lock-syntactic-face-function): New fun.
(perl-mode): Use it.

* lisp/progmodes/python.el (python-syntax-propertize-function): New var to
replace python-font-lock-syntactic-keywords.
(python-mode): Use it.
(python-quote-syntax): Simplify and adjust to new use.

* lisp/progmodes/ruby-mode.el (ruby-here-doc-beg-re):
Define while compiling.
(ruby-here-doc-end-re, ruby-here-doc-beg-match)
(ruby-font-lock-syntactic-keywords, ruby-comment-beg-syntax)
(syntax-ppss, ruby-in-ppss-context-p, ruby-in-here-doc-p)
(ruby-here-doc-find-end, ruby-here-doc-beg-syntax)
(ruby-here-doc-end-syntax): Only define when
syntax-propertize is not available.
(ruby-syntax-propertize-function, ruby-syntax-propertize-heredoc):
New functions.
(ruby-in-ppss-context-p): Update to new syntax of heredocs.
(electric-indent-chars): Silence bytecompiler.
(ruby-mode): Use prog-mode, syntax-propertize-function, and
electric-indent-chars.

* lisp/progmodes/sh-script.el (sh-st-symbol): Remove.
(sh-font-lock-close-heredoc, sh-font-lock-open-heredoc): Add eol arg.
(sh-font-lock-flush-syntax-ppss-cache, sh-font-lock-here-doc): Remove.
(sh-font-lock-quoted-subshell): Assume we've already matched $(.
(sh-font-lock-paren): Set syntax-multiline.
(sh-font-lock-syntactic-keywords): Remove.
(sh-syntax-propertize-function): New function to replace it.
(sh-mode): Use it.

* lisp/progmodes/simula.el (simula-syntax-propertize-function): New var to
replace simula-font-lock-syntactic-keywords.
(simula-mode): Use it.

* lisp/progmodes/tcl.el (tcl-syntax-propertize-function): New var to
replace tcl-font-lock-syntactic-keywords.
(tcl-mode): Use it.

* lisp/progmodes/vhdl-mode.el (vhdl-mode): Use syntax-propertize-function
if available.
(vhdl-fontify-buffer): Adjust.

* lisp/textmodes/bibtex.el (bibtex-mode): Use syntax-propertize-function.

* lisp/textmodes/reftex.el (font-lock-syntactic-keywords): Don't declare
since we don't use it.

* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-function): New var to
replace sgml-font-lock-syntactic-keywords.
(sgml-mode): Use it.

* lisp/textmodes/tex-mode.el (tex-common-initialization, doctex-mode):
Use syntax-propertize-function.

* lisp/textmodes/texinfo.el (texinfo-syntax-propertize-function): New fun
to replace texinfo-font-lock-syntactic-keywords.
(texinfo-mode): Use it.

* test/indent/octave.m: Remove some `fixindent' not needed any more.
2010-09-11 01:13:42 +02:00
Kevin Ryde
44a41a47d1 * progmodes/ruby-mode.el (ruby): Add defgroup. 2010-08-24 16:29:44 -04:00
Chong Yidong
2286174ec6 * progmodes/ruby-mode.el (ruby-mode-map): Don't bind TAB.
(ruby-mode): Bind indent-line-function (Bug#5119).
2010-06-27 14:18:49 -04:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Dan Nicolaescu
a7610c523c * textmodes/tex-mode.el (tex-dvi-view-command)
(tex-show-queue-command, tex-open-quote):
* progmodes/ruby-mode.el (auto-mode-alist)
(interpreter-mode-alist): Purecopy strings.

* emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Purecopy item names.

* emacs-lisp/derived.el (define-derived-mode): Purecopy the doc
string for the hook, keymap and abbrev table.

* emacs-lisp/byte-run.el (make-obsolete): Purecopy the current name.

* x-dnd.el (x-dnd-xdnd-to-action):
* startup.el (fancy-startup-text, fancy-about-text): Change to
defconst from defvar.

* ps-print.el (ps-page-dimensions-database): Purecopy initial value.

* mouse.el (mouse-buffer-menu-mode-groups, x-fixed-font-alist):
Purecopy initialization strings.

* mail/sendmail.el (mail-header-separator)
(mail-personal-alias-file):
* mail/rmail.el (rmail-default-dont-reply-to-names)
(rmail-ignored-headers, rmail-retry-ignored-headers)
(rmail-highlighted-headers, rmail-secondary-file-directory)
(rmail-secondary-file-regexp):
* files.el (null-device, file-name-invalid-regexp)
(locate-dominating-stop-dir-regexp)
(inhibit-first-line-modes-regexps): Purecopy initialization
strings.
(interpreter-mode-alist): Use mapcar instead of mapc.

* buff-menu.el (Buffer-menu-mode-map): Purecopy name.

* bindings.el (mode-line-major-mode-keymap): Purecopy name.
(completion-ignored-extensions):
(debug-ignored-errors): Purecopy strings.
2009-10-26 06:43:36 +00:00
Chong Yidong
1147352943 * progmodes/ruby-mode.el (ruby-parse-partial, ruby-font-lock-keywords): Support overloadable negative operators (Bug#3587). 2009-06-17 15:16:17 +00:00
Chong Yidong
4d27053708 Autoload other interpreter names. 2009-01-19 16:58:34 +00:00
Glenn Morris
c5220417f4 Comments (minor fixes of some header conventions). 2009-01-10 22:08:37 +00:00
Glenn Morris
ae940284fa Add 2009 to copyright years. 2009-01-05 03:18:22 +00:00
Glenn Morris
5463027f0c Fix whitespace in copyright years. 2008-12-19 05:25:25 +00:00
Miles Bader
bb47268440 Add arch tagline 2008-12-12 02:21:58 +00:00
Juanma Barranquero
94584c3425 Fix typo. 2008-12-11 11:06:46 +00:00
Juanma Barranquero
ee61fe97ea * progmodes/ruby-mode.el (ruby-mode-abbrev-table, ruby-mode-map)
(ruby-mode-syntax-table, ruby-indent-tabs-mode, ruby-indent-level)
  (ruby-mode-variables, ruby-indent-line, ruby-indent-size)
  (ruby-calculate-indent, ruby-electric-brace, ruby-beginning-of-defun)
  (ruby-here-doc-beg-syntax, ruby-here-doc-end-syntax)
  (ruby-font-lock-syntax-table, ruby-font-lock-keywords)
  (ruby-end-of-defun, ruby-move-to-block, ruby-forward-sexp)
  (ruby-backward-sexp, ruby-add-log-current-method)
  (ruby-font-lock-syntactic-keywords, ruby-comment-beg-syntax)
  (ruby-in-here-doc-p, ruby-mode): Fix typos in docstrings.
  (ruby-deep-indent-paren): Doc fix.
  (ruby-insert-encoding-magic-comment): Remove * from docstring.
  (ruby-here-doc-find-end): Reflow docstring.
2008-12-11 11:03:42 +00:00
Chong Yidong
ebcba96ba3 Fix auto-mode-alist entry. 2008-12-11 02:01:55 +00:00
Chong Yidong
c7fbbc3c6f New file. 2008-12-10 18:59:26 +00:00