[ESS] ess eval invisibly only for large blocks

Rodney Sparapani rsparapa at mcw.edu
Mon Mar 14 20:46:41 CET 2011

> Hi Rodney,
> The replacement string is a user variable "ess-long+replace" which by
> default is "+ ... + ". Only long + + + prompts (more than 3 +s) are replaced.
> This behavior is controlled by inferior-ess-replace-long+  (by default
> t), so instead of a very long prompt you should see something like:
>> + ... +
>>> + ... +>
>> + ... +
>>> + ... +>
>> + ... +>
> unless you are using  an older version of ess-tracebug.
> Thanks for looking into it on XEmacs. I was planning to do it myself some
> day, but it was quite a low priority because of a feeling that there are not
> so many ESS users on XEmacs platform.
>> To make it work for XEmacs, you need the following at the top:
>> ;(require 'face-remap nil t) ;; desirable for scaling of the text in ...
>> ;(require 'ido nil t) ;; desirable for debug/undebug at point function
> Face-remap and ido are optional as the third argument t indicates. But it
> seems that XEmacs' 'require' does not have the third "no-error"
> argument.
> What would be an application independent way of dealing with the above
> 'requires'?
(if (featurep 'xemacs) nil (require 'face-remap nil t)
>> (require 'cl) ;; a couple of useful functions
>> (require 'overlay)
> Thanks, added this to the code.
>> (if (boundp 'overlay-arrow-variable-list) nil
>>    (defvar overlay-arrow-variable-list nil))
> This variable is not used anywhere and was a forgotten remnant from
> previous versions, now deleted; so the above is not needed anymore.
>> And, you need (if (featurep 'fringe) ) around calls to fringe-mode
>> features.
> I am unhappy to hear what fringe functionality is not available on
> XEmacs. It's a pity, since all the breakpoints and fringe arrows are using
> left fringe for position indication. Not having them is quite a sizable lack
> of functionality:(
> Vitalie.
That's a temporary workaround.  By the way, I forgot to mention that
you also need to replace (compilation-setup t) by (compilation-minor-mode t)
And, here's another...
(if (fboundp 'process-put) nil
   (defun process-put (process propname value)
   "Change PROCESS' PROPNAME property to VALUE.
It can be retrieved with `(process-get PROCESS PROPNAME)'."
   (set-process-plist process
              (plist-put (process-plist process) propname value))))

But, here I'm stuck since we also need set-process-plist which is,
unfortunately, a C coded function.  XEmacs is in the process of
upgrading their packages to the latest Emacs versions.  Once that
happens, then I'll re-visit this.


Rodney Sparapani       Center for Patient Care and Outcomes Research
Sr. Biostatistician               http://www.mcw.edu/pcor
4 wheels good, 2 wheels better!   Medical College of Wisconsin (MCW)
WWLD?:  What Would Lombardi Do?   Milwaukee, WI, USA

More information about the ESS-help mailing list