ESS do emacs indentando o código - desabilitar

Uso o Emacs com ESS para rodar meus scripts. No entanto, a partir de uma atualização do sistema (tive que instalar o Debian do zero), ele passou a indentar tudo. Algo do tipo: xyplot(Morte ~ log10(Dose)|Isolado, data = data01) Se eu clicar no final da linha acima e der enter, acontece o seguinte: xyplot(Morte ~ log10(Dose)|Isolado, data = data01) [local do cursos] Ele indenta a linha 14 colunas a frente e o curso vai para logo abaixo da primeira letra da linha. Já inseri os códigos abaixo no meu ~/emacs.d/init.el e nada de resolver. (setq-default indent-tabs-mode nil) (setq auto-indent-assign-indent-level-variables nil) (setq standard-indent 2) (which-func-mode) (add-to-list 'which-func-modes 'ess-mode) (setq-default mode-line-format '("L%l C%c %b" global-mode-string " (" mode-name minor-mode-alist "%n)" (which-func-mode (" " which-func-format "")))) (add-hook 'ess-mode-hook (lambda () (local-set-key (kbd "RET") 'newline))) (setq ess-ask-for-ess-directory nil) (setq ess-local-process-name "R") (setq ansi-color-for-comint-mode 'filter) (setq comint-prompt-read-only t) (setq comint-scroll-to-bottom-on-input t) (setq comint-scroll-to-bottom-on-output t) (setq comint-move-point-for-output t) (defun my-ess-start-R () (interactive) (if (not (member "*R*" (mapcar (function buffer-name) (buffer-list)))) (progn (delete-other-windows) (setq w1 (selected-window)) (setq w1name (buffer-name)) (setq w2 (split-window w1)) (R) (set-window-buffer w2 "*R*") (set-window-buffer w1 w1name)))) (defun my-ess-eval () (interactive) (my-ess-start-R) (if (and transient-mark-mode mark-active) (call-interactively 'ess-eval-region) (call-interactively 'ess-eval-line-and-step))) (add-hook 'ess-mode-hook '(lambda() (local-set-key [(shift return)] 'my-ess-eval))) (add-hook 'inferior-ess-mode-hook '(lambda() (local-set-key [C-up] 'comint-previous-input) (local-set-key [C-down] 'comint-next-input))) (require 'ess-site) (add-hook 'ess-mode-hook '(lambda () (outline-minor-mode) (setq outline-regexp "\\(^#\\{4,5\\} \\)\\|\\(^[a-zA-Z0-9_\.]+ ?<- ?function(.*{\\)") (defun outline-level (lambda () (interactive) (cond ((looking-at "^##### ") 1)((looking-at "^#### ") 2)((looking-at "^[a-zA-Z0-9_\.]+ ?<- ?function(.*{") 3) (t 1000))) ))) Alguma luz? -- Marcelo

Qual a versão do Emacs, ESS e R? Como você instalou o ESS (via apt, github, ...)? Aqui uso Emacs 24.3.1 ESS 14.11 (versão em desenvolvimento no github) R 3.1.2 e funciona normalmente. Basicamente não precisaria de mais nada no .emacs para ele funcionar de maneira padrão... --- Fernando de Pol Mayer Laboratório de Estatística Ambiental - LEA Instituto de Matemática, Estatística e Física - IMEF Universidade Federal do Rio Grande - FURG URL: http://fernandomayer.github.io e-mail: fernando.mayer [@] {gmail.com, furg.br} On Tue, Feb 10, 2015 at 8:08 PM, Marcelo Laia <marcelolaia@gmail.com> wrote:
Uso o Emacs com ESS para rodar meus scripts. No entanto, a partir de uma atualização do sistema (tive que instalar o Debian do zero), ele passou a indentar tudo.
Algo do tipo:
xyplot(Morte ~ log10(Dose)|Isolado, data = data01)
Se eu clicar no final da linha acima e der enter, acontece o seguinte:
xyplot(Morte ~ log10(Dose)|Isolado, data = data01) [local do cursos]
Ele indenta a linha 14 colunas a frente e o curso vai para logo abaixo da primeira letra da linha.
Já inseri os códigos abaixo no meu ~/emacs.d/init.el e nada de resolver.
(setq-default indent-tabs-mode nil) (setq auto-indent-assign-indent-level-variables nil) (setq standard-indent 2)
(which-func-mode) (add-to-list 'which-func-modes 'ess-mode)
(setq-default mode-line-format '("L%l C%c %b" global-mode-string " (" mode-name minor-mode-alist "%n)" (which-func-mode (" " which-func-format ""))))
(add-hook 'ess-mode-hook (lambda () (local-set-key (kbd "RET") 'newline))) (setq ess-ask-for-ess-directory nil) (setq ess-local-process-name "R") (setq ansi-color-for-comint-mode 'filter) (setq comint-prompt-read-only t) (setq comint-scroll-to-bottom-on-input t) (setq comint-scroll-to-bottom-on-output t) (setq comint-move-point-for-output t)
(defun my-ess-start-R () (interactive) (if (not (member "*R*" (mapcar (function buffer-name) (buffer-list)))) (progn (delete-other-windows) (setq w1 (selected-window)) (setq w1name (buffer-name)) (setq w2 (split-window w1)) (R) (set-window-buffer w2 "*R*") (set-window-buffer w1 w1name))))
(defun my-ess-eval () (interactive) (my-ess-start-R) (if (and transient-mark-mode mark-active) (call-interactively 'ess-eval-region) (call-interactively 'ess-eval-line-and-step)))
(add-hook 'ess-mode-hook '(lambda() (local-set-key [(shift return)] 'my-ess-eval)))
(add-hook 'inferior-ess-mode-hook '(lambda() (local-set-key [C-up] 'comint-previous-input) (local-set-key [C-down] 'comint-next-input))) (require 'ess-site)
(add-hook 'ess-mode-hook '(lambda () (outline-minor-mode) (setq outline-regexp "\\(^#\\{4,5\\} \\)\\|\\(^[a-zA-Z0-9_\.]+ ?<- ?function(.*{\\)") (defun outline-level (lambda () (interactive) (cond ((looking-at "^##### ") 1)((looking-at "^#### ") 2)((looking-at "^[a-zA-Z0-9_\.]+ ?<- ?function(.*{") 3) (t 1000))) )))
Alguma luz?
-- Marcelo _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

GNU Emacs 24.4.1 ESS 14.09-1 R version 3.1.1 (2014-07-10) Todos instalados via aptitude Eu coloquei esses códigos para retirar a indentação, mas não retirou. Ai, eu exclui o init.el e o sintoma continua. Parece que é algo global! Laia On 10/02/15 at 08:26pm, Fernando Mayer wrote:
Qual a versão do Emacs, ESS e R? Como você instalou o ESS (via apt, github, ...)?
Aqui uso
Emacs 24.3.1 ESS 14.11 (versão em desenvolvimento no github) R 3.1.2
e funciona normalmente. Basicamente não precisaria de mais nada no .emacs para ele funcionar de maneira padrão...
--- Fernando de Pol Mayer Laboratório de Estatística Ambiental - LEA Instituto de Matemática, Estatística e Física - IMEF Universidade Federal do Rio Grande - FURG URL: http://fernandomayer.github.io e-mail: fernando.mayer [@] {gmail.com, furg.br}
On Tue, Feb 10, 2015 at 8:08 PM, Marcelo Laia <marcelolaia@gmail.com> wrote:
Uso o Emacs com ESS para rodar meus scripts. No entanto, a partir de uma atualização do sistema (tive que instalar o Debian do zero), ele passou a indentar tudo.
Algo do tipo:
xyplot(Morte ~ log10(Dose)|Isolado, data = data01)
Se eu clicar no final da linha acima e der enter, acontece o seguinte:
xyplot(Morte ~ log10(Dose)|Isolado, data = data01) [local do cursos]
Ele indenta a linha 14 colunas a frente e o curso vai para logo abaixo da primeira letra da linha.
Já inseri os códigos abaixo no meu ~/emacs.d/init.el e nada de resolver.
(setq-default indent-tabs-mode nil) (setq auto-indent-assign-indent-level-variables nil) (setq standard-indent 2)
(which-func-mode) (add-to-list 'which-func-modes 'ess-mode)
(setq-default mode-line-format '("L%l C%c %b" global-mode-string " (" mode-name minor-mode-alist "%n)" (which-func-mode (" " which-func-format ""))))
(add-hook 'ess-mode-hook (lambda () (local-set-key (kbd "RET") 'newline))) (setq ess-ask-for-ess-directory nil) (setq ess-local-process-name "R") (setq ansi-color-for-comint-mode 'filter) (setq comint-prompt-read-only t) (setq comint-scroll-to-bottom-on-input t) (setq comint-scroll-to-bottom-on-output t) (setq comint-move-point-for-output t)
(defun my-ess-start-R () (interactive) (if (not (member "*R*" (mapcar (function buffer-name) (buffer-list)))) (progn (delete-other-windows) (setq w1 (selected-window)) (setq w1name (buffer-name)) (setq w2 (split-window w1)) (R) (set-window-buffer w2 "*R*") (set-window-buffer w1 w1name))))
(defun my-ess-eval () (interactive) (my-ess-start-R) (if (and transient-mark-mode mark-active) (call-interactively 'ess-eval-region) (call-interactively 'ess-eval-line-and-step)))
(add-hook 'ess-mode-hook '(lambda() (local-set-key [(shift return)] 'my-ess-eval)))
(add-hook 'inferior-ess-mode-hook '(lambda() (local-set-key [C-up] 'comint-previous-input) (local-set-key [C-down] 'comint-next-input))) (require 'ess-site)
(add-hook 'ess-mode-hook '(lambda () (outline-minor-mode) (setq outline-regexp "\\(^#\\{4,5\\} \\)\\|\\(^[a-zA-Z0-9_\.]+ ?<- ?function(.*{\\)") (defun outline-level (lambda () (interactive) (cond ((looking-at "^##### ") 1)((looking-at "^#### ") 2)((looking-at "^[a-zA-Z0-9_\.]+ ?<- ?function(.*{") 3) (t 1000))) )))
Alguma luz?
-- Marcelo _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Marcelo

Tente instalar a versão em desenvolvimento. Primeiro desinstale o ESS atual com o aptitude, depois faça: wget https://github.com/emacs-ess/ESS/archive/master.zip unzip master.zip mv ESS-master ~/.emacs.d/ Apague todo o conteúdo (relacionado ao ESS) do ~/emacs.d/init.el e coloque isso no lugar: ;; add ~/.emacs.d/ to the load-path (add-to-list 'load-path "~/.emacs.d/") ;; calls ess (load "~/.emacs.d/ESS-master/lisp/ess-site") (require 'ess-site) (setq-default ess-dialect "R") ;; show function arguments in ESS buffers (require 'ess-eldoc) ;; Recommended customizatios found in "R Internals" manual ;; http://cran.r-project.org/doc/manuals/R-ints.html#R-coding-standards ;;...................................................................... ;; C code (add-hook 'c-mode-hook (lambda () (c-set-style "bsd"))) ;; ESS code (add-hook 'ess-mode-hook (lambda () (ess-set-style 'RRR) ; C++ is default. See ess-custom.el ;; Because ;; DEF GNU BSD K&R C++ ;; ess-indent-level 2 2 8 5 4 ;; ess-continued-statement-offset 2 2 8 5 4 ;; ess-brace-offset 0 0 -8 -5 -4 ;; ess-arg-function-offset 2 4 0 0 0 ;; ess-expression-offset 4 2 8 5 4 ;; ess-else-offset 0 0 0 0 0 ;; ess-close-brace-offset 0 0 0 0 0 (add-hook 'local-write-file-hooks (lambda () (ess-nuke-trailing-whitespace))))) (setq ess-nuke-trailing-whitespace-p 'ask) ;; or even ;; (setq ess-nuke-trailing-whitespace-p t) ;; Perl code (add-hook 'perl-mode-hook (lambda () (setq perl-indent-level 4))) --- Fernando de Pol Mayer Laboratório de Estatística Ambiental - LEA Instituto de Matemática, Estatística e Física - IMEF Universidade Federal do Rio Grande - FURG URL: http://fernandomayer.github.io e-mail: fernando.mayer [@] {gmail.com, furg.br} On Tue, Feb 10, 2015 at 8:30 PM, Marcelo Laia <marcelolaia@gmail.com> wrote:
GNU Emacs 24.4.1 ESS 14.09-1 R version 3.1.1 (2014-07-10)
Todos instalados via aptitude
Eu coloquei esses códigos para retirar a indentação, mas não retirou.
Ai, eu exclui o init.el e o sintoma continua. Parece que é algo global!
Laia
On 10/02/15 at 08:26pm, Fernando Mayer wrote:
Qual a versão do Emacs, ESS e R? Como você instalou o ESS (via apt, github, ...)?
Aqui uso
Emacs 24.3.1 ESS 14.11 (versão em desenvolvimento no github) R 3.1.2
e funciona normalmente. Basicamente não precisaria de mais nada no .emacs para ele funcionar de maneira padrão...
--- Fernando de Pol Mayer Laboratório de Estatística Ambiental - LEA Instituto de Matemática, Estatística e Física - IMEF Universidade Federal do Rio Grande - FURG URL: http://fernandomayer.github.io e-mail: fernando.mayer [@] {gmail.com, furg.br}
On Tue, Feb 10, 2015 at 8:08 PM, Marcelo Laia <marcelolaia@gmail.com> wrote:
Uso o Emacs com ESS para rodar meus scripts. No entanto, a partir de uma atualização do sistema (tive que instalar o Debian do zero), ele passou a indentar tudo.
Algo do tipo:
xyplot(Morte ~ log10(Dose)|Isolado, data = data01)
Se eu clicar no final da linha acima e der enter, acontece o seguinte:
xyplot(Morte ~ log10(Dose)|Isolado, data = data01) [local do cursos]
Ele indenta a linha 14 colunas a frente e o curso vai para logo abaixo da primeira letra da linha.
Já inseri os códigos abaixo no meu ~/emacs.d/init.el e nada de resolver.
(setq-default indent-tabs-mode nil) (setq auto-indent-assign-indent-level-variables nil) (setq standard-indent 2)
(which-func-mode) (add-to-list 'which-func-modes 'ess-mode)
(setq-default mode-line-format '("L%l C%c %b" global-mode-string " (" mode-name minor-mode-alist "%n)" (which-func-mode (" " which-func-format ""))))
(add-hook 'ess-mode-hook (lambda () (local-set-key (kbd "RET") 'newline))) (setq ess-ask-for-ess-directory nil) (setq ess-local-process-name "R") (setq ansi-color-for-comint-mode 'filter) (setq comint-prompt-read-only t) (setq comint-scroll-to-bottom-on-input t) (setq comint-scroll-to-bottom-on-output t) (setq comint-move-point-for-output t)
(defun my-ess-start-R () (interactive) (if (not (member "*R*" (mapcar (function buffer-name) (buffer-list)))) (progn (delete-other-windows) (setq w1 (selected-window)) (setq w1name (buffer-name)) (setq w2 (split-window w1)) (R) (set-window-buffer w2 "*R*") (set-window-buffer w1 w1name))))
(defun my-ess-eval () (interactive) (my-ess-start-R) (if (and transient-mark-mode mark-active) (call-interactively 'ess-eval-region) (call-interactively 'ess-eval-line-and-step)))
(add-hook 'ess-mode-hook '(lambda() (local-set-key [(shift return)] 'my-ess-eval)))
(add-hook 'inferior-ess-mode-hook '(lambda() (local-set-key [C-up] 'comint-previous-input) (local-set-key [C-down] 'comint-next-input))) (require 'ess-site)
(add-hook 'ess-mode-hook '(lambda () (outline-minor-mode) (setq outline-regexp "\\(^#\\{4,5\\} \\)\\|\\(^[a-zA-Z0-9_\.]+ ?<- ?function(.*{\\)") (defun outline-level (lambda () (interactive) (cond ((looking-at "^##### ") 1)((looking-at "^#### ") 2)((looking-at "^[a-zA-Z0-9_\.]+ ?<- ?function(.*{") 3) (t 1000))) )))
Alguma luz?
-- Marcelo _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Marcelo _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Tentou esse? (add-hook 'after-change-major-mode-hook (lambda() (electric-indent-mode -1))) On Tue, Feb 10, 2015 at 5:08 PM, Marcelo Laia <marcelolaia@gmail.com> wrote:
Uso o Emacs com ESS para rodar meus scripts. No entanto, a partir de uma atualização do sistema (tive que instalar o Debian do zero), ele passou a indentar tudo.
Algo do tipo:
xyplot(Morte ~ log10(Dose)|Isolado, data = data01)
Se eu clicar no final da linha acima e der enter, acontece o seguinte:
xyplot(Morte ~ log10(Dose)|Isolado, data = data01) [local do cursos]
Ele indenta a linha 14 colunas a frente e o curso vai para logo abaixo da primeira letra da linha.
Já inseri os códigos abaixo no meu ~/emacs.d/init.el e nada de resolver.
(setq-default indent-tabs-mode nil) (setq auto-indent-assign-indent-level-variables nil) (setq standard-indent 2)
(which-func-mode) (add-to-list 'which-func-modes 'ess-mode)
(setq-default mode-line-format '("L%l C%c %b" global-mode-string " (" mode-name minor-mode-alist "%n)" (which-func-mode (" " which-func-format ""))))
(add-hook 'ess-mode-hook (lambda () (local-set-key (kbd "RET") 'newline))) (setq ess-ask-for-ess-directory nil) (setq ess-local-process-name "R") (setq ansi-color-for-comint-mode 'filter) (setq comint-prompt-read-only t) (setq comint-scroll-to-bottom-on-input t) (setq comint-scroll-to-bottom-on-output t) (setq comint-move-point-for-output t)
(defun my-ess-start-R () (interactive) (if (not (member "*R*" (mapcar (function buffer-name) (buffer-list)))) (progn (delete-other-windows) (setq w1 (selected-window)) (setq w1name (buffer-name)) (setq w2 (split-window w1)) (R) (set-window-buffer w2 "*R*") (set-window-buffer w1 w1name))))
(defun my-ess-eval () (interactive) (my-ess-start-R) (if (and transient-mark-mode mark-active) (call-interactively 'ess-eval-region) (call-interactively 'ess-eval-line-and-step)))
(add-hook 'ess-mode-hook '(lambda() (local-set-key [(shift return)] 'my-ess-eval)))
(add-hook 'inferior-ess-mode-hook '(lambda() (local-set-key [C-up] 'comint-previous-input) (local-set-key [C-down] 'comint-next-input))) (require 'ess-site)
(add-hook 'ess-mode-hook '(lambda () (outline-minor-mode) (setq outline-regexp "\\(^#\\{4,5\\} \\)\\|\\(^[a-zA-Z0-9_\.]+ ?<- ?function(.*{\\)") (defun outline-level (lambda () (interactive) (cond ((looking-at "^##### ") 1)((looking-at "^#### ") 2)((looking-at "^[a-zA-Z0-9_\.]+ ?<- ?function(.*{") 3) (t 1000))) )))
Alguma luz?
-- Marcelo _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Diogo Ferrari PhD Student University of Michigan, Ann Arbor Department of Political Science E-mail: dferrari@umich.edu Open Source! Use R! Use Linux! "A vida é a arte de tirar conclusões suficientes de dados insuficientes"

Bem, talvez não seja o seu caso, mas se esse for um script longo e isso estiver acontecendo lá do meio em diante é sinal de que algo abriu e não fechou em algum lugar acima, um ( [ { " '. Tente encontrar e fechar/corrigir. A indentação volta ao normal. À disposição. Walmes.
participantes (4)
-
Diogo Ferrari
-
Fernando Mayer
-
Marcelo Laia
-
walmes .