1. 15 Sep, 2013 1 commit
  2. 03 Sep, 2013 1 commit
  3. 29 May, 2013 1 commit
  4. 25 May, 2013 1 commit
  5. 24 May, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/smie.el (smie-auto-fill): Rework to be more robust. · 650cff3d
      Stefan Monnier authored
      (smie-setup): Use add-function to set it.
      
      * lisp/progmodes/octave.el (octave-smie-rules): Return nil rather than
      0 after a semi-colon; it works better for smie-auto-fill.
      (octave--indent-new-comment-line): New function.
      (octave-indent-new-comment-line): Use it (indirectly).
      (octave-mode): Don't disable smie-auto-fill.  Use add-function to
      modify comment-line-break-function.
      650cff3d
  6. 19 May, 2013 1 commit
    • Dmitry Gutov's avatar
      * lisp/progmodes/ruby-mode.el (ruby-expression-expansion-re): Allow to · 1a0a0a8a
      Dmitry Gutov authored
      start at point, so that expansion starting right after opening
      slash in a regexp is recognized.
      (ruby-syntax-before-regexp-re): New defvar, extracted from
      ruby-syntax-propertize-function.  Since the value of this regexp
      is looked up at runtime now, we should be able to turn
      `ruby-syntax-methods-before-regexp' into a defcustom later.
      (ruby-syntax-propertize-function): Split regexp matching into two
      parts, for opening and closing slashes.  That allows us to skip
      over string interpolations and support multiline regexps.
      Don't call `ruby-syntax-propertize-expansions', instead use another rule
      for them, which calls `ruby-syntax-propertize-expansion'.
      (ruby-syntax-propertize-expansions): Move `remove-text-properties'
      call to `ruby-syntax-propertize-function'.
      (ruby-syntax-propertize-expansion): Extracted from
      `ruby-syntax-propertize-expansions'.  Handles one expansion.
      (ruby-syntax-propertize-heredoc): Explicitly call
      `ruby-syntax-propertize-expansions'.
      (ruby-syntax-propertize-percent-literal): Leave point right after
      the percent symbol, so that the expression expansion rule can
      propertize the contents.
      
      * test/automated/ruby-mode-tests.el (ruby-heredoc-highlights-interpolations)
      (ruby-regexp-skips-over-interpolation)
      (ruby-regexp-continues-till-end-when-unclosed)
      (ruby-regexp-can-be-multiline)
      (ruby-interpolation-inside-percent-literal): New tests.
      
      * test/indent/ruby.rb: Add multiline regexp example.
      1a0a0a8a
  7. 08 May, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/progmodes/ruby-mode.el: First cut at SMIE support. · a9e4425b
      Stefan Monnier authored
      (ruby-use-smie): New var.
      (ruby-smie-grammar): New constant.
      (ruby-smie--bosp, ruby-smie--implicit-semi-p)
      (ruby-smie--forward-token, ruby-smie--backward-token)
      (ruby-smie-rules): New functions.
      (ruby-mode-variables): Setup SMIE if applicable.
      * test/indent/ruby.rb: Fix indentation after =; add more cases.
      a9e4425b
  8. 06 May, 2013 1 commit
  9. 05 May, 2013 1 commit
  10. 05 Mar, 2013 1 commit
  11. 31 Jan, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/progmodes/opascal.el: Rename from delphi.el. Use lexical-binding. · c4f268a1
      Stefan Monnier authored
      (opascal-newline-always-indents): Remove custom.
      (opascal-tab, opascal-newline): Remove commands.
      (opascal-new-comment-line): Insert "\n" instead of calling newline.
      (opascal-mode-map): Keep default bindings for RET and TAB and DEL.
      (opascal-save-match-data): Remove, use save-match-data instead.
      (opascal-save-state): Use with-silent-modifications.
      c4f268a1
  12. 04 Jan, 2013 1 commit
  13. 01 Jan, 2013 1 commit
  14. 31 Dec, 2012 1 commit
  15. 31 Oct, 2012 2 commits
  16. 29 Oct, 2012 1 commit
  17. 14 Aug, 2012 1 commit
  18. 17 Jul, 2012 2 commits
  19. 28 Apr, 2012 1 commit
  20. 24 Apr, 2012 1 commit
  21. 19 Dec, 2011 1 commit
  22. 13 Dec, 2011 1 commit
  23. 23 Nov, 2011 1 commit
  24. 14 Nov, 2011 1 commit
  25. 09 Feb, 2011 1 commit
  26. 13 Jan, 2011 1 commit
  27. 11 Nov, 2010 1 commit
    • Stefan Monnier's avatar
      * lisp/progmodes/modula2.el: Use SMIE and skeleton. · cbf83ce9
      Stefan Monnier authored
      (m2-mode-syntax-table): (*..*) can be nested.
      Add //...\n.  Fix paren syntax.
      (m2-mode-map): Remove LF and TAB bindings.
      (m2-indent): Add safety property.
      (m2-smie-grammar): New var.
      (m2-smie-refine-colon, m2-smie-refine-of, m2-smie-backward-token)
      (m2-smie-forward-token, m2-smie-refine-semi, m2-smie-rules): New funs.
      (m2-mode): Use define-derived-mode.
      (m2-newline, m2-tab): Remove.
      (m2-begin, m2-case, m2-definition, m2-else, m2-for, m2-header)
      (m2-if, m2-loop, m2-module, m2-or, m2-procedure, m2-with, m2-record)
      (m2-stdio, m2-type, m2-until, m2-var, m2-while, m2-export)
      (m2-import): Use define-skeleton.
      * test/indent/modula2.mod: New file.
      cbf83ce9
  28. 27 Oct, 2010 1 commit
  29. 20 Sep, 2010 1 commit
  30. 18 Sep, 2010 1 commit
  31. 10 Sep, 2010 1 commit
    • Stefan Monnier's avatar
      New syntax-propertize functionality. · cf38dd42
      Stefan Monnier authored
      * 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.
      cf38dd42
  32. 30 Aug, 2010 1 commit
    • Stefan Monnier's avatar
      Use SMIE for octave-mode. · e17b68ed
      Stefan Monnier authored
      * test/indent/octave.m: New file.
      * lisp/progmodes/octave-mod.el (octave-font-lock-keywords): Use regexp-opt.
      (octave-mode-map): Remove special bindings for forward/backward-block
      and octave-backward-up-block.  Use smie-close-block.
      (octave-continuation-marker-regexp): New var.
      (octave-continuation-regexp): Use it.
      (octave-operator-table, octave-smie-op-levels)
      (octave-operator-regexp, octave-smie-indent-rules): New vars.
      (octave-smie-backward-token, octave-smie-forward-token): New funs.
      (octave-mode): Use SMIE.
      (octave-close-block): Delete.
      e17b68ed
  33. 02 Jun, 2010 1 commit