1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-23 08:20:41 -08:00
Commit graph

5813 commits

Author SHA1 Message Date
Dmitry Gutov
b520f210b1 * lisp/progmodes/ruby-mode.el (ruby-align-to-stmt-keywords): New
option. 
(ruby-smie--indent-to-stmt-p): Use it.
(ruby-smie-rules): Revert the logic in the handling of `when'.
Expand the `begin' clause to handle `ruby-align-to-stmt-keywords'.
(ruby-deep-arglist, ruby-deep-indent-paren)
(ruby-deep-indent-paren-style): Update docstrings to note that the
vars don't have any effect with SMIE.

* test/automated/ruby-mode-tests.el: Add tests for
`ruby-align-to-stmt-keywords'.

* test/indent/ruby.rb: Update examples to reflect the lack of change in
default indentation of `begin' blocks.

Fixes: debbugs:16182
2013-12-20 07:20:33 +02:00
Rüdiger Sonderfeld
51d971b429 octave-mode: Link to manual.
* lisp/progmodes/octave.el (octave): Add link to manual and octave
  homepage.
  (octave-mode-menu): Link to octave-mode manual.
2013-12-20 02:50:46 +01:00
Dmitry Gutov
ce41edb426 * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Indent middle-of-block
keywords to their parent.
2013-12-19 07:06:24 +02:00
Dmitry Gutov
7e1549c91d * lisp/progmodes/ruby-mode.el (ruby-smie--args-separator-p): Allow the
first arg to be a string (fixed dead code), or an operator symbol.
(ruby-smie--forward-token): Tokenize ` @ ' before strings and
operator symbols.
(ruby-smie-rules): Remove parent token check in the `.' clause, it
did nothing.  Don't respond to `(:after ".")', it will be called
with :before anyway.  Remove the ` @ ' rule, it didn't seem to
change anything.  Only return indentation for binary operators
when they are hanging.  De-dent opening paren when its parent is
`.', otherwise it looks bad when the dot is not at bol or eol.

Fixes: debbugs:16182
2013-12-19 06:21:44 +02:00
Kazuhiro Ito
83c60f60bf make-mode.el (makefile-fill-paragraph): Fix infloop.
Fixes: debbugs:13914
2013-12-18 13:01:30 +08:00
Dmitry Gutov
35b249a653 * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Indent ternary if. 2013-12-17 14:04:23 +02:00
Ted Zlatanov
5b9b750ae0 Cleanup cfengine3-mode so complete-symbol works again.
* progmodes/cfengine.el (cfengine3--current-word): Remove.
(cfengine3--current-function): Bring in the current-function
functionality from `cfengine3--current-word'.
(cfengine3-completion-function): Bring in the
bounds-of-current-word functionality from
`cfengine3--current-word'.
2013-12-16 10:49:25 -05:00
Leo Liu
a8bbe29833 * progmodes/compile.el (compile-goto-error): Do not push-mark.
Remove NOMSG arg and all uses changed.
2013-12-16 16:07:10 +08:00
Dmitry Gutov
660efa1a14 Fix comment from the last change to `ruby-smie-rules' 2013-12-14 15:57:58 +02:00
Dmitry Gutov
276bc3337b Fix bug#16118
* lisp/progmodes/ruby-mode.el (ruby-smie-rules): Return nil before
open-paren tokens when preceded by a open-paren, too.
(ruby-smie-rules): Handle virtual indentation after open-paren
tokens specially.  If there is code between it and eol, return the
column where is starts.

* test/indent/ruby.rb: New examples.
2013-12-14 08:46:13 +02:00
Ted Zlatanov
a5c1ac0ca1 progmodes/cfengine.el: Fix `add-hook' doc.
* progmodes/cfengine.el: Fix `add-hook' doc.
2013-12-13 14:49:56 -05:00
Ted Zlatanov
d43957f334 More cfengine.el fixes over previous commit.
* progmodes/cfengine.el (cfengine-mode-syntax-functions-regex):
Initialize sensibly.
(cfengine3--current-word): Fix parameters.
(cfengine3-make-syntax-cache): Simplify further.
(cfengine3-completion-function, cfengine3--current-function): Use
`assq' for symbols.
(cfengine3--current-function): Fix `cfengine3--current-word' call.
2013-12-13 13:55:08 -05:00
Ted Zlatanov
978a5fdaa3 Improve CFEngine 3 parsing and eldoc support, with syntax fallbacks
* progmodes/cfengine.el (cfengine-cf-promises): Add more default
locations for cf-promises.
(cfengine-mode-syntax-functions-regex): New caching variable.
(cfengine3-fallback-syntax): Fallback syntax for cases where
cf-promises doesn't run.
(cfengine3--current-word): Reimplement using
`cfengine-mode-syntax-functions-regex'.
(cfengine3-completion-function, cfengine3--current-function): Use
`cfengine3-make-syntax-cache' directly.
(cfengine3-clear-syntax-cache): New function.
(cfengine3-make-syntax-cache): Simplify and create
`cfengine-mode-syntax-functions-regex' on demand.
(cfengine3-format-function-docstring): Don't call
`cfengine3-make-syntax-cache' explicitly.
2013-12-13 13:18:19 -05:00
Fabián Ezequiel Gallina
ce03045172 * lisp/progmodes/python.el (python-pdbtrack-stacktrace-info-regexp):
Also match after beginning of line.
(python-pdbtrack-set-tracked-buffer): Fix logic for remote
files.  Thanks to Russell Sim.

Fixes: debbugs:15378
2013-12-12 21:56:12 -03:00
Fabián Ezequiel Gallina
bc9222c934 * lisp/progmodes/python.el (python-indent-calculate-indentation): Fix
de-denters cornercase.

* test/automated/python-tests.el (python-indent-dedenters-2): New test.

Fixes: debbugs:15731
2013-12-12 20:32:05 -03:00
Fabián Ezequiel Gallina
09faee72dd * lisp/progmodes/python.el (python-indent-context)
(python-indent-calculate-indentation): Fix auto-identation
behavior for comment blocks.

* test/automated/python-tests.el (python-indent-after-comment-1)
(python-indent-after-comment-2): New tests.

Fixes: debbugs:15916
2013-12-12 02:37:09 -03:00
Nathan Trapuzzano
f54de22e65 * lisp/progmodes/python.el (python-indent-calculate-indentation): When
determining indentation, don't treat "return", "pass", etc., as
operators when they are just string constituents. 

* automated/python-test.el (python-indent-block-enders-1): Rename
from python-indent-block-enders.
(python-indent-block-enders-2): New test.

Fixes: debbugs:15812
2013-12-12 00:47:41 -03:00
Rüdiger Sonderfeld
ed4bc201f5 Import `octave-mode' manual from GNU Octave.
The manual was written by Kurt Hornik.  He agreed to assign the
copyright for it to the FSF.  I have updated and modified the manual.

* doc/misc/octave-mode.texi: Imported from GNU Octave
  (doc/interpreter/emacs.txi).
* doc/misc/Makefile.in: Add octave-mode.texi.
* lisp/progmodes/octave.el (octave-mode, inferior-octave-mode): Link
  to info manual and show keybindings and set `:group' keyword.
2013-12-11 14:50:46 +01:00
Dmitry Gutov
8212d9c0da * lisp/progmodes/ruby-mode.el (ruby-smie--implicit-semi-p): Return t
after the end of a percent literal.
2013-12-09 06:19:16 +02:00
Cameron Desautels
8f48d13181 * lisp/progmodes/ruby-mode.el (ruby-forward-string): Document.
Handle caret-delimited strings.

Fixes: debbugs:16079
2013-12-09 05:43:34 +02:00
Dmitry Gutov
ff8c976420 * lisp/progmodes/ruby-mode.el (ruby-accurate-end-of-block): When
`ruby-use-smie' is t, use `smie-forward-sexp' instead of
`ruby-parse-partial'.

Fixes: debbugs:16078
2013-12-09 05:27:21 +02: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
Leo Liu
974ebc9ccf Re-write flymake-highlight-line in flymake.el
* progmodes/flymake.el (flymake-highlight-line): Re-write.
(flymake-make-overlay): Remove arg MOUSE-FACE.
(flymake-save-string-to-file, flymake-read-file-to-string): Remove.
2013-12-08 17:18:55 +08:00
Leo Liu
6407822c66 Re-implement popup menu for flymake
* progmodes/flymake.el (flymake-popup-current-error-menu): Rename
from flymake-display-err-menu-for-current-line. Reimplement.
(flymake-posn-at-point-as-event, flymake-popup-menu)
(flymake-make-emacs-menu): Remove.

Fixes: debbugs:16077
2013-12-08 15:18:46 +08:00
Leo Liu
a92fa5f193 Clean up flymake.el
* lisp/progmodes/flymake.el (flymake, flymake-error-bitmap)
(flymake-warning-bitmap, flymake-fringe-indicator-position)
(flymake-compilation-prevents-syntax-check)
(flymake-start-syntax-check-on-newline)
(flymake-no-changes-timeout, flymake-gui-warnings-enabled)
(flymake-start-syntax-check-on-find-file, flymake-log-level)
(flymake-xml-program, flymake-master-file-dirs)
(flymake-master-file-count-limit)
(flymake-allowed-file-name-masks): Relocate.
(flymake-makehash, flymake-float-time)
(flymake-replace-regexp-in-string, flymake-split-string)
(flymake-get-temp-dir): Remove.
(flymake-popup-menu, flymake-nop, flymake-make-xemacs-menu)
(flymake-current-row, flymake-selected-frame)
(flymake-get-point-pixel-pos): Remove xemacs compatibity and
related functions.

Fixes: debbugs:16077
2013-12-08 11:35:32 +08:00
Michael Albinus
4803595dfd Bug#16045
* progmodes/compile.el (compilation-start):
* progmodes/grep.el (rgrep): Revert change of 2012-12-20T11:15:38Z!michael.albinus@gmx.de.

* net/tramp-sh.el (tramp-sh-handle-start-file-process):
Handle long command lines, lasting from "sh -c ...".  (Bug#16045)
2013-12-06 16:34:06 +01:00
Eli Zaretskii
a59d76e05f Revert inadvertently commited changes in grep.el. 2013-12-06 17:18:23 +02:00
Dmitry Gutov
fa834a93da * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize-function): Touch
up the last change.
2013-12-06 16:24:10 +02:00
Leo Liu
b2856a6f7c * progmodes/octave.el (inferior-octave-prompt): Use shy groups.
(inferior-octave-startup): Always use "octave> " for prompt.
(octave-goto-function-definition)
(octave-sync-function-file-names)
(octave-find-definition-default-filename): Remove redundant backquotes.
2013-12-06 12:26:17 +08:00
Dmitry Gutov
af67e79a52 Fix Bug#15874
* lisp/progmodes/ruby-mode.el (ruby-mode-syntax-table): Don't modify
syntax for `?'.
(ruby-expr-beg): Expect that `!' will have syntax class "symbol"
where appropriate already.
(ruby-syntax-propertize-function): Propertize `?' and `!' at the
end of method names.
2013-12-06 06:22:08 +02:00
Dmitry Gutov
16588fadd0 Add caching variant of `completion-table-dynamic'
* lisp/minibuffer.el (completion-table-with-cache): New function.

* lisp/progmodes/octave.el (inferior-octave-completion-table): Turn
back into function, use `completion-table-with-cache'.  Update all
references.

Fixes: debbugs:11906
2013-12-06 02:48:52 +02:00
Eli Zaretskii
913250cf96 Avoid compiler warning in w32xfns.c.
src/w32xfns.c: Include window.h, to avoid a compiler warning.
2013-12-04 21:05:16 +02:00
Juri Linkov
9139632a34 * lisp/window.el (display-buffer-no-window): New action function.
(display-buffer-alist, display-buffer): Doc fix.  (Bug#13594)

* lisp/simple.el (shell-command): Add window alist entry `allow-no-window'
to `display-buffer'.
(async-shell-command): Doc fix.

* lisp/progmodes/compile.el (compilation-start): Rename window alist
entry `no-display-ok' to `allow-no-window'.

* doc/lispref/windows.texi (Choosing Window): Rename `no-display-ok' to
`allow-no-window'.
2013-12-03 03:19:24 +02:00
Leo Liu
0518b057fe * subr.el (process-live-p): Return nil for non-process.
* progmodes/sh-script.el (sh-shell-process):
* progmodes/octave.el (inferior-octave-process-live-p):
* progmodes/gdb-mi.el (gdb-delchar-or-quit)
(gdb-inferior-io-sentinel):
* emacs-lock.el (emacs-lock-live-process-p): All uses changed.

Fixes: debbugs:16023
2013-12-02 15:13:01 +08:00
Stefan Monnier
bd15d9d1ad * lisp/progmodes/python.el (python-mode-map): Remove binding for ":".
(python-indent-electric-colon): Remove command.
(python-indent-post-self-insert-function): Integrate the previous code
of python-indent-electric-colon.  Make it conditional on
electric-indent-mode.
(python-mode): Add ?: to electric-indent-chars.
Move python-indent-post-self-insert-function to the end of
post-self-insert-hook.
2013-11-28 21:03:39 -05:00
Glenn Morris
0bf3f0fadf * lisp/progmodes/python.el (python-indent-guess-indent-offset):
Avoid corner-case error.

Fixes: debbugs:15975
2013-11-25 22:15:49 -05: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
Glenn Morris
3cfb6af3af * python.el (python-shell-send-file): Add option to delete file when done.
(python-shell-send-string, python-shell-send-region): Use it.

Fixes: debbugs:15647
2013-11-23 11:39:50 -08:00
Glenn Morris
40dd812fa3 Revert previous python.el change 2013-11-22 20:20:31 -08:00
Jorgen Schaefer
09b0f3d9cf * lisp/progmodes/python.el (python-shell--save-temp-file): Tiny change
Delete temp-file when done.

Fixes: debbugs:15647
2013-11-22 19:13:16 -08:00
Leo Liu
965bb23acf * progmodes/octave.el (inferior-octave-startup): Spit out error
message.
2013-11-22 22:17:48 +08:00
Bozhidar Batsov
15ba218206 * progmodes/ruby-mode.el (ruby-custom-encoding-magic-comment-template),
(ruby-encoding-magic-comment-style): Add :version.
2013-11-22 14:36:38 +02:00
Bozhidar Batsov
d19ffd647d * lisp/progmodes/ruby-mode.el (ruby-custom-encoding-magic-comment-template):
Improve docstring.
2013-11-22 14:28:23 +02:00
Leo Liu
2cc18f9382 * progmodes/octave.el (octave-kill-process): Don't ask twice
Fixes: debbugs:10564
2013-11-22 17:50:41 +08:00
Leo Liu
8c09f64b76 * progmodes/octave.el (octave-help-mode): Adapt to change to
help-mode-finish to use derived-mode-p on 2013-09-17.
(inferior-octave-prompt): Also match octave-gui.
2013-11-22 16:09:40 +08:00
Leo Liu
7a7567d2be * progmodes/octave.el (octave-operator-regexp): Exclude newline.
Fixes: debbugs:15076
2013-11-22 10:32:35 +08:00
Leo Liu
724bc26587 * progmodes/octave.el (inferior-octave-process-live-p): New helper.
(inferior-octave-startup, inferior-octave-check-process)
(inferior-octave-track-window-width-change)
(octave-completion-at-point, octave-eldoc-function): Use it.
(octave-kill-process): Provide confirmation.

Fixes: debbugs:10564
2013-11-22 10:02:42 +08:00
Leo Liu
38637ccae6 * progmodes/octave.el (octave-mode, inferior-octave-mode): Fix
obsolete variable comment-use-global-state.
2013-11-22 01:33:30 +08:00
Rüdiger Sonderfeld
06e752b48f * progmodes/octave.el (octave-mode-map, octave-mode-menu): Add
`octave-source-file'.
(octave-source-file): New function.

Fixes: debbugs:15935
2013-11-22 01:18:25 +08:00
Bozhidar Batsov
638af3a10f * lisp/progmodes/ruby-mode.el (ruby-custom-encoding-magic-comment-template):
Change default to "# encoding: %s" to differentiate it from the
default Ruby encoding comment template.
2013-11-20 12:52:07 +02:00