[ESS] Problems after Debian update
Vitalie Spinu
spinuvit at gmail.com
Sat May 5 13:28:28 CEST 2012
Also it is not clear to me how pager in STATA works.
If I type
help
I am getting --more-- prompts. Is there a way around this?
>>>> Vitalie Spinu <spinuvit at gmail.com>
>>>> on Sat, 05 May 2012 13:14:28 +0200 wrote:
> I got a copy of stata, so got playing with ess-sta-d.el.
> There is one ugly, historical thing over there -
> inferior-STA-program-name is set to "env" and the final call is
> hardcoded as "env TERM=emacs stata". It looks like this workaround is no
> longer necessary, comint takes care of setting
> TERM=dumb. inferior-ess-make-comint is also setting STATATERM=emacs.
> Is there any difference in setting TERM=emacs vs TERM=dumb for stata?
> In my test it doesn't matter at all. So, if there are no objections I am
> changing inferior-STA-program-name to "stata" with all ancillary
> corrections.
>>>> Vitalie Spinu <spinuvit at gmail.com>
>>>> on Sat, 05 May 2012 00:45:26 +0200 wrote:
>> Indeed, the right thing would be to set the secondary prompt to nil as
>> it's meaningless. As I don't have stata, your help is really, really
>> appreciated here. Please try
>> (setq STA-customize-alist
>> '((ess-local-customize-alist . 'STA-customize-alist)
>> (ess-language . "STA")
>> (ess-dialect . STA-dialect-name)
>> (ess-suffix . "ado")
>> (ess-mode-editing-alist . STA-editing-alist)
>> (ess-mode-syntax-table . STA-syntax-table)
>> (ess-mode-edit . 'STA-mode)
>> (ess-help-sec-regex . ess-help-STA-sec-regex)
>> (ess-help-sec-keys-alist . ess-help-STA-sec-keys-alist)
>> (ess-loop-timeout . 500000 )
>> (ess-object-name-db-file . "ess-sta-namedb.el" )
>> (inferior-ess-font-lock-keywords . ess-STA-mode-font-lock-keywords)
>> (inferior-ess-program . inferior-STA-program-name)
>> (inferior-ess-objects-command . "description\n")
>> (inferior-ess-help-command . "set more off\n help %s\n")
>> (inferior-ess-exit-command . "exit\n")
>> (inferior-ess-primary-prompt . ". ")
>> (inferior-ess-secondary-prompt . nil)
>> (comint-use-prompt-regexp . t)
>> (inferior-ess-start-file . nil)
>> (inferior-ess-start-args . ""))
>> )
>> (defun inferior-ess--goto-input-start:regexp ()
>> "Move point to the begining of input skiping all continuation lines.
>> If in the output field, goes to the begining of previous input.
>> "
>> (beginning-of-line)
>> (unless (looking-at inferior-ess-prompt)
>> (re-search-backward (concat "^" inferior-ess-prompt)))
>> (when inferior-ess-secondary-prompt
>> (while (and (looking-at inferior-ess-secondary-prompt)
>> (not (eq (point) (point-min))))
>> (forward-line -1)))
>> (if (looking-at inferior-ess-prompt)
>> (comint-skip-prompt)
>> (ess-error "Beggining of input not found"))
>> )
>> I hope it solves both problems.
>> Vitalie.
>>>> brendan.halpin at ul.ie (Brendan Halpin)
>>>> on Fri, 04 May 2012 23:16:21 +0100 wrote:
>>> Thanks, that works nicely for the first problem: I can now start Stata.
>>> However, the previous-input problem remains. It seems to be in this
>>> function from ess-inf.el:
>>> (defun inferior-ess--goto-input-start:regexp ()
>>> "Move point to the begining of input skiping all continuation lines.
>>> If in the output field, goes to the begining of previous input.
>>> "
>>> (beginning-of-line)
>>> (unless (looking-at inferior-ess-prompt)
>>> (re-search-backward (concat "^" inferior-ess-prompt)))
>>> (while (and (looking-at inferior-ess-secondary-prompt)
>>> (not (eq (point) (point-min))))
>>> (forward-line -1))
>>> (if (looking-at inferior-ess-prompt)
>>> (comint-skip-prompt)
>>> (ess-error "Beggining of input not found"))
>>> )
>>> This seems to be looking for the secondary prompt, to backtrack from it
>>> to the initial prompt. But it is defined the same as the primary prompt,
>>> so if we're looking-at the primary prompt, (looking-at
>>> inferior-ess-secondary-prompt) returns t.
>>> In interactive mode, Stata only accepts single lines, so there isn't a
>>> secondary prompt. Perhaps this should be defined to nil?
>>> Regards,
>>> Brendan
More information about the ESS-help
mailing list