diff -Nru ess-18.10-1/ANNOUNCE ess-18.10.2/ANNOUNCE --- ess-18.10-1/ANNOUNCE 2018-10-23 16:37:16.000000000 +0000 +++ ess-18.10.2/ANNOUNCE 2018-11-10 09:41:15.000000000 +0000 @@ -1,7 +1,7 @@ 1 ANNOUNCING ESS **************** -The ESS Developers proudly announce the release of ESS 18.10-1 +The ESS Developers proudly announce the release of ESS 18.10.2 Emacs Speaks Statistics (ESS) provides an intelligent, consistent interface between the user and the software. ESS interfaces with @@ -246,8 +246,13 @@ 1.12 New Features ================= -Changes and New Features in 18.10-1: +Bug Fixes in 18.10.2: + * ESS[R] Fix namespace evaluation in non-installed packages. + Evaluation is directed into GlobalEnv as originally intended. + * 'Makefile' fixes, notably for 'make install' and including full + docs in the tarballs. + Bug Fixes in 18.10-1: * New functions 'ess-eval-line-visibly-and-step' ('C-c C-n' and 'ess-eval-region-or-line-visibly-and-step' ('C-RET') which behave as the old versions of 'ess-eval-line-and-step' and diff -Nru ess-18.10-1/ChangeLog ess-18.10.2/ChangeLog --- ess-18.10-1/ChangeLog 2018-10-23 16:37:12.000000000 +0000 +++ ess-18.10.2/ChangeLog 2018-11-10 09:41:10.000000000 +0000 @@ -1,3 +1,7 @@ +2018-10-23 ESS Maintainers + + * Version 18.10-1 released. + 2018-10-20 ESS Maintainers * Version 18.10 released. diff -Nru ess-18.10-1/debian/changelog ess-18.10.2/debian/changelog --- ess-18.10-1/debian/changelog 2018-10-26 01:48:36.000000000 +0000 +++ ess-18.10.2/debian/changelog 2018-11-18 16:30:03.000000000 +0000 @@ -1,10 +1,16 @@ -ess (18.10-1-2xenial0) xenial; urgency=medium +ess (18.10.2-1xenial0) xenial; urgency=medium * Compilation for Ubuntu 16.04.4 LTS * debian/control, revert to a version of emacsen-common that is available - -- Michael Rutter Fri, 26 Oct 2018 01:48:36 +0000 + -- Michael Rutter Sun, 18 Nov 2018 16:30:03 +0000 + +ess (18.10.2-1) unstable; urgency=medium + + * New upstream version released today + + -- Dirk Eddelbuettel Sat, 10 Nov 2018 07:02:07 -0600 ess (18.10-1-2) unstable; urgency=medium diff -Nru ess-18.10-1/debian/ess-pkg.el ess-18.10.2/debian/ess-pkg.el --- ess-18.10-1/debian/ess-pkg.el 2018-10-24 00:59:26.000000000 +0000 +++ ess-18.10.2/debian/ess-pkg.el 2018-11-10 13:01:43.000000000 +0000 @@ -1,2 +1,2 @@ -(define-package "ess" "18.10-1" "Emacs Speaks Statistics" nil +(define-package "ess" "18.10.2" "Emacs Speaks Statistics" nil :url "http://ess.r-project.org" :keywords nil) diff -Nru ess-18.10-1/doc/ess.aux ess-18.10.2/doc/ess.aux --- ess-18.10-1/doc/ess.aux 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/ess.aux 2018-11-10 09:41:22.000000000 +0000 @@ -0,0 +1,309 @@ +@xrdef{Introduction-title}{Introduction to ESS} +@xrdef{Introduction-snt}{Chapter@tie 1} +@xrdef{Features-title}{Why should I use ESS?} +@xrdef{Features-snt}{Section@tie 1.1} +@xrdef{Current Features-title}{Features Overview} +@xrdef{Current Features-snt}{Section@tie 1.1.1} +@xrdef{Introduction-pg}{1} +@xrdef{Features-pg}{1} +@xrdef{Current Features-pg}{2} +@xrdef{New features-title}{New features in ESS} +@xrdef{New features-snt}{Section@tie 1.2} +@xrdef{New features-pg}{3} +@xrdef{Credits-title}{Authors of and contributors to ESS} +@xrdef{Credits-snt}{Section@tie 1.3} +@xrdef{Credits-pg}{8} +@xrdef{Manual-title}{How to read this manual} +@xrdef{Manual-snt}{Section@tie 1.4} +@xrdef{Manual-pg}{9} +@xrdef{Installation-title}{Installing ESS on your system} +@xrdef{Installation-snt}{Chapter@tie 2} +@xrdef{Installing from a third-party repository-title}{Installing from a third-party repository} +@xrdef{Installing from a third-party repository-snt}{Section@tie 2.1} +@xrdef{Installing from source-title}{Installing from source} +@xrdef{Installing from source-snt}{Section@tie 2.2} +@xrdef{Installation-pg}{11} +@xrdef{Installing from a third-party repository-pg}{11} +@xrdef{Installing from source-pg}{11} +@xrdef{Activating and Loading ESS-title}{Activating and Loading ESS} +@xrdef{Activating and Loading ESS-snt}{Section@tie 2.3} +@xrdef{Check Installation-title}{Check Installation} +@xrdef{Check Installation-snt}{Section@tie 2.4} +@xrdef{Activating and Loading ESS-pg}{12} +@xrdef{Check Installation-pg}{12} +@xrdef{Interactive ESS-title}{Interacting with statistical programs} +@xrdef{Interactive ESS-snt}{Chapter@tie 3} +@xrdef{Starting up-title}{Starting an ESS process} +@xrdef{Starting up-snt}{Section@tie 3.1} +@xrdef{Multiple ESS processes-title}{Running more than one ESS process} +@xrdef{Multiple ESS processes-snt}{Section@tie 3.2} +@xrdef{ESS processes on Remote Computers-title}{ESS processes on Remote Computers} +@xrdef{ESS processes on Remote Computers-snt}{Section@tie 3.3} +@xrdef{Interactive ESS-pg}{13} +@xrdef{Starting up-pg}{13} +@xrdef{Multiple ESS processes-pg}{13} +@xrdef{ESS processes on Remote Computers-pg}{13} +@xrdef{Customizing startup-title}{Changing the startup actions} +@xrdef{Customizing startup-snt}{Section@tie 3.4} +@xrdef{Customizing startup-pg}{15} +@xrdef{Entering commands-title}{Interacting with the ESS process} +@xrdef{Entering commands-snt}{Chapter@tie 4} +@xrdef{Command-line editing-title}{Entering commands and fixing mistakes} +@xrdef{Command-line editing-snt}{Section@tie 4.1} +@xrdef{Transcript-title}{Manipulating the transcript} +@xrdef{Transcript-snt}{Section@tie 4.2} +@xrdef{Entering commands-pg}{16} +@xrdef{Command-line editing-pg}{16} +@xrdef{Transcript-pg}{16} +@xrdef{Last command-title}{Manipulating the output from the last command} +@xrdef{Last command-snt}{Section@tie 4.2.1} +@xrdef{Process buffer motion-title}{Viewing older commands} +@xrdef{Process buffer motion-snt}{Section@tie 4.2.2} +@xrdef{Transcript resubmit-title}{Re-submitting commands from the transcript} +@xrdef{Transcript resubmit-snt}{Section@tie 4.2.3} +@xrdef{Last command-pg}{17} +@xrdef{Process buffer motion-pg}{17} +@xrdef{Transcript resubmit-pg}{17} +@xrdef{Saving transcripts-title}{Keeping a record of your R session} +@xrdef{Saving transcripts-snt}{Section@tie 4.2.4} +@xrdef{Command History-title}{Command History} +@xrdef{Command History-snt}{Section@tie 4.3} +@xrdef{Saving transcripts-pg}{18} +@xrdef{Command History-pg}{19} +@xrdef{Saving History-title}{Saving the command history} +@xrdef{Saving History-snt}{Section@tie 4.3.1} +@xrdef{History expansion-title}{References to historical commands} +@xrdef{History expansion-snt}{Section@tie 4.4} +@xrdef{Saving History-pg}{20} +@xrdef{History expansion-pg}{20} +@xrdef{Hot keys-title}{Hot keys for common commands} +@xrdef{Hot keys-snt}{Section@tie 4.5} +@xrdef{Hot keys-pg}{21} +@xrdef{Statistical Process running in ESS?-title}{Is the Statistical Process running under ESS?} +@xrdef{Statistical Process running in ESS?-snt}{Section@tie 4.6} +@xrdef{Emacsclient-title}{Using emacsclient} +@xrdef{Emacsclient-snt}{Section@tie 4.7} +@xrdef{Other-title}{Other commands provided by inferior-ESS} +@xrdef{Other-snt}{Section@tie 4.8} +@xrdef{Statistical Process running in ESS?-pg}{23} +@xrdef{Emacsclient-pg}{23} +@xrdef{Other-pg}{23} +@xrdef{Evaluating code-title}{Sending code to the ESS process} +@xrdef{Evaluating code-snt}{Chapter@tie 5} +@xrdef{Evaluating code-pg}{25} +@xrdef{Transcript Mode-title}{Manipulating saved transcript files} +@xrdef{Transcript Mode-snt}{Chapter@tie 6} +@xrdef{Resubmit-title}{Resubmitting commands from the transcript file} +@xrdef{Resubmit-snt}{Section@tie 6.1} +@xrdef{Clean-title}{Cleaning transcript files} +@xrdef{Clean-snt}{Section@tie 6.2} +@xrdef{Transcript Mode-pg}{27} +@xrdef{Resubmit-pg}{27} +@xrdef{Clean-pg}{27} +@xrdef{Editing objects-title}{Editing objects and functions} +@xrdef{Editing objects-snt}{Chapter@tie 7} +@xrdef{Edit buffer-title}{Creating or modifying R objects} +@xrdef{Edit buffer-snt}{Section@tie 7.1} +@xrdef{Loading-title}{Loading source files into the ESS process} +@xrdef{Loading-snt}{Section@tie 7.2} +@xrdef{Editing objects-pg}{28} +@xrdef{Edit buffer-pg}{28} +@xrdef{Loading-pg}{28} +@xrdef{Error Checking-title}{Detecting errors in source files} +@xrdef{Error Checking-snt}{Section@tie 7.3} +@xrdef{Indenting-title}{Indenting and formatting R code} +@xrdef{Indenting-snt}{Section@tie 7.4} +@xrdef{Error Checking-pg}{29} +@xrdef{Indenting-pg}{29} +@xrdef{Styles-title}{Changing styles for code indentation and alignment} +@xrdef{Styles-snt}{Section@tie 7.4.1} +@xrdef{Styles-pg}{30} +@xrdef{Other edit buffer commands-title}{Commands for motion, completion and more} +@xrdef{Other edit buffer commands-snt}{Section@tie 7.5} +@xrdef{Source Files-title}{Maintaining R source files} +@xrdef{Source Files-snt}{Section@tie 7.6} +@xrdef{Other edit buffer commands-pg}{31} +@xrdef{Source Files-pg}{31} +@xrdef{Source Directories-title}{Names and locations of dump files} +@xrdef{Source Directories-snt}{Section@tie 7.7} +@xrdef{Source Directories-pg}{33} +@xrdef{Help-title}{Reading help files} +@xrdef{Help-snt}{Chapter@tie 8} +@xrdef{Help-pg}{35} +@xrdef{Completion-title}{Completion} +@xrdef{Completion-snt}{Chapter@tie 9} +@xrdef{Object names-title}{Completion of object names} +@xrdef{Object names-snt}{Section@tie 9.1} +@xrdef{Function arguments-title}{Completion of function arguments} +@xrdef{Function arguments-snt}{Section@tie 9.2} +@xrdef{Minibuffer completion-title}{Minibuffer completion} +@xrdef{Minibuffer completion-snt}{Section@tie 9.3} +@xrdef{Completion-pg}{37} +@xrdef{Object names-pg}{37} +@xrdef{Function arguments-pg}{37} +@xrdef{Auto-complete-title}{Integration with auto-complete package} +@xrdef{Auto-complete-snt}{Section@tie 9.4} +@xrdef{Company-title}{Company} +@xrdef{Company-snt}{Section@tie 9.5} +@xrdef{Icicles-title}{Icicles} +@xrdef{Icicles-snt}{Section@tie 9.6} +@xrdef{Minibuffer completion-pg}{38} +@xrdef{Auto-complete-pg}{38} +@xrdef{Company-pg}{38} +@xrdef{Icicles-pg}{38} +@xrdef{Developing with ESS-title}{Developing with ESS} +@xrdef{Developing with ESS-snt}{Chapter@tie 10} +@xrdef{ESS tracebug-title}{ESS tracebug} +@xrdef{ESS tracebug-snt}{Section@tie 10.1} +@xrdef{Developing with ESS-pg}{40} +@xrdef{ESS tracebug-pg}{40} +@xrdef{Getting started with tracebug-title}{Getting started with tracebug} +@xrdef{Getting started with tracebug-snt}{Section@tie 10.1.1} +@xrdef{Getting started with tracebug-pg}{41} +@xrdef{Editing documentation-title}{Editing documentation} +@xrdef{Editing documentation-snt}{Section@tie 10.2} +@xrdef{R documentation files-title}{Editing R documentation (Rd) files} +@xrdef{R documentation files-snt}{Section@tie 10.2.1} +@xrdef{Editing documentation-pg}{42} +@xrdef{R documentation files-pg}{42} +@xrdef{Roxygen-title}{Editing Roxygen documentation} +@xrdef{Roxygen-snt}{Section@tie 10.2.2} +@xrdef{Roxygen-pg}{43} +@xrdef{Namespaced Evaluation-title}{Namespaced Evaluation} +@xrdef{Namespaced Evaluation-snt}{Section@tie 10.3} +@xrdef{Namespaced Evaluation-pg}{45} +@xrdef{Extras-title}{Other ESS features and tools} +@xrdef{Extras-snt}{Chapter@tie 11} +@xrdef{ESS ElDoc-title}{ElDoc} +@xrdef{ESS ElDoc-snt}{Section@tie 11.1} +@xrdef{ESS Flymake-title}{Flymake} +@xrdef{ESS Flymake-snt}{Section@tie 11.2} +@xrdef{Handy commands-title}{Handy commands} +@xrdef{Handy commands-snt}{Section@tie 11.3} +@xrdef{Extras-pg}{46} +@xrdef{ESS ElDoc-pg}{46} +@xrdef{ESS Flymake-pg}{46} +@xrdef{Highlighting-title}{Syntactic highlighting of buffers} +@xrdef{Highlighting-snt}{Section@tie 11.4} +@xrdef{Parens-title}{Parenthesis matching} +@xrdef{Parens-snt}{Section@tie 11.5} +@xrdef{Handy commands-pg}{47} +@xrdef{Highlighting-pg}{47} +@xrdef{Graphics-title}{Using graphics with ESS} +@xrdef{Graphics-snt}{Section@tie 11.6} +@xrdef{printer-title}{Using ESS with the @code {printer()} driver} +@xrdef{printer-snt}{Section@tie 11.6.1} +@xrdef{X11-title}{Using ESS with windowing devices} +@xrdef{X11-snt}{Section@tie 11.6.2} +@xrdef{winjava-title}{Java Graphics Device} +@xrdef{winjava-snt}{Section@tie 11.6.3} +@xrdef{Imenu-title}{Imenu} +@xrdef{Imenu-snt}{Section@tie 11.7} +@xrdef{Parens-pg}{48} +@xrdef{Graphics-pg}{48} +@xrdef{printer-pg}{48} +@xrdef{X11-pg}{48} +@xrdef{winjava-pg}{48} +@xrdef{Imenu-pg}{48} +@xrdef{Toolbar-title}{Toolbar} +@xrdef{Toolbar-snt}{Section@tie 11.8} +@xrdef{Xref-title}{Xref} +@xrdef{Xref-snt}{Section@tie 11.9} +@xrdef{Rdired-title}{Rdired} +@xrdef{Rdired-snt}{Section@tie 11.10} +@xrdef{Rutils-title}{Rutils} +@xrdef{Rutils-snt}{Section@tie 11.11} +@xrdef{Toolbar-pg}{49} +@xrdef{Xref-pg}{49} +@xrdef{Rdired-pg}{49} +@xrdef{Rutils-pg}{49} +@xrdef{Org-title}{Interaction with Org mode} +@xrdef{Org-snt}{Section@tie 11.12} +@xrdef{Sweave and AUCTeX-title}{Support for Sweave in ESS and AUCTeX} +@xrdef{Sweave and AUCTeX-snt}{Section@tie 11.13} +@xrdef{Org-pg}{51} +@xrdef{Sweave and AUCTeX-pg}{51} +@xrdef{ESS for R-title}{Overview of ESS features for the S family} +@xrdef{ESS for R-snt}{Chapter@tie 12} +@xrdef{ESS(R)--Editing files-title}{ESS[R]--Editing files} +@xrdef{ESS(R)--Editing files-snt}{Section@tie 12.1} +@xrdef{iESS(R)--Inferior ESS processes-title}{iESS[R]--Inferior ESS processes} +@xrdef{iESS(R)--Inferior ESS processes-snt}{Section@tie 12.2} +@xrdef{ESS for R-pg}{52} +@xrdef{ESS(R)--Editing files-pg}{52} +@xrdef{iESS(R)--Inferior ESS processes-pg}{52} +@xrdef{Philosophies for using ESS(R)-title}{Philosophies for using ESS[R]} +@xrdef{Philosophies for using ESS(R)-snt}{Section@tie 12.3} +@xrdef{Example ESS usage-title}{Example ESS usage} +@xrdef{Example ESS usage-snt}{Section@tie 12.4} +@xrdef{Philosophies for using ESS(R)-pg}{53} +@xrdef{Example ESS usage-pg}{54} +@xrdef{ESS for SAS-title}{ESS for SAS} +@xrdef{ESS for SAS-snt}{Chapter@tie 13} +@xrdef{ESS(SAS)--Design philosophy-title}{ESS[SAS]--Design philosophy} +@xrdef{ESS(SAS)--Design philosophy-snt}{Section@tie 13.1} +@xrdef{ESS(SAS)--Editing files-title}{ESS[SAS]--Editing files} +@xrdef{ESS(SAS)--Editing files-snt}{Section@tie 13.2} +@xrdef{ESS(SAS)--TAB key-title}{ESS[SAS]--@key {TAB} key} +@xrdef{ESS(SAS)--TAB key-snt}{Section@tie 13.3} +@xrdef{ESS for SAS-pg}{56} +@xrdef{ESS(SAS)--Design philosophy-pg}{56} +@xrdef{ESS(SAS)--Editing files-pg}{56} +@xrdef{ESS(SAS)--Batch SAS processes-title}{ESS[SAS]--Batch SAS processes} +@xrdef{ESS(SAS)--Batch SAS processes-snt}{Section@tie 13.4} +@xrdef{ESS(SAS)--TAB key-pg}{57} +@xrdef{ESS(SAS)--Batch SAS processes-pg}{57} +@xrdef{ESS(SAS)--Function keys for batch processing-title}{ESS[SAS]--Function keys for batch processing} +@xrdef{ESS(SAS)--Function keys for batch processing-snt}{Section@tie 13.5} +@xrdef{ESS(SAS)--Function keys for batch processing-pg}{59} +@xrdef{iESS(SAS)--Interactive SAS processes-title}{iESS[SAS]--Interactive SAS processes} +@xrdef{iESS(SAS)--Interactive SAS processes-snt}{Section@tie 13.6} +@xrdef{iESS(SAS)--Interactive SAS processes-pg}{62} +@xrdef{iESS(SAS)--Common problems-title}{iESS[SAS]--Common problems} +@xrdef{iESS(SAS)--Common problems-snt}{Section@tie 13.7} +@xrdef{iESS(SAS)--Common problems-pg}{63} +@xrdef{ESS(SAS)--Graphics-title}{ESS[SAS]--Graphics} +@xrdef{ESS(SAS)--Graphics-snt}{Section@tie 13.8} +@xrdef{ESS(SAS)--Windows-title}{ESS[SAS]--Windows} +@xrdef{ESS(SAS)--Windows-snt}{Section@tie 13.9} +@xrdef{ESS(SAS)--Graphics-pg}{64} +@xrdef{ESS(SAS)--Windows-pg}{64} +@xrdef{ESS for BUGS-title}{ESS for BUGS} +@xrdef{ESS for BUGS-snt}{Chapter@tie 14} +@xrdef{ESS for BUGS-pg}{65} +@xrdef{ESS for JAGS-title}{ESS for JAGS} +@xrdef{ESS for JAGS-snt}{Chapter@tie 15} +@xrdef{ESS for JAGS-pg}{66} +@xrdef{Mailing lists/bug reports-title}{Bugs and Bug Reporting, Mailing Lists} +@xrdef{Mailing lists/bug reports-snt}{Chapter@tie 16} +@xrdef{Bugs-title}{Bugs} +@xrdef{Bugs-snt}{Section@tie 16.1} +@xrdef{Reporting Bugs-title}{Reporting Bugs} +@xrdef{Reporting Bugs-snt}{Section@tie 16.2} +@xrdef{Mailing Lists-title}{Mailing Lists} +@xrdef{Mailing Lists-snt}{Section@tie 16.3} +@xrdef{Mailing lists/bug reports-pg}{67} +@xrdef{Bugs-pg}{67} +@xrdef{Reporting Bugs-pg}{67} +@xrdef{Mailing Lists-pg}{67} +@xrdef{Help with Emacs-title}{Help with Emacs} +@xrdef{Help with Emacs-snt}{Section@tie 16.4} +@xrdef{Help with Emacs-pg}{68} +@xrdef{Customization-title}{Customizing ESS} +@xrdef{Customization-snt}{Appendix@tie @char65{}} +@xrdef{Customization-pg}{69} +@xrdef{Indices-title}{Indices} +@xrdef{Indices-snt}{} +@xrdef{Key index-title}{Key index} +@xrdef{Key index-snt}{} +@xrdef{Function and program index-title}{Function and program index} +@xrdef{Function and program index-snt}{} +@xrdef{Indices-pg}{70} +@xrdef{Key index-pg}{70} +@xrdef{Function and program index-pg}{70} +@xrdef{Variable index-title}{Variable index} +@xrdef{Variable index-snt}{} +@xrdef{Concept index-title}{Concept Index} +@xrdef{Concept index-snt}{} +@xrdef{Variable index-pg}{72} +@xrdef{Concept index-pg}{72} diff -Nru ess-18.10-1/doc/ess.cp ess-18.10.2/doc/ess.cp --- ess-18.10-1/doc/ess.cp 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/ess.cp 2018-11-10 09:41:22.000000000 +0000 @@ -0,0 +1,128 @@ +\entry{introduction}{1}{introduction} +\entry{interactive use of R}{1}{interactive use of R} +\entry{using R interactively}{1}{using R interactively} +\entry{interactive use of S}{1}{interactive use of S} +\entry{using S interactively}{1}{using S interactively} +\entry{using ESS interactively}{1}{using ESS interactively} +\entry{transcripts of R sessions}{1}{transcripts of R sessions} +\entry{transcripts of S sessions}{1}{transcripts of S sessions} +\entry{programming in R}{1}{programming in R} +\entry{programming in S}{1}{programming in S} +\entry{comint}{8}{comint} +\entry{authors}{8}{authors} +\entry{credits}{8}{credits} +\entry{installation}{11}{installation} +\entry{starting ESS}{13}{starting ESS} +\entry{running S}{13}{running S} +\entry{running R}{13}{running R} +\entry{ESS process directory}{13}{ESS process directory} +\entry{starting directory}{13}{starting directory} +\entry{working directory}{13}{working directory} +\entry{directories}{13}{directories} +\entry{ESS process buffer}{13}{ESS process buffer} +\entry{process buffer}{13}{process buffer} +\entry{multiple ESS processes}{13}{multiple ESS processes} +\entry{changing ESS processes}{13}{changing ESS processes} +\entry{multiple inferior processes}{13}{multiple inferior processes} +\entry{multiple interactive processes}{13}{multiple interactive processes} +\entry{process names}{13}{process names} +\entry{remote Computers}{13}{remote Computers} +\entry{ESS-elsewhere}{13}{ESS-elsewhere} +\entry{S+elsewhere}{13}{S+elsewhere} +\entry{tramp support}{13}{tramp support} +\entry{transcript file}{15}{transcript file} +\entry{arguments to S program}{15}{arguments to S program} +\entry{arguments to R program}{15}{arguments to R program} +\entry{entering commands}{16}{entering commands} +\entry{commands}{16}{commands} +\entry{sending input}{16}{sending input} +\entry{command-line editing}{16}{command-line editing} +\entry{transcript}{16}{transcript} +\entry{paragraphs in the process buffer}{16}{paragraphs in the process buffer} +\entry{pages in the process buffer}{17}{pages in the process buffer} +\entry{reading long command outputs}{17}{reading long command outputs} +\entry{deleting output}{17}{deleting output} +\entry{multi-line commands, resubmitting}{18}{multi-line commands, resubmitting} +\entry{transcript file names}{18}{transcript file names} +\entry{editing transcripts}{18}{editing transcripts} +\entry{command history}{19}{command history} +\entry{editing commands}{19}{editing commands} +\entry{re-executing commands}{19}{re-executing commands} +\entry{objects}{21}{objects} +\entry{search list}{22}{search list} +\entry{hot keys}{22}{hot keys} +\entry{keyboard short cuts}{22}{keyboard short cuts} +\entry{quitting from ESS}{22}{quitting from ESS} +\entry{killing the ESS process}{22}{killing the ESS process} +\entry{cleaning up}{22}{cleaning up} +\entry{temporary buffers, killing}{22}{temporary buffers, killing} +\entry{killing temporary buffers}{22}{killing temporary buffers} +\entry{STERM}{23}{STERM} +\entry{emacsclient}{23}{emacsclient} +\entry{aborting R commands}{23}{aborting R commands} +\entry{interrupting R commands}{23}{interrupting R commands} +\entry{aborting S commands}{23}{aborting S commands} +\entry{interrupting S commands}{23}{interrupting S commands} +\entry{echoing commands when evaluating}{25}{echoing commands when evaluating} +\entry{evaluating code with echoed commands}{25}{evaluating code with echoed commands} +\entry{ESS commands blocking Emacs}{25}{ESS commands blocking Emacs} +\entry{evaluating R expressions}{25}{evaluating R expressions} +\entry{evaluating S expressions}{25}{evaluating S expressions} +\entry{transcript mode motion}{27}{transcript mode motion} +\entry{motion in transcript mode}{27}{motion in transcript mode} +\entry{editing functions}{28}{editing functions} +\entry{edit buffer}{28}{edit buffer} +\entry{completion, when prompted for object names}{28}{completion, when prompted for object names} +\entry{creating new objects}{28}{creating new objects} +\entry{new objects, creating}{28}{new objects, creating} +\entry{dump files}{28}{dump files} +\entry{reverting function definitions}{28}{reverting function definitions} +\entry{errors}{29}{errors} +\entry{parsing errors}{29}{parsing errors} +\entry{comments in R}{29}{comments in R} +\entry{indenting}{29}{indenting} +\entry{formatting source code}{29}{formatting source code} +\entry{completion in edit buffer}{31}{completion in edit buffer} +\entry{dump files}{31}{dump files} +\entry{comments}{32}{comments} +\entry{project work in R}{32}{project work in R} +\entry{project work in S}{32}{project work in S} +\entry{historic backups}{32}{historic backups} +\entry{autosaving}{32}{autosaving} +\entry{dump file names}{33}{dump file names} +\entry{dump file directories}{33}{dump file directories} +\entry{search list}{33}{search list} +\entry{working directory}{33}{working directory} +\entry{help files}{35}{help files} +\entry{paging commands in help buffers}{35}{paging commands in help buffers} +\entry{temporary buffers}{36}{temporary buffers} +\entry{completion of object names}{37}{completion of object names} +\entry{command-line completion}{37}{command-line completion} +\entry{data frames}{37}{data frames} +\entry{lists, completion on}{37}{lists, completion on} +\entry{completion on lists}{37}{completion on lists} +\entry{completion on file names}{37}{completion on file names} +\entry{IDO completions}{38}{IDO completions} +\entry{auto-complete}{38}{auto-complete} +\entry{company}{38}{company} +\entry{icicles}{38}{icicles} +\entry{ESS tracebug}{40}{ESS tracebug} +\entry{tracebug tutorial}{41}{tracebug tutorial} +\entry{Roxygen}{43}{Roxygen} +\entry{roxy}{43}{roxy} +\entry{ess-roxy}{43}{ess-roxy} +\entry{ess developer}{45}{ess developer} +\entry{ElDoc}{46}{ElDoc} +\entry{flymake}{46}{flymake} +\entry{Handy commands}{47}{Handy commands} +\entry{font-lock mode}{47}{font-lock mode} +\entry{highlighting}{47}{highlighting} +\entry{graphics}{48}{graphics} +\entry{X Windows}{48}{X Windows} +\entry{winjava}{48}{winjava} +\entry{xref}{49}{xref} +\entry{finding function definitions}{49}{finding function definitions} +\entry{command line arguments}{52}{command line arguments} +\entry{bugs}{67}{bugs} +\entry{bug reports}{67}{bug reports} +\entry{customization}{69}{customization} diff -Nru ess-18.10-1/doc/ess.cps ess-18.10.2/doc/ess.cps --- ess-18.10-1/doc/ess.cps 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/ess.cps 2018-11-10 09:41:21.000000000 +0000 @@ -0,0 +1,147 @@ +\initial {A} +\entry {aborting R commands}{23} +\entry {aborting S commands}{23} +\entry {arguments to R program}{15} +\entry {arguments to S program}{15} +\entry {authors}{8} +\entry {auto-complete}{38} +\entry {autosaving}{32} +\initial {B} +\entry {bug reports}{67} +\entry {bugs}{67} +\initial {C} +\entry {changing ESS processes}{13} +\entry {cleaning up}{22} +\entry {comint}{8} +\entry {command history}{19} +\entry {command line arguments}{52} +\entry {command-line completion}{37} +\entry {command-line editing}{16} +\entry {commands}{16} +\entry {comments}{32} +\entry {comments in R}{29} +\entry {company}{38} +\entry {completion in edit buffer}{31} +\entry {completion of object names}{37} +\entry {completion on file names}{37} +\entry {completion on lists}{37} +\entry {completion, when prompted for object names}{28} +\entry {creating new objects}{28} +\entry {credits}{8} +\entry {customization}{69} +\initial {D} +\entry {data frames}{37} +\entry {deleting output}{17} +\entry {directories}{13} +\entry {dump file directories}{33} +\entry {dump file names}{33} +\entry {dump files}{28, 31} +\initial {E} +\entry {echoing commands when evaluating}{25} +\entry {edit buffer}{28} +\entry {editing commands}{19} +\entry {editing functions}{28} +\entry {editing transcripts}{18} +\entry {ElDoc}{46} +\entry {emacsclient}{23} +\entry {entering commands}{16} +\entry {errors}{29} +\entry {ess developer}{45} +\entry {ess-roxy}{43} +\entry {ESS commands blocking Emacs}{25} +\entry {ESS process buffer}{13} +\entry {ESS process directory}{13} +\entry {ESS tracebug}{40} +\entry {ESS-elsewhere}{13} +\entry {evaluating code with echoed commands}{25} +\entry {evaluating R expressions}{25} +\entry {evaluating S expressions}{25} +\initial {F} +\entry {finding function definitions}{49} +\entry {flymake}{46} +\entry {font-lock mode}{47} +\entry {formatting source code}{29} +\initial {G} +\entry {graphics}{48} +\initial {H} +\entry {Handy commands}{47} +\entry {help files}{35} +\entry {highlighting}{47} +\entry {historic backups}{32} +\entry {hot keys}{22} +\initial {I} +\entry {icicles}{38} +\entry {IDO completions}{38} +\entry {indenting}{29} +\entry {installation}{11} +\entry {interactive use of R}{1} +\entry {interactive use of S}{1} +\entry {interrupting R commands}{23} +\entry {interrupting S commands}{23} +\entry {introduction}{1} +\initial {K} +\entry {keyboard short cuts}{22} +\entry {killing temporary buffers}{22} +\entry {killing the ESS process}{22} +\initial {L} +\entry {lists, completion on}{37} +\initial {M} +\entry {motion in transcript mode}{27} +\entry {multi-line commands, resubmitting}{18} +\entry {multiple ESS processes}{13} +\entry {multiple inferior processes}{13} +\entry {multiple interactive processes}{13} +\initial {N} +\entry {new objects, creating}{28} +\initial {O} +\entry {objects}{21} +\initial {P} +\entry {pages in the process buffer}{17} +\entry {paging commands in help buffers}{35} +\entry {paragraphs in the process buffer}{16} +\entry {parsing errors}{29} +\entry {process buffer}{13} +\entry {process names}{13} +\entry {programming in R}{1} +\entry {programming in S}{1} +\entry {project work in R}{32} +\entry {project work in S}{32} +\initial {Q} +\entry {quitting from ESS}{22} +\initial {R} +\entry {re-executing commands}{19} +\entry {reading long command outputs}{17} +\entry {remote Computers}{13} +\entry {reverting function definitions}{28} +\entry {roxy}{43} +\entry {Roxygen}{43} +\entry {running R}{13} +\entry {running S}{13} +\initial {S} +\entry {S+elsewhere}{13} +\entry {search list}{22, 33} +\entry {sending input}{16} +\entry {starting directory}{13} +\entry {starting ESS}{13} +\entry {STERM}{23} +\initial {T} +\entry {temporary buffers}{36} +\entry {temporary buffers, killing}{22} +\entry {tracebug tutorial}{41} +\entry {tramp support}{13} +\entry {transcript}{16} +\entry {transcript file}{15} +\entry {transcript file names}{18} +\entry {transcript mode motion}{27} +\entry {transcripts of R sessions}{1} +\entry {transcripts of S sessions}{1} +\initial {U} +\entry {using ESS interactively}{1} +\entry {using R interactively}{1} +\entry {using S interactively}{1} +\initial {W} +\entry {winjava}{48} +\entry {working directory}{13, 33} +\initial {X} +\entry {X Windows}{48} +\entry {xref}{49} diff -Nru ess-18.10-1/doc/ess.fn ess-18.10.2/doc/ess.fn --- ess-18.10-1/doc/ess.fn 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/ess.fn 2018-11-10 09:41:22.000000000 +0000 @@ -0,0 +1,113 @@ +\entry{S}{13}{S} +\entry{R}{13}{R} +\entry{ess-request-a-process}{13}{\code {ess-request-a-process}} +\entry{ess-remote}{13}{\code {ess-remote}} +\entry{inferior-ess-send-input}{16}{\code {inferior-ess-send-input}} +\entry{backward-kill-word}{16}{\code {backward-kill-word}} +\entry{comint-kill-input}{16}{\code {comint-kill-input}} +\entry{comint-bol}{16}{\code {comint-bol}} +\entry{comint-show-output}{17}{\code {comint-show-output}} +\entry{comint-delete-output}{17}{\code {comint-delete-output}} +\entry{comint-previous-prompt}{17}{\code {comint-previous-prompt}} +\entry{comint-next-prompt}{17}{\code {comint-next-prompt}} +\entry{comint-backward-matching-input}{17}{\code {comint-backward-matching-input}} +\entry{comint-forward-matching-input}{17}{\code {comint-forward-matching-input}} +\entry{comint-copy-old-input}{18}{\code {comint-copy-old-input}} +\entry{comint-previous-input}{19}{\code {comint-previous-input}} +\entry{comint-next-input}{19}{\code {comint-next-input}} +\entry{comint-history-isearch-backward-regexp}{19}{\code {comint-history-isearch-backward-regexp}} +\entry{comint-previous-matching-input-from-input}{19}{\code {comint-previous-matching-input-from-input}} +\entry{comint-next-matching-input-from-input}{19}{\code {comint-next-matching-input-from-input}} +\entry{ess-execute-objects}{21}{\code {ess-execute-objects}} +\entry{objects()}{21}{objects()} +\entry{ess-execute-search}{22}{\code {ess-execute-search}} +\entry{search()}{22}{search()} +\entry{ess-load-file}{22}{\code {ess-load-file}} +\entry{ess-parse-errors}{22}{\code {ess-parse-errors}} +\entry{ess-display-help-on-object}{22}{\code {ess-display-help-on-object}} +\entry{ess-quit}{22}{\code {ess-quit}} +\entry{q()}{22}{q()} +\entry{ess-cleanup}{22}{\code {ess-cleanup}} +\entry{STERM}{23}{STERM} +\entry{comint-interrupt-subjob}{23}{\code {comint-interrupt-subjob}} +\entry{ess-switch-to-inferior-or-script-buffer}{23}{\code {ess-switch-to-inferior-or-script-buffer}} +\entry{source()}{25}{source()} +\entry{ess-eval-region-or-line-and-step}{25}{\code {ess-eval-region-or-line-and-step}} +\entry{ess-eval-region-or-function-or-paragraph}{25}{\code {ess-eval-region-or-function-or-paragraph}} +\entry{ess-eval-region-or-function-or-paragraph-and-step}{25}{\code {ess-eval-region-or-function-or-paragraph-and-step}} +\entry{ess-eval-line}{25}{\code {ess-eval-line}} +\entry{ess-eval-line-and-go}{25}{\code {ess-eval-line-and-go}} +\entry{ess-eval-function}{25}{\code {ess-eval-function}} +\entry{ess-eval-function-and-go}{25}{\code {ess-eval-function-and-go}} +\entry{ess-eval-region}{25}{\code {ess-eval-region}} +\entry{ess-eval-region-and-go}{26}{\code {ess-eval-region-and-go}} +\entry{ess-eval-buffer}{26}{\code {ess-eval-buffer}} +\entry{ess-eval-buffer-and-go}{26}{\code {ess-eval-buffer-and-go}} +\entry{ess-transcript-send-command}{27}{\code {ess-transcript-send-command}} +\entry{ess-transcript-copy-command}{27}{\code {ess-transcript-copy-command}} +\entry{ess-transcript-send-command-and-move}{27}{\code {ess-transcript-send-command-and-move}} +\entry{ess-transcript-clean-region}{27}{\code {ess-transcript-clean-region}} +\entry{ess-dump-object-into-edit-buffer}{28}{\code {ess-dump-object-into-edit-buffer}} +\entry{dump()}{28}{dump()} +\entry{ess-load-file}{28}{\code {ess-load-file}} +\entry{source()}{28}{source()} +\entry{ess-parse-errors}{29}{\code {ess-parse-errors}} +\entry{ess-indent-or-complete}{29}{\code {ess-indent-or-complete}} +\entry{ess-indent-exp}{30}{\code {ess-indent-exp}} +\entry{ess-electric-brace}{30}{\code {ess-electric-brace}} +\entry{ess-set-style}{30}{\code {ess-set-style}} +\entry{ess-goto-beginning-of-function-or-para}{31}{\code {ess-goto-beginning-of-function-or-para}} +\entry{ess-goto-end-of-function-or-para}{31}{\code {ess-goto-end-of-function-or-para}} +\entry{ess-mark-function}{31}{\code {ess-mark-function}} +\entry{ess-display-help-on-object}{35}{\code {ess-display-help-on-object}} +\entry{ess-describe-help-mode}{35}{\code {ess-describe-help-mode}} +\entry{ess-display-help-on-object}{35}{\code {ess-display-help-on-object}} +\entry{ess-skip-to-next-section}{35}{\code {ess-skip-to-next-section}} +\entry{ess-skip-to-previous-section}{35}{\code {ess-skip-to-previous-section}} +\entry{ess-skip-to-help-section}{35}{\code {ess-skip-to-help-section}} +\entry{ess-eval-line-and-step}{36}{\code {ess-eval-line-and-step}} +\entry{ess-eval-region}{36}{\code {ess-eval-region}} +\entry{ess-switch-to-end-of-ESS}{36}{\code {ess-switch-to-end-of-ESS}} +\entry{ess-quit}{36}{\code {ess-quit}} +\entry{ess-cleanup}{36}{\code {ess-cleanup}} +\entry{comint-dynamic-complete}{37}{\code {comint-dynamic-complete}} +\entry{search()}{37}{search()} +\entry{ess-list-object-completions}{37}{\code {ess-list-object-completions}} +\entry{ess-resynch}{37}{\code {ess-resynch}} +\entry{ess-use-ido, ess-completing-read}{38}{\code {ess-use-ido, ess-completing-read}} +\entry{ess-tracebug}{40}{\code {ess-tracebug}} +\entry{getting started with tracebug}{41}{\code {getting started with tracebug}} +\entry{ess-roxy-update-entry}{44}{\code {ess-roxy-update-entry}} +\entry{ess-roxy-toggle-roxy-region}{44}{\code {ess-roxy-toggle-roxy-region}} +\entry{ess-roxy-preview-Rd}{44}{\code {ess-roxy-preview-Rd}} +\entry{ess-roxy-preview-HTML}{44}{\code {ess-roxy-preview-HTML}} +\entry{ess-roxy-previous-entry}{44}{\code {ess-roxy-previous-entry}} +\entry{ess-roxy-next-entry}{44}{\code {ess-roxy-next-entry}} +\entry{ess-roxy-hide-all}{44}{\code {ess-roxy-hide-all}} +\entry{ess-R-complete-object-name}{45}{\code {ess-R-complete-object-name}} +\entry{mark-paragraph}{45}{\code {mark-paragraph}} +\entry{ess-indent-command}{45}{\code {ess-indent-command}} +\entry{fill-paragraph}{45}{\code {fill-paragraph}} +\entry{move-beginning-of-line}{45}{\code {move-beginning-of-line}} +\entry{newline-and-indent}{45}{\code {newline-and-indent}} +\entry{ess-r-set-evaluation-env}{45}{\code {ess-r-set-evaluation-env}} +\entry{ess-handy-commands}{47}{\code {ess-handy-commands}} +\entry{ess-smart-comma}{47}{\code {ess-smart-comma}} +\entry{ess-handy-commands}{47}{\code {ess-handy-commands}} +\entry{printer()}{48}{printer()} +\entry{ess-rutils-local-pkgs}{50}{\code {ess-rutils-local-pkgs}} +\entry{ess-rutils-repos-pkgs}{50}{\code {ess-rutils-repos-pkgs}} +\entry{ess-rutils-update-pkgs}{50}{\code {ess-rutils-update-pkgs}} +\entry{ess-rutils-apropos}{50}{\code {ess-rutils-apropos}} +\entry{ess-rutils-rm-all}{50}{\code {ess-rutils-rm-all}} +\entry{ess-rutils-objs}{50}{\code {ess-rutils-objs}} +\entry{ess-rutils-load-wkspc}{50}{\code {ess-rutils-load-wkspc}} +\entry{ess-rutils-save-wkspc}{50}{\code {ess-rutils-save-wkspc}} +\entry{ess-change-directory}{50}{\code {ess-change-directory}} +\entry{ess-rutils-html-docs}{50}{\code {ess-rutils-html-docs}} +\entry{ess-rutils-rsitesearch}{50}{\code {ess-rutils-rsitesearch}} +\entry{ess-swv-weave}{51}{\code {ess-swv-weave}} +\entry{ess-swv-latex}{51}{\code {ess-swv-latex}} +\entry{ess-swv-PS}{51}{\code {ess-swv-PS}} +\entry{ess-swv-PDF}{51}{\code {ess-swv-PDF}} +\entry{ess-submit-bug-report}{67}{\code {ess-submit-bug-report}} diff -Nru ess-18.10-1/doc/ess.fns ess-18.10.2/doc/ess.fns --- ess-18.10-1/doc/ess.fns 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/ess.fns 2018-11-10 09:41:21.000000000 +0000 @@ -0,0 +1,117 @@ +\initial {B} +\entry {\code {backward-kill-word}}{16} +\initial {C} +\entry {\code {comint-backward-matching-input}}{17} +\entry {\code {comint-bol}}{16} +\entry {\code {comint-copy-old-input}}{18} +\entry {\code {comint-delete-output}}{17} +\entry {\code {comint-dynamic-complete}}{37} +\entry {\code {comint-forward-matching-input}}{17} +\entry {\code {comint-history-isearch-backward-regexp}}{19} +\entry {\code {comint-interrupt-subjob}}{23} +\entry {\code {comint-kill-input}}{16} +\entry {\code {comint-next-input}}{19} +\entry {\code {comint-next-matching-input-from-input}}{19} +\entry {\code {comint-next-prompt}}{17} +\entry {\code {comint-previous-input}}{19} +\entry {\code {comint-previous-matching-input-from-input}}{19} +\entry {\code {comint-previous-prompt}}{17} +\entry {\code {comint-show-output}}{17} +\initial {D} +\entry {dump()}{28} +\initial {E} +\entry {\code {ess-change-directory}}{50} +\entry {\code {ess-cleanup}}{22, 36} +\entry {\code {ess-describe-help-mode}}{35} +\entry {\code {ess-display-help-on-object}}{22, 35} +\entry {\code {ess-dump-object-into-edit-buffer}}{28} +\entry {\code {ess-electric-brace}}{30} +\entry {\code {ess-eval-buffer}}{26} +\entry {\code {ess-eval-buffer-and-go}}{26} +\entry {\code {ess-eval-function}}{25} +\entry {\code {ess-eval-function-and-go}}{25} +\entry {\code {ess-eval-line}}{25} +\entry {\code {ess-eval-line-and-go}}{25} +\entry {\code {ess-eval-line-and-step}}{36} +\entry {\code {ess-eval-region}}{25, 36} +\entry {\code {ess-eval-region-and-go}}{26} +\entry {\code {ess-eval-region-or-function-or-paragraph}}{25} +\entry {\code {ess-eval-region-or-function-or-paragraph-and-step}}{25} +\entry {\code {ess-eval-region-or-line-and-step}}{25} +\entry {\code {ess-execute-objects}}{21} +\entry {\code {ess-execute-search}}{22} +\entry {\code {ess-goto-beginning-of-function-or-para}}{31} +\entry {\code {ess-goto-end-of-function-or-para}}{31} +\entry {\code {ess-handy-commands}}{47} +\entry {\code {ess-indent-command}}{45} +\entry {\code {ess-indent-exp}}{30} +\entry {\code {ess-indent-or-complete}}{29} +\entry {\code {ess-list-object-completions}}{37} +\entry {\code {ess-load-file}}{22, 28} +\entry {\code {ess-mark-function}}{31} +\entry {\code {ess-parse-errors}}{22, 29} +\entry {\code {ess-quit}}{22, 36} +\entry {\code {ess-r-set-evaluation-env}}{45} +\entry {\code {ess-R-complete-object-name}}{45} +\entry {\code {ess-remote}}{13} +\entry {\code {ess-request-a-process}}{13} +\entry {\code {ess-resynch}}{37} +\entry {\code {ess-roxy-hide-all}}{44} +\entry {\code {ess-roxy-next-entry}}{44} +\entry {\code {ess-roxy-preview-HTML}}{44} +\entry {\code {ess-roxy-preview-Rd}}{44} +\entry {\code {ess-roxy-previous-entry}}{44} +\entry {\code {ess-roxy-toggle-roxy-region}}{44} +\entry {\code {ess-roxy-update-entry}}{44} +\entry {\code {ess-rutils-apropos}}{50} +\entry {\code {ess-rutils-html-docs}}{50} +\entry {\code {ess-rutils-load-wkspc}}{50} +\entry {\code {ess-rutils-local-pkgs}}{50} +\entry {\code {ess-rutils-objs}}{50} +\entry {\code {ess-rutils-repos-pkgs}}{50} +\entry {\code {ess-rutils-rm-all}}{50} +\entry {\code {ess-rutils-rsitesearch}}{50} +\entry {\code {ess-rutils-save-wkspc}}{50} +\entry {\code {ess-rutils-update-pkgs}}{50} +\entry {\code {ess-set-style}}{30} +\entry {\code {ess-skip-to-help-section}}{35} +\entry {\code {ess-skip-to-next-section}}{35} +\entry {\code {ess-skip-to-previous-section}}{35} +\entry {\code {ess-smart-comma}}{47} +\entry {\code {ess-submit-bug-report}}{67} +\entry {\code {ess-switch-to-end-of-ESS}}{36} +\entry {\code {ess-switch-to-inferior-or-script-buffer}}{23} +\entry {\code {ess-swv-latex}}{51} +\entry {\code {ess-swv-PDF}}{51} +\entry {\code {ess-swv-PS}}{51} +\entry {\code {ess-swv-weave}}{51} +\entry {\code {ess-tracebug}}{40} +\entry {\code {ess-transcript-clean-region}}{27} +\entry {\code {ess-transcript-copy-command}}{27} +\entry {\code {ess-transcript-send-command}}{27} +\entry {\code {ess-transcript-send-command-and-move}}{27} +\entry {\code {ess-use-ido, ess-completing-read}}{38} +\initial {F} +\entry {\code {fill-paragraph}}{45} +\initial {G} +\entry {\code {getting started with tracebug}}{41} +\initial {I} +\entry {\code {inferior-ess-send-input}}{16} +\initial {M} +\entry {\code {mark-paragraph}}{45} +\entry {\code {move-beginning-of-line}}{45} +\initial {N} +\entry {\code {newline-and-indent}}{45} +\initial {O} +\entry {objects()}{21} +\initial {P} +\entry {printer()}{48} +\initial {Q} +\entry {q()}{22} +\initial {R} +\entry {R}{13} +\initial {S} +\entry {search()}{22, 37} +\entry {source()}{25, 28} +\entry {S}{13} +\entry {STERM}{23} diff -Nru ess-18.10-1/doc/ess.ky ess-18.10.2/doc/ess.ky --- ess-18.10-1/doc/ess.ky 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/ess.ky 2018-11-10 09:41:22.000000000 +0000 @@ -0,0 +1,64 @@ +\entry{RET}{16}{\code {RET}} +\entry{C-c C-x}{21}{\code {C-c C-x}} +\entry{C-c C-s}{22}{\code {C-c C-s}} +\entry{C-c M-l}{22}{\code {C-c M-l}} +\entry{C-c C-v}{22}{\code {C-c C-v}} +\entry{C-c C-q}{22}{\code {C-c C-q}} +\entry{C-c C-c}{23}{\code {C-c C-c}} +\entry{C-c C-z}{23}{\code {C-c C-z}} +\entry{C-RET}{25}{\code {C-RET}} +\entry{C-M-x}{25}{\code {C-M-x}} +\entry{C-c C-c}{25}{\code {C-c C-c}} +\entry{C-c C-j}{25}{\code {C-c C-j}} +\entry{C-c M-j}{25}{\code {C-c M-j}} +\entry{C-c C-f}{25}{\code {C-c C-f}} +\entry{C-c M-f}{25}{\code {C-c M-f}} +\entry{C-C C-r}{25}{\code {C-C C-r}} +\entry{C-c M-r}{26}{\code {C-c M-r}} +\entry{C-c C-b}{26}{\code {C-c C-b}} +\entry{C-c M-b}{26}{\code {C-c M-b}} +\entry{M-RET}{27}{\code {M-RET}} +\entry{C-c RET}{27}{\code {C-c RET}} +\entry{RET}{27}{\code {RET}} +\entry{C-c C-w}{27}{\code {C-c C-w}} +\entry{C-c C-e C-d}{28}{\code {C-c C-e C-d}} +\entry{C-c `}{29}{\code {C-c `}} +\entry{TAB}{29}{\code {TAB}} +\entry{C-M-q}{30}{\code {C-M-q}} +\entry{M-C-q}{30}{\code {M-C-q}} +\entry{ESC C-q}{30}{\code {ESC C-q}} +\entry{{\indexlbrace }}{30}{\code {\lbracechar {}}} +\entry{{\indexrbrace }}{30}{\code {\rbracechar {}}} +\entry{C-j}{30}{\code {C-j}} +\entry{M-;}{30}{\code {M-;}} +\entry{C-c C-e s}{30}{\code {C-c C-e s}} +\entry{C-c C-e C-s}{30}{\code {C-c C-e C-s}} +\entry{ESC C-a}{31}{\code {ESC C-a}} +\entry{C-M-a}{31}{\code {C-M-a}} +\entry{ESC C-e}{31}{\code {ESC C-e}} +\entry{C-M-e}{31}{\code {C-M-e}} +\entry{ESC C-h}{31}{\code {ESC C-h}} +\entry{C-M-h}{31}{\code {C-M-h}} +\entry{M-?}{37}{\code {M-?}} +\entry{C-c C-o C-o}{44}{\code {C-c C-o C-o}} +\entry{C-c C-o C-c}{44}{\code {C-c C-o C-c}} +\entry{C-c C-o C-r}{44}{\code {C-c C-o C-r}} +\entry{C-c C-o C-t}{44}{\code {C-c C-o C-t}} +\entry{C-c C-o p}{44}{\code {C-c C-o p}} +\entry{C-c C-o n}{44}{\code {C-c C-o n}} +\entry{C-c C-o C-h}{44}{\code {C-c C-o C-h}} +\entry{C-c C-t C-s}{45}{\code {C-c C-t C-s}} +\entry{,}{47}{\code {,}} +\entry{C-c C-. l}{50}{\code {C-c C-. l}} +\entry{C-c C-. r}{50}{\code {C-c C-. r}} +\entry{C-c C-. u}{50}{\code {C-c C-. u}} +\entry{C-c C-. a}{50}{\code {C-c C-. a}} +\entry{C-c C-. m}{50}{\code {C-c C-. m}} +\entry{C-c C-. o}{50}{\code {C-c C-. o}} +\entry{C-c C-. w}{50}{\code {C-c C-. w}} +\entry{C-c C-. s}{50}{\code {C-c C-. s}} +\entry{C-c C-. d}{50}{\code {C-c C-. d}} +\entry{C-c C-. H}{50}{\code {C-c C-. H}} +\entry{M-n s}{51}{\code {M-n s}} +\entry{M-n l}{51}{\code {M-n l}} +\entry{M-n P}{51}{\code {M-n P}} diff -Nru ess-18.10-1/doc/ess.kys ess-18.10.2/doc/ess.kys --- ess-18.10-1/doc/ess.kys 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/ess.kys 2018-11-10 09:41:21.000000000 +0000 @@ -0,0 +1,70 @@ +\initial {,} +\entry {\code {,}}{47} +\initial {{\indexlbrace }} +\entry {\code {\lbracechar {}}}{30} +\initial {{\indexrbrace }} +\entry {\code {\rbracechar {}}}{30} +\initial {C} +\entry {\code {C-c `}}{29} +\entry {\code {C-c C-. a}}{50} +\entry {\code {C-c C-. d}}{50} +\entry {\code {C-c C-. H}}{50} +\entry {\code {C-c C-. l}}{50} +\entry {\code {C-c C-. m}}{50} +\entry {\code {C-c C-. o}}{50} +\entry {\code {C-c C-. r}}{50} +\entry {\code {C-c C-. s}}{50} +\entry {\code {C-c C-. u}}{50} +\entry {\code {C-c C-. w}}{50} +\entry {\code {C-c C-b}}{26} +\entry {\code {C-c C-c}}{23, 25} +\entry {\code {C-c C-e C-d}}{28} +\entry {\code {C-c C-e C-s}}{30} +\entry {\code {C-c C-e s}}{30} +\entry {\code {C-c C-f}}{25} +\entry {\code {C-c C-j}}{25} +\entry {\code {C-c C-o C-c}}{44} +\entry {\code {C-c C-o C-h}}{44} +\entry {\code {C-c C-o C-o}}{44} +\entry {\code {C-c C-o C-r}}{44} +\entry {\code {C-c C-o C-t}}{44} +\entry {\code {C-c C-o n}}{44} +\entry {\code {C-c C-o p}}{44} +\entry {\code {C-c C-q}}{22} +\entry {\code {C-c C-s}}{22} +\entry {\code {C-c C-t C-s}}{45} +\entry {\code {C-c C-v}}{22} +\entry {\code {C-c C-w}}{27} +\entry {\code {C-c C-x}}{21} +\entry {\code {C-c C-z}}{23} +\entry {\code {C-c M-b}}{26} +\entry {\code {C-c M-f}}{25} +\entry {\code {C-c M-j}}{25} +\entry {\code {C-c M-l}}{22} +\entry {\code {C-c M-r}}{26} +\entry {\code {C-c RET}}{27} +\entry {\code {C-C C-r}}{25} +\entry {\code {C-j}}{30} +\entry {\code {C-M-a}}{31} +\entry {\code {C-M-e}}{31} +\entry {\code {C-M-h}}{31} +\entry {\code {C-M-q}}{30} +\entry {\code {C-M-x}}{25} +\entry {\code {C-RET}}{25} +\initial {E} +\entry {\code {ESC C-a}}{31} +\entry {\code {ESC C-e}}{31} +\entry {\code {ESC C-h}}{31} +\entry {\code {ESC C-q}}{30} +\initial {M} +\entry {\code {M-;}}{30} +\entry {\code {M-?}}{37} +\entry {\code {M-C-q}}{30} +\entry {\code {M-n l}}{51} +\entry {\code {M-n P}}{51} +\entry {\code {M-n s}}{51} +\entry {\code {M-RET}}{27} +\initial {R} +\entry {\code {RET}}{16, 27} +\initial {T} +\entry {\code {TAB}}{29} diff -Nru ess-18.10-1/doc/ess.log ess-18.10.2/doc/ess.log --- ess-18.10-1/doc/ess.log 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/ess.log 2018-11-10 09:41:22.000000000 +0000 @@ -0,0 +1,414 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) (preloaded format=pdfetex 2018.9.16) 10 NOV 2018 10:41 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**\input ./ess.texi +(./ess.texi +(/hg/s/linux/rhel3_amd64/app/teTeX/06.17/texmf-dist/tex/texinfo/texinfo.tex +Loading texinfo [version 2016-09-18.18]: +\outerhsize=\dimen16 +\outervsize=\dimen17 +\cornerlong=\dimen18 +\cornerthick=\dimen19 +\topandbottommargin=\dimen20 +\bindingoffset=\dimen21 +\normaloffset=\dimen22 +\txipagewidth=\dimen23 +\txipageheight=\dimen24 +\headlinebox=\box16 +\footlinebox=\box17 +\margin=\insert252 +\EMsimple=\toks13 +\groupbox=\box18 +\groupinvalidhelp=\toks14 +\mil=\dimen25 +\exdentamount=\skip18 +\inmarginspacing=\skip19 +\centerpenalty=\count27 + pdf, +\tempnum=\count28 +\lnkcount=\count29 +\filename=\toks15 +\filenamelength=\count30 +\pgn=\count31 +\toksA=\toks16 +\toksB=\toks17 +\toksC=\toks18 +\toksD=\toks19 +\boxA=\box19 +\boxB=\box20 +\countA=\count32 +\nopdfimagehelp=\toks20 + fonts, +\textleading=\dimen26 +\sffam=\fam8 + markup, +\fontdepth=\count33 + glyphs, +\errorbox=\box21 + +page headings, +\titlepagetopglue=\skip20 +\titlepagebottomglue=\skip21 +\evenheadline=\toks21 +\oddheadline=\toks22 +\evenfootline=\toks23 +\oddfootline=\toks24 + tables, +\tableindent=\dimen27 +\itemindent=\dimen28 +\itemmargin=\dimen29 +\itemmax=\dimen30 +\itemno=\count34 +\multitableparskip=\skip22 +\multitableparindent=\skip23 +\multitablecolspace=\dimen31 +\multitablelinespace=\skip24 +\colcount=\count35 +\everytab=\toks25 + conditionals, +\doignorecount=\count36 + indexing, +\dummybox=\box22 +\whatsitskip=\skip25 +\whatsitpenalty=\count37 +\entryrightmargin=\dimen32 +\thinshrinkable=\skip26 +\entryindexbox=\box23 +\delayedbox=\box24 +\interbox=\box25 +\secondaryindent=\skip27 +\partialpage=\box26 +\doublecolumnhsize=\dimen33 +\savedtopmark=\toks26 +\savedfirstmark=\toks27 +\balancedcolumns=\box27 + sectioning, +\unnumberedno=\count38 +\chapno=\count39 +\secno=\count40 +\subsecno=\count41 +\subsubsecno=\count42 +\appendixno=\count43 +\absseclevel=\count44 +\secbase=\count45 +\chapheadingskip=\skip28 +\secheadingskip=\skip29 +\subsecheadingskip=\skip30 + toc, +\tocfile=\write0 +\contentsrightmargin=\skip31 +\savepageno=\count46 +\lastnegativepageno=\count47 +\tocindent=\dimen34 + environments, +\lispnarrowing=\skip32 +\envskipamount=\skip33 +\circthick=\dimen35 +\cartouter=\dimen36 +\cartinner=\dimen37 +\normbskip=\skip34 +\normpskip=\skip35 +\normlskip=\skip36 +\lskip=\skip37 +\rskip=\skip38 +\nonfillparindent=\dimen38 +\tabw=\dimen39 +\verbbox=\box28 + +defuns, +\defbodyindent=\skip39 +\defargsindent=\skip40 +\deflastargmargin=\skip41 +\defunpenalty=\count48 +\parencount=\count49 +\brackcount=\count50 + macros, +\savedcatcodeone=\count51 +\savedcatcodetwo=\count52 +\paramno=\count53 +\macname=\toks28 + cross references, +\auxfile=\write1 +\savesfregister=\count54 +\toprefbox=\box29 +\printedrefnamebox=\box30 +\infofilenamebox=\box31 +\printedmanualbox=\box32 + insertions, +\footnoteno=\count55 +\SAVEfootins=\box33 +\SAVEmargin=\box34 + +(/usr/local.nfs/app/teTeX/texmflocal/tex/generic/dvips/epsf.tex +\epsffilein=\read1 +\epsfframemargin=\dimen40 +\epsfframethickness=\dimen41 +\epsfrsize=\dimen42 +\epsftmp=\dimen43 +\epsftsize=\dimen44 +\epsfxsize=\dimen45 +\epsfysize=\dimen46 +\pspoints=\dimen47 +\epsfnoopenhelp=\toks29 +) +\noepsfhelp=\toks30 + localization, +\nolanghelp=\toks31 +\countUTFx=\count56 +\countUTFy=\count57 +\countUTFz=\count58 + +formatting, +\defaultparindent=\dimen48 + and turning on texinfo input format.) +@fnindfile=@write2 +\openout2 = `ess.fn'. + + +Writing index file ess.fn +texinfo.tex: doing @include of ess-defs.texi + +(/u/maechler/emacs/ess/ess-18.10.2/doc/ess-defs.texi) +texinfo.tex: doing @include of ../VERSION + + (../VERSION) [1{/hg/s/linux/rhel3_amd64/app/teTeX/06.17/texmf-var/fonts/map/pd +ftex/updmap/pdftex.map}] +(/u/maechler/emacs/ess/ess-18.10.2/doc/ess.toc [-1] [-2]) [-3] +(/u/maechler/emacs/ess/ess-18.10.2/doc/ess.toc) +(/u/maechler/emacs/ess/ess-18.10.2/doc/ess.toc) Chapter 1 +\openout0 = `ess.toc'. + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/ess.aux) +\openout1 = `ess.aux'. + +@cpindfile=@write3 +\openout3 = `ess.cp'. + + +Writing index file ess.cp +texinfo.tex: doing @include of currfeat.texi + +(/u/maechler/emacs/ess/ess-18.10.2/doc/currfeat.texi [1]) [2] +texinfo.tex: doing @include of newfeat.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/newfeat.texi [3] [4] [5] [6] [7]) +texinfo.tex: doing @include of credits.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/credits.texi +texinfo.tex: doing @include of authors.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/authors.texi [8])) Chapter 2 [9] +[10] +texinfo.tex: doing @include of installation.texi + + (/u/maechler/emacs/ess/ess-18.10.2/doc/installation.texi +texinfo.tex: doing @include of requires.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/requires.texi) +Missing character: There is no â in font cmr10! +Missing character: There is no € in font cmr10! +Missing character: There is no ™ in font cmr10! + +Underfull \hbox (badness 8075) in paragraph at lines 46--50 +[]@textrm Alternatively, you may down-load the git repos-i-tory. ESS is cur-ren +tly + +@hbox(7.60416+2.12917)x433.62, glue set 4.3246 +.@hbox(0.0+0.0)x15.0 +.@textrm A +.@textrm l +.@textrm t +.@textrm e +.etc. + + +Underfull \hbox (badness 7722) in paragraph at lines 46--50 +@texttt https://github.com/emacs-ess/ESS.git[] @textrm will down-load it to a n +ew di-rec-tory + +@hbox(7.60416+2.43333)x433.62, glue set 4.26207 +.@texttt h +.@texttt t +.@texttt t +.@texttt p +.@texttt s +.etc. + +[11]) Chapter 3 [12] +@vrindfile=@write4 +\openout4 = `ess.vr'. + + +Writing index file ess.vr + +Underfull \hbox (badness 10000) in paragraph at lines 418--422 +[]@textrm You can switch to any ac-tive ESS pro-cess with the com-mand `@texttt + M-x + +@hbox(7.60416+2.12917)x433.62, glue set 5.0366 +.@hbox(0.0+0.0)x15.0 +.@textrm Y +.@kern-0.91252 +.@textrm o +.@textrm u +.etc. + +[13] [14] Chapter 4 [15] +@kyindfile=@write5 +\openout5 = `ess.ky'. + + +Writing index file ess.ky +[16] [17] [18] +Overfull \hbox (106.92076pt too wide) in paragraph at lines 933--933 + [] @texttt ;; somewhat extreme, almost disabling writing in *R*, *shell* +buffers above prompt:[] | + +@hbox(6.69167+2.43333)x433.62 +.@glue(@leftskip) 28.90755 +.@hbox(0.0+0.0)x0.0 +.@penalty 10000 +.@glue 5.74869 +.@penalty 10000 +.etc. + +[19] [20] [21] +Underfull \hbox (badness 7832) in paragraph at lines 1101--1104 + []@textttsl C-c C-s[] @textrm Sends the @texttt inferior-ess-search-list-comma +nd[] @textrm com-mand to the + +@hbox(7.60416+0.0)x433.62, glue set 4.28247 +.@glue(@leftskip) 28.90755 +.@hbox(0.0+0.0)x0.0 +.@textttsl C +.@textttsl - +.@discretionary +.etc. + +[22] Chapter 5 [23] [24] [25] Chapter 6 [26] Chapter 7 [27] [28] [29] [30] +[31] [32] Chapter 8 [33] [34] [35] Chapter 9 [36] [37] [38] Chapter 10 [39] +Overfull \hbox (37.7724pt too wide) in paragraph at lines 2419--2419 +[][] | + +@hbox(7.60416+0.91246)x433.62 +.@hbox(0.0+0.0)x0.0 +.@hbox(7.60416+0.91246)x471.3924 +..@penalty 10000 +..@glue 5.74869 +..@texttt ` +..@penalty 10000 +..@glue 5.74869 +..etc. +.@penalty 10000 +.@glue(@parfillskip) 0.0 plus 1.0fil +.@glue(@rightskip) 0.0 +.etc. + + +Overfull \hbox (43.52109pt too wide) in paragraph at lines 2419--2419 +[][] | + +@hbox(7.60416+0.91246)x433.62 +.@hbox(0.0+0.0)x0.0 +.@hbox(7.60416+0.91246)x477.14108 +..@penalty 10000 +..@glue 5.74869 +..@texttt ~ +..@penalty 10000 +..@glue 5.74869 +..etc. +.@penalty 10000 +.@glue(@parfillskip) 0.0 plus 1.0fil +.@glue(@rightskip) 0.0 +.etc. + + +Overfull \hbox (14.77765pt too wide) in paragraph at lines 2419--2419 +[][] | + +@hbox(6.69167+2.43333)x433.62 +.@hbox(0.0+0.0)x0.0 +.@hbox(6.69167+2.43333)x448.39764 +..@penalty 10000 +..@glue 5.74869 +..@texttt u +..@penalty 10000 +..@glue 5.74869 +..etc. +.@penalty 10000 +.@glue(@parfillskip) 0.0 plus 1.0fil +.@glue(@rightskip) 0.0 +.etc. + +[40] [41] [42] [43] [44] Chapter 11 [45] [46] [47] [48] [49] [50] Chapter 12 +[51] +texinfo.tex: doing @include of help-s.texi + + (/u/maechler/emacs/ess/ess-18.10.2/doc/help-s.texi [52] [53] [54]) +Chapter 13 [55] +texinfo.tex: doing @include of help-sas.texi + + (/u/maechler/emacs/ess/ess-18.10.2/doc/help-sas.texi [56] +[57] [58] [59] [60] [61] [62] [63]) Chapter 14 [64] +texinfo.tex: doing @include of help-bugs.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/help-bugs.texi) Chapter 15 [65] +texinfo.tex: doing @include of help-jags.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/help-jags.texi) Chapter 16 [66] +texinfo.tex: doing @include of bugs.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/bugs.texi) +texinfo.tex: doing @include of bugrept.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/bugrept.texi) +texinfo.tex: doing @include of mailing.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/mailing.texi [67]) Appendix A [68] +(Indices) [69] [70] [71] [72] [73] [74] ) +Here is how much of TeX's memory you used: + 3958 strings out of 497102 + 45255 string characters out of 6206773 + 104046 words of memory out of 5000000 + 4840 multiletter control sequences out of 15000+600000 + 32778 words of font info for 114 fonts, out of 8000000 for 9000 + 51 hyphenation exceptions out of 8191 + 18i,6n,16p,287b,718s stack positions out of 5000i,500n,10000p,200000b,80000s +< +/hg/s/linux/rhel3_amd64/app/teTeX/06.17/texmf-dist/fonts/type1/public/amsfonts/ +cm/cmsl10.pfb> +Output written on ess.pdf (78 pages, 441158 bytes). +PDF statistics: + 1467 PDF objects out of 1728 (max. 8388607) + 1355 compressed objects within 14 object streams + 180 named destinations out of 1000 (max. 500000) + 901 words of extra memory for PDF output out of 10000 (max. 10000000) + Binary files /tmp/tmpUDT4RK/qXC0_2Uocm/ess-18.10-1/doc/ess.pdf and /tmp/tmpUDT4RK/jNqBxxK0AA/ess-18.10.2/doc/ess.pdf differ diff -Nru ess-18.10-1/doc/ess.texi ess-18.10.2/doc/ess.texi --- ess-18.10-1/doc/ess.texi 2018-10-23 16:37:12.000000000 +0000 +++ ess-18.10.2/doc/ess.texi 2018-11-10 09:41:10.000000000 +0000 @@ -2770,7 +2770,7 @@ environment. See also @uref{https://cran.r-project.org/doc/manuals/R-ints.html#Namespaces}. -Ocasionally you want to evaluate into a package from a non-package file, +Occasionally you want to evaluate into a package from a non-package file, or the other way around, evaluate into @code{GlobalEnv} from inside a package. In such cases @kbd{C-c C-t C-s} is your friend. diff -Nru ess-18.10-1/doc/ess.toc ess-18.10.2/doc/ess.toc --- ess-18.10-1/doc/ess.toc 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/ess.toc 2018-11-10 09:41:22.000000000 +0000 @@ -0,0 +1,111 @@ +@numchapentry{Introduction to ESS}{1}{Introduction}{1} +@numsecentry{Why should I use ESS?}{1.1}{Features}{1} +@numsubsecentry{Features Overview}{1.1.1}{Current Features}{2} +@numsecentry{New features in ESS}{1.2}{New features}{3} +@numsecentry{Authors of and contributors to ESS}{1.3}{Credits}{8} +@numsecentry{How to read this manual}{1.4}{Manual}{9} +@numchapentry{Installing ESS on your system}{2}{Installation}{11} +@numsecentry{Installing from a third-party repository}{2.1}{Installing from a third-party repository}{11} +@numsecentry{Installing from source}{2.2}{Installing from source}{11} +@numsecentry{Activating and Loading ESS}{2.3}{Activating and Loading ESS}{12} +@numsecentry{Check Installation}{2.4}{Check Installation}{12} +@numchapentry{Interacting with statistical programs}{3}{Interactive ESS}{13} +@numsecentry{Starting an ESS process}{3.1}{Starting up}{13} +@numsecentry{Running more than one ESS process}{3.2}{Multiple ESS processes}{13} +@numsecentry{ESS processes on Remote Computers}{3.3}{ESS processes on Remote Computers}{13} +@numsubsecentry{ESS and TRAMP}{3.3.1}{}{13} +@numsubsecentry{ESS-remote}{3.3.2}{}{14} +@numsecentry{Changing the startup actions}{3.4}{Customizing startup}{15} +@numchapentry{Interacting with the ESS process}{4}{Entering commands}{16} +@numsecentry{Entering commands and fixing mistakes}{4.1}{Command-line editing}{16} +@numsecentry{Manipulating the transcript}{4.2}{Transcript}{16} +@numsubsecentry{Manipulating the output from the last command}{4.2.1}{Last command}{17} +@numsubsecentry{Viewing older commands}{4.2.2}{Process buffer motion}{17} +@numsubsecentry{Re-submitting commands from the transcript}{4.2.3}{Transcript resubmit}{17} +@numsubsecentry{Keeping a record of your R session}{4.2.4}{Saving transcripts}{18} +@numsecentry{Command History}{4.3}{Command History}{19} +@numsubsecentry{Saving the command history}{4.3.1}{Saving History}{20} +@numsecentry{References to historical commands}{4.4}{History expansion}{20} +@numsecentry{Hot keys for common commands}{4.5}{Hot keys}{21} +@numsecentry{Is the Statistical Process running under ESS?}{4.6}{Statistical Process running in ESS?}{23} +@numsecentry{Using emacsclient}{4.7}{Emacsclient}{23} +@numsecentry{Other commands provided by inferior-ESS}{4.8}{Other}{23} +@numchapentry{Sending code to the ESS process}{5}{Evaluating code}{25} +@numchapentry{Manipulating saved transcript files}{6}{Transcript Mode}{27} +@numsecentry{Resubmitting commands from the transcript file}{6.1}{Resubmit}{27} +@numsecentry{Cleaning transcript files}{6.2}{Clean}{27} +@numchapentry{Editing objects and functions}{7}{Editing objects}{28} +@numsecentry{Creating or modifying R objects}{7.1}{Edit buffer}{28} +@numsecentry{Loading source files into the ESS process}{7.2}{Loading}{28} +@numsecentry{Detecting errors in source files}{7.3}{Error Checking}{29} +@numsecentry{Indenting and formatting R code}{7.4}{Indenting}{29} +@numsubsecentry{Changing styles for code indentation and alignment}{7.4.1}{Styles}{30} +@numsecentry{Commands for motion, completion and more}{7.5}{Other edit buffer commands}{31} +@numsecentry{Maintaining R source files}{7.6}{Source Files}{31} +@numsecentry{Names and locations of dump files}{7.7}{Source Directories}{33} +@numchapentry{Reading help files}{8}{Help}{35} +@numchapentry{Completion}{9}{Completion}{37} +@numsecentry{Completion of object names}{9.1}{Object names}{37} +@numsecentry{Completion of function arguments}{9.2}{Function arguments}{37} +@numsecentry{Minibuffer completion}{9.3}{Minibuffer completion}{38} +@numsecentry{Integration with auto-complete package}{9.4}{Auto-complete}{38} +@numsecentry{Company}{9.5}{Company}{38} +@numsecentry{Icicles}{9.6}{Icicles}{38} +@numchapentry{Developing with ESS}{10}{Developing with ESS}{40} +@numsecentry{ESS tracebug}{10.1}{ESS tracebug}{40} +@numsubsecentry{Getting started with tracebug}{10.1.1}{Getting started with tracebug}{41} +@numsecentry{Editing documentation}{10.2}{Editing documentation}{42} +@numsubsecentry{Editing R documentation (Rd) files}{10.2.1}{R documentation files}{42} +@numsubsecentry{Editing Roxygen documentation}{10.2.2}{Roxygen}{43} +@numsecentry{Namespaced Evaluation}{10.3}{Namespaced Evaluation}{45} +@numchapentry{Other ESS features and tools}{11}{Extras}{46} +@numsecentry{ElDoc}{11.1}{ESS ElDoc}{46} +@numsecentry{Flymake}{11.2}{ESS Flymake}{46} +@numsecentry{Handy commands}{11.3}{Handy commands}{47} +@numsecentry{Syntactic highlighting of buffers}{11.4}{Highlighting}{47} +@numsecentry{Parenthesis matching}{11.5}{Parens}{48} +@numsecentry{Using graphics with ESS}{11.6}{Graphics}{48} +@numsubsecentry{Using ESS with the @code {printer()} driver}{11.6.1}{printer}{48} +@numsubsecentry{Using ESS with windowing devices}{11.6.2}{X11}{48} +@numsubsecentry{Java Graphics Device}{11.6.3}{winjava}{48} +@numsecentry{Imenu}{11.7}{Imenu}{48} +@numsecentry{Toolbar}{11.8}{Toolbar}{49} +@numsecentry{Xref}{11.9}{Xref}{49} +@numsecentry{Rdired}{11.10}{Rdired}{49} +@numsecentry{Rutils}{11.11}{Rutils}{49} +@numsecentry{Interaction with Org mode}{11.12}{Org}{51} +@numsecentry{Support for Sweave in ESS and AUCTeX}{11.13}{Sweave and AUCTeX}{51} +@numchapentry{Overview of ESS features for the S family}{12}{ESS for R}{52} +@numsecentry{ESS[R]--Editing files}{12.1}{ESS(R)--Editing files}{52} +@numsecentry{iESS[R]--Inferior ESS processes}{12.2}{iESS(R)--Inferior ESS processes}{52} +@numsecentry{Philosophies for using ESS[R]}{12.3}{Philosophies for using ESS(R)}{53} +@numsecentry{Example ESS usage}{12.4}{Example ESS usage}{54} +@numchapentry{ESS for SAS}{13}{ESS for SAS}{56} +@numsecentry{ESS[SAS]--Design philosophy}{13.1}{ESS(SAS)--Design philosophy}{56} +@numsecentry{ESS[SAS]--Editing files}{13.2}{ESS(SAS)--Editing files}{56} +@numsecentry{ESS[SAS]--@key {TAB} key}{13.3}{ESS(SAS)--TAB key}{57} +@numsecentry{ESS[SAS]--Batch SAS processes}{13.4}{ESS(SAS)--Batch SAS processes}{57} +@numsecentry{ESS[SAS]--Function keys for batch processing}{13.5}{ESS(SAS)--Function keys for batch processing}{59} +@numsecentry{iESS[SAS]--Interactive SAS processes}{13.6}{iESS(SAS)--Interactive SAS processes}{62} +@numsecentry{iESS[SAS]--Common problems}{13.7}{iESS(SAS)--Common problems}{63} +@numsecentry{ESS[SAS]--Graphics}{13.8}{ESS(SAS)--Graphics}{64} +@numsecentry{ESS[SAS]--Windows}{13.9}{ESS(SAS)--Windows}{64} +@numchapentry{ESS for BUGS}{14}{ESS for BUGS}{65} +@numsecentry{ESS[BUGS]--Model files}{14.1}{}{65} +@numsecentry{ESS[BUGS]--Command files}{14.2}{}{65} +@numsecentry{ESS[BUGS]--Log files}{14.3}{}{65} +@numchapentry{ESS for JAGS}{15}{ESS for JAGS}{66} +@numsecentry{ESS[JAGS]--Model files}{15.1}{}{66} +@numsecentry{ESS[JAGS]--Command files}{15.2}{}{66} +@numsecentry{ESS[JAGS]--Log files}{15.3}{}{66} +@numchapentry{Bugs and Bug Reporting, Mailing Lists}{16}{Mailing lists/bug reports}{67} +@numsecentry{Bugs}{16.1}{Bugs}{67} +@numsecentry{Reporting Bugs}{16.2}{Reporting Bugs}{67} +@numsecentry{Mailing Lists}{16.3}{Mailing Lists}{67} +@numsecentry{Help with Emacs}{16.4}{Help with Emacs}{68} +@appentry{Customizing ESS}{A}{Customization}{69} +@unnchapentry{Indices}{10001}{Indices}{70} +@unnsecentry{Key index}{10001.1}{Key index}{70} +@unnsecentry{Function and program index}{10001.2}{Function and program index}{70} +@unnsecentry{Variable index}{10001.3}{Variable index}{72} +@unnsecentry{Concept Index}{10001.4}{Concept index}{72} diff -Nru ess-18.10-1/doc/ess.vr ess-18.10.2/doc/ess.vr --- ess-18.10-1/doc/ess.vr 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/ess.vr 2018-11-10 09:41:22.000000000 +0000 @@ -0,0 +1,42 @@ +\entry{ess-plain-first-buffername}{13}{\code {ess-plain-first-buffername}} +\entry{ess-ask-for-ess-directory}{15}{\code {ess-ask-for-ess-directory}} +\entry{ess-ask-about-transfile}{15}{\code {ess-ask-about-transfile}} +\entry{inferior-ess-program}{15}{\code {inferior-ess-program}} +\entry{iESS program arguments}{15}{\code {iESS program arguments}} +\entry{ess-ask-about-transfile}{18}{\code {ess-ask-about-transfile}} +\entry{comint-input-ring-size}{19}{\code {comint-input-ring-size}} +\entry{comint-delimiter-argument-list}{20}{\code {comint-delimiter-argument-list}} +\entry{ess-execute-in-process-buffer}{21}{\code {ess-execute-in-process-buffer}} +\entry{ess-switch-to-end-of-proc-buffer}{23}{\code {ess-switch-to-end-of-proc-buffer}} +\entry{ess-eval-visibly}{25}{\code {ess-eval-visibly}} +\entry{ess-function-template}{28}{\code {ess-function-template}} +\entry{comment-column}{29}{\code {comment-column}} +\entry{ess-indent-with-fancy-comments}{29}{\code {ess-indent-with-fancy-comments}} +\entry{ess-tab-complete-in-script}{29}{\code {ess-tab-complete-in-script}} +\entry{ess-first-tab-never-complete}{30}{\code {ess-first-tab-never-complete}} +\entry{ess-default-style}{30}{\code {ess-default-style}} +\entry{ess-style-alist}{30}{\code {ess-style-alist}} +\entry{ess-delete-dump-files}{31}{\code {ess-delete-dump-files}} +\entry{ess-keep-dump-files}{32}{\code {ess-keep-dump-files}} +\entry{ess-dump-filename-template}{33}{\code {ess-dump-filename-template}} +\entry{ess-source-directory}{33}{\code {ess-source-directory}} +\entry{ess-directory}{33}{\code {ess-directory}} +\entry{ess-search-list}{33}{\code {ess-search-list}} +\entry{ess-first-tab-never-complete}{37}{\code {ess-first-tab-never-complete}} +\entry{ac-source-R}{38}{\code {ac-source-R}} +\entry{ac-source-R-args}{38}{\code {ac-source-R-args}} +\entry{ac-source-R-objects}{38}{\code {ac-source-R-objects}} +\entry{Rd-mode-hook}{43}{\code {Rd-mode-hook}} +\entry{Rd-indent-level}{43}{\code {Rd-indent-level}} +\entry{Rd-to-help-command}{43}{\code {Rd-to-help-command}} +\entry{ess-use-eldoc}{46}{\code {ess-use-eldoc}} +\entry{ess-eldoc-show-on-symbol}{46}{\code {ess-eldoc-show-on-symbol}} +\entry{ess-eldoc-abbreviation-style}{46}{\code {ess-eldoc-abbreviation-style}} +\entry{ess-use-flymake}{46}{\code {ess-use-flymake}} +\entry{ess-r-flymake-linters}{46}{\code {ess-r-flymake-linters}} +\entry{ess-r-flymake-lintr-cache}{46}{\code {ess-r-flymake-lintr-cache}} +\entry{ess-handy-commands}{47}{\code {ess-handy-commands}} +\entry{ess-handy-commands}{47}{\code {ess-handy-commands}} +\entry{inferior-R-font-lock-keywords}{47}{\code {inferior-R-font-lock-keywords}} +\entry{ess-R-font-lock-keywords}{47}{\code {ess-R-font-lock-keywords}} +\entry{ess-swv-pdflatex-commands}{51}{\code {ess-swv-pdflatex-commands}} diff -Nru ess-18.10-1/doc/ess.vrs ess-18.10.2/doc/ess.vrs --- ess-18.10-1/doc/ess.vrs 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/ess.vrs 2018-11-10 09:41:21.000000000 +0000 @@ -0,0 +1,44 @@ +\initial {A} +\entry {\code {ac-source-R}}{38} +\entry {\code {ac-source-R-args}}{38} +\entry {\code {ac-source-R-objects}}{38} +\initial {C} +\entry {\code {comint-delimiter-argument-list}}{20} +\entry {\code {comint-input-ring-size}}{19} +\entry {\code {comment-column}}{29} +\initial {E} +\entry {\code {ess-ask-about-transfile}}{15, 18} +\entry {\code {ess-ask-for-ess-directory}}{15} +\entry {\code {ess-default-style}}{30} +\entry {\code {ess-delete-dump-files}}{31} +\entry {\code {ess-directory}}{33} +\entry {\code {ess-dump-filename-template}}{33} +\entry {\code {ess-eldoc-abbreviation-style}}{46} +\entry {\code {ess-eldoc-show-on-symbol}}{46} +\entry {\code {ess-eval-visibly}}{25} +\entry {\code {ess-execute-in-process-buffer}}{21} +\entry {\code {ess-first-tab-never-complete}}{30, 37} +\entry {\code {ess-function-template}}{28} +\entry {\code {ess-handy-commands}}{47} +\entry {\code {ess-indent-with-fancy-comments}}{29} +\entry {\code {ess-keep-dump-files}}{32} +\entry {\code {ess-plain-first-buffername}}{13} +\entry {\code {ess-r-flymake-linters}}{46} +\entry {\code {ess-r-flymake-lintr-cache}}{46} +\entry {\code {ess-R-font-lock-keywords}}{47} +\entry {\code {ess-search-list}}{33} +\entry {\code {ess-source-directory}}{33} +\entry {\code {ess-style-alist}}{30} +\entry {\code {ess-switch-to-end-of-proc-buffer}}{23} +\entry {\code {ess-swv-pdflatex-commands}}{51} +\entry {\code {ess-tab-complete-in-script}}{29} +\entry {\code {ess-use-eldoc}}{46} +\entry {\code {ess-use-flymake}}{46} +\initial {I} +\entry {\code {iESS program arguments}}{15} +\entry {\code {inferior-ess-program}}{15} +\entry {\code {inferior-R-font-lock-keywords}}{47} +\initial {R} +\entry {\code {Rd-indent-level}}{43} +\entry {\code {Rd-mode-hook}}{43} +\entry {\code {Rd-to-help-command}}{43} diff -Nru ess-18.10-1/doc/html/ess.html ess-18.10.2/doc/html/ess.html --- ess-18.10-1/doc/html/ess.html 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/html/ess.html 2018-11-10 09:41:26.000000000 +0000 @@ -0,0 +1,6780 @@ + + + + + +ESS – Emacs Speaks Statistics + + + + + + + + + + + + + + + + +

ESS – Emacs Speaks Statistics

+ + + + + + + + + + + + + + + + + + +

Table of Contents

+ +
+ + +
+ + + +

ESS — Emacs Speaks Statistics

+ + +
+

+Next: , Up: (dir)   [Contents][Index]

+
+ +

ESS: Emacs Speaks Statistics

+ +

ESS version +18.10.2 +

+
+
by  A.J. Rossini,
+    R.M. Heiberger,
+    K. Hornik,
+    M. Maechler,
+    R.A. Sparapani,
+    S.J. Eglen,
+    S.P. Luque,
+    H. Redestig,
+    V. Spinu,
+    L. Henry,
+and J.A. Branham.
+
+ +
+

Emacs Speaks Statistics (ESS) provides an intelligent, consistent +interface between the user and the software. ESS interfaces with R, +SAS, S-PLUS, BUGS/JAGS and other statistical analysis packages on +GNU/Linux, other Unix-like systems such as macOS, and Microsoft Windows. +ESS is itself a package within the Emacs text editor and uses Emacs +features to streamline the creation and use of statistical software. +ESS knows the syntax and grammar of statistical analysis packages and +provides consistent display and editing features based on that +knowledge. ESS assists in interactive and batch execution of statements +written in these statistical analysis languages. +

+ +

The source and documentation of ESS is free software. +You can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. +

+

ESS is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +in the file COPYING in the same directory as this file for more +details. +

+ + + + + + + + + + + + + + + + + + + + + + +
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

1 Introduction to ESS

+ + +

ESS provides a generic interface, through Emacs, to statistical +packages. It currently supports R (and the rest of the S family), SAS, +BUGS/JAGS, Stata, and Julia with the level of support roughly in that +order. +

+

Throughout this manual, Emacs refers to GNU Emacs by the +Free Software Foundation. Although previous versions of ESS supported +other Emacsen, current versions only support GNU Emacs. +

+

There are two main ways of interacting with ESS: through “regular” +modes or “inferior” modes. Regular modes act like normal Emacs major +modes. ESS major mods are displayed in the mode-line in the format +ESS[dialect], where dialect can take values such as +R, SAS, or S. +

+

ESS also provides easy access to an “inferior process,” which is an Emacs buffer associated with a running process. This can be an R session, for example. These inferior processes are referred +to as inferior ESS (iESS), and are shown in the modeline by +iESS [dialect]. +

+

Currently, the documentation contains many references to ‘R’ +where actually any supported (statistics) language is meant, i.e., ‘R’ +could also mean ‘S’ or ‘SAS.’ +

+ + + + + +

For exclusively interactive users of R, ESS provides a number of +features to make life easier. There is an easy to use command history +mechanism, including a quick prefix-search history. To reduce typing, +command-line completion is provided for all R objects and “hot keys” +are provided for common R function calls. Help files are easily +accessible, and a paging mechanism is provided to view them. Finally, +an incidental (but very useful) side-effect of ESS is that a transcript +of your session is kept for later saving or editing. + + +

+

No special knowledge of Emacs is necessary when using R interactively +under ESS. +

+ + +

For those that use R in the typical edit–test–revise cycle when +writing R functions, ESS provides for editing of R functions +in Emacs buffers. Unlike the typical use of R where the editor +is restarted every time an object is edited, ESS uses the current Emacs +session for editing. In practical terms, this means that you can edit +more than one function at once, and that the ESS process is still +available for use while editing. Error checking is performed on +functions loaded back into R, and a mechanism to jump directly to the +error is provided. ESS also provides for maintaining text versions of +your R functions in specified source directories. +

+ + + + + + + +
+ +
+

+Next: , Up: Introduction   [Contents][Index]

+
+ +

1.1 Why should I use ESS?

+ +

Statistical packages are powerful software systems for manipulating and +analyzing data, but their user interfaces often leave something something +to be desired: they offer weak editor functionality and they differ +among themselves so markedly that you have to re-learn how to do those +things for each package. ESS is a package which is designed to make +editing and interacting with statistical packages more uniform, +user-friendly and give you the power of Emacs as well. +

+

Additionally, both Emacs and ESS (and R) are free software designed to +give users full control over their computer. For more on what this +means, visit https://www.gnu.org/philosophy/free-sw.html. +

+ + + + + +
+ +
+

+Up: Features   [Contents][Index]

+
+ +

1.1.1 Features Overview

+
    +
  • Languages Supported: +
      +
    • S family (R, S, and S+ AKA S-PLUS) +
    • SAS +
    • BUGS/JAGS +
    • Stata +
    • Julia +
    +
  • Editing source code (S family, SAS, BUGS/JAGS, Stata, Julia) +
      +
    • Syntactic indentation and highlighting of source code +
    • Partial evaluation of code +
    • Loading and error-checking of code +
    • Source code revision maintenance +
    • Batch execution (SAS, BUGS/JAGS) +
    • Use of imenu to provide links to appropriate functions +
    +
  • Interacting with the process (S family, SAS, Stata, Julia) +
      +
    • Command-line editing +
    • Searchable Command history +
    • Command-line completion of S family object names and file names +
    • Quick access to object lists and search lists +
    • Transcript recording +
    • Interface to the help system +
    +
  • Transcript manipulation (S family, Stata) +
      +
    • Recording and saving transcript files +
    • Manipulating and editing saved transcripts +
    • Re-evaluating commands from transcript files +
    +
  • Interaction with Help Pages and other Documentation (R) +
      +
    • Fast Navigation +
    • Sending Examples to running ESS process. +
    • Fast Transfer to Further Help Pages +
    +
  • Help File Editing (R) +
      +
    • Syntactic indentation and highlighting of source code. +
    • Sending Examples to running ESS process. +
    • Previewing +
    +
+ + +

For source code buffers, ESS offers several features: +

+
    +
  • Support for multiple indentation styles R code See Indenting. + +
  • Facilities for loading and error-checking source files, including a +keystroke to jump straight to the position of an error in a source file. +See Error Checking. + +
  • Source code revision maintenance, which allows you to keep historic +versions of R source files. +See Source Files. + +
  • Facilities for evaluating R code such as portions of source +files, or line-by-line evaluation of files (useful for debugging). +See Evaluating code. +
+ +

ESS also provides features that make it easier to interact with inferior +ESS (iESS) process (a connection between your buffer and the statistical +package which is waiting for you to input commands). These include: +

+
    +
  • Command-line editing for fixing mistakes in commands before they are +entered. See Command-line editing. + +
  • Searchable command history for recalling previously-submitted +commands. See Command History. + +
  • Command-line completion of both object and file names for quick +entry. See Completion. + +
  • Hot-keys for quick entry of commonly-used commands in ‘R’ such as +objects(), and search(). See Hot keys. + +
  • Transcript recording for a complete record of all the actions in an +R session. See Transcript. + +
  • Interface to the help system, with a specialized mode for viewing R +help files. See Help. + +
  • Object editing. ESS allows you to edit more than one function +simultaneously in dedicated Emacs buffers. The ESS process may +continue to be used while functions are being edited. +See Edit buffer. +
+ +

Finally, ESS provides features for re-submitting commands from saved +transcript files, including: +

+
    +
  • Evaluation of previously entered commands, stripping away +unnecessary prompts. +See Transcript resubmit. + +
+ +
+ +
+

+Next: , Previous: , Up: Introduction   [Contents][Index]

+
+ +

1.2 New features in ESS

+ + +

Bug Fixes in 18.10.2: +

    +
  • ESS[R] Fix namespace evaluation in non-installed packages. +Evaluation is directed into GlobalEnv as originally intended. +
  • Makefile fixes, notably for make install and including +full docs in the tarballs. +
+ +

Bug Fixes in 18.10-1: +

    +
  • New functions ess-eval-line-visibly-and-step (C-c C-n and ess-eval-region-or-line-visibly-and-step (C-RET) +which behave as the old versions of ess-eval-line-and-step and ess-eval-region-or-line-and-step. +
+ +

Changes and New Features in 18.10: +

    +
  • This is the last release to support Emacs older than 25.1. +Going forward, only GNU Emacs 25.1 and newer will be supported. Soon +after this release, support for older Emacs versions will be dropped +from the git master branch. Note that MELPA uses the git master branch +to produce ESS snapshots, so if you are using Emacs < 25.1 from MELPA +and are unable to upgrade, you should switch to MELPA-stable. + +
  • ESS now displays the language dialect in the mode-line. +So, for example, R buffers will now show ESS[R] rather than ESS[S]. + +
  • The ESS manual has been updated and revised. + +
  • The ESS initialization process has been further streamlined. +If you update the autoloads (which installation from +package-install does), you should not need to (require +'ess-site) at all, as autoloads should automatically load ESS when it +is needed (e.g. the first time an R buffer is opened). In order to +defer loading your ESS config, you may want to do something like +(with-require-after-load "ess" <ess-config-here>) in your Emacs +init file. Users of the popular use-package Emacs package can +now do (use-package ess :defer t) to take advantage of this +behavior. See (ess)Activating and Loading ESS for more +information on this feature. + +
  • ESS now respects Emacs conventions for keybindings. +This means that The C-c [letter] bindings have been +removed. This affects C-c h, which was bound to +ess-eval-line-and-step-invisibly in sas-mode-local-map; +C-c f, which was bound to ess-insert-function-outline in +ess-add-MM-keys; and C-c h, which was bound to +ess-handy-commands in Rd-mode-map, +ess-noweb-minor-mode-map, and ess-help-mode-map + +
  • Functions ess-eval-line-and-step and ess-eval-region-or-line-and-step +now behave consistently with other evaluation function inside a package. + +
  • ESS[R]: ess-r-package-use-dir now works with any mode. +This sets the working directory to the root of the current package +including for example C or C++ files within /src). + +
  • ESS[R]: Long + + prompts in the inferior no longer offset output. + +
  • ESS[R]: New option strip for inferior-ess-replace-long+. +This strips the entire + + sequence. + +
  • ESS modes now inherit from prog-mode. +In the next release, ESS modes will use define-derived-mode so +that each mode will have (for example) its own hooks and keymaps. + +
  • ESS[R]: Supports flymake in R buffers for Emacs 26 and newer. +Users need to install the lintr package to use it. Customizable +options include ess-use-flymake, ess-r-flymake-linters, +and ess-r-flymake-lintr-cache. + +
  • ESS[R]: Gained support for xref in Emacs 25+. +See Xref in The Gnu Emacs Reference Manual + +
  • ESS[R]: The startup screen is cleaner. +It also displays the startup directory with an explicit setwd(). + +
  • ESS[R]: Changing the working directory is now always reflected in the process buffer. + +
  • ESS[R]: Makevars files open with makefile-mode. + +
  • New variable ess-write-to-dribble. +This allows users to disable the dribble (*ESS*) buffer if they wish. + +
  • All of the *-program-name variables have been renamed to *-program. +Users who previously customized e.g. inferior-ess-R-program-name +will need to update their customization to +inferior-ess-R-program. These variables are treated as risky +variables. + +
  • ess-smart-S-assign was renamed to ess-insert-assign. +It provides similar functionality but for any keybinding, not just ‘_‘. +For instance if you bind it to ‘;‘, repeated invokations cycle through +between assignment and inserting ‘;‘. + +
  • C-c C-= is now bound to ess-cycle-assign by default. +See the documentation for details. New user customization option +ess-assign-list controls which assignment operators are cycled. + +
  • ESS[R] In remote sessions, the ESSR package is now fetched from GitHub. + +
  • Commands that send the region to the inferior process now deal with rectangular regions. +See the documentation of ess-eval-region for details. This only +works on Emacs 25.1 and newer. + +
  • ESS[R]: Improvements to interacting with iESS in non-R files. +Interaction with inferior process in non-R files within packages (for +instance C or C++ files) has been improved. This is a work in +progress. + +
  • ESS[R]: Changing the working directory is now always reflected in the process buffer. + +
  • ESS[JAGS]: *.jog and *.jmd files no longer automatically open in JAGS mode. + +
+

Many improvements to fontification: +

+
    +
  • Improved customization for faces. +ESS now provides custom faces for (nearly) all faces used and places +face customization options into their own group. Users can customize +these options using M-x customize-group RET ess-faces. + +
  • Many new keywords were added to ess-R-keywords and ess-R-modifiers. +See the documentation for details. + +
  • ESS[R]: in is now only fontified when inside a for construct. +This avoids spurious fontification, especially in the output buffer +where ‘in‘ is a commond English word. + +
  • ESS: Font-lock keywords are now generated lazily. +That means you can now add or remove keywords from variables like +ess-R-keywords in your Emacs configuration file after loading +ESS (i.e. in the :config section for use-package users). + +
  • ESS[R]: Fontification of roxygen @param keywords now supports comma-separated parameters. + +
  • ESS[R]: Certain keywords are only fontified if followed by a parenthesis. +Function-like keywords such as if () or +stop() are no longer fontified as keyword if not followed by an +opening parenthesis. The same holds for search path modifiers like +library() or require(). + +
  • ESS[R]: Fixed fontification toggling. +Especially certain syntactic elements such as %op% operators +and backquoted function definitions. + +
  • ESS[R]: ess-font-lock-toggle-keyword can be called interactively. +This command asks with completion for a font-lock group to toggle. +This functionality is equivalent to the font-lock menu. + +
+ +

Notable bug fixes: +

+
    +
  • prettify-symbols-mode no longer breaks indentation. +This is accomplished by having the pretty symbols occupy the same +number of characters as their non-pretty cousins. You may customize +the new variable ess-r-prettify-symbols to control this +behavior. + +
  • ESS: Inferior process buffers are now always displayed on startup. +Additionally, they don’t hang Emacs on failures. +
+ +

Obsolete libraries, functions, and variables: +

+
    +
  • The ess-r-args.el library has been obsoleted and will be removed in the next release. +Use eldoc-mode instead, which is on by default. + +
  • Functions and options dealing with the smart assign key are obsolete. +The following functions have been made obsolete and will be removed in +the next release of ESS: ess-smart-S-assign, +ess-toggle-S-assign, ess-toggle-S-assign-key, +ess-disable-smart-S-assign. + +

    The variable ess-smart-S-assign-key is now deprecated and will +be removed in the next release. If you would like to continue using +‘_‘ for insterting assign in future releases, please bind +ess-insert-assign in ess-mode-map the normal way. +

    +
  • ESS[S]: Variable ess-s-versions-list is obsolete and ignored. +Use ess-s-versions instead. You may pass arguments by starting +the inferior process with the universal argument. + +
+ +

Changes and New Features in 17.11: +

    +
  • The ESS initialisation process has been streamlined. You can now +load the R and Stata modes independently from the rest of ESS. Just put +(require 'ess-r-mode) or (require 'ess-stata-mode) in your +init file. This is for experienced Emacs users as this requires setting +up autoloads for .R files manually. We will keep maintaining +ess-site for easy loading of all ESS features. + +
  • Reloading and quitting the process is now more robust. If no +process is attached, ESS now switches automatically to one (prompting +you for selection if there are several running). Reloading and quitting +will now work during a debug session or when R is prompting for input +(for instance after a crash). Finally, the window configuration is saved +and restored after reloading to prevent the buffer of the new process +from capturing the cursor. + +
  • ESS[R]: New command ess-r-package-use-dir. It sets the +working directory of the current process to the current package directory. + +
  • ESS[R] Lookup for references in inferior buffers has been +improved. New variable ess-r-package-source-roots contains +package sub-directories which are searched recursively during the file +lookup point. Directories in ess-tracebug-search-path are now +also searched recursively. + +
  • ESS[R] Namespaced evaluation is now automatically enabled only +in the R/ directory. This way ESS will not attempt to update +function definitions from a package if you are working from e.g. a test +file. + +
+ + +

Changes and New Features in 16.10: +

    +
  • ESS[R]: Syntax highlighting is now more consistent. Backquoted +names are not fontified as strings (since they really are identifiers). +Furthermore they are now correctly recognised when they are function +definitions or function calls. +
  • ESS[R]: Backquoted names and %op% operators are +recognised as sexp. This is useful for code navigation, e.g. with +C-M-f and C-M-b. +
  • ESS[R]: Integration of outline mode with roxygen examples fields. +You can use outline mode’s code folding commands to fold the examples +field. This is especially nice to use with well documented packages with +long examples set. Set ess-roxy-fold-examples to non-nil to +automatically fold the examples field when you open a buffer. +
  • ESS[R]: New experimental feature: syntax highlighting in +roxygen examples fields. This is turned off by default. Set +ess-roxy-fontify-examples to non-nil to try it out. +
  • ESS[R]: New package development command ess-r-devtools-ask +bound to C-c C-w C-a. It asks with completion for any devtools +command that takes pkg as argument. +
  • ESS[R]: New command C-c C-e C-r to reload the inferior process. +Currently only implemented for R. The R method runs inferior-ess-r-reload-hook +on reloading. +
  • ESS[R]: ess-r-package-mode is now activated in non-file buffers as well. +
+ +

Bug fixes in 16.10: +

    +
  • ESS[R]: Fix broken (un)flagging for debugging inside packages +
  • ESS[R]: Fixes (and improvements) in Package development +
  • ESS[R]: Completion no longer produces ...= inside list( ). +
  • ESS[R]: Better debugging and tracing in packages. +
  • ESS[R]: Better detection of symbols at point. +
  • ESS[R]: No more spurious warnings on deletion of temporary files. +
  • ESS[julia]: help and completion work (better) +
  • ESS[julia]: available via ess-remote +
+ +

Changes and New Features in 16.04: +

    +
  • ESS[R]: developer functionality has been refactored. +The new user interface consists of a single command +ess-r-set-evaluation-env bound by default to C-c C-t +C-s. Once an evaluation environment has been set with, all subsequent +ESS evaluation will source the code into that environment. By default, +for file within R packages the evaluation environment is set to the +package environment. Set ess-r-package-auto-set-evaluation-env to +nil to disable this. +
  • ESS[R]: New ess-r-package-mode +This development mode provides features to make package development +easier. Currently, most of the commands are based on the devtools +packages and are accessible with C-c C-w prefix. See the +documentation of ess-r-package-mode function for all available +commands. With C-u prefix each command asks for extra arguments to +the underlying devtools function. This mode is automatically enabled in +all files within R packages and is indicated with [pkg:NAME] in +the mode-line. +
  • ESS[R]: Help lookup has been improved. +It is now possible to get help for namespaced objects such as +pkg::foobar. Furthermore, ESS recognizes more reliably when you change +options('html_type'). +
  • ESS[R]: New specialized breakpoints for debugging magrittr pipes +
  • ESS: ESS now implements a simple message passing interface +to communicate between ESS and inferior process. +
+ +

Bug fixes in 16.04: +

    +
  • ESS[R]: Roxygen blocks with backtics are now correctly filled +
  • ESS[R]: Don’t skip breakpoints in magrittr’s debug_pipe +
  • ESS[R]: Error highlighting now understands ‘testthat‘ type errors +
  • ESS[Julia]: Added getwd and setwd generic commands +
+ + + +
+ +
+

+Next: , Previous: , Up: Introduction   [Contents][Index]

+
+ +

1.3 Authors of and contributors to ESS

+ + + + + +

The ESS environment is built on the open-source projects of many +contributors, dating back to 1989 where Doug Bates and Ed Kademan wrote +S-mode to edit S and Splus files in GNU Emacs. Frank Ritter and Mike +Meyer added features, creating version 2. Meyer and David Smith made +further contributions, creating version 3. For version 4, David Smith +provided significant enhancements to allow for powerful process +interaction. +

+

John Sall wrote GNU Emacs macros for SAS source code around 1990. Tom +Cook added functions to submit jobs, review listing and log files, and +produce basic views of a dataset, thus creating a SAS-mode which was +distributed in 1994. +

+

In 1994, A.J. Rossini extended S-mode to support XEmacs. Together +with extensions written by Martin Maechler, this became version 4.7 +and supported S, Splus, and R. In 1995, Rossini extended SAS-mode to +work with XEmacs. +

+

In 1997, Rossini merged S-mode and SAS-mode into a single Emacs +package for statistical programming; the product of this marriage was +called ESS version 5. Richard M. Heiberger designed the inferior mode +for interactive SAS and SAS-mode was further integrated into ESS. +Thomas Lumley’s Stata mode, written around 1996, was also folded into +ESS. More changes were made to support additional statistical +languages, particularly XLispStat. +

+

ESS initially worked only with Unix statistics packages that used +standard-input and standard-output for both the command-line interface +and batch processing. ESS could not communicate with statistical +packages that did not use this protocol. This changed in 1998 when +Brian Ripley demonstrated use of the Windows Dynamic Data Exchange +(DDE) protocol with ESS. Heiberger then used DDE to provide +interactive interfaces for Windows versions of Splus. In 1999, Rodney +A. Sparapani and Heiberger implemented SAS batch for ESS relying +on files, rather than standard-input/standard-output, for Unix, +Windows and Mac. In 2001, Sparapani added BUGS batch file processing +to ESS for Unix and Windows. +

+
    +
  • The multiple process code, and the idea for +ess-eval-line-and-next-line are by Rod Ball. + +
  • Thanks to Doug Bates for many useful suggestions. + +
  • Thanks to Martin Maechler for reporting and fixing bugs, providing many +useful comments and suggestions, and for maintaining the ESS mailing +lists. + +
  • Thanks to Frank Ritter for updates, particularly the menu code, and +invaluable comments on the manual. + +
  • Thanks to Ken’ichi Shibayama for his excellent indenting code, and many +comments and suggestions. + +
  • Thanks to Aki Vehtari for adding interactive BUGS support. + +
  • Thanks to Brendan Halpin for bug-fixes and updates to Stata-mode. + +
  • Last, but definitely not least, thanks to the many ESS users and +contributors to the ESS mailing lists. +
+ +

ESS is being developed and currently maintained by +

+ + +
+ +
+

+Previous: , Up: Introduction   [Contents][Index]

+
+ +

1.4 How to read this manual

+ +

If you need to install ESS, read Installation for details on what +needs to be done before proceeding to the next chapter. This section +describes some of the basics of using Emacs. If you are already +familiar with basic Emacs functionality, skip this section. You may +also want to use the Emacs tutorial, accessible via C-h t. +

+

In this manual we use the standard notation used by Emacs for describing the +keystrokes used to invoke certain commands. C-<chr> means hold +the CONTROL key while typing the character <chr>. M-<chr> means +hold the META key (usually ALT) down while typing <chr>. If there is no +META, EDIT or ALT key, instead press and release the ESC key and then +type <chr>. +

+

All ESS commands can be invoked by typing M-x command. Most of the +useful commands are bound to keystrokes for ease of use. Also, the most +popular commands are also available through the Emacs menubar, and a +small subset are provided on the toolbar. Where possible, keybindings +are similar to other modes in Emacs to strive for a consistent user +interface within Emacs, regardless of the details of which programming +language is being edited, or process being run. +

+

Some commands, such as M-x R can accept an optional ‘prefix’ +argument. To specify the prefix argument, you would type C-u +before giving the command. For example, if you type C-u M-x R, you will +be asked for command line options that you wish to invoke the R process +with. +

+

Emacs is a ‘self-documenting’ text editor. This applies to ESS in two +ways. First, some documentation about each ESS command can be obtained +by typing C-h f. For example, if you type C-h f +ess-eval-region, documentation for that command will appear in a +separate *Help* buffer. Second, C-h m pops up a complete list of +keybindings available in each ESS mode and brief description of that +mode. +

+

Emacs is a versatile editor written in both C and a dialect of lisp +known as elisp. ESS is written in elisp and benefits from the flexible +nature of lisp. In particular, many aspects of ESS behaviour can be +changed by suitable customization of lisp variables. This manual +mentions some of the most frequent variables. A full list of them +however is available by using the Custom facility within Emacs. Type +M-x customize-group RET ess RET to get started. +Customization provides details of common user variables you can +change to customize ESS to your taste, but it is recommended that you +defer this section until you are more familiar with ESS. +

+
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

2 Installing ESS on your system

+ +

ESS supports GNU Emacs versions 24.3 and newer. +

+

ESS is most likely to work with current/recent versions of the following +statistical packages: R/S-PLUS, SAS, Stata, OpenBUGS and JAGS. +

+

To build the PDF documentation, you will need a version of TeX Live or +texinfo that includes texi2dvi. +

+

There are two main methods used for installing ESS. You may install from +a third-party repository or from source code. Once you install it, you +must also activate or load ESS in each Emacs session, though +installation from a third-party repository likely takes care of that for +you. See Activating and Loading ESS for more details. +

+ + + + + + + +
+ + + +

2.1 Installing from a third-party repository

+ +

ESS is packaged by many third party repositories. Many GNU/Linux +distributions package it, usually with the name “emacs-ess” or +similar. +

+

ESS is also available through Milkypostman’s Emacs Lisp Package Archive +(MELPA), a popular repository for Emacs packages. Instructions on how to +do so are found on MELPA’s website. MELPA +also hosts MELPA-stable with stable ESS builds. You may choose between +MELPA with the latest and greatest features (and bugs) or MELPA-stable, +which may lag a bit behind but should be more stable. +

+

After installing, users should make sure ESS is activated or loaded in +each Emacs session. See Activating and Loading ESS. Depending on +install method, this may be taken care of automatically. +

+
+ + + +

2.2 Installing from source

+ +

Stable versions of ESS are available at the +ESS web page as a .tgz file or .zip +file. ESS releases are GPG-signed, you should check the signature by +downloading the accompanying .sig file and doing: +

+
+
gpg --verify ess-18.10.tgz.sig
+
+ +

Alternatively, you may download the git repository. ESS is currently +hosted on Github: https://github.com/emacs-ess/ESS. git +clone https://github.com/emacs-ess/ESS.git will download it to a new +directory ESS in the current working directory. +

+

We will refer to the location of the ESS source files as +/path/to/ESS/ hereafter. +

+

After installing, users should make sure they activate or load ESS in +each Emacs session, see Activating and Loading ESS +

+

Optionally, compile elisp files, build the documentation, and the +autoloads: +

+
cd /path/to/ESS/
+make
+
+

Without this step the documentation, reference card, and autoloads +will not be available. Uncompiled ESS will also run slower. +

+

Optionally, you may make ESS available to all users of a machine by +installing it site-wide. To do so, run make install. You might +need administrative privileges: +

+
+
make install
+
+ +

The files are installed into /usr/share/emacs directory. For this step to +run correctly on macOS, you will need to adjust the PREFIX +path in Makeconf. The necessary code and instructions are +commented in that file. +

+
+ + + +

2.3 Activating and Loading ESS

+ +

After installing ESS, you must activate or load it each Emacs session. +ESS can be autoloaded, and if you used a third-party repository (such as +your Linux distribution or MELPA) to install, you can likely skip this +section and proceed directly to Check Installation +

+

Otherwise, you may need to add the path to ESS to load-path with: +

+
+
(add-to-list 'load-path "/path/to/ESS/lisp")
+
+ +

You then need to decide whether to take advantage of deferred loading +(which will result in a faster Emacs startup time) or require ESS when +Emacs is loaded. To autoload ESS when needed (note that if installed +from source, you must have run make): +

+
+
(load "ess-autoloads")
+
+ +

To require ESS on startup, you can either put +

+
+
(require 'ess-site)
+
+ +

or +

+
+
(require 'ess-r-mode)
+
+ +

In your configuration file, depending on whether you want all ESS +features or only R related features. +

+
+ + + +

2.4 Check Installation

+

Restart Emacs and check that ESS was loaded from a correct +location with M-x ess-version. +

+ +
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

3 Interacting with statistical programs

+ +

As well as using ESS to edit your source files for statistical programs, +you can use ESS to run these statistical programs. In this chapter, we +mostly will refer by example to running R from within Emacs. The Emacs +convention is to name such processes running under its control as +‘inferior processes’. Some users find this terminology confusing; you +may prefer to think of these as ‘interactive processes.’ Either way, we +use the term ‘iESS’ to refer to the Emacs mode used to interact with +statistical programs. +

+ + + + + + + + +
+ + + +

3.1 Starting an ESS process

+ + + + +

To start an inferior R session on GNU/Linux, macOS, or Windows using the +Cygwin bash shell, simply type M-x R RET. To start an R session on +Windows when you use the MSDOS/powershell shell, simply type M-x +S+6-msdos RET. R will then (by default) ask the question +

+ + + + + + + + +
+
R starting data directory?
+
+ +

Enter the name of the directory you wish to have as the working +directory (that is, the directory you wish to have getwd() return +if using R). +

+

You will then be popped into a buffer + + +named ‘*R*’ which will be used for interacting with the ESS +process, and you can start entering commands. +

+ +
+ + + +

3.2 Running more than one ESS process

+ + + + + +

ESS allows you to run more than one iESS process simultaneously in the +same session. Each process has a name and a number; the initial process + +(process 1) is simply named ‘R’. If you call M-x R again +without killing the first R process, ESS will start a second R process +with the name ‘R:2’. To have the first buffer named ‘R:1’, +customize the option ess-plain-first-buffername. With a prefix +argument, C-u M-x R allows for the specification of command line +options. +

+
+
User Option: ess-plain-first-buffername
+

If non-nil, name the first iESS process [R]. Otherwise, name it [R:1]. +

+ + +

You can switch to any active ESS process with the command +‘M-x ess-request-a-process’. Just enter the name of the process +you require; completion is provided over the names of all running +processes. This is a good command to consider binding to a global key. +

+
+ + + +

3.3 ESS processes on Remote Computers

+ +

3.3.1 ESS and TRAMP

+ + + + + + +

ESS works with processes on remote computers as easily as with processes +on the local machine. The recommended way to access a statistical +program on remote computer is to start it with See TRAMP +User Manual. +

+

Start an ssh session using TRAMP with ‘C-x C-f /ssh:user@host: +RET’. Tramp should open a dired buffer in your remote home directory. +Now call your favorite ESS process (R, Julia, stata +etc) as you would usually do on local machine: M-x R. +

+

Alternatively you can start your process normally (M-x R). When +asked for starting directory, simply type ‘/ssh:user@host: RET’. +The R process will be started on the remote machine. +

+

To simplify the process even further create a "config" file in your +.ssh/ folder and add an account. For example if you use amazon +EC2, it might look like following: +

+
   Host amazon
+      Hostname ec2-54-215-203-181.us-west-1.compute.amazonaws.com
+      User ubuntu
+      IdentityFile ~/.ssh/my_amazon_key.pem
+      ForwardX11 yes
+
+

With this configuration /ssh:amazon: is enough to start a +connection. The ForwardX11 is needed if you want to see the R graphic device +showing on the current machine +

+ +

3.3.2 ESS-remote

+

TRAMP is the recommended way of starting a remote session. The other +way to start a remote ESS connection is through ess-remote. +

+
    +
  1. Start a new shell, telnet or ssh buffer and connect to the remote computer +(e.g. use, ‘M-x shell’, ‘M-x telnet’ or ‘M-x ssh’; ssh.el is available at +https://www.splode.com/~friedman/software/emacs-lisp/src/ssh.el). + +
  2. Start the ESS process on the remote machine, for example with one of +the commands ‘R’, ‘Splus’, or ‘sas -stdio’. + +
  3. Start ‘M-x ess-remote’. +You will be prompted for a program name with completion. Choose +one. Your process is now known to ESS. All the usual ESS commands +(‘C-c C-n’ and its relatives) now work with the R language +processes. For SAS you need to use a different command ‘C-c i’ +(that is a regular ‘i’, not a ‘C-i’) to send lines from your +myfile.sas to the remote SAS process. ‘C-c i’ sends lines +over invisibly. +With ess-remote you get teletype behavior—the data input, the +log, and the listing all appear in the same buffer. To make this work, +you need to end every PROC and DATA step with a "RUN;" statement. The +"RUN;" statement is what tells SAS that it should process the preceding +input statements. + +
  4. Graphics (interactive) on the remote machine. If you run X11 +(See X11, X Windows) +on both the local and remote machines then you should be able to +display the graphs locally by setting the ‘DISPLAY’ environment +variable appropriately. Windows users can download ‘xfree86’ +from cygwin. + +
  5. Graphics (static) on the remote machine. +If you don’t run the X window system on the local machine, then you can write +graphics to a file on the remote machine, and display the file in +a graphics viewer on the local machine. Most statistical software can +write one or more of postscript, GIF, or JPEG files. +Depending on the versions of Emacs and the operating system that you +are running, Emacs itself may display ‘.gif’ and ‘.jpg’ +files. Otherwise, a graphics file viewer will be needed. +Ghostscript/ghostview may be downloaded to display ‘.ps’ and +‘.eps’ files. Viewers for GIF and JPEG are usually included with +operating systems. See ESS(SAS)--Function keys for batch processing, +for more information on using the F12 key for displaying graphics files +with SAS. +
+ +

Should you or a colleague inadvertently start a statistical process in +an ordinary ‘*shell*’ buffer, the ‘ess-remote’ command can +be used to convert it to an ESS buffer and allow you to use the ESS +commands with it. +

+
+ + + +

3.4 Changing the startup actions

+ +

If you do not wish ESS to prompt for a starting directory when starting +a new process, set the variable ess-ask-for-ess-directory to + +nil. In this case, the starting directory will be set using +one of the following methods: +

+
    +
  1. If the variable ess-directory-function stores the name of a +function, the value returned by this function is used. The default for +this variable is nil. + +
  2. Otherwise, if the variable ess-directory stores the name of a +directory (ending in a slash), this value is used. The default for this +variable is nil. + +
  3. Otherwise, the working directory of the current buffer is used. + +
+ +

If ess-ask-for-ess-directory has a non-nil value (as it +does by default) then the value determined by the above rules provides +the default when prompting for the starting directory. Incidentally, +ess-directory is an ideal variable to set in +ess-pre-run-hook. +

+

If you like to keep a record of your R actions, set the variable +ess-ask-about-transfile to t, and you will be asked for a +filename for the transcript before the ESS process starts. +

+
+
User Option: ess-ask-about-transfile
+

If non-nil, ask for a file name in which to save the session +transcript. +

+ + +

Enter the name of a file in which to save the transcript at the prompt. +If the file doesn’t exist it will be created (for R, you likely want it +to end in ‘.Rout’). If the file already exists the transcript will +be appended to the file. (Note: if you don’t set this variable but you +still want to save the transcript, you can still do it later — +see Saving transcripts.) +

+

Once these questions are answered (if they are asked at all) the inferior +process itself is started. + + +If you need to pass any arguments to this program, they may be specified +in the variable inferior-S_program_name-args. For example, if +inferior-ess-program is "R" then the variable to set is +inferior-R-args. + + +It is not normally necessary to pass arguments to the iESS program; in +particular do not pass the ‘-e’ option to Splus, since ESS +provides its own command history mechanism. +

+

By default, the new process will be displayed in the same window in the +current frame. If you wish your iESS process to appear in a separate +frame, customize the variable inferior-ess-own-frame. +Alternatively, change inferior-ess-same-window if you wish the +process to appear within another window of the current frame. +

+
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

4 Interacting with the ESS process

+ + + + +

The primary function of the ESS package is to provide an easy-to-use +front end to the R interpreter. This is achieved by running the R +process from within an Emacs buffer, called hereafter inferior +buffer, which has an active inferior-ess-mode. The features of +inferior R mode are similar to those provided by the standard Emacs +shell mode (see Shell Mode in The Gnu Emacs Reference Manual). +Command-line completion of R objects and a number of ‘hot keys’ for +commonly-used R commands are also provided for ease of typing. +

+ + + + + + + + + + + +
+ + + +

4.1 Entering commands and fixing mistakes

+ + +

Sending a command to the ESS process is as simple as typing it in +and pressing the RETURN key: +

+
+
Command: inferior-ess-send-input
+
+

RET Send the command on the current line to the ESS process. +

+ +

If you make a typing error before pressing RET all the usual Emacs +editing commands are available to correct it (see Basic +editing commands in The GNU Emacs Reference Manual). Once the +command has been corrected you can press RETURN (even if the +cursor is not at the end of the line) to send the corrected command to +the ESS process. +

+

Emacs provides some other commands which are useful for fixing mistakes: +

+
+
C-c C-w
+
+

backward-kill-word Deletes the previous word (such as an object +name) on the command line. +

+
+
C-c C-u
+
+

comint-kill-input Deletes everything from the prompt to point. +Use this to abandon a command you have not yet sent to the ESS process. +

+
+
C-a
+
+

comint-bol Move to the beginning of the line, and then skip +forwards past the prompt, if any. +

+
+ +

See Shell Mode in The Gnu Emacs Reference Manual, for other +commands relevant to entering input. +

+ +
+ + + +

4.2 Manipulating the transcript

+ +

Most of the time, the cursor spends its time at the bottom of +the ESS process buffer, entering commands. However all the input +and output from the current (and previous) ESS sessions is stored in +the process buffer (we call this the transcript) and often we want to + +move back up through the buffer, to look at the output from previous +commands for example. +

+

Within the process buffer, a paragraph + +is defined as the prompt, the command after the prompt, and the output +from the command. Thus M-{ and M-} move you backwards and +forwards, respectively, through commands in the transcript. A +particularly useful command is M-h (mark-paragraph) which +will allow you to mark a command and its entire output (for deletion, +perhaps). For more information about paragraph commands, +see Paragraphs in The GNU Emacs +Reference Manual. +

+

If an ESS process finishes and you restart it in the same process +buffer, the output from the new ESS process appears after the output +from the first ESS process separated by a form-feed (‘^L’) +character. Thus pages in the ESS + +process buffer correspond to ESS sessions. Thus, for example, you may +use C-x [ and C-x ] to move backward and forwards through +ESS sessions in a single ESS process buffer. For more information about +page commands, see Pages in The GNU Emacs +Reference Manual. +

+ + + + + + + +
+ + + +

4.2.1 Manipulating the output from the last command

+ +

Viewing the output of the command you have just entered is a common +occurrence and ESS provides a number of facilities for doing this. +Whenever a command produces output, it is possible that the +window will scroll, leaving the next prompt near the middle of the +window. The first part of the command output may have scrolled off the +top of the window, even though the entire output would fit in the window +if the prompt were near the bottom of the window. If this happens, you +can use the following comint commands: +

+

comint-show-maximum-output to move to the end +of the buffer, and place cursor on bottom line of window to make more of +the last output visible. To make this happen automatically for all +inputs, set the variable comint-scroll-to-bottom-on-input to +t or 'this. If the first part of the output is still not +visible, use + +C-c C-r (comint-show-output), + +which moves cursor to the previous command line and places it at the +top of the window. +

+

Finally, if you want to discard the last command output altogether, use + +C-c C-o (comint-delete-output), + +which deletes everything from the last command to the current prompt. +Use this command judiciously to keep your transcript to a more +manageable size. +

+
+ +
+

+Next: , Previous: , Up: Transcript   [Contents][Index]

+
+ +

4.2.2 Viewing older commands

+ +

If you want to view the output from more historic commands than the +previous command, commands are also provided to move backwards and +forwards through previously entered commands in the process buffer: +

+
+
C-c C-p
+
+

comint-previous-prompt Moves point to the preceding prompt in the +process buffer. +

+
+
C-c C-n
+
+

comint-next-prompt Moves point to the next prompt in the process +buffer. +

+
+ +

Note that these two commands are analogous to C-p and C-n +but apply to command lines rather than text lines. And just like +C-p and C-n, passing a prefix argument to these commands +means to move to the ARG’th next (or previous) command. (These +commands are also discussed in Shell History +Copying in The GNU Emacs Reference Manual.) +

+

There are also two similar commands (not bound to any keys by default) +which move to preceding or succeeding commands, but which first prompt +for a regular expression (see Syntax of Regular +Expression in The GNU Emacs Reference Manual), and then moves to +the next (previous) command matching the pattern. +

+
+
comint-backward-matching-input regexp arg
+
+
+
comint-forward-matching-input regexp arg
+
+

Search backward (forward) through the transcript buffer for the +arg’th previous (next) command matching regexp. arg +is the prefix argument; regexp is prompted for in the minibuffer. +

+
+ +
+ + + +

4.2.3 Re-submitting commands from the transcript

+ +

When moving through the transcript, you may wish to re-execute some of +the commands you find there. ESS provides commands to do this; +these commands may be used whenever the cursor is within a command line +in the transcript (if the cursor is within some command output, +an error is signaled). Note all commands involve the RETURN +key. +

+
+
RET
+

inferior-ess-send-input See Command-line editing. +

+
+
C-c RET
+
+

comint-copy-old-input Copy the command under the cursor to the +current command line, but don’t execute it. Leaves the cursor on the +command line so that the copied command may be edited. +

+
+ +

When the cursor is not after the current prompt, the RETURN key +has a slightly different behavior than usual. Pressing RET on any +line containing a command that you entered (i.e. a line beginning with a +prompt) sends that command to the ESS process once again. If you +wish to edit the command before executing it, use C-c RET instead; +it copies the command to the current prompt but does not execute it, +allowing you to edit it before (re)submitting it. +

+

These commands work even if the current line is a continuation line +(i.e. the prompt is ‘+’ instead of ‘>’) — in this case all +the lines that form the multi-line command are concatenated together and +the resulting command is sent to the ESS process (currently this is +the only way to resubmit a multi-line command to the ESS process in +one go). If the current line does + +not begin with a prompt, an error is signalled. This feature, coupled +with the command-based motion commands described above, could be used as +a primitive history mechanism. ESS provides a more sophisticated +mechanism, however, which is described in Command History. +

+
+ +
+

+Previous: , Up: Transcript   [Contents][Index]

+
+ +

4.2.4 Keeping a record of your R session

+ +

To keep a record of your R session in a disk file, use the Emacs +command C-x C-w (write-file) to attach a file to the ESS +process buffer. The name of the process buffer will (probably) change +to the name of the file, but this is not a problem. You can still use +R as usual; just remember to save the file before you quit Emacs +with C-x C-s. You can make ESS prompt you for a filename in which +to save the transcript every time you start R by setting the +variable + +ess-ask-about-transfile to t; See Customizing startup. + +For R files, naming transcript files ‘*.Rout’ puts them in a +special mode (ESS transcript mode — see Transcript Mode) for +editing transcript files which is automatically selected for files with +this suffix. +

+ +

R transcripts can get very large, so some judicious editing is +appropriate if you are saving it in a file. Use C-c C-o whenever +a command produces excessively long output (printing large arrays, for +example). Delete erroneous commands (and the resulting error messages +or other output) by moving to the command (or its output) and typing +M-h C-w. Also, remember that C-c C-x (and other hot keys) +may be used for commands whose output you do not wish to appear in the +transcript. These suggestions are appropriate even if you are not +saving your transcript to disk, since the larger the transcript, the +more memory your Emacs process will use on the host machine. +

+

You can use ess-transcript-clean-region to strip output from a +transcript, leaving only source code suitable for inclusion in files +source()-able from R. see Transcript Mode +

+ +
+ +
+

+Next: , Previous: , Up: Entering commands   [Contents][Index]

+
+ +

4.3 Command History

+ + + + +

ESS provides easy-to-use facilities for re-executing or editing previous +commands. An input history of the last few commands is maintained (by +default the last 500 commands are stored, although this can be changed by +setting the variable comint-input-ring-size in + +inferior-ess-mode-hook.) The simplest history commands simply +select the next and previous commands in the input history: +

+
+
M-p
+
+

comint-previous-input Select the previous command in the input +history. +

+
+
M-n
+
+

comint-next-input Select the next command in the input history. +

+
+ +

For example, pressing M-p once will re-enter the last command into +the process buffer after the prompt but does not send it to the ESS +process, thus allowing editing or correction of the command before the +ESS process sees it. Once corrections have been made, press +RET to send the edited command to the ESS process. +

+

If you want to select a particular command from the history by matching +it against a regular expression (see Syntax of Regular +Expression in The GNU Emacs Reference Manual), to search for a +particular variable name for example, these commands are also available: +

+
+
M-r
+
+

comint-history-isearch-backward-regexp Prompt for a regular +expression, and search backwards through the input history for a command +matching the expression. +

+
+
+ +

A common type of search is to find the last command that began with a +particular sequence of characters; the following two commands provide an +easy way to do this: +

+
+
C-c M-r
+
+

comint-previous-matching-input-from-input Select the previous +command in the history which matches the string typed so far. +

+
+
C-c M-s
+
+

comint-next-matching-input-from-input Select the next command in +the history which matches the string typed so far. +

+
+ +

Instead of prompting for a regular expression to match against, as they +instead select commands starting with those characters already entered. +For instance, if you wanted to re-execute the last attach() +command, you may only need to type att and then C-c M-r and +RET. +

+

See Shell History Ring in The GNU Emacs Reference +Manual, for a more detailed discussion of the history mechanism, +and do experiment with the In/Out menu to explore the possibilities. +

+

Many ESS users like to have even easier access to these, and recommend +to add something like +

+
  (eval-after-load "comint"
+   '(progn
+      (define-key comint-mode-map [up]
+        'comint-previous-matching-input-from-input)
+      (define-key comint-mode-map [down]
+        'comint-next-matching-input-from-input)
+
+      ;; also recommended for ESS use --
+      (setq comint-move-point-for-output 'others)
+      ;; somewhat extreme, almost disabling writing in *R*, *shell* buffers above prompt:
+      (setq comint-scroll-to-bottom-on-input 'this)
+      ))
+
+

to your Emacs configuration file, where the last two settings are +typically desirable for the situation where you work with a script (for +example, code.R) and send code chunks to the process buffer +(e.g. *R*). Note however that these settings influence all +comint-using Emacs modes, not just the ESS ones, and for that +reason, these customization cannot be part of ESS itself. +

+ + + + +
+ + + +

4.3.1 Saving the command history

+ +

The ess-history-file variable, which is t by default, +together with ess-history-directory, governs if and where the +command history is saved and restored between sessions. +By default, ess-history-directory is nil, and the command +history will be stored (as a file) in the same directory as the iESS process. +

+

ESS users may work exclusively with script files rather than in a iESS +session, and may not want to save any history files. To do so: +

+
+
  (setq ess-history-file nil)
+
+ +

or if you prefer only one global command history file: +

+
+
  (setq ess-history-directory "~/.R/")
+
+ +

in your Emacs configuration file. +

+
+ +
+

+Next: , Previous: , Up: Entering commands   [Contents][Index]

+
+ +

4.4 References to historical commands

+ +

Instead of searching through the command history using the command +described in the previous section, you can alternatively refer to a +historical command directly using a notation very similar to that used +in csh. History references are introduced by a ‘!’ or +‘^’ character and have meanings as follows: +

+
+
!!
+

The immediately previous command +

+
+
!-N
+

The Nth previous command +

+
+
!text
+

The last command beginning with the string ‘text’ +

+
+
!?text
+

The last command containing the string ‘text’ +

+
+ +

In addition, you may follow the reference with a word designator +to select particular words of the input. A word is defined as a +sequence of characters separated by whitespace. (You can modify this +definition by setting the value of comint-delimiter-argument-list +to a list of characters that are allowed to separate words and + +themselves form words.) Words are numbered beginning with zero. The +word designator usually begins with a ‘:’ (colon) character; +however it may be omitted if the word reference begins with a ‘^’, +‘$’, ‘*’ or ‘-’. If the word is to be selected from the +previous command, the second ‘!’ character can be omitted from the +event specification. For instance, ‘!!:1’ and ‘!:1’ both +refer to the first word of the previous command, while ‘!!$’ and +‘!$’ both refer to the last word in the previous command. The +format of word designators is as follows: +

+
+
0
+

The zeroth word (i.e. the first one on the command line) +

+
+
n
+

The nth word, where n is a number +

+
+
^
+

The first word (i.e. the second one on the command line) +

+
+
$
+

The last word +

+
+
x-y
+

A range of words; ‘-y’ abbreviates ‘0-y’ +

+
+
*
+

All the words except the zeroth word, or nothing if the command had just +one word (the zeroth) +

+
+
x*
+

Abbreviates x-$ +

+
+
x-
+

Like ‘x*’, but omitting the last word +

+
+ +

In addition, you may surround the entire reference except for the first +‘!’ by braces to allow it to be followed by other (non-whitespace) +characters (which will be appended to the expanded reference). +

+

Finally, ESS also provides quick substitution; a reference like +‘^old^new^’ means “the last command, but with the first occurrence +of the string ‘old’ replaced with the string ‘new’” (the last +‘^’ is optional). Similarly, ‘^old^’ means “the last +command, with the first occurrence of the string ‘old’ deleted” +(again, the last ‘^’ is optional). +

+

To convert a history reference as described above to an input suitable +for R, you need to expand the history reference, using the +TAB key. For this to work, the cursor must be preceded by a space +(otherwise it would try to complete an object name) and not be within a +string (otherwise it would try to complete a filename). So to expand +the history reference, type SPC TAB. This will convert the +history reference into an R command from the history, which you can +then edit or press RET to execute. +

+

For example, to execute the last command that referenced the variable +data, type !?data SPC TAB RET. +

+
+ + + +

4.5 Hot keys for common commands

+ +

ESS provides a number of commands for executing the commonly used +functions. These commands below are basically information-gaining +commands (such as objects() or search()) which tend to +clutter up your transcript and for this reason some of the hot keys +display their output in a temporary buffer instead of the process buffer +by default. This behavior is controlled by the following option: +

+
+
User Option: ess-execute-in-process-buffer
+

If non-nil, means that these commands will produce their output +in the process buffer instead. +

+ +

In any case, passing a prefix argument to the commands (with C-u) +will reverse the meaning of ess-execute-in-process-buffer for +that command. In other words, the output will be displayed in the +process buffer if it usually goes to a temporary buffer, and vice-versa. +These are the hot keys that behave in this way: +

+
+
Command: ess-execute-objects posn
+
+ + +

C-c C-x Sends the objects() command to the ESS process. A +prefix argument specifies the position on the search list (use a +negative argument to toggle ess-execute-in-process-buffer as +well). This is a quick way to see what objects are in your working +directory. A prefix argument of 2 or more means get objects for that +position. A negative prefix argument posn gets the objects for +that position, as well as toggling ess-execute-in-process-buffer. +

+ +
+
Command: ess-execute-search invert
+
+ + +

C-c C-s Sends the inferior-ess-search-list-command command +to the ess-language process; search() in R. Prefix +invert toggles ess-execute-in-process-buffer. +

+ +

ess-execute may seem pointless when you could just type the +command in anyway, but it proves useful for ‘spot’ calculations which +would otherwise clutter your transcript, or for evaluating an expression +while partway through entering a command. You can also use this command +to generate new hot keys using the Emacs keyboard macro facilities; +see Keyboard Macros in The GNU +Emacs Reference Manual. + + +

+

The following hot keys do not use ess-execute-in-process-buffer +to decide where to display the output — they either always display in +the process buffer or in a separate buffer, as indicated: +

+ +
+
Command: ess-load-file filename
+
+

C-c M-l Prompts for a file (filename) to load into the ESS +process using source(). If there is an error during loading, you +can jump to the error in the file with the following function. +

+ +
+
Command: ess-parse-errors arg reset
+

Visits next next-error message and +corresponding source code. If all the error messages parsed so far have +been processed already, the message buffer is checked for new ones. A +prefix arg specifies how many error messages to move; negative +means move back to previous error messages. Just C-u as a prefix +means reparse the error message buffer and start at the first error. +The reset argument specifies restarting from the beginning. +

+

See Error Checking, for more details. +

+ +
+
Command: ess-display-help-on-object object command
+
+

C-c C-v Pops up a help buffer for an R object or +function. If command is supplied, it is used instead of +inferior-ess-help-command. See Help for more details. +

+ +
+
Command: ess-quit
+
+ + + + + + + +

C-c C-q Issue an exiting command to the inferior process, +additionally also running ess-cleanup for disposing of any +temporary buffers (such as help buffers and edit buffers) that may have +been created. Use this command when you have finished your R +session instead of simply quitting at the inferior process prompt, +otherwise you will need to issue the command ess-cleanup +explicitly to make sure that all the files that need to be saved have +been saved, and that all the temporary buffers have been killed. +

+ + +
+ +
+

+Next: , Previous: , Up: Entering commands   [Contents][Index]

+
+ +

4.6 Is the Statistical Process running under ESS?

+ + + +

For the R languages (R, S, S-Plus) ESS sets an option in the current +process that programs in the language can check to determine the +environment in which they are currently running. +

+

ESS sets options(STERM="iESS") for R language processes running +in an inferior iESS[S] or iESS[R] buffer. +

+

ESS sets options(STERM="ddeESS") for independent S-Plus for +Windows processes running in the GUI and communicating with ESS via the +DDE (Microsoft Dynamic Data Exchange) protocol through a +ddeESS[S] buffer. +

+

Other values of options()$STERM that we recommend are: +

+
    +
  • length: Fixed length xterm or telnet window. +
  • scrollable: Unlimited length xterm or telnet window. +
  • server: S-Plus Stat Server. +
  • BATCH: BATCH. +
  • Rgui: R GUI. +
  • Commands: S-Plus GUI without DDE interface to ESS. +
+ +

Additional values may be recommended in the future as new interaction +protocols are created. Unlike the values iESS and ddeESS, +ESS can’t set these other values since the R language program is not +under the control of ESS. +

+
+ + + +

4.7 Using emacsclient

+ + +

When starting R or S under Unix, ESS sets +options(editor="emacsclient"). Under Microsoft Windows, it will +use gnuclient.exe rather than emacsclient, but the same principal +applies. Within your R session, if you have a function +called iterator, typing fix(iterator), will show that +function in a temporary Emacs buffer. You can then correct the +function. When you kill the buffer, the definition of the function is +updated. Using edit() rather than fix() means that the +function is not updated. Finally, the R function page(x) will +also show a text representation of the object x in a temporary +Emacs buffer. +

+ +
+ +
+

+Previous: , Up: Entering commands   [Contents][Index]

+
+ +

4.8 Other commands provided by inferior-ESS

+ +

The following commands are also available in the process buffer: +

+
+
Command: comint-interrupt-subjob
+
+ + + + +

C-c C-c Sends a Control-C signal to the iESS process. This has the +effect of aborting the current command. +

+ +
+
Command: ess-switch-to-inferior-or-script-buffer toggle-eob
+
+

C-c C-z When in process buffer, return to the most recent script +buffer. When in a script buffer pop to the associated process buffer. +Consecutive presses of C-z switch between the script and process buffers. +

+

If toggle-eob is given, the value of +ess-switch-to-end-of-proc-buffer is toggled. +

+ +
+
User Option: ess-switch-to-end-of-proc-buffer
+

If non-nil, ess-switch-to-inferior-or-script-buffer goes +to end of process buffer. +

+ +

Other commands available in iESS modes are discussed in +Shell Mode in The Gnu Emacs Reference Manual. +

+ +
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

5 Sending code to the ESS process

+ +

Other commands are also available for evaluating portions of code in the +R process. These commands cause the selected code to be evaluated +directly by the ESS process as if you had typed them in at the +command line; the source() function is not used. You may choose +whether both the commands and their output appear in the process buffer +(as if you had typed in the commands yourself) or if the output alone is +echoed. The behavior is controlled by the variable: +

+
+
User Option: ess-eval-visibly
+

Non-nil means ess-eval-* commands display commands and +output in the process buffer. Default is t. +

+ + + + + +

Passing a prefix (C-u) (in elisp terms, the argument VIS) to any of the following commands, +however, reverses the meaning of ess-eval-visibly for that +command only — for example C-u C-c C-j evaluates the current +line without showing the input in the iESS buffer. The default value of +ess-eval-visibly (t) means that ESS calls block Emacs +until they finish. This may be undesirable, especially if commands take +long to finish. Users who want input to be displayed and Emacs not to be +blocked can set ess-eval-visibly to 'nowait. This sends +the input to the iESS buffer but does not wait for the process to +finish, ensuring Emacs is not blocked. +

+

Primary commands for evaluating code are: + + +

+
+
Command: ess-eval-region-or-line-and-step vis
+
+

C-<RET> Sends the highlighted region or current line and step to +next line of code. +

+ +
+
Command: ess-eval-region-or-function-or-paragraph vis
+
+

C-M-x Sends the current selected region or function or paragraph. +

+ +
+
Command: ess-eval-region-or-function-or-paragraph-and-step vis
+
+

C-c C-c Like ess-eval-region-or-function-or-paragraph but +steps to next line of code. +

+ +

Other, not so often used, evaluation commands are: +

+
+
Command: ess-eval-line vis
+
+

C-c C-j Sends the current line to the ESS process. +

+ +
+
Command: ess-eval-line-and-go vis
+
+

C-c M-j Like ess-eval-line but additionally switches point +to the ESS process. +

+ +
+
Command: ess-eval-function vis no-error
+
+

C-c C-f Sends the function containing point to the ESS +process. +

+ +
+
Command: ess-eval-function-and-go vis
+
+

C-c M-f Like ess-eval-function but additionally switches +point to the ESS process. +

+ +
+
Command: ess-eval-region start end toggle message
+
+

C-c C-r Sends the current region to the ESS process. +

+ +
+
Command: ess-eval-region-and-go start end vis
+
+

C-c M-r Like ess-eval-region but additionally switches +point to the ESS process. +

+ +
+
Command: ess-eval-buffer vis
+
+

C-c C-b Sends the current buffer to the ESS process. +

+ +
+
Command: ess-eval-buffer-and-go vis
+
+

C-c M-b Like ess-eval-buffer but additionally switches +point to the ESS process. +

+ +

All the above ess-eval-* commands are useful for evaluating small +amounts of code and observing the results in the process buffer for +debugging purposes, or for generating transcripts from source files. +When editing R functions, it is generally preferable to use C-c +C-l to update the function’s value. In particular, +ess-eval-buffer is now largely obsolete. +

+

A useful way to work is to divide the frame into two windows; one +containing the source code and the other containing the process buffer. +If you wish to make the process buffer scroll automatically when the +output reaches the bottom of the window, you will need to set the +variable comint-move-point-for-output to 'others or +t. +

+ +
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

6 Manipulating saved transcript files

+ +

Inferior R mode records the transcript (the list of all commands +executed, and their output) in the process buffer, which can be saved as +a transcript file, which should normally have the suffix +.Rout. The most obvious use for a transcript file is as a static +record of the actions you have performed in a particular R session. +Sometimes, however, you may wish to re-execute commands recorded in the +transcript file by submitting them to a running ESS process. This +is what Transcript Mode is for. +

+

If you load file a with the suffix .Rout into Emacs, it is placed +in R Transcript Mode. Transcript Mode is similar to inferior R mode +(see Entering commands): + + +paragraphs are defined as a command and its output, and you can move +though commands either with the paragraph commands or with C-c C-p +and C-c C-n. +

+ + + + + +
+ +
+

+Next: , Up: Transcript Mode   [Contents][Index]

+
+ +

6.1 Resubmitting commands from the transcript file

+ +

Three commands are provided to re-submit command lines from the +transcript file to a running ESS process. They are: +

+
+
Command: ess-transcript-send-command
+
+

M-RET Sends the current command line to the ESS process, and +execute it. +

+ +
+
Command: ess-transcript-copy-command
+
+

C-c RET Copy the current command to the ESS process, and switch to +it (ready to edit the copied command). +

+ +
+
Command: ess-transcript-send-command-and-move
+
+

RET Sends the current command to the ESS process, and move to the +next command line. This command is useful for submitting a series of +commands. +

+ +

Note that the first two commands are similar to those on the same keys +in inferior R Mode. In all three cases, the commands should be +executed when the cursor is on a command line in the transcript; the +prompt is automatically removed before the command is submitted. +

+
+ +
+

+Previous: , Up: Transcript Mode   [Contents][Index]

+
+ +

6.2 Cleaning transcript files

+ +

Yet another use for transcript files is to extract the command lines for +inclusion in an R source file or function. Transcript mode provides +one command which does just this: +

+
+
Command: ess-transcript-clean-region beg end even-if-read-only
+
+

C-c C-w Strip the transcript in the region (given by beg and +end), leaving only commands. Deletes any lines not beginning with +a prompt, and then removes the prompt from those lines that remain. +Prefix argument even-if-read-only means to clean even if the +buffer is read-only. Don’t forget to remove any erroneous commands +first! +

+ +

The remaining command lines may then be copied to a source file or edit +buffer for inclusion in a function definition, or may be evaluated +directly (see Evaluating code) using the code evaluation commands +from R mode, also available in R Transcript Mode. +

+ +
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

7 Editing objects and functions

+ + +

ESS provides facilities for editing R objects within your Emacs +session. Most editing is performed on R functions, although in +theory you may edit datasets as well. Edit buffers are always +associated with files, although you may choose to make these files +temporary if you wish. Alternatively, you may make use of a simple yet +powerful mechanism for maintaining backups of text representations of +R functions. Error-checking is performed when R code is loaded +into the ESS process. +

+ + + + + + + + + + +
+ +
+

+Next: , Up: Editing objects   [Contents][Index]

+
+ +

7.1 Creating or modifying R objects

+ + +

To edit an object, type +

+
+
Command: ess-dump-object-into-edit-buffer object
+
+

C-c C-e C-d Edit an object in its own edit buffer. +

+ +

from within the iESS process buffer (*R*). You will then be +prompted for an object to edit: you may either type in the name of an +existing object (for which completion is available using the TAB +key), + +or you may enter the name of a new object. + + +A buffer will be created containing the text representation of the +requested object or, if you entered the name of a non-existent object at +the prompt and the variable ess-function-template + +is non-nil, you will be presented with a template defined by that +variable, which defaults to a skeleton function construct. +

+

You may then edit the function as required. The edit buffer generated +by ess-dump-object-into-edit-buffer is placed in the ESS +major mode which provides a number of commands to facilitate editing +R source code. Commands are provided to intelligently indent R +code, evaluate portions of R code and to move around R code +constructs. +

+ + +

Note: when you dump a file with C-c C-e C-d, ESS first checks +to see whether there already exists an edit buffer containing that +object and, if so, pops you directly to that buffer. If not, ESS next +checks whether there is a file in the appropriate place with the +appropriate name (see Source Files) and if so, reads in that file. +You can use this facility to return to an object you were editing in a +previous session (and which possibly was never loaded to the R +session). Finally, if both these tests fail, the ESS process is +consulted and a dump() command issued. + +If you want to force ESS to ask the ESS process for the object’s +definition (say, to reformat an unmodified buffer or to revert back to +R’s idea of the object’s definition) pass a prefix argument to +ess-dump-object-into-edit-buffer by typing C-u C-c C-e C-d. +

+
+ +
+

+Next: , Previous: , Up: Editing objects   [Contents][Index]

+
+ +

7.2 Loading source files into the ESS process

+ +

The best way to get information — particularly function definitions +— into R is to load them in as source file, using R’s +source function. You have already seen how to create source +files using C-c C-e C-d; ESS provides a complementary command for +loading source files (even files not created with ESS!) into the ESS +process, namely ess-load-file (C-c M-l). + + +see Hot keys. +

+

After typing C-c M-l you will prompt for the name of the file to +load into R; usually this is the current buffer’s file which is the +default value (selected by simply pressing RET at the prompt). +You will be asked to save the buffer first if it has been modified (this +happens automatically if the buffer was generated with C-c C-e +C-d). The file will then be loaded, and if it loads successfully you +will be returned to the ESS process. +

+
+ +
+

+Next: , Previous: , Up: Editing objects   [Contents][Index]

+
+ +

7.3 Detecting errors in source files

+ + +

If any errors occur when loading a file with C-c C-l, ESS will +inform you of this fact. In this case, you can jump directly to the +line in the source file which caused the error by typing C-c ` +(ess-parse-errors). + + +You will be returned to the offending file (loading it into a buffer if +necessary) with point at the line S reported as containing the +error. You may then correct the error, and reload the file. Note that +none of the commands in an R source file will take effect if any +part of the file contains errors. +

+

Sometimes the error is not caused by a syntax error (loading a +non-existent file for example). In this case typing C-c ` will +simply display a buffer containing S’s error message. You can force +this behavior (and avoid jumping to the file when there is a +syntax error) by passing a prefix argument to ess-parse-errors +with C-u C-c `. +

+
+ + + +

7.4 Indenting and formatting R code

+ +

ESS provides a sophisticated mechanism for indenting R source +code. Compound statements (delimited by +‘{’ and ‘}’) are indented relative to their enclosing block. +In addition, the braces have been electrified to automatically indent to +the correct position when inserted, and optionally insert a newline at +the appropriate place as well. Lines which continue an incomplete +expression are indented relative to the first line of the expression. +Function definitions, if statements, calls to expression() +and loop constructs are all recognized and indented appropriately. User +variables are provided to control the amount of indentation in each +case, and there are also a number of predefined indentation styles to +choose from. +

+ +

Comments are also handled specially by ESS, using an idea borrowed from +the Emacs-Lisp indentation style. By default, +comments beginning with ‘###’ +are aligned to the beginning of the line. Comments beginning with +‘##’ are aligned to the current level of indentation for the block +containing the comment. Finally, comments beginning with ‘#’ are +aligned to a column on the right (the 40th column by default, but this +value is controlled by the variable comment-column,) + +or just after the expression on the line containing the comment if it +extends beyond the indentation column. You turn off the default +behavior by adding the line +(setq ess-indent-with-fancy-comments nil) to your .emacs file. + +

+

ESS also supports Roxygen entries which is R documentation maintained in +the source code as comments See Roxygen. +

+

The indentation commands provided by ESS are: + + +

+
+
Command: ess-indent-or-complete
+
+

TAB Indents the current line as R code. +

+

Try to indent first, and if code is already properly indented, complete +instead. In ess-mode, only tries completion if +ess-tab-complete-in-script is non-nil. See also +ess-first-tab-never-complete. +

+ +
+
User Option: ess-tab-complete-in-script
+

If non-nil, TAB in script buffers tries to complete if +there is nothing to indent. +

+ +
+
User Option: ess-first-tab-never-complete
+

If non-nil, TAB never tries to complete in ess-mode. The +default 'symbol does not try to complete if the next char is a valid +symbol constituent. There are more options, see the help (C-h v). +

+ +
+
Command: ess-indent-exp
+
+ + +

TAB Indents each line in the R (compound) expression which +follows point. Very useful for beautifying your R code. +

+ +
+
Command: ess-electric-brace
+
+ +

{ } The braces automatically indent to the correct +position when typed. +

+ +

The following Emacs command are also helpful: +

+
+
RET
+
LFD
+
+

newline-and-indent Insert a newline, and indent the next line. +(Note that most keyboards nowadays do not have a LINEFEED key, but +RET and C-j are equivalent.) +

+
+
M-;
+
+

indent-dwim Call the comment command you want (Do What I Mean). +

+
+ + + + + +
+ +
+

+Up: Indenting   [Contents][Index]

+
+ +

7.4.1 Changing styles for code indentation and alignment

+ +

The combined value of twelve variables (4 of three groups ess-indent-*, +ess-offset-* and ess-align-*) that control indentation are +collectively termed a style. ESS provides several styles covering the +common styles of indentation: DEFAULT, OWN, GNU, +BSD, K&R, C++, RRR, RRR+, +Rstudio, Rstudio-, and CLB. The +variable ess-style-alist lists the value of each indentation +variable per style (and its documentation contains more). +

+
+
Command: ess-set-style
+
+ +

C-c C-e C-s (or C-c C-e s) sets the formatting style in this +buffer to be one of the predefined styles, see above. The DEFAULT +style uses the default values for the indenting variables; The OWN +style allows you to use your own private values of the indentation +variable, see below. +

+ +
+
User Option: ess-default-style
+

The default value of ess-style. See the variable +ess-style-alist for how these groups (DEFAULT, OWN, GNU, RRR, +…) map onto different settings for variables. You can set this in +your Emacs configuration file: +

+
+
(setq ess-default-style 'C++)
+
+
+ +
+
User Option: ess-style-alist
+

Predefined formatting styles for ESS code. Values for all groups, +except OWN, are fixed. To change the value of variables in the OWN +group, customize the variable ess-own-style-list. The default +style in use is controlled by ess-default-style. +

+ +

The styles DEFAULT and OWN are initially identical. If +you wish to edit some of the default values, set +ess-default-style to 'OWN and change +ess-own-style-list. +See Customization, for convenient ways to set both these variables. +

+

If you prefer not to use the customization facility, you can change individual +indentation variables within a hook, for example: +

+
+
(defun myindent-ess-hook ()
+  (setq ess-indent-level 4))
+(add-hook 'ess-mode-hook 'myindent-ess-hook)
+
+ +

In the rare case that you’d like to add an entire new indentation style +of your own, copy the definition of ess-own-style-list to a new +variable and ensure that the last line of the :set declaration +calls ess-add-style with a unique name for your style +(e.g. 'MINE). Finally, add (setq ess-default-style 'MINE) +to use your new style. +

+
+ +
+

+Next: , Previous: , Up: Editing objects   [Contents][Index]

+
+ +

7.5 Commands for motion, completion and more

+ +

A number of commands are provided to move across function definitions +in the edit buffer: +

+
+
Command: ess-goto-beginning-of-function-or-para
+
+ +

ESC C-a aka C-M-a If inside a function go to the beginning +of it, otherwise go to the beginning of paragraph. +

+ +
+
Command: ess-goto-end-of-function-or-para
+
+ +

ESC C-e aka C-M-e Move point to the end of the function +containing point. +

+ +
+
Command: ess-mark-function
+
+ +

ESC C-h aka C-M-h Place point at the beginning of the R +function containing point, and mark at the end. +

+ +

Don’t forget the usual Emacs commands for moving over balanced +expressions and parentheses: See Lists and +Sexps in The GNU Emacs Reference Manual. +

+ +

Completion is provided in the edit buffer in a similar fashion to the +process buffer: TAB first indents, and if there is nothing to +indent, completes the object or file name; M-? lists file +completions. See See Completion, for more. +

+

Finally, C-c C-z (ess-switch-to-inferior-or-script-buffer) +returns you to the iESS process buffer, if done from a script +buffer, placing point at the end of the buffer. If this is done from +the iESS process buffer, point is taken to the script buffer. +

+

In addition many commands available in the process buffer are also +available in the script buffer. You can still read help files with +C-c C-v, edit another function with C-c C-e C-d and of +course C-c C-l can be used to load a source file into R. +

+ +
+ + + +

7.6 Maintaining R source files

+ +

Every edit buffer in ESS is associated with a dump file on disk. +Dump files are created whenever you type C-c C-e C-d +(ess-dump-object-into-edit-buffer), and may either be deleted +after use, or kept as a backup file or as a means of keeping several +versions of an R function. + +

+
+
User Option: ess-delete-dump-files
+

If non-nil, dump files created with C-c C-e C-d are deleted +immediately after they are created by the ess-process. +

+ +

Since immediately after R dumps an object’s definition to a disk +file the source code on disk corresponds exactly to R’s idea of the +object’s definition, the disk file isn’t needed; deleting it now has the +advantage that if you don’t modify the file (say, because you +just wanted to look at the definition of one of the standard R +functions) the source dump file won’t be left around when you kill the +buffer. Note that this variable only applies to files generated with +R’s dump function; it doesn’t apply to source files which already +exist. The default value is t. +

+
+
User Option: ess-keep-dump-files
+

Variable controlling whether to delete dump files after a successful +load. If ‘nil’: always delete. If ‘ask’, confirm to delete. +If ‘check’, confirm to delete, except for files created with +ess-dump-object-into-edit-buffer. Anything else, never delete. +This variable only affects the behaviour of ess-load-file. Dump +files are never deleted if an error occurs during the load. +

+ +

After an object has been successfully (without error) loaded +back into R with C-c C-l, the disk file again corresponds +exactly (well, almost — see below) to R’s record of the object’s +definition, and so some people prefer to delete the disk file rather +than unnecessarily use up space. This option allows you to do just +that. +

+ + + + +

If the value of ess-keep-dump-files is t, dump files are +never deleted after they are loaded. Thus you can maintain a complete +text record of the functions you have edited within ESS. Backup files +are kept as usual, and so by using the Emacs numbered backup facility +— see Single or Numbered +Backups in The Gnu Emacs Reference Manual, you can keep a historic +record of function definitions. Another possibility is to maintain the +files with a version-control system such as git See Version Control in The Gnu Emacs Reference +Manual. As long as a dump file exists in the appropriate place for a +particular object, editing that object with C-c C-e C-d finds that +file for editing (unless a prefix argument is given) — the ESS process +is not consulted. Thus you can keep comments outside the +function definition as a means of documentation that does not clutter +the R object itself. Another useful feature is that you may format the +code in any fashion you please without R re-indenting the code every +time you edit it. These features are particularly useful for +project-based work. +

+

If the value of ess-keep-dump-files is nil, the dump file is always +silently deleted after a successful load with C-c C-l. While this +is useful for files that were created with C-c C-e C-d it also applies +to any other file you load (say, a source file of function +definitions), and so can be dangerous to use unless you are careful. +Note that since ess-keep-dump-files is buffer-local, you can make +sure particular files are not deleted by setting it to t in the +Local Variables section of the file See Local Variables in Files in The Gnu Emacs +Reference Manual. +

+

A safer option is to set ess-keep-dump-files to ask; this +means that ESS will always ask for confirmation before deleting the +file. Since this can get annoying if you always want to delete dump +files created with C-c C-e C-d, but not any other files, setting +ess-keep-dump-files to check (the default value) will +silently delete dump files created with C-c C-e C-d in the current +Emacs session, but query for any other file. Note that in any case you +will only be asked for confirmation once per file, and your answer is +remembered for the rest of the Emacs session. +

+

Note that in all cases, if an error (such as a syntax error) is detected +while loading the file with C-c C-l, the dump file is never +deleted. This is so that you can edit the file in a new Emacs session +if you happen to quit Emacs before correcting the error. +

+ +

Dump buffers are always autosaved, regardless of the value of +ess-keep-dump-files. +

+
+ +
+

+Previous: , Up: Editing objects   [Contents][Index]

+
+ +

7.7 Names and locations of dump files

+ + +

Every dump file should be given a unique file name, usually the dumped +object name with some additions. +

+
+
User Option: ess-dump-filename-template
+

Template for filenames of dumped objects. %s is replaced by the +object name. +

+ +

By default, dump file names are the user name, followed by ‘.’ and +the object and ending with ‘.R’. Thus if user joe dumps the +object myfun the dump file will have name joe.myfun.R. +The username part is included to avoid clashes when dumping into a +publicly-writable directory, such as /tmp; you may wish to remove +this part if you are dumping into a directory owned by you. +

+ +

You may also specify the directory in which dump files are written: +

+
+
User Option: ess-source-directory
+

Directory name (ending in a slash) where R dump files are to be written. +

+ +

By default, dump files are always written to /tmp, which is fine +when ess-keep-dump-files is nil. If you are keeping dump +files, then you will probably want to keep them somewhere in your home +directory, say ~/R-source. This could be achieved by including +the following line in your Emacs configuration file: +

+
(setq ess-source-directory (expand-file-name "~/R-source/"))
+
+ +

If you would prefer to keep your dump files in separate directories +depending on the value of some variable, ESS provides a facility for +this also. By setting ess-source-directory to a lambda +expression which evaluates to a directory name, you have a great deal of +flexibility in selecting the directory for a particular source file to +appear in. The lambda expression is evaluated with the process buffer +as the current buffer and so you can use the variables local to that +buffer to make your choice. For example, the following expression +causes source files to be saved in the subdirectory Src of the +directory the ESS process was run in. +

+
+
(setq ess-source-directory
+      (lambda ()
+         (concat ess-directory "Src/")))
+
+ +

+(ess-directory is a buffer-local variable in process buffers +which records the directory the ESS process was run from.) This is +useful if you keep your dump files and you often edit objects with the +same name in different ESS processes. Alternatively, if you often +change your R working directory during an R session, you may +like to keep dump files in some subdirectory of the directory pointed to +by the first element of the current search list. This way you can edit +objects of the same name in different directories during the one R +session: + + +

+
(setq ess-source-directory
+   (lambda ()
+       (file-name-as-directory
+        (expand-file-name (concat
+                           (car ess-search-list)
+                           "/.Src")))))
+
+ + +

If the directory generated by the lambda function does not exist but can +be created, you will be asked whether you wish to create the directory. +If you choose not to, or the directory cannot be created, you will not +be able to edit functions. +

+
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

8 Reading help files

+ + +

ESS provides an easy-to-use facility for reading R help files from +within Emacs. From within the ESS process buffer or any ESS edit +buffer, typing C-c C-v (ess-display-help-on-object) + +will prompt you for the name of an object for which you would like +documentation. Completion is provided over all objects which have help +files. +

+

If the requested object has documentation, you will be popped into a +buffer (named *help(obj-name)*) containing the help file. +This buffer is placed in a special ESS help mode which disables the +usual editing commands but which provides a number of keys for paging +through the help file. +

+

Help commands: +

+
+
?
+
+

ess-describe-help-mode Pops up a help buffer with a list of the +commands available in R help mode. +

+
+
h
+
+

ess-display-help-on-object Pop up a help buffer for a different +object. +

+
+ +

Paging commands: + +

+
+
DEL
+

scroll-down-command Move one screen backwards through the help file. +

+
+
SPC
+

scroll-up-command Move one screen forwards through the help file. +

+
+
>
+
<
+

end/beginning-of-buffer Move to the end or beginning of the help file, +respectively. +

+
+ +

Section-based motion commands: +

+
+
n
+
p
+
+ +

ess-skip-to-previous-section and ess-skip-to-next-section +Move to the next and previous section header in the help file, +respectively. A section header consists of a number of capitalized +words, followed by a colon. +

+
+ +

In addition, the s key followed by one of the following letters +will jump to a particular section in the help file. +Note that the exact headings available and capitalization scheme may vary across languages. +

+

You may use s ? to get the current list of active key bindings. + +

+
+
a
+

Arguments: +

+
+
b
+

Background: +

+
+
B
+

Bugs: +

+
+
d
+

Description: +

+
+
D
+

Details: +

+
+
e
+

Examples: +

+
+
n
+

Note: +

+
+
O
+

Optional Arguments: +

+
+
R
+

Required Arguments: +

+
+
r
+

References: +

+
+
s
+

See Also: +

+
+
S
+

Side Effects: +

+
+
u
+

Usage: +

+
+
v
+

Value: +

+
+
?
+

Pops up a help buffer with a list of the defined section motion keys. +

+
+ +

Evaluation: +

+
+
l
+
+

ess-eval-line-and-step Evaluates the current line in the ESS +process, and moves to the next line. Useful for running examples in +help files. +

+
+
r
+
+

ess-eval-region Send the contents of the current region to the +ESS process. Useful for running examples in help files. +

+
+ +

Quit commands: +

+
+
q
+
+

ess-help-quit Return to previously selected buffer, and bury the +help buffer. +

+
+
k
+

kill-buffer Return to previously selected buffer, and kills the +help buffer. +

+
+
x
+

ess-kill-buffer-and-go Return to the ESS process, killing this +help buffer. +

+
+ +

Miscellaneous: +

+
+
i
+

ess-display-index Prompt for a package and display it’s help +index. +

+
+
v
+

ess-display-vignettes Display all available vignettes. +

+
+
w
+

ess-display-help-in-browser Display current help page with the +web browser. +

+
+
/
+

isearch-forward Same as C-s. +

+
+ +

In addition, all of the ESS commands available in the edit buffers are +also available in R help mode (see Edit buffer). Of course, the +usual (non-editing) Emacs commands are available, and for convenience +the digits and - act as prefix arguments. +

+

If a help buffer already exists for an object for which help is +requested, that buffer is popped to immediately; the ESS process is +not consulted at all. If the contents of the help file have changed, +you either need to kill the help buffer first, or pass a prefix argument +(with C-u) to ess-display-help-on-object. +

+

Help buffers are marked as temporary buffers in ESS, and are deleted +when ess-quit or ess-cleanup are called. +

+

Help buffers normally appear in another window within the current +frame. If you wish help buffers to appear in their own frame (either +one per help buffer, or one for all help buffers), you can customize the +variable ess-help-own-frame. +

+ + + + +
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

9 Completion

+ + + + + + + + + +
+ + + +

9.1 Completion of object names

+ + + + +

The TAB key is for completion. The value of the variable +ess-first-tab-never-complete controls when completion is allowed +controls when completion is allowed to occur. In ess-mode +TAB first tries to indent, and if there is nothing to indent, +complete the object name instead. +

+
+
TAB
+
+

comint-dynamic-complete Complete the R object name or +filename before point. +

+
+ +

When the cursor is just after a partially-completed object name, +pressing TAB provides completion in a similar fashion to the rest of Emacs. ESS maintains a list of all objects known to R +at any given time, which basically consists of all objects (functions +and datasets) in every attached directory listed by the search() +command + +along with the component objects of attached data frames + +

+

For example, consider three functions binomplot(), +binom.test() and binomial(). Typing bin TAB will +insert the characters ‘om’, completing the longest prefix +(‘binom’) which distinguishes these three commands. Pressing +TAB once more provides a list of the three commands which have +this prefix, allowing you to add more characters (say, ‘.’) which +specify the function you desire. After entering more characters +pressing TAB yet again will complete the object name up to +uniqueness, etc. If you just wish to see what completions exist without +adding any extra characters, type M-?. +

+
+
Command: ess-list-object-completions
+
+

M-? List all possible completions of the object name at point. +

+ +

ESS also provides completion over the components of named lists and +environments (after ‘$’), S4 classes slots (after @), package and +namespace objects (after :: and :::). + + +

+ +

Completion is also provided over file names, which is particularly +useful when using R functions such as get() or scan() +which require fully expanded file names. +

+

In the iESS buffer, if the cursor is not in a string and does +not follow a (partial) object name, the TAB key has a third use: +it expands history references. See History expansion. +

+

Efficiency in completion is gained by maintaining a cache of objects +currently known to R; when a new object becomes available or is deleted, +only one component of the cache corresponding to the associated +directory needs to be refreshed. If ESS ever becomes confused about +what objects are available for completion (such as when if refuses to +complete an object you know is there), the command M-x +ess-resynch + +forces the entire cache to be refreshed, which should fix the +problem. +

+
+ +
+

+Next: , Previous: , Up: Completion   [Contents][Index]

+
+ +

9.2 Completion of function arguments

+ +

When inside a function call (i.e. following ‘(’), TAB +completion also provides function arguments. If function is a generic, +completion will provide all the arguments of S3 methods known to +R. +

+

A related functionality is See ESS ElDoc, which displays function +arguments in the echo area whenever the point is inside a function call. +

+
+ +
+

+Next: , Previous: , Up: Completion   [Contents][Index]

+
+ +

9.3 Minibuffer completion

+ + + +

ESS uses IDO mechanism (part of default +Emacs) for minibuffer completion if the ido package is available +and the value of ess-use-ido it t (the default). The +completion command ess-completing-read falls back on classic +completion-read interface if this feature is not available for +whatever reason. +

+
+ +
+

+Next: , Previous: , Up: Completion   [Contents][Index]

+
+ +

9.4 Integration with auto-complete package

+ + + + +

ESS provides three sources for Auto Completion mode: +ac-source-R-args, ac-source-R-objects and +ac-source-R. The last one combines the previous two and makes them +play nicely together. See auto-complete package documentation +(http://cx4a.org/software/auto-complete/) for how to modify and +install your own completion sources. +

+

For the default auto-complete ESS configuration, install the latest +version of auto-complete package. ESS automatically detect the +package and activates auto-complete in ESS buffers. +

+ +

To deactivate AC, place the following into your init file: +

+
+
(setq ess-use-auto-complete nil)
+
+ +

Or, to activate auto-completion only in the ess-mode buffers: +

+
+
(setq ess-use-auto-complete 'script-only)
+
+ +

ESS provides AC help both for arguments and objects (default keys +C-? or <f1>). You can bind M-h to display quick help +pop-ups: +

+
+
(define-key ac-completing-map (kbd "M-h") 'ac-quick-help)
+
+ +

AC binds M-n, and M-p for the navigation in the +completion menu, which might be inconvenient if you want it to use in +the inferior R. Bind it to something else: +

+
+
(define-key ac-completing-map "\M-n" nil) ;; was ac-next
+(define-key ac-completing-map "\M-p" nil) ;; was ac-previous
+(define-key ac-completing-map "\M-," 'ac-next)
+(define-key ac-completing-map "\M-k" 'ac-previous)
+
+ +
+ +
+

+Next: , Previous: , Up: Completion   [Contents][Index]

+
+ +

9.5 Company

+ +

Another popular package for completion is company, short for complete +anything. ESS provides support for company out-of-the-box. To disable +company support, set ess-use-company to nil. You can set +it to 'script-only to only activate company in R scripts. +

+
+ +
+

+Previous: , Up: Completion   [Contents][Index]

+
+ +

9.6 Icicles

+ +

Another option for comprehensively handling completion in Emacs is via +Icicles (https://www.emacswiki.org/emacs/Icicles). It allows +users to have completions shown temporarily in the standard +‘*Completions*’ buffer, and interactively select completion +candidates using several methods. As of version 2013.04.04, Icicles +provides support for completion in ESS. Please consult Icicles +documentation, which is easily accessible via customize-group +Icicles, for more details on installation and customization options. +

+

Once installed, Icicles can be activated by evaluating): +

+
+
(require 'icicles)
+(icy-mode 1)
+
+ +

Icicles can be toggled by typing M-x icy. +

+

When Icicles is on, TAB offers completion, provided the conditions +determined by ess-first-tab-never-complete allow it. Typing +M-TAB will attempt completion regardless. Typing M-? in +ESS or iESS modes brings up the relevant completion +candidates from which to choose. Minibuffer input filters the available +candidates. Use TAB for prefix completion or S-TAB for +substring or regexp completion. Use S-SPC to match an additional +pattern (repeatable). You can cycle among the matching candidates, +choosing with RET or mouse-2. +

+ +
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

10 Developing with ESS

+ +

ESS provides several tools to help you with the development of your R +packages: +

+ + + + + + +
+ + + +

10.1 ESS tracebug

+ + + + + + + +

ESS tracebug offers visual debugging, interactive error +navigation, interactive backtrace, breakpoint manipulation, control over +R error actions, watch window and interactive flagging/unflagging of +functions for debugging. +

+

ess-tracebug is on by default. You can toggle it on +and off with M-x ess-tracebug. To disable startup +activation of ess-tracebug set ess-use-tracebug to nil. +

+

Tracebug functionality can be found on ess-dev-map, bound to +C-c C-t. Additionally, when subprocess is in a debugging state +ess-debug-minor-mode is active and the following additional +shortcuts are available: +

+
* Interactive Debugging (`ess-debug-minor-mode-map'):
+
+ M-C   . Continue                  . `ess-debug-command-continue'
+ M-C-C . Continue multi            . `ess-debug-command-continue-multi'
+ M-N   . Next step                 . `ess-debug-command-next'
+ M-C-N . Next step multi           . `ess-debug-command-next-multi'
+ M-U   . Up frame                  . `ess-debug-command-up'
+ M-Q   . Quit debugging            . `ess-debug-command-quit'
+
+
+ +

These are all the tracebug commands defined in ess-dev-map +(C-c C-t ? to show this table): +

+
+* Breakpoints (`ess-dev-map'):
+
+ b   . Set BP (repeat to cycle BP type) . `ess-bp-set'
+ B   . Set conditional BP               . `ess-bp-set-conditional'
+ k   . Kill BP                          . `ess-bp-kil'
+ K   . Kill all BPs                     . `ess-bp-kill-all'
+ o   . Toggle BP state                  . `ess-bp-toggle-state'
+ l   . Set logger BP                    . `ess-bp-set-logger'
+ n   . Goto next BP                     . `ess-bp-next'
+ p   . Goto previous BP                 . `ess-bp-previous'
+
+  (C- prefixed equivalents are also defined)
+
+* Debugging (`ess-dev-map'):
+ `   . Show traceback                       . `ess-show-traceback' (also on C-c `)
+ ~   . Show callstack                       . `ess-show-call-stack' (also on C-c ~)
+ e   . Toggle error action (repeat to cycle). `ess-debug-toggle-error-action'
+ d   . Flag for debugging                   . `ess-debug-flag-for-debugging'
+ u   . Unflag for debugging                 . `ess-debug-unflag-for-debugging'
+ w   . Watch window                         . `ess-watch'
+
+  (C- prefixed equivalents are also defined)
+
+* Navigation to errors (general Emacs functionality):
+
+ C-x `, M-g n   . `next-error'
+ M-g p          . `previous-error'
+
+* Misc:
+
+?   . Show this help		. `ess-tracebug-show-help'
+
+
+

To configure how electric watch window splits the display see +ess-watch-width-threshold and ess-watch-height-threshold +variables. +

+

Note: Currently, ess-tracebug does not detect some of R’s debug +related messages in non-English locales. To set your R messages to +English add the following line to your .Rprofile init file: +

+
   Sys.setlocale("LC_MESSAGES", "C")
+
+
+ +
+

+Up: ESS tracebug   [Contents][Index]

+
+ +

10.1.1 Getting started with tracebug

+ + + +

Consider a buffer with the following function: +

+
test <- function(x){
+  mean(x),
+}
+
+

Evaluating the function (e.g. C-c C-c) results in an error +about an unexpected comma. You can use next-error (bound by +default to C-x `, M-g n, and M-g M-n) to jump to +the place where the error occurred. Alternatively, use the mouse to +click on the error to jump to where it occurred. +

+

Correct the error by deleting the comma. Now put point on mean +and set the breakpoint using C-c C-t b (ess-bp-set) and +reevaluate the function. Jump to the inferior buffer (possibly using +C-c C-z) and evaluate test(1:10). An interactive debug +process starts, stopping at the breakpoint we just specified. Here you +can debug your function (what is x at this point?). Use +M-N to continue. +

+

Let’s replace our test function with one slightly more complicated: +

+
test <- function(x){
+  x <- x + 1
+  y <- mean(x)
+  x <- ifelse(x > 5, x, x - 100)
+  list(x, y)
+}
+
+

Try setting multiple breakpoints. You can unset a breakpoint by killing +it with C-c C-t k. You can set conditional breakpoints too. Try +setting one by placing point on the line x <- x + 1 and doing +C-c C-t B. ESS will ask for the condition. Let’s set it to +!is.numeric(x). After re-evaluating test, try calling +test(1:100) and test('foo'). +

+

You can remove all breakpoints with C-c C-t K. +

+

You can flag a function for debugging (similar to calling +debug(test) at R’s prompt) by doing C-c C-t d. Try this +yourself by putting point over test and doing C-c C-t d. +

+

If an error occurs, you can get the complete call stack by doing +C-c ` or C-c C-t ` (ess-show-traceback). +

+

Tracebug also offers a watch window where you can watch values of +objects. Open it with C-c C-t w (ess-watch). Initially you +aren’t watching anything. Add something with a (e.g. a +test). The watch window displays what the object is at any given time +and automatically updates. Quit the watch window with q. +

+
+ + + +

10.2 Editing documentation

+ +

ESS provides two ways of writing documentation for R objects. Either +using the standard R documentation system or using in-source +documentation written as structured comment fields for use with the +Roxygen package. +

+ + + + + +
+ + + +

10.2.1 Editing R documentation (Rd) files

+ +

R objects are documented in files written in the R +documentation (“Rd”), a simple markup language closely resembling +(La)TeX, which can be processed into a variety of formats, including +LaTeX, HTML, and plain text. Rd format is described in +section “Rd format” of the “Writing R Extensions” manual in the R +distribution. ESS has several features that facilitate editing Rd files. +

+

Visiting an Rd file as characterized by its extension Rd will +activate Rd Mode, which provides several facilities for making editing R +documentation files more convenient, by helping with indentation, +insertions, even doing some of the typing for you (with Abbrev Mode), +and by showing Rd keywords, strings, etc. in different faces (with +Font Lock Mode). +

+

Note that R also accepts Rd files with extension rd; to activate +ESS[Rd] support for this extension, you may need to add +

+
+
(add-to-list 'auto-mode-alist '("\\.rd\\'" . Rd-mode))
+
+ +

to one of your Emacs startup files. +

+

In Rd mode, the following special Emacs commands can be used in addition +to the standard Emacs commands. +

+
+
C-h m
+

Describe the features of Rd mode. +

+
+
LFD
+
RET
+

Reindent the current line, insert a newline and indent the new line +(reindent-then-newline-and-indent). An abbrev before point is +expanded if abbrev-mode is non-nil. +

+
+
TAB
+

Indent current line based on its contents and on previous lines. +(indent-according-to-mode). +

+
+
C-c C-e
+

Insert a “skeleton” with Rd markup for at least all mandatory entries +in Rd files (Rd-mode-insert-skeleton). Note that many users +might prefer to use the R function prompt on an existing R object +to generate a non-empty Rd “shell” documenting the object (which +already has all information filled in which can be obtained from the +object). +

+
+
C-c C-f
+

Insert “font” specifiers for some of the Rd markup commands markup +available for emphasizing or quoting text, including markup for URLs and +email addresses (Rd-font). C-c C-f is only a prefix; see +e.g. C-c C-f TAB for the available bindings. Note that +currently, not all of the Rd text markup as described in section +“Marking text” of “Writing R Extensions” can be accessed via +C-c C-f. +

+
+
C-c C-j
+

Insert a suitably indented ‘\item{’ on the next line +(Rd-mode-insert-item). +

+
+
C-c C-p
+

Preview a plain text version (“help file”, see Help) generated +from the Rd file (Rd-preview-help). +

+
+ +

In addition, when editing Rd files one can interact with a running R +process in a similar way as when editing R language files. For example, +C-c C-v provides access to on-line help, and C-c C-n sends +the current line to the R process for evaluation. This interaction is +particularly useful when editing the examples in the Rd file. See +C-h m for all available commands. +

+

Rd mode also provides access to abbreviations for most of the Rd markup +commands. Type M-x list-abbrevs with Abbrev mode turned on to +list all available abbrevs. Note that all Rd abbrevs start with a grave +accent. +

+

Rd mode can be customized via the following variables. +

+
+
User Option: Rd-mode-hook
+

Hook to be run when Rd mode is entered. +

+ +
+
User Option: Rd-indent-level
+

The indentation of Rd code with respect to containing blocks. Default +is 2. +

+ +
+
User Option: Rd-to-help-command
+

The shell command used for converting Rd source to help text. Default +is ‘R CMD Rd2txt’. +

+ +

To automatically turn on the abbrev and font-lock features of Rd mode, +add the following lines to one of your Emacs startup files: +

+
+
(add-hook 'Rd-mode-hook
+          (lambda ()
+           (abbrev-mode 1)
+           (font-lock-mode 1)))
+
+ +
+ + + +

10.2.2 Editing Roxygen documentation

+ + + + +

The Roxygen R package makes it possible to keep the intended contents +for Rd files as structured comments in the R source files. Roxygen can +then parse R files and generate appropriate Rd files from these +comments, fill the usage fields as well as updating NAMESPACE +files. See the Roxygen documentation found via http://roxygen.org +for more information on its usage. An example of an Roxygen entry for a +simple R function can look like this: +

+
+
##' Description of the function
+##'
+##' Further details about this function
+##' @title A title
+##' @param me all parameters must be listed and documented
+##' @return Description of the return value
+##' @author The author
+myfun <- function(me)
+  cat("Hello", me, "\n")
+
+

The entry is immediately preceding the object to document and all lines +start with the Roxygen prefix string, in this case ##'. ESS +provides support to edit these documentation entries by providing line +filling, navigation, template generation etc. Syntax highlighting is +provided for Emacs but not for XEmacs. +

+

Roxygen is customized by the variables in the customization group “Ess +Roxy”. Customizables include the Roxygen prefix, use of folding +to toggle visibility of Roxygen entries and the Roxygen template. +

+

All ESS Roxygen support is defined in ess-roxy.el which is loaded +by default in ESS. The following special Emacs commands are provided. +

+
+
Command: ess-roxy-update-entry
+
+

C-c C-o C-o Generate a Roxygen template or update the parameter +list in Roxygen entry at point (or above the function at the +point). Documented parameters that are not in the function are placed +last in the list, parameters that are not documented and not in the +definition are dropped. Parameter descriptions are filled if +ess-roxy-fill-param-p is non-nil. +

+ +
+
Command: ess-roxy-toggle-roxy-region beg end
+
+

C-c C-o C-c Toggle the presence of the leading Roxygen string on +all lines in the marked region (between beg and +end. Convenient for transferring text to Roxygen entries and to +evaluate example fields. +

+ +
+
Command: ess-roxy-preview-Rd name-file
+
+

C-c C-o C-r Use the attached R process to parse the entry at point +to obtain the Rd code. Convenient for previewing and checking +syntax. When used with the prefix argument name-file, +i.e. C-u C-c C-e C-r, place the content in a buffer associated +with a Rd file with the same name as the documentation. Requires the +Roxygen package to be installed. +

+ +
+
Command: ess-roxy-preview-HTML visit-instead-of-open
+
+

C-c C-o C-t Use the attached R process to parse the entry at to +generate HTML for the entry and open it in a browser. When used with the +prefix argument visit-instead-of-open, i.e. C-u C-c C-e C-t, +visit the generated HTML file instead. Requires the Roxygen and tools +packages to be installed. +

+ +
+
Command: ess-roxy-previous-entry
+
+

C-c C-o p Go to start of the Roxygen entry above point. +

+ +
+
Command: ess-roxy-next-entry
+
+

C-c C-o n Go to end of the Roxygen entry above point. +

+ +
+
Command: ess-roxy-hide-all
+
+

C-c C-o C-h Use the hideshow mode to fold away the visibility of +all Roxygen entries. Hide-show support must be enabled for this binding +to get defined. +

+ +

ESS also advises the following standard editing functions in order to +make Roxygen editing more intuitive: +

+
+
TAB
+
+

ess-R-complete-object-name Complete Roxygen tag at +point. E.g. doing TAB when the point is at the end of @par +completes to @param. +

+
+
M-h
+
+

mark-paragraph If the transient mark mode is active, place mark +and point at start end end of the field at point and activate the mark. +

+
+
TAB
+
+

ess-indent-command If hide-show support is enabled, fold away the +visibility of the Roxygen entry at point. +

+
+
M-q
+
+

fill-paragraph Fill the Roxygen field at point. +

+
+
C-a
+
+

move-beginning-of-line Move to the point directly to the right of +the Roxygen start string. +

+
+
RET
+
+

newline-and-indent Insert a new line and the Roxygen prefix +string. +

+
+ +
+ + + +

10.3 Namespaced Evaluation

+ + +

In non package files evaluation commands, See Evaluating code, send +portions of the current buffer environment (R_GlobalEnv. When +developing packages, ESS sends code to the corresponding package +namespace and (for visible objects) into package environment (visible on +search path). All objects that are assigned are displayed in the +minibuffer alongside the environment in which they are assigned. +

+

Here is a short overview of how namespace and package environments work +in R. All objects defined in a package ’foo’ are stored in an +environment called ’namespace:foo’. Parent environment of +’namespace:foo’ is an environment ’imports:foo’ which contains copies of +all objects from other packages which ’foo’ imports. Parent environment +of ’imports:foo’ is the ’namespace:base’. Parent environment of +’namespace:base’ is .GlobalEnv. Thus functions and methods stored in +’namespace:foo’ see all the objects in .GlobalEnv unless shadowed by +objects in ’imports:foo’, ’namespace:base’, or ’namespace:foo’ +itself. There is another environment associated with ’foo’ - +’package:foo’. This environment stores *copies* of exported objects from +’namespace:foo’ and is placed on the search() path, i.e. if ’foo’ is +loaded and if you start with .GlobalEnv and iteratively call +parent.env() you will get eventually to ’package:foo’. Thus all methods +and functions defined in .GlobalEnv can "see" objects in ’package:foo’ +environment. See also +https://cran.r-project.org/doc/manuals/R-ints.html#Namespaces. +

+

Occasionally you want to evaluate into a package from a non-package file, +or the other way around, evaluate into GlobalEnv from inside a +package. In such cases C-c C-t C-s is your friend. +

+
+
Command: ess-r-set-evaluation-env arg
+
+

C-c C-t C-s Set or unset the current evaluation environment (a package). +

+ +
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

11 Other ESS features and tools

+ +

ESS has a few extra features, which didn’t fit anywhere else. +

+ + + + + + + + + + + + + + + +
+ +
+

+Next: , Up: Extras   [Contents][Index]

+
+ +

11.1 ElDoc

+ +

In ElDoc mode, the echo area displays function’s arguments at +point. ElDoc is active by default in ess-mode and +inferior-ess-mode buffers. To activate it only in ess-mode +buffers, place the following into your init file: +

+
+
(setq ess-use-eldoc 'script-only)
+
+ +
+
User Option: ess-use-eldoc
+

If ‘t’, activate eldoc in ess-mode and inferior-ess-mode buffers. +If ‘'script-only’ activate in ess-mode buffers only. Set +ess-use-eldoc to nil to stop using ElDoc +altogether. +

+ +
+
User Option: ess-eldoc-show-on-symbol
+

This variable controls whether the help is shown only inside function +calls. If set to ‘t’, ElDoc shows help string whenever the +point is on a symbol, otherwise (the default), shows only when the point +is in a function call, i.e. after ‘'('’. +

+ +
+
User Option: ess-eldoc-abbreviation-style
+

The variable determines how the doc string should be abbreviated to fit +into minibuffer. Posible values are ‘nil’, ‘mild’, +‘normal’, ‘strong’ and ‘aggressive’. Please see the +documentation of the variable for more details. The default filter is +‘normal’. +

+ +

Ess-eldoc also honors the value of +eldoc-echo-area-use-multiline-p, which if set to ‘nil’, will +cause the truncation of doc string indifferent of the value of +ess-eldoc-abbreviation-style. This way you can combine different +filter levels with the truncation. +

+
+ +
+

+Next: , Previous: , Up: Extras   [Contents][Index]

+
+ +

11.2 Flymake

+ +

The minor mode flymake-mode provides on-the-fly syntax +checking. ESS provides support for flymake in R-mode in Emacs versions +26 and newer. It is enabled by default, to disable it you may set +ess-use-flymake to nil. In order to use it, you may need +to install the lintr R package, available from CRAN. +

+
+
User Option: ess-use-flymake
+

When non-nil, use flymake. If 'process, only use flymake when the +buffer has an inferior process running. +

+ +
+
User Option: ess-r-flymake-linters
+

This variable describes the linters to use. It can either be a string +with an R expression to be used as-is or a list of strings where each +element is passed to lintr::with_defaults. See the help page +for lintr::default_linters for information on available linters +and their defaults. +

+ +
+
User Option: ess-r-flymake-lintr-cache
+

When t (the default), lintr uses a cache. Change to nil +to disable lintr’s caching mechanism. +

+ +
+ +
+

+Next: , Previous: , Up: Extras   [Contents][Index]

+
+ +

11.3 Handy commands

+ + + + + + +
+
Command: ess-handy-commands
+

Request and execute a command from ess-handy-commands list. +

+ +
+
User Option: ess-handy-commands
+

An alist of custom ESS commands available for call by +ess-handy-commands and ess-smart-comma function. +

+

Currently contains: +

+
+
change-directory
+

ess-change-directory +

+
help-index
+

ess-display-index +

+
help-object
+

ess-display-help-on-object +

+
vignettes
+

ess-display-vignettes +

+
objects[ls]
+

ess-execute-objects +

+
search
+

ess-execute-search +

+
set-width
+

ess-execute-screen-options +

+
install.packages
+

ess-install.packages +

+
library
+

ess-library +

+
setRepos
+

ess-setRepositories +

+
sos
+

ess-sos +

+
+
+ + +

Handy commands: ess-library, ess-install.packages, etc - +ask for item with completion and execute the correspond +command. ess-sos is a interface to findFn function in +package sos. If package sos is not found, ask user for +interactive install. +

+ +
+ +
+

+Next: , Previous: , Up: Extras   [Contents][Index]

+
+ +

11.4 Syntactic highlighting of buffers

+ +

ESS provides Font-Lock (see Using Multiple Typefaces in The Gnu Emacs Reference Manual) patterns for inferior R Mode, S Mode, +and R Transcript Mode buffers. + + +

+

The font-lock patterns are defined by the following variables, which you +may modify if desired: +

+
+
User Option: inferior-R-font-lock-keywords
+

Font-lock patterns for inferior *R* processes. (There is a +corresponding inferior-S-font-lock-keywords for *S* processes.) +The default value highlights prompts, inputs, assignments, output +messages, vector and matrix labels, and literals such as ‘NA’ and +TRUE. +

+ +
+
User Option: ess-R-font-lock-keywords
+

Font-lock patterns for ESS R programming mode. (There is a +corresponding ess-S-font-lock-keywords for S buffers.) The +default value highlights function names, literals, assignments, source +functions and reserved words. +

+ +
+ +
+

+Next: , Previous: , Up: Extras   [Contents][Index]

+
+ +

11.5 Parenthesis matching

+ +

Emacs has facilities for highlighting the parenthesis matching the +parenthesis at point. This feature is very useful when trying to +examine which parentheses match each other. This highlighting also +indicates when parentheses are not matching. You may activate it putting +this in your Emacs configuration file: +

+
+
(show-paren-mode)
+
+ + +
+ +
+

+Next: , Previous: , Up: Extras   [Contents][Index]

+
+ +

11.6 Using graphics with ESS

+ + +

One of the main features of R is its ability to generate high-resolution +graphics plots. When using R in a windowing environment, no additional +configuration is necessary; plots will be shown in a new (non-Emacs) +window. +

+

If not using a windowing environment or S, ESS provides a number of +features for dealing with such plots. +

+ + + + + + +
+ +
+

+Next: , Up: Graphics   [Contents][Index]

+
+ +

11.6.1 Using ESS with the printer() driver

+ +

This is the simplest (and least desirable) method of using graphics +within ESS. S’s printer() device driver produces crude character +based plots which can be contained within the ESS process buffer +itself. To start using character graphics, issue the S command +

+
printer(width=79)
+
+ +

(the width=79 argument prevents Emacs line-wrapping at column +80 on an 80-column terminal. Use a different value for a terminal with +a different number of columns.) Plotting commands do not generate +graphics immediately, but are stored until the show() command +is issued, which displays the current figure. +

+
+ +
+

+Next: , Previous: , Up: Graphics   [Contents][Index]

+
+ +

11.6.2 Using ESS with windowing devices

+ + +

Of course, the ideal way to use graphics with ESS is to use a windowing +system. Under X Windows, or X11, this requires that the DISPLAY environment +variable be appropriately set. +

+
+ +
+

+Previous: , Up: Graphics   [Contents][Index]

+
+ +

11.6.3 Java Graphics Device

+ + + +

S+6.1 and newer on Windows contains a java library that supports graphics. Send +the commands: +

+
+
library(winjava)
+java.graph()
+
+ +

to start the graphics driver. This allows you to use ESS for both +interaction and graphics within S-PLUS. (Thanks to Tim Hesterberg for +this information.) +

+
+ +
+

+Next: , Previous: , Up: Extras   [Contents][Index]

+
+ +

11.7 Imenu

+ +

Imenu is an Emacs tool for providing mode-specific buffer indexes. In +some of the ESS editing modes (currently SAS and R), support for Imenu +is provided. For example, in R mode buffers, the menubar should display +an item called "Imenu-R". Within this menubar you will then be offered +bookmarks to particular parts of your source file (such as the starting +point of each function definition). +

+

Imenu works by searching your buffer for lines that match what ESS +thinks is the beginning of a suitable entry, for example the beginning of a +function definition. To examine the regular expression that ESS uses, +check the value of imenu-generic-expression. This value is set +by various ESS variables such as ess-imenu-S-generic-expression. +

+
+ +
+

+Next: , Previous: , Up: Extras   [Contents][Index]

+
+ +

11.8 Toolbar

+ +

The R and S editing modes have support for a toolbar. This toolbar +provides icons to act as shortcuts for starting new S/R processes, or +for evaluating regions of your source buffers. The toolbar should be +present if your Emacs can display images. See Customization, for ways +to change the toolbar. +

+
+ +
+

+Next: , Previous: , Up: Extras   [Contents][Index]

+
+ +

11.9 Xref

+ + +

Xref is an Emacs interface that supports finding “identifiers,” +usually function definitions in ESS’s view. ESS ships with support for +Xref in Emacs versions 25.1 and higher. See Xref in The Gnu +Emacs Reference Manual for how to use this feature. +

+
+ +
+

+Next: , Previous: , Up: Extras   [Contents][Index]

+
+ +

11.10 Rdired

+ +

Ess-rdired provides a dired-like buffer for viewing, editing and +plotting objects in your current R session. If you are used to using +the dired (directory editor) facility in Emacs, this mode gives you +similar functionality for R objects. +

+

Start an R session with M-x R and then store a few +variables, such as: +

+
+
s <- sin(seq(from=0, to=8*pi, length=100))
+x <- c(1, 4, 9)
+y <- rnorm(20)
+z <- TRUE
+
+ +

Then use M-x ess-rdired to create a buffer listing the +objects in your current environment and display it in a new window: +

+
            mode length
+  s      numeric    100
+  x      numeric      3
+  y      numeric     20
+  z      logical      1
+
+ +

Type C-h m or ? to get a list of the keybindings for this +mode. For example, with your point on the line of a variable, ‘p’ will +plot the object, ‘v’ will view it, and ‘d’ will mark the object for +deletion (‘x’ will actually perform the deletion). +

+ +
+ +
+

+Next: , Previous: , Up: Extras   [Contents][Index]

+
+ +

11.11 Rutils

+ +

Ess-rutils builds up on ess-rdired, providing key bindings for +performing basic R functions in the inferior-ESS process buffer, such as +loading and managing packages, object manipulation (listing, viewing, +and deleting), and alternatives to help.start() and +RSiteSearch() that use the browse-url Emacs function. +The library can be loaded using M-x load-file, but the easiest is +to include: +

+
+
(require 'ess-rutils)
+
+ +

in your Emacs configuration file. Once R is started with M-x R, and if the value of +the customizable variable ess-rutils-keys is true, several key +bindings become available in iESS process buffers: +

+
+
Command: ess-rutils-local-pkgs
+
+

C-c C-. l List all packages in all available libraries. +

+ +
+
Command: ess-rutils-repos-pkgs
+
+

C-c C-. r List available packages from repositories listed by +getOptions(``repos'') in the current R session. +

+ +
+
Command: ess-rutils-update-pkgs lib repos
+
+

C-c C-. u Update packages in a particular library lib and +repository repos. +

+ +
+
Command: ess-rutils-apropos
+
+

C-c C-. a Search for a string using apropos. +

+ +
+
Command: ess-rutils-rm-all
+
+

C-c C-. m Remove all R objects. +

+ +
+
Command: ess-rutils-objs
+
+

C-c C-. o Manipulate R objects; wrapper for ess-rdired. +

+ +
+
Command: ess-rutils-load-wkspc
+
+

C-c C-. w Load a workspace file into R. +

+ +
+
Command: ess-rutils-save-wkspc
+
+

C-c C-. s Save a workspace file. +

+ +
+
Command: ess-change-directory
+
+

C-c C-. d Change the working directory for the current R session. +

+ +
+
Command: ess-rutils-html-docs
+
+

C-c C-. H Use browse-url to navigate R html +documentation. +

+ +

See the submenu ‘Rutils’ under the iESS menu for alternative access +to these functions. The function ess-rutils-rsitesearch is +provided without a particular key binding. This function is useful in +any Emacs buffer, so can be bound to a user-defined key: +

+
+
(eval-after-load "ess-rutils"
+  '(global-set-key [(control c) (f6)] 'ess-rutils-rsitesearch))
+
+ + +

Functions for listing objects and packages +(ess-rutils-local-pkgs, ess-rutils-repos-pkgs, and +ess-rutils-objs) show results in a separate buffer and window, +in ess-rutils-mode, providing useful key bindings in this mode +(type ? in this buffer for a description). +

+ +
+ +
+

+Next: , Previous: , Up: Extras   [Contents][Index]

+
+ +

11.12 Interaction with Org mode

+ +

Org-mode (https://orgmode.org) now supports reproducible research +and literate programming in many languages (including R) – see chapter +14 of the Org manual +(https://orgmode.org/org.html#Working-With-Source-Code). For ESS +users, this offers a document-based work environment within which to +embed ESS usage. R code lives in code blocks of an Org document, from +which it can be edited in ess-mode, evaluated, extracted ("tangled") to +pure code files. The code can also be exported ("woven") with the +surrounding text to several formats including HTML and LaTeX. Results of +evaluation including figures can be captured in the Org document, and +data can be passed from the Org document (e.g. from a table) to the ESS +R process. (This section contributed by Dan Davison and Eric Schulte.) +

+ +
+ +
+

+Previous: , Up: Extras   [Contents][Index]

+
+ +

11.13 Support for Sweave in ESS and AUCTeX

+ +

ESS provides support for writing and processing Sweave +(https://www.statistik.lmu.de/~leisch/Sweave), building up on +Emacs’ ess-noweb-mode for literate programming. When working on an Sweave +document, the following key bindings are available: +

+
+
Command: ess-swv-weave choose
+
+

M-n s Run Sweave on the current .Rnw file. If choose is +non-‘nil’, offer a menu of available weavers. +

+ +
+
Command: ess-swv-latex
+
+

M-n l Run LaTeX after Sweave’ing. +

+ +
+
Command: ess-swv-PS
+

M-n p Generate and display a postscript file after LaTeX’ing. +

+ +
+
Command: ess-swv-PDF pdflatex-cmd
+
+

M-n P Generate and display a PDF file after LaTeX’ing. Optional +argument pdflatex-cmd is the command to use, which by default, is +the command used to generate the PDF file is the first element of +ess-swv-pdflatex-commands. +

+ +
+
User Option: ess-swv-pdflatex-commands
+

Commands used by ess-swv-PDF to run a version of pdflatex; the +first entry is the default command. +

+ +

Sweave’ing with ess-swv-weave starts an inferior-ESS process, if +one is not available. Other commands are available from the +‘Sweaving, Tangling, ...’ submenu of the Noweb menu. +

+

AUCTeX (https://www.gnu.org/software/auctex) users may prefer to +set the variable ess-swv-plug-into-AUCTeX-p (available from the +“ESS Sweave” customization group) to t. Alternatively, the same can +be achieved by activating the entry “AUCTeX Interface” from the +‘Sweaving, Tangling, ...’ submenu, which toggles this variable on +or off. When the interface is activated, new entries for Sweave’ing and +LaTeX’ing thereafter are available from AUCTeX’s “Command” menu. +Sweave’ing can, thus, be done by C-c C-c Sweave RET without an +inferior-ESS process. Similarly, LaTeX’ing can be done by C-c C-c +LaTeXSweave RET. In both cases, the process can be monitored with +C-c C-l (TeX-recenter-output-buffer). Open the viewer with +C-c C-v (TeX-view), as usual in AUCTeX. +

+
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

12 Overview of ESS features for the S family

+ + + + + + +
+ + + +

12.1 ESS[R]–Editing files

+ +

ESS[R] mode should be automatically turned on when visiting a file +ending with an R or S suffix (*.R, *.S, *.s, etc), which enables the +features discussed previously. Alternatively, type M-x R-mode to +put the current buffer into R mode. However, one will have to start up +an inferior process to take advantage of the interactive features. +

+
+ + + +

12.2 iESS[R]–Inferior ESS processes

+ +

To start up iESS mode for R, use: +

+
   M-x R
+   M-x S+3
+   M-x S4
+   M-x S+5
+   M-x S+6
+
+ +

(for R, S-PLUS 3.x, S4, S+5, S+6 or or S+7, respectively. This assumes that +you have access to each). +

+ +

In the case that you wish to pass command line arguments to the starting +R process, call it with the universal prefix. To set command line +arguments that apply to all future iESS sessions, set the variable +inferior-R-args. +

+

Note that R has some extremely useful command line arguments. For +example, --vanilla will ensure R starts up without loading in any init +files. +

+

If you have other versions of R or S available on the system, ESS +is also able to start those versions. How this exactly works depend on +which OS you are using (details below). The +general principle, regardless of OS, is that ESS searches the paths +listed in the variable exec-path for R binaries. If ESS cannot +find your R binaries, on Unix you can change the unix environment +variable PATH, as this variable is used to set exec-path. +

+

R on GNU/Linux systems and other Unix-like systems (macOS): If you have +"R-1.8.1" on your exec-path, it can be started using M-x +R-1.8.1. By default, ESS will find versions of R beginning “R-1”, +“R-2”, “R-3”, “R-devel”, or “R-patched”. If your versions of R +are called other names, consider renaming them with a symbolic link or +change the variable ess-r-versions. To see which functions have +been created for starting different versions of R, type M-x R- and +then hit [Tab]. These other versions of R can also be started from the +"ESS->Start Process->Other" menu. +

+

R on Windows systems: If you have "rw1081" on your exec-path, it +can be started using M-x rw1081. By default, ESS will find +versions of R located in directories parallel to the version of R in +your PATH. If your versions of R are called other names, you +will need to change the variable ess-rterm-versions. To see +which functions have been created for starting different versions of R, +type M-x rw and then hit [Tab]. These other versions of +R can also be started from the "ESS->Start Process->Other" menu. +

+

Once ESS has found these extra versions of R, it will then create a new +function, called M-x R-newest, which will call the newest version +of R that it found. (ESS examines the date in the first line of +information from R --version to determine which is newest.) +

+

S on Unix systems: If you have "Splus7" on your exec-path, it can +be started using M-x Splus7. By default, ESS will find all +executables beginning "Splus" on your path. If your versions of S are +called other names, consider renaming them with a symbolic link or +change the variable ess-s-versions. To see which functions have +been created for starting different versions of Splus, type M-x +Splus and then hit [Tab]. These other versions of Splus can also be +started from the "ESS->Start Process->Other" menu. +

+

A second mechanism is also available for running other versions of Splus. +The variable ess-s-versions-list is a list of lists; each sublist +should be of the form: (DEFUN-NAME PATH ARGS). DEFUN-NAME is the name +of the new emacs function you wish to create to start the new S process; +PATH is the full path to the version of S you want to run; ARGS is an +optional string of command-line arguments to pass to the S process. +Here is an example setting: +

+
(setq ess-s-versions-list
+      '( ("Splus64" "/usr/local/bin/Splus64")
+         ("Splus64-j" "/usr/local/bin/Splus64" "-j")))
+
+

which will then allow you to do M-x Splus64-j to start Splus64 +with the corresponding command line arguments. +

+

If you change the value of either ess-r-versions or +ess-s-versions-list, you should put them in your Emacs +configuration file before ess-site is loaded, since the new Emacs +functions are created when ESS is loaded. +

+

Sqpe (S-Plus running inside an Emacs buffer) on Windows systems: If you +have an older version of S-Plus (S-Plus 6.1 for example) on your system, +ir can be started inside an Emacs buffer with M-x splus61. By +default, ESS will find versions of S-Plus located in the installation +directories that Insightful uses by default. If your versions of S-Plus +are anywhere else, you will need to change the variable +ess-SHOME-versions. To see which functions have been created for +starting different versions of S-Plus, type M-x spl and then hit +[Tab]. These other versions of S-Plus can also be started from the +"ESS->Start Process->Other" menu. +

+ +
+ + + +

12.3 Philosophies for using ESS[R]

+ +

There are two philosophies for using ESS. Most modern best practices +prefer the first. ESS is configured for the first, and this is what the +manual focuses on. +

+

1: The source code is real. Objects are realizations of the source + code. Source for EVERY user modified object is placed in a + particular directory or directories, for later editing and retrieval. +

+

2: R objects are real. Source code is a temporary realization of the + objects. Dumped buffers should not be saved. + _We_strongly_discourage_this_approach_. However, if you insist, add + the following lines to your Emacs configuration file: +

+
(setq ess-keep-dump-files nil)
+(setq ess-delete-dump-files t)
+(setq ess-mode-silently-save nil)
+
+ +
+ + + +

12.4 Example ESS usage

+ +

We present some basic examples for using ESS to interact with R +These are just a subset of approaches, many better approaches are +possible. Contributions of examples of how you work with ESS are +appreciated (especially since it helps us determine priorities on +future enhancements)! Comments as to what should be happening are +prefixed by "##". +

+
1:  ## Data Analysis Example
+    ## Load the file you want to work with
+    C-x C-f myfile.R
+
+    ## Edit as appropriate, then start and switch to an R buffer
+    C-c C-z
+
+    ## A new buffer *R* will appear. R will have been started
+    ## in this buffer.  The buffer is in iESS [R] mode.
+
+    ## Return to the script (prefix with C-c if you have pressed other keys)
+    C-z
+
+    ## Send regions, lines, or the entire file contents to R.  For regions,
+    ## highlight a region with keystrokes or mouse and then send with:
+    C-c C-r
+
+    ## Re-edit myfile.R as necessary to correct any difficulties.  Add
+    ## new commands here.  Send them to R by region with C-c C-r, or
+    ## one line at a time with C-c C-n.
+
+    ## Save the revised myfile.R with C-x C-s.
+
+    ## Save the entire *R* interaction buffer with C-c C-s.  You
+    ## will be prompted for a file name.  The recommended name is
+    ## myfile.Rout.  With this suffix, the file will come up in ESS
+    ## Transcript mode the next time it is accessed from Emacs.
+
+
+
+2:  ## Program revision example (source code is real)
+
+    ## Start R in a process buffer (this will be *R*)
+    M-x R
+
+    ## Load the file you want to work with
+    C-x C-f myfile.R
+
+    ## edit program, functions, and code in myfile.R, and send revised
+    ## functions to R when ready with
+    C-c C-f
+    ## or highlighted regions with
+    C-c C-r
+    ## or individual lines with
+    C-c C-n
+    ## or load the entire buffer with
+    C-c M-l
+
+    ## save the revised myfile.R when you have finished
+    C-c C-s
+
+
+ + +
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

13 ESS for SAS

+ + + + + + + + + + + + +

ESS[SAS] was designed for use with SAS. It is descended from emacs +macros developed by John Sall for editing SAS programs and SAS-mode by +Tom Cook. Those editing features and new advanced features are part of +ESS[SAS]. The user interface of ESS[SAS] has similarities with ESS[S] +and the SAS Display Manager. +

+
+ + + +

13.1 ESS[SAS]–Design philosophy

+ +

ESS[SAS] was designed to aid the user in writing and maintaining SAS +programs, such as foo.sas. Both interactive and batch +submission of SAS programs is supported. +

+

ESS[SAS] was written with two primary goals. +

    +
  1. The emacs text editor provides a powerful and flexible development +environment for programming languages. These features are a boon to all +programmers and, with the help of ESS[SAS], to SAS users as well. +
  2. Although a departure from SAS Display Manager, ESS[SAS] provides +similar key definitions to give novice ESS[SAS] users a head start. +Also, inconvenient SAS Display Manager features, like remote submission +and syntax highlighting, are provided transparently; appealing to +advanced ESS[SAS] users. +
+ +
+ + + +

13.2 ESS[SAS]–Editing files

+ +

ESS[SAS] is the mode for editing SAS language files. This mode handles: +

+
    +
  • proper indenting, generated by both TAB and RET. +
  • color and font choices based on syntax. +
  • ability to save and submit the file you are working on as a batch +SAS process with a single keypress and to continue editing while it is runs +in the background. +
  • capability of killing the batch SAS process through the *shell* buffer or +allow the SAS process to keep on running after you exit emacs. +
  • single keypress navigation of .sas, .log and .lst files +(.log and .lst files are refreshed with each keypress). +
  • ability to send the contents of an entire buffer, a highlighted region, +or a single line to an interactive SAS process. +
  • ability to switch between processes which would be the target of the +buffer (for the above). +
+ +

ESS[SAS] is automatically turned on when editing a file with a .sas +suffix (or other extension, if specified via auto-mode-alist). The function +keys can be enabled to use the same function keys that +the SAS Display Manager does. The interactive capabilities of ESS require you +to start an inferior SAS process with M-x SAS +(See iESS(SAS)--Interactive SAS processes.) +

+

At this writing, the indenting and syntax highlighting are generally +correct. Known issues: for multiple line * or %* comments, only the +first line is highlighted; for .log files, only the first line of a +NOTE:, WARNING: or ERROR: message is highlighted; unmatched +single/double quotes in CARDS data lines are NOT ignored; in an +iterative DO statement, TO and BY are not highlighted. +

+
+ + + +

13.3 ESS[SAS]–TAB key

+ +

Two options. The TAB key is bound by default to +sas-indent-line. This function is used to syntactically indent +SAS code so PROC and RUN are in the left margin, +other statements are indented sas-indent-width spaces from the +margin, continuation lines are indented sas-indent-width spaces +in from the beginning column of that statement. This is the type of +functionality that emacs provides in most programming language modes. +This functionality is activated by placing the following line in your +initialization file prior to a require/load: +

+
(setq ess-sas-edit-keys-toggle nil)
+
+ +

ESS provides an alternate behavior for TAB that makes it +behave as it does in SAS Display Manager, i.e. move the cursor to +the next stop. The alternate behavior also provides a "TAB" +backwards, C-TAB, that moves the cursor to the stop to +the left and deletes any characters between them. This functionality +is obtained by placing the following line in your initialization file +prior to a require/load: +

+
(setq ess-sas-edit-keys-toggle t)
+
+

Under the alternate behavior, TAB is bound to M-x tab-to-tab-stop +and the stops are defined by ess-sas-tab-stop-list. +

+
+ + + +

13.4 ESS[SAS]–Batch SAS processes

+ +

Submission of a SAS batch job is dependent on your environment. +ess-sas-submit-method is determined by your operating system and +your shell. It defaults to 'sh unless you are running Windows or +Mac Classic. Under Windows, it will default to 'sh if you are using +a UNIX-imitating shell; otherwise 'ms-dos for an MS-DOS +shell. On macOS, it will default to 'sh, but under Mac Classic, +it defaults to 'apple-script. You will also set this to 'sh +if the SAS batch job needs to run on a remote machine rather than your +local machine. This works transparently if you are editing the remote file +via ange-ftp/EFS or tramp. Note that +ess-sas-shell-buffer-remote-init is a Local Variable that defaults +to "ssh" which will be used to open the buffer on the remote host +and it is assumed that no password is necessary, i.e. you are using +ssh-agent/ssh-add or the equivalent (see the discussion about +Local Variables below if you need to change the default). +

+

However, if you are editing the file locally and transferring it back and +forth with Kermit, you need some additional steps. First, start Kermit +locally before remotely logging in. Open a local copy of the file with the +ess-kermit-prefix character prepended (the default is "#"). +Execute the command M-x ess-kermit-get which automatically brings +the contents of the remote file into your local copy. If you transfer +files with Kermit manually in a *shell* buffer, then note that the +Kermit escape sequence is C-q C-\ c rather than C-\ c which +it would be in an ordinary terminal application, i.e. not in an emacs +buffer. Lastly, note that the remote Kermit command is specified by +ess-kermit-command. +

+

The command used by the SUBMIT function key (F3 or F8) +to submit a batch SAS job, whether local or remote, is +ess-sas-submit-command which defaults to sas-program. +sas-program is "invoke SAS using program file" for Mac +Classic and "sas" otherwise. However, you may have to alter +ess-sas-submit-command for a particular program, so it is defined as +buffer-local. Conveniently, it can be set at the end of the program: +

+
endsas;
+Local variables:
+ess-sas-submit-command: "sas8"
+End:
+
+ +

The command line is also made of ess-sas-submit-pre-command, +ess-sas-submit-post-command and ess-sas-submit-command-options +(the last of which is also buffer-local). +Here are some examples for your ~/.emacs or ~/.xemacs/init.el +file (you may also use M-x customize-variable): +

+
;'sh default
+(setq ess-sas-submit-pre-command "nohup")
+;'sh default
+(setq ess-sas-submit-post-command "-rsasuser &")
+;'sh example
+(setq-default ess-sas-submit-command "/usr/local/sas/sas")
+;'ms-dos default
+(setq ess-sas-submit-pre-command "start")
+;'ms-dos default
+(setq ess-sas-submit-post-command "-rsasuser -icon")
+;Windows example
+(setq-default ess-sas-submit-command "c:/progra~1/sas/sas.exe")
+;Windows example
+(setq-default ess-sas-submit-command "c:\\progra~1\\sas\\sas.exe")
+
+ +

There is a built-in delay before a batch SAS job is submitted when using +a UNIX-imitating shell under Windows. This is necessary in many cases +since the shell might not be ready to receive a command. This delay is +currently set high enough so as not to be a problem. But, there may be +cases when it needs to be set higher, or could be set much lower to +speed things up. You can over-ride the default in your ~/.emacs or ~/.xemacs/init.el file by: +

+
(setq ess-sleep-for 0.2)
+
+ +

For example, (setq ess-sas-global-unix-keys t) keys shown, +(setq ess-sas-global-pc-keys t) in parentheses; +ESS[SAS] function keys are presented in the next section. +Open the file you want to work with C-x C-f foo.sas. +foo.sas will be in ESS[SAS] mode. Edit as appropriate, then save and +submit the batch SAS job. +

+
F3 (F8)
+
+

The job runs in the *shell* buffer while you continue to edit +foo.sas. If ess-sas-submit-method is 'sh, then the +message buffer will display the shell notification when the +job is complete. The 'sh setting also allows you to +terminate the SAS batch job before it is finished. +

+
F8 (F3)
+
+

Terminating a SAS batch in the *shell* buffer. +

+
kill PID
+
+

You may want to visit the .log (whether the job is still running +or it is finished) and check for error messages. The .log will be +refreshed and you will be placed in it’s buffer. You will be +taken to the first error message, if any. +

+
F5 (F6)
+
+

Goto the next error message, if any. +

+
F5 (F6)
+
+

Now, ‘refresh’ the .lst and go to it’s buffer. +

+
F6 (F7)
+
+

If you wish to make changes, go to the .sas file with. +

+
F4 (F5)
+
+

Make your editing changes and submit again. +

+
F3 (F8)
+
+ +
+ + + +

13.5 ESS[SAS]–Function keys for batch processing

+ +

The setup of function keys for SAS batch processing +is unavoidably complex, but the usage of function keys is simple. +There are five distinct options: +

+

Option 1 (default). Function keys in ESS[SAS] are not bound to elisp +commands. This is in accordance with the GNU Elisp Coding Standards +(GECS) which do not allow function keys to be bound so that they are +available to the user. +

+

Options 2-5. Since GECS does not allow function keys to be bound by +modes, these keys are often unused. So, ESS[SAS] provides users with +the option of binding elisp commands to these keys. Users who are +familiar with SAS will, most likely, want to duplicate the function key +capabilities of the SAS Display Manager. There are four options (noted +in parentheses). +

+
    +
  1. SAS Display Manager has different function key definitions for +UNIX (2, 4) and Windows (3, 5); ESS[SAS] can use either. +
  2. The ESS[SAS] function key definitions can be active in all buffers +(global: 4, 5) or limited (local: 2, 3) only to buffers with files that +are associated with ESS[SAS] as specified in your auto-mode-alist. +
+ +

The distinction between local and global is subtle. If you want the +ESS[SAS] definitions to work when you are in the *shell* buffer or when +editing files other than the file extensions that ESS[SAS] recognizes, +you will most likely want to use the global definitions. If you want +your function keys to understand SAS batch commands when you are editing +SAS files, and to behave normally when editing other files, then you +will choose the local definitions. The option can be chosen by the +person installing ESS for a site or by an individual. +

+
    +
  1. For a site installation or an individual, place ONLY ONE of +the following lines in your initialization file prior to a +require/load. ESS[SAS] function keys are available +in ESS[SAS] if you choose either 2 or 3 and in all modes if you +choose 4 or 5: +
    +
    ;;2; (setq ess-sas-local-unix-keys t)
    +;;3; (setq ess-sas-local-pc-keys t)
    +;;4; (setq ess-sas-global-unix-keys t)
    +;;5; (setq ess-sas-global-pc-keys t)
    +
    + +

    The names -unix- and -pc- have nothing to do with the operating system +that you are running. Rather, they mimic the definitions that the SAS +Display Manager uses by default on those platforms. +

    +
  2. If your site installation has configured the keys contrary to your +liking, then you must call the appropriate function. +
    +
     (load "ess-site") ;; local-unix-keys
    + (ess-sas-global-pc-keys)
    +
    +
+ +

Finally, we get to what the function keys actually do. You may recognize +some of the nicknames as SAS Display Manager commands (they are in all +capitals). +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UNIXPCNickname
F2F2refresh
revert the current buffer with the file of the same + name if the file is newer than the buffer
F3F8SUBMIT
save the current .sas file (which is either the .sas + file in the current buffer or the .sas file associated + with the .lst or .log file in the current buffer) + and submit the file as a batch SAS job
F4F5PROGRAM
switch buffer to .sas file
F5F6LOG
switch buffer to .log file, ‘refresh’ and goto next + error message, if any
F6F7OUTPUT
switch buffer to .lst file and ‘refresh
F7F4filetype-1
switch buffer to ‘filetype-1’ (defaults to .txt) file + and ‘refresh
F8F3shell
switch buffer to *shell*
F9F9VIEWTABLE
open an interactive PROC FSEDIT session on the SAS + dataset near point
F10F10toggle-log
toggle ESS[SAS] for .log files; useful for certain + debugging situations
F11F11filetype-2
switch buffer to ‘filetype-2’ (defaults to .dat) file + and ‘refresh
F12F12viewgraph
open a GSASFILE near point for viewing either in emacs + or with an external viewer
C-F1C-F1rtf-portrait
create an MS RTF portrait file from the current buffer + with a file extension of .rtf
C-F2C-F2rtf-landscape
create an MS RTF landscape file from the current buffer + with a file extension of .rtf
C-F3C-F8submit-region
write region to ess-temp.sas and submit
C-F5C-F6append-to-log
append ess-temp.log to the current .log file
C-F6C-F7append-to-output
append ess-temp.lst to the current .lst file
C-F9C-F9INSIGHT
open an interactive PROC INSIGHT session on the SAS + dataset near point
C-F10C-F10toggle-listing
toggle ESS[SAS] for .lst files; useful for toggling + read-only
+ +

SUBMIT, PROGRAM, LOG and OUTPUT need no further +explanation since they mimic the SAS Display Manager commands and +related function key definitions. However, six other keys have been +provided for convenience and are described below. +

+

shell’ switches you to the *shell* buffer where you can +interact with your operating system. This is especially helpful if you +would like to kill a SAS batch job. You can specify a different buffer +name to associate with a SAS batch job (besides *shell*) with the +buffer-local variable ess-sas-shell-buffer. This allows you to have +multiple buffers running SAS batch jobs on multiple local/remote +computers that may rely on different methods specified by the buffer-local +variable ess-sas-submit-method. +

+

F2 performs the ‘refresh’ operation on the current buffer. +‘refresh’ compares the buffer’s last modified date/time with the +file’s last modified date/time and replaces the buffer with the file if the +file is newer. This is the same operation that is automatically performed +when LOG, OUTPUT, ‘filetype-1’ or F11 are pressed. +

+

filetype-1’ switches you to a file with the same file name as your .sas +file, but with a different extension (.txt by default) and performs +‘refresh’. You can over-ride the default extension; for example in your +~/.emacs or ~/.xemacs/init.el file: +

+
(setq ess-sas-suffix-1 "csv") ; for example
+
+ +

F9 will prompt you for the name of a permanent SAS dataset near +point to be opened for viewing by PROC FSEDIT. You can control the +SAS batch command-line with ess-sas-data-view-submit-options. +For controlling the SAS batch commands, you have the global variables +ess-sas-data-view-libname and +ess-sas-data-view-fsview-command as well as the buffer-local +variable ess-sas-data-view-fsview-statement. If you have your +SAS LIBNAME defined in ~/autoexec.sas, then the defaults +for these variables should be sufficient. +

+

Similarly, C-F9 will prompt you for the name of a permanent +SAS dataset near point to be opened for viewing by PROC INSIGHT. +You can control the SAS batch command-line with +ess-sas-data-view-submit-options. For controlling the SAS batch +commands, you have the global variables ess-sas-data-view-libname +and ess-sas-data-view-insight-command as well as the buffer-local +variable ess-sas-data-view-insight-statement. +

+

F10 toggles ESS[SAS] mode for .log files which is off by default +(technically, it is SAS-log-mode, but it looks the same). The syntax +highlighting can be helpful in certain debugging situations, but large +.log files may take a long time to highlight. +

+

F11 is the same as ‘filetype-1’ except it is .dat by default. +

+

F12 will prompt you for the name of a GSASFILE near the point in .log to +be opened for viewing either with emacs or with an external viewer. +Depending on your version of emacs and the operating system you are +using, emacs may support .gif and .jpg files internally. You may need +to change the following variables for your own situation. +ess-sas-graph-view-suffix-regexp is a regular expression of supported +file types defined via file name extensions. +ess-sas-graph-view-viewer-default is the default external viewer for +your platform. ess-sas-graph-view-viewer-alist is an alist of +exceptions to the default; i.e. file types and their associated +viewers which will be used rather than the default viewer. +

+
(setq ess-sas-graph-view-suffix-regexp (concat "[.]\\([eE]?[pP][sS]\\|"
+"[pP][dD][fF]\\|[gG][iI][fF]\\|[jJ][pP][eE]?[gG]\\|"
+"[tT][iI][fF][fF]?\\)")) ;; default
+(setq ess-sas-graph-view-viewer-default "kodakimg") ;; Windows default
+(setq ess-sas-graph-view-viewer-default "sdtimage") ;; Solaris default
+(setq ess-sas-graph-view-viewer-alist
+  '(("[eE]?[pP][sS]" . "gv") ("[pP][dD][fF]" . "gv")) ;; default w/ gv
+
+ +

C-F2 produces US landscape by default, however, it can produce A4 +landscape (first line for "global" key mapping, second for "local"): +

+
(global-set-key [(control f2)] 'ess-sas-rtf-a4-landscape)
+(define-key sas-mode-local-map [(control f2)] 'ess-sas-rtf-a4-landscape)
+
+ + +
+ + + +

13.6 iESS[SAS]–Interactive SAS processes

+ +

Inferior ESS (iESS) is the method for interfacing with interactive +statistical processes (programs). iESS[SAS] is what is needed for +interactive SAS programming. iESS[SAS] works best +with the SAS command-line option settings +"-stdio -linesize 80 -noovp -nosyntaxcheck" +(the default of inferior-SAS-args). +

+
+
-stdio
+            required to make the redirection of stdio work
+-linesize 80
+            keeps output lines from folding on standard terminals
+-noovp
+            prevents error messages from printing 3 times
+-nosyntaxcheck
+            permits recovery after syntax errors
+
+ +

To start up iESS[SAS] mode, use: +

+
   M-x SAS
+
+ +

The *SAS:1.log* buffer in ESStr mode corresponds to the file +foo.log in SAS batch usage and to the ‘SAS: LOG’ window in the +SAS Display Manager. All commands submitted to SAS, informative +messages, warnings, and errors appear here. +

+

The *SAS:1.lst* buffer in ESSlst mode corresponds to the file +foo.lst in SAS batch usage and to the ‘SAS: OUTPUT’ window in the +SAS Display Manager. All printed output appears in this window. +

+

The *SAS:1* buffer exists solely as a communications buffer. +The user should never use this buffer directly. +Files are edited in the foo.sas buffer. The C-c C-r key in +ESS[SAS] is the functional equivalent of bringing a file into the +‘SAS: PROGRAM EDITOR’ window followed by SUBMIT. +

+

For example, open the file you want to work with. +

+
C-x C-f foo.sas
+
+

foo.sas will be in ESS[SAS] mode. Edit as appropriate, and then start +up SAS with the cursor in the foo.sas buffer. +

+
M-x SAS
+
+

Four buffers will appear on screen: +

+ + + + + +
BufferModeDescription
foo.sasESS[SAS]your source file
*SAS:1*iESS[SAS:1]iESS communication buffer
*SAS:1.log*Shell ESStr []SAS log information
*SAS:1.lst*Shell ESSlst []SAS listing information
+

If you would prefer each of the four buffers to appear in its +own individual frame, you can arrange for that. Place the +cursor in the buffer displaying foo.sas. Enter the +sequence C-c C-w. The cursor will normally be in buffer +foo.sas. If not, put it there and C-x b foo.sas. +

+

Send regions, lines, or the entire file contents to SAS +(regions are most useful: a highlighted region will normally +begin with the keywords DATA or PROC and end with +RUN;), C-c C-r. +

+

Information appears in the log buffer, analysis results in the +listing buffer. In case of errors, make the corrections in the +foo.sas buffer and resubmit with another C-c C-r. +

+

At the end of the session you may save the log and listing +buffers with the usual C-x C-s commands. You will be prompted +for a file name. Typically, the names foo.log and foo.lst +will be used. You will almost certainly want to edit the saved +files before including them in a report. The files are +read-only by default. You can make them writable by the emacs +command C-x C-q. +

+

At the end of the session, the input file foo.sas will +typically have been revised. You can save it. It can be used +later as the beginning of another iESS[SAS] session. It can +also be used as a batch input file to SAS. +

+

The *SAS:1* buffer is strictly for ESS use. The user should +never need to read it or write to it. Refer to the .lst and +.log buffers for monitoring output! +

+

Troubleshooting: See iESS(SAS)--Common problems. +

+
+ + + +

13.7 iESS[SAS]–Common problems

+ +
    +
  1. iESS[SAS] does not work on Windows. In order to run SAS inside +an emacs buffer, it is necessary to start SAS with the -stdio option. +SAS does not support the -stdio option on Windows. +
  2. If M-x SAS gives errors upon startup, check the following: +
      +
    • you are running Windows: see 1. +
    • ess-sas-sh-command (from the ESS etc directory) needs to be +executable; too check, type M-x dired; if not, fix it as follows, +type M-:, then at the minibuffer prompt ‘Eval:, +type (set-file-modes "ess-sas-sh-command" 493). +
    • sas isn’t in your executable path; to verify, type +M-: and at the minibuffer prompt ‘Eval:’, type +(executable-find "sas") +
    +
  3. M-x SAS starts SAS Display Manager. Probably, the command sas +on your system calls a shell script. In that case you will need to locate +the real sas executable and link to it. +You can execute the UNIX command: +
    +
    find / -name sas -print
    +
    +

    Now place a soft link to the real sas executable in your ~/bin +directory, with for example +

    +
    cd ~/bin
    +ln -s /usr/local/sas9/sas sas
    +
    +
+

Check your PATH environment variable to confirm that +~/bin appears before the directory in which the sas +shell script appears. +

+ +
+ + + +

13.8 ESS[SAS]–Graphics

+ +

Output from a SAS/GRAPH PROC can be displayed in a SAS/GRAPH +window for SAS batch on Windows or for both SAS batch and interactive +with XWindows on UNIX. If you need to create graphics files and view +them with F12, then include the following (either in +foo.sas or in ~/autoexec.sas): +

+
filename gsasfile 'graphics.ps';
+goptions device=ps gsfname=gsasfile gsfmode=append;
+
+

PROC PLOT graphs can be viewed in the listing buffer. You may +wish to control the vertical spacing to allow the entire plot +to be visible on screen, for example: +

+
proc plot;
+    plot a*b / vpos=25;
+run;
+
+ +
+ +
+

+Previous: , Up: ESS for SAS   [Contents][Index]

+
+ +

13.9 ESS[SAS]–Windows

+ +
    +
  • iESS[SAS] does not work on Windows. See iESS(SAS)--Common problems. + +
  • ESS[SAS] mode for editing SAS language files works very well. +See ESS(SAS)--Editing files. + +
  • There are two execution options for SAS on Windows. +You can use batch. See ESS(SAS)--Batch SAS processes. + +

    Or you can mark regions with the mouse and submit the code with +‘submit-region’ or paste them into SAS Display Manager. +

    +
+ + +
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

14 ESS for BUGS

+ +

ESS[BUGS] provides 5 features. First, BUGS syntax is +described to allow for proper fontification of statements, +distributions, functions, commands and comments in BUGS model files, +command files and log files. Second, ESS creates templates for the +command file from the model file so that a BUGS batch process can be +defined by a single file. Third, ESS provides a BUGS batch script +that allows ESS to set BUGS batch parameters. Fourth, key sequences +are defined to create a command file and submit a BUGS batch process. +Lastly, interactive submission of BUGS commands is also supported. +

+ +

14.1 ESS[BUGS]–Model files

+ +

Model files with the .bug extension are edited in ESS[BUGS] +mode. Three keys are bound for your use in ESS[BUGS], F2, +C-c C-c and =. F2 performs the same action as it does +in ESS[SAS], See ESS(SAS)--Function keys for batch processing. +C-c C-c performs the function ess-bugs-next-action which +you will use a lot. Pressing it in an empty buffer for a model file +will produce a template for you. = inserts the set operator, +<-. +

+ +

14.2 ESS[BUGS]–Command files

+ +

Files ending in .bmd are used for BUGS command files. When you +have finished editing your model file and press C-c C-c, a command +file is created if one does not already exist. When you are finished +editing your command file, pressing C-c C-c again will submit your +command file as a batch job. +

+ +

14.3 ESS[BUGS]–Log files

+ +

The .bog extension is used for BUGS log files. The command line +generated by ESS creates the .bog transcript file. +

+ +
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

15 ESS for JAGS

+ +

ESS[JAGS] provides 4 features. First, JAGS syntax is described to +allow for proper fontification of statements, distributions, +functions, commands and comments in JAGS model files, command files +and log files. Second, ESS creates templates for the command file +from the model file so that a JAGS batch process can be defined by a +single file. Third, ESS provides a JAGS batch script that allows ESS +to set JAGS batch parameters. Fourth, key sequences are defined to +create a command file and submit a JAGS batch process. +

+ +

15.1 ESS[JAGS]–Model files

+ +

Files with the .jag extension are edited in ESS[JAGS] mode. +Three keys are bound for your use in ESS[JAGS], F2, C-c C-c and =. +F2 performs the same action as it does in ESS[SAS], +See ESS(SAS)--Function keys for batch processing. C-c C-c performs the +function ess-bugs-next-action which you will use a lot. Pressing it +in an empty buffer for a model file will produce a template for you. = +inserts the set operator, <-. +

+

The first press of C-c C-c will set up a template, including some +necessary file-local variables in an empty buffer. These variables are +ess-jags-chains, ess-jags-monitor, ess-jags-thin, +ess-jags-burnin and ess-jags-update; they appear in the +Local Variables section. When you are finished editing your +model file, pressing C-c C-c will perform the necessary actions to +build your command file for you. +

+

The ess-jags-chains variable is the number of chains that +you want to initialize and sample from; defaults to 1. +The ess-jags-monitor variable is a list of variables +that you want monitored: encase each variable in double quotes. +When you press C-c C-c, the +appropriate statements are created in the command file to monitor the +list of variables. By default, no variables are explicitly monitored +which means JAGS will implicitly monitor all “default” variables. +The ess-jags-thin variable is the thinning parameter. +By default, the thinning parameter is set to 1, i.e. no thinning. +The ess-jags-burnin variable is the number of initial samples +to discard. By default, the burnin parameter is set to 10000. +The ess-jags-update variable is the number of post-burnin samples +to keep. By default, the update parameter is set to 10000. Both +ess-jags-burnin and ess-jags-update are multiplied by +ess-jags-thin since JAGS does not do it automatically. +

+ +

15.2 ESS[JAGS]–Command files

+ +

Files ending in .jmd are for JAGS command files. For your +.jmd file, there is only one variable, ess-jags-command, +in the Local Variables section. When you have +finished editing your model file and press C-c C-c, a command +file is created if one does not already exist. +When you are finished editing your command file, pressing C-c C-c +again will submit your command file as a batch job. +The ess-jags-command variable allows you to specify a different +JAGS program to use to run your model; defaults to “jags”. +

+ +

15.3 ESS[JAGS]–Log files

+ +

The .jog extension is used for JAGS log +files. You may find F2 useful to refresh the .jog if the batch +process over-writes or appends it. +

+ + +
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

16 Bugs and Bug Reporting, Mailing Lists

+ + + + + + + + +
+ + + +

16.1 Bugs

+ +
    +
  • Commands like ess-display-help-on-object and list completion +cannot be used while the user is entering a multi-line command. The +only real fix in this situation is to use another ESS process. + +
  • The ess-eval- commands can leave point in the ESS process +buffer in the wrong place when point is at the same position as the last +process output. This proves difficult to fix, in general, as we need to +consider all windows with window-point at the right place. + +
  • It’s possible to clear the modification flag (say, by saving the buffer) +with the edit buffer not having been loaded into S. + +
  • Backup files can sometimes be left behind, even when +ess-keep-dump-files is nil. + +
  • Passing an incomplete S expression to ess-execute causes ESS +to hang. + +
  • The function-based commands don’t always work as expected on functions +whose body is not a parenthesized or compound expression, and don’t even +recognize anonymous functions (i.e. functions not assigned to any +variable). + +
  • Multi-line commands could be handled better by the command history +mechanism. + +
  • Changes to the continutation prompt in R (e.g. +options(continue = " ")) are not automatically detected by ESS. +Hence, for now, the best thing is not to change the continuation prompt. +If you do change the continuation prompt, you will need to change +accordingly the value of inferior-ess-secondary-prompt in +R-customize-alist. + +
+ +
+ +
+

+Next: , Previous: , Up: Mailing lists/bug reports   [Contents][Index]

+
+ +

16.2 Reporting Bugs

+ + +

Please send bug reports, suggestions etc. to +ESS-bugs@r-project.org, or post them on our +github issue tracker +

+

The easiest way to do this is within Emacs by typing +

+

M-x ess-submit-bug-report +

+

This also gives the maintainers valuable information about your +installation which may help us to identify or even fix the bug. +

+

If Emacs reports an error, backtraces can help us debug the problem. +Type "M-x set-variable RET debug-on-error RET t RET". Then run the +command that causes the error and you should see a *Backtrace* buffer +containing debug information; send us that buffer. +

+

Note that comments, suggestions, words of praise and large cash +donations are also more than welcome. +

+
+ + + +

16.3 Mailing Lists

+ + +

There is a mailing list for discussions and announcements relating to +ESS. Join the list by sending an e-mail with "subscribe ess-help" (or +"help") in the body to ess-help-request@r-project.org; +contributions to the list may be mailed to +ess-help@r-project.org. Rest assured, this is a fairly +low-volume mailing list. +

+

The purposes of the mailing list include +

+
    +
  • helping users of ESS to get along with it. +
  • discussing aspects of using ESS on Emacs and XEmacs. +
  • suggestions for improvements. +
  • announcements of new releases of ESS. +
  • posting small patches to ESS. +
+ +
+ + + +

16.4 Help with Emacs

+ +

Emacs is a complex editor with many abilities that we do not have space +to describe here. If you have problems with other features of Emacs +(e.g. printing), there are several sources to consult, including the +Emacs FAQs (try M-x view-emacs-faq) +and EmacsWiki (https://www.emacswiki.org). Please consult them +before asking on the mailing list about issues that are not specific to +ESS. +

+
+ +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ +

Appendix A Customizing ESS

+ + +

ESS can be easily customized to your taste simply by including the +appropriate lines in your Emacs configuration file. There are numerous +variables which affect the behavior of ESS in certain situations which +can be modified to your liking. Keybindings may be set or changed to +your preferences, and for per-buffer customizations hooks are also +available. +

+

Most of these variables can be viewed and set using the Custom facility +within Emacs. Type M-x customize-group RET ess RET to see all the +ESS variables that can be customized. Variables are grouped by subject +to make it easy to find related variables. +

+
+ +
+

+Previous: , Up: Top   [Contents][Index]

+
+ +

Indices

+ + + + + + + + +
+ + + +

Key index

+
Jump to:   , +   +{ +   +} +   +
+C +   +E +   +M +   +R +   +T +   +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Index Entry  Section

,
,: Handy commands

{
{: Indenting

}
}: Indenting

C
C-c C-. a: Rutils
C-c C-. d: Rutils
C-c C-. H: Rutils
C-c C-. l: Rutils
C-c C-. m: Rutils
C-c C-. o: Rutils
C-c C-. r: Rutils
C-c C-. s: Rutils
C-c C-. u: Rutils
C-c C-. w: Rutils
C-c C-b: Evaluating code
C-c C-c: Other
C-c C-c: Evaluating code
C-c C-e C-d: Edit buffer
C-c C-e C-s: Styles
C-c C-e s: Styles
C-c C-f: Evaluating code
C-c C-j: Evaluating code
C-c C-o C-c: Roxygen
C-c C-o C-h: Roxygen
C-c C-o C-o: Roxygen
C-c C-o C-r: Roxygen
C-c C-o C-t: Roxygen
C-c C-o n: Roxygen
C-c C-o p: Roxygen
C-c C-q: Hot keys
C-C C-r: Evaluating code
C-c C-s: Hot keys
C-c C-t C-s: Namespaced Evaluation
C-c C-v: Hot keys
C-c C-w: Clean
C-c C-x: Hot keys
C-c C-z: Other
C-c M-b: Evaluating code
C-c M-f: Evaluating code
C-c M-j: Evaluating code
C-c M-l: Hot keys
C-c M-r: Evaluating code
C-c RET: Resubmit
C-c `: Error Checking
C-j: Indenting
C-M-a: Other edit buffer commands
C-M-e: Other edit buffer commands
C-M-h: Other edit buffer commands
C-M-q: Indenting
C-M-x: Evaluating code
C-RET: Evaluating code

E
ESC C-a: Other edit buffer commands
ESC C-e: Other edit buffer commands
ESC C-h: Other edit buffer commands
ESC C-q: Indenting

M
M-;: Indenting
M-?: Object names
M-C-q: Indenting
M-n l: Sweave and AUCTeX
M-n P: Sweave and AUCTeX
M-n s: Sweave and AUCTeX
M-RET: Resubmit

R
RET: Command-line editing
RET: Resubmit

T
TAB: Indenting

+
Jump to:   , +   +{ +   +} +   +
+C +   +E +   +M +   +R +   +T +   +
+ +
+ +
+

+Next: , Previous: , Up: Indices   [Contents][Index]

+
+ +

Function and program index

+
Jump to:   B +   +C +   +D +   +E +   +F +   +G +   +I +   +M +   +N +   +O +   +P +   +Q +   +R +   +S +   +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Index Entry  Section

B
backward-kill-word: Command-line editing

C
comint-backward-matching-input: Process buffer motion
comint-bol: Command-line editing
comint-copy-old-input: Transcript resubmit
comint-delete-output: Last command
comint-dynamic-complete: Object names
comint-forward-matching-input: Process buffer motion
comint-history-isearch-backward-regexp: Command History
comint-interrupt-subjob: Other
comint-kill-input: Command-line editing
comint-next-input: Command History
comint-next-matching-input-from-input: Command History
comint-next-prompt: Process buffer motion
comint-previous-input: Command History
comint-previous-matching-input-from-input: Command History
comint-previous-prompt: Process buffer motion
comint-show-output: Last command

D
dump(): Edit buffer

E
ess-change-directory: Rutils
ess-cleanup: Hot keys
ess-cleanup: Help
ess-describe-help-mode: Help
ess-display-help-on-object: Hot keys
ess-display-help-on-object: Help
ess-display-help-on-object: Help
ess-dump-object-into-edit-buffer: Edit buffer
ess-electric-brace: Indenting
ess-eval-buffer: Evaluating code
ess-eval-buffer-and-go: Evaluating code
ess-eval-function: Evaluating code
ess-eval-function-and-go: Evaluating code
ess-eval-line: Evaluating code
ess-eval-line-and-go: Evaluating code
ess-eval-line-and-step: Help
ess-eval-region: Evaluating code
ess-eval-region: Help
ess-eval-region-and-go: Evaluating code
ess-eval-region-or-function-or-paragraph: Evaluating code
ess-eval-region-or-function-or-paragraph-and-step: Evaluating code
ess-eval-region-or-line-and-step: Evaluating code
ess-execute-objects: Hot keys
ess-execute-search: Hot keys
ess-goto-beginning-of-function-or-para: Other edit buffer commands
ess-goto-end-of-function-or-para: Other edit buffer commands
ess-handy-commands: Handy commands
ess-handy-commands: Handy commands
ess-indent-command: Roxygen
ess-indent-exp: Indenting
ess-indent-or-complete: Indenting
ess-list-object-completions: Object names
ess-load-file: Hot keys
ess-load-file: Loading
ess-mark-function: Other edit buffer commands
ess-parse-errors: Hot keys
ess-parse-errors: Error Checking
ess-quit: Hot keys
ess-quit: Help
ess-R-complete-object-name: Roxygen
ess-r-set-evaluation-env: Namespaced Evaluation
ess-remote: ESS processes on Remote Computers
ess-request-a-process: Multiple ESS processes
ess-resynch: Object names
ess-roxy-hide-all: Roxygen
ess-roxy-next-entry: Roxygen
ess-roxy-preview-HTML: Roxygen
ess-roxy-preview-Rd: Roxygen
ess-roxy-previous-entry: Roxygen
ess-roxy-toggle-roxy-region: Roxygen
ess-roxy-update-entry: Roxygen
ess-rutils-apropos: Rutils
ess-rutils-html-docs: Rutils
ess-rutils-load-wkspc: Rutils
ess-rutils-local-pkgs: Rutils
ess-rutils-objs: Rutils
ess-rutils-repos-pkgs: Rutils
ess-rutils-rm-all: Rutils
ess-rutils-rsitesearch: Rutils
ess-rutils-save-wkspc: Rutils
ess-rutils-update-pkgs: Rutils
ess-set-style: Styles
ess-skip-to-help-section: Help
ess-skip-to-next-section: Help
ess-skip-to-previous-section: Help
ess-smart-comma: Handy commands
ess-submit-bug-report: Reporting Bugs
ess-switch-to-end-of-ESS: Help
ess-switch-to-inferior-or-script-buffer: Other
ess-swv-latex: Sweave and AUCTeX
ess-swv-PDF: Sweave and AUCTeX
ess-swv-PS: Sweave and AUCTeX
ess-swv-weave: Sweave and AUCTeX
ess-tracebug: ESS tracebug
ess-transcript-clean-region: Clean
ess-transcript-copy-command: Resubmit
ess-transcript-send-command: Resubmit
ess-transcript-send-command-and-move: Resubmit
ess-use-ido, ess-completing-read: Minibuffer completion

F
fill-paragraph: Roxygen

G
getting started with tracebug: Getting started with tracebug

I
inferior-ess-send-input: Command-line editing

M
mark-paragraph: Roxygen
move-beginning-of-line: Roxygen

N
newline-and-indent: Roxygen

O
objects(): Hot keys

P
printer(): printer

Q
q(): Hot keys

R
R: Starting up

S
S: Starting up
search(): Hot keys
search(): Object names
source(): Evaluating code
source(): Loading
STERM: Statistical Process running in ESS?

+
Jump to:   B +   +C +   +D +   +E +   +F +   +G +   +I +   +M +   +N +   +O +   +P +   +Q +   +R +   +S +   +
+ +
+ + + +

Variable index

+
Jump to:   A +   +C +   +E +   +I +   +R +   +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Index Entry  Section

A
ac-source-R: Auto-complete
ac-source-R-args: Auto-complete
ac-source-R-objects: Auto-complete

C
comint-delimiter-argument-list: History expansion
comint-input-ring-size: Command History
comment-column: Indenting

E
ess-ask-about-transfile: Customizing startup
ess-ask-about-transfile: Saving transcripts
ess-ask-for-ess-directory: Customizing startup
ess-default-style: Styles
ess-delete-dump-files: Source Files
ess-directory: Source Directories
ess-dump-filename-template: Source Directories
ess-eldoc-abbreviation-style: ESS ElDoc
ess-eldoc-show-on-symbol: ESS ElDoc
ess-eval-visibly: Evaluating code
ess-execute-in-process-buffer: Hot keys
ess-first-tab-never-complete: Indenting
ess-first-tab-never-complete: Object names
ess-function-template: Edit buffer
ess-handy-commands: Handy commands
ess-handy-commands: Handy commands
ess-indent-with-fancy-comments: Indenting
ess-keep-dump-files: Source Files
ess-plain-first-buffername: Multiple ESS processes
ess-r-flymake-linters: ESS Flymake
ess-r-flymake-lintr-cache: ESS Flymake
ess-R-font-lock-keywords: Highlighting
ess-search-list: Source Directories
ess-source-directory: Source Directories
ess-style-alist: Styles
ess-switch-to-end-of-proc-buffer: Other
ess-swv-pdflatex-commands: Sweave and AUCTeX
ess-tab-complete-in-script: Indenting
ess-use-eldoc: ESS ElDoc
ess-use-flymake: ESS Flymake

I
iESS program arguments: Customizing startup
inferior-ess-program: Customizing startup
inferior-R-font-lock-keywords: Highlighting

R
Rd-indent-level: R documentation files
Rd-mode-hook: R documentation files
Rd-to-help-command: R documentation files

+
Jump to:   A +   +C +   +E +   +I +   +R +   +
+ +
+ +
+

+Previous: , Up: Indices   [Contents][Index]

+
+ +

Concept Index

+
Jump to:   A +   +B +   +C +   +D +   +E +   +F +   +G +   +H +   +I +   +K +   +L +   +M +   +N +   +O +   +P +   +Q +   +R +   +S +   +T +   +U +   +W +   +X +   +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Index Entry  Section

A
aborting R commands: Other
aborting S commands: Other
arguments to R program: Customizing startup
arguments to S program: Customizing startup
authors: Credits
auto-complete: Auto-complete
autosaving: Source Files

B
bug reports: Reporting Bugs
bugs: Bugs

C
changing ESS processes: Multiple ESS processes
cleaning up: Hot keys
comint: Credits
command history: Command History
command line arguments: iESS(R)--Inferior ESS processes
command-line completion: Object names
command-line editing: Command-line editing
commands: Entering commands
comments: Source Files
comments in R: Indenting
company: Company
completion in edit buffer: Other edit buffer commands
completion of object names: Object names
completion on file names: Object names
completion on lists: Object names
completion, when prompted for object names: Edit buffer
creating new objects: Edit buffer
credits: Credits
customization: Customization

D
data frames: Object names
deleting output: Last command
directories: Starting up
dump file directories: Source Directories
dump file names: Source Directories
dump files: Edit buffer
dump files: Source Files

E
echoing commands when evaluating: Evaluating code
edit buffer: Edit buffer
editing commands: Command History
editing functions: Editing objects
editing transcripts: Saving transcripts
ElDoc: ESS ElDoc
emacsclient: Emacsclient
entering commands: Entering commands
errors: Error Checking
ESS commands blocking Emacs: Evaluating code
ess developer: Namespaced Evaluation
ESS process buffer: Starting up
ESS process directory: Starting up
ESS tracebug: ESS tracebug
ESS-elsewhere: ESS processes on Remote Computers
ess-roxy: Roxygen
evaluating code with echoed commands: Evaluating code
evaluating R expressions: Evaluating code
evaluating S expressions: Evaluating code

F
finding function definitions: Xref
flymake: ESS Flymake
font-lock mode: Highlighting
formatting source code: Indenting

G
graphics: Graphics

H
Handy commands: Handy commands
help files: Help
highlighting: Highlighting
historic backups: Source Files
hot keys: Hot keys

I
icicles: Icicles
IDO completions: Minibuffer completion
indenting: Indenting
installation: Installation
interactive use of R: Introduction
interactive use of S: Introduction
interrupting R commands: Other
interrupting S commands: Other
introduction: Introduction

K
keyboard short cuts: Hot keys
killing temporary buffers: Hot keys
killing the ESS process: Hot keys

L
lists, completion on: Object names

M
motion in transcript mode: Transcript Mode
multi-line commands, resubmitting: Transcript resubmit
multiple ESS processes: Multiple ESS processes
multiple inferior processes: Multiple ESS processes
multiple interactive processes: Multiple ESS processes

N
new objects, creating: Edit buffer

O
objects: Hot keys

P
pages in the process buffer: Transcript
paging commands in help buffers: Help
paragraphs in the process buffer: Transcript
parsing errors: Error Checking
process buffer: Starting up
process names: Multiple ESS processes
programming in R: Introduction
programming in S: Introduction
project work in R: Source Files
project work in S: Source Files

Q
quitting from ESS: Hot keys

R
re-executing commands: Command History
reading long command outputs: Last command
remote Computers: ESS processes on Remote Computers
reverting function definitions: Edit buffer
roxy: Roxygen
Roxygen: Roxygen
running R: Starting up
running S: Starting up

S
S+elsewhere: ESS processes on Remote Computers
search list: Hot keys
search list: Source Directories
sending input: Entering commands
starting directory: Starting up
starting ESS: Starting up
STERM: Statistical Process running in ESS?

T
temporary buffers: Help
temporary buffers, killing: Hot keys
tracebug tutorial: Getting started with tracebug
tramp support: ESS processes on Remote Computers
transcript: Transcript
transcript file: Customizing startup
transcript file names: Saving transcripts
transcript mode motion: Transcript Mode
transcripts of R sessions: Introduction
transcripts of S sessions: Introduction

U
using ESS interactively: Introduction
using R interactively: Introduction
using S interactively: Introduction

W
winjava: winjava
working directory: Starting up
working directory: Source Directories

X
X Windows: X11
xref: Xref

+
Jump to:   A +   +B +   +C +   +D +   +E +   +F +   +G +   +H +   +I +   +K +   +L +   +M +   +N +   +O +   +P +   +Q +   +R +   +S +   +T +   +U +   +W +   +X +   +
+ + +
+ + + + + diff -Nru ess-18.10-1/doc/html/news.html ess-18.10.2/doc/html/news.html --- ess-18.10-1/doc/html/news.html 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/html/news.html 2018-11-10 09:41:27.000000000 +0000 @@ -0,0 +1,2260 @@ + + + + + +ESS – Emacs Speaks Statistics + + + + + + + + + + + + +

ESS – Emacs Speaks Statistics

+ + + + + + + + + + + + + + + +

Bug Fixes in 18.10.2: +

    +
  • ESS[R] Fix namespace evaluation in non-installed packages. +Evaluation is directed into GlobalEnv as originally intended. +
  • Makefile fixes, notably for make install and including +full docs in the tarballs. +
+ +

Bug Fixes in 18.10-1: +

    +
  • New functions ess-eval-line-visibly-and-step (C-c C-n and ess-eval-region-or-line-visibly-and-step (C-RET) +which behave as the old versions of ess-eval-line-and-step and ess-eval-region-or-line-and-step. +
+ +

Changes and New Features in 18.10: +

    +
  • This is the last release to support Emacs older than 25.1. +Going forward, only GNU Emacs 25.1 and newer will be supported. Soon +after this release, support for older Emacs versions will be dropped +from the git master branch. Note that MELPA uses the git master branch +to produce ESS snapshots, so if you are using Emacs < 25.1 from MELPA +and are unable to upgrade, you should switch to MELPA-stable. + +
  • ESS now displays the language dialect in the mode-line. +So, for example, R buffers will now show ESS[R] rather than ESS[S]. + +
  • The ESS manual has been updated and revised. + +
  • The ESS initialization process has been further streamlined. +If you update the autoloads (which installation from +package-install does), you should not need to (require +'ess-site) at all, as autoloads should automatically load ESS when it +is needed (e.g. the first time an R buffer is opened). In order to +defer loading your ESS config, you may want to do something like +(with-require-after-load "ess" <ess-config-here>) in your Emacs +init file. Users of the popular use-package Emacs package can +now do (use-package ess :defer t) to take advantage of this +behavior. See (ess)Activating and Loading ESS for more +information on this feature. + +
  • ESS now respects Emacs conventions for keybindings. +This means that The C-c [letter] bindings have been +removed. This affects C-c h, which was bound to +ess-eval-line-and-step-invisibly in sas-mode-local-map; +C-c f, which was bound to ess-insert-function-outline in +ess-add-MM-keys; and C-c h, which was bound to +ess-handy-commands in Rd-mode-map, +ess-noweb-minor-mode-map, and ess-help-mode-map + +
  • Functions ess-eval-line-and-step and ess-eval-region-or-line-and-step +now behave consistently with other evaluation function inside a package. + +
  • ESS[R]: ess-r-package-use-dir now works with any mode. +This sets the working directory to the root of the current package +including for example C or C++ files within /src). + +
  • ESS[R]: Long + + prompts in the inferior no longer offset output. + +
  • ESS[R]: New option strip for inferior-ess-replace-long+. +This strips the entire + + sequence. + +
  • ESS modes now inherit from prog-mode. +In the next release, ESS modes will use define-derived-mode so +that each mode will have (for example) its own hooks and keymaps. + +
  • ESS[R]: Supports flymake in R buffers for Emacs 26 and newer. +Users need to install the lintr package to use it. Customizable +options include ess-use-flymake, ess-r-flymake-linters, +and ess-r-flymake-lintr-cache. + +
  • ESS[R]: Gained support for xref in Emacs 25+. +See Xref in The Gnu Emacs Reference Manual + +
  • ESS[R]: The startup screen is cleaner. +It also displays the startup directory with an explicit setwd(). + +
  • ESS[R]: Changing the working directory is now always reflected in the process buffer. + +
  • ESS[R]: Makevars files open with makefile-mode. + +
  • New variable ess-write-to-dribble. +This allows users to disable the dribble (*ESS*) buffer if they wish. + +
  • All of the *-program-name variables have been renamed to *-program. +Users who previously customized e.g. inferior-ess-R-program-name +will need to update their customization to +inferior-ess-R-program. These variables are treated as risky +variables. + +
  • ess-smart-S-assign was renamed to ess-insert-assign. +It provides similar functionality but for any keybinding, not just ‘_‘. +For instance if you bind it to ‘;‘, repeated invokations cycle through +between assignment and inserting ‘;‘. + +
  • C-c C-= is now bound to ess-cycle-assign by default. +See the documentation for details. New user customization option +ess-assign-list controls which assignment operators are cycled. + +
  • ESS[R] In remote sessions, the ESSR package is now fetched from GitHub. + +
  • Commands that send the region to the inferior process now deal with rectangular regions. +See the documentation of ess-eval-region for details. This only +works on Emacs 25.1 and newer. + +
  • ESS[R]: Improvements to interacting with iESS in non-R files. +Interaction with inferior process in non-R files within packages (for +instance C or C++ files) has been improved. This is a work in +progress. + +
  • ESS[R]: Changing the working directory is now always reflected in the process buffer. + +
  • ESS[JAGS]: *.jog and *.jmd files no longer automatically open in JAGS mode. + +
+

Many improvements to fontification: +

+
    +
  • Improved customization for faces. +ESS now provides custom faces for (nearly) all faces used and places +face customization options into their own group. Users can customize +these options using M-x customize-group RET ess-faces. + +
  • Many new keywords were added to ess-R-keywords and ess-R-modifiers. +See the documentation for details. + +
  • ESS[R]: in is now only fontified when inside a for construct. +This avoids spurious fontification, especially in the output buffer +where ‘in‘ is a commond English word. + +
  • ESS: Font-lock keywords are now generated lazily. +That means you can now add or remove keywords from variables like +ess-R-keywords in your Emacs configuration file after loading +ESS (i.e. in the :config section for use-package users). + +
  • ESS[R]: Fontification of roxygen @param keywords now supports comma-separated parameters. + +
  • ESS[R]: Certain keywords are only fontified if followed by a parenthesis. +Function-like keywords such as if () or +stop() are no longer fontified as keyword if not followed by an +opening parenthesis. The same holds for search path modifiers like +library() or require(). + +
  • ESS[R]: Fixed fontification toggling. +Especially certain syntactic elements such as %op% operators +and backquoted function definitions. + +
  • ESS[R]: ess-font-lock-toggle-keyword can be called interactively. +This command asks with completion for a font-lock group to toggle. +This functionality is equivalent to the font-lock menu. + +
+ +

Notable bug fixes: +

+
    +
  • prettify-symbols-mode no longer breaks indentation. +This is accomplished by having the pretty symbols occupy the same +number of characters as their non-pretty cousins. You may customize +the new variable ess-r-prettify-symbols to control this +behavior. + +
  • ESS: Inferior process buffers are now always displayed on startup. +Additionally, they don’t hang Emacs on failures. +
+ +

Obsolete libraries, functions, and variables: +

+
    +
  • The ess-r-args.el library has been obsoleted and will be removed in the next release. +Use eldoc-mode instead, which is on by default. + +
  • Functions and options dealing with the smart assign key are obsolete. +The following functions have been made obsolete and will be removed in +the next release of ESS: ess-smart-S-assign, +ess-toggle-S-assign, ess-toggle-S-assign-key, +ess-disable-smart-S-assign. + +

    The variable ess-smart-S-assign-key is now deprecated and will +be removed in the next release. If you would like to continue using +‘_‘ for insterting assign in future releases, please bind +ess-insert-assign in ess-mode-map the normal way. +

    +
  • ESS[S]: Variable ess-s-versions-list is obsolete and ignored. +Use ess-s-versions instead. You may pass arguments by starting +the inferior process with the universal argument. + +
+ +

Changes and New Features in 17.11: +

    +
  • The ESS initialisation process has been streamlined. You can now +load the R and Stata modes independently from the rest of ESS. Just put +(require 'ess-r-mode) or (require 'ess-stata-mode) in your +init file. This is for experienced Emacs users as this requires setting +up autoloads for .R files manually. We will keep maintaining +ess-site for easy loading of all ESS features. + +
  • Reloading and quitting the process is now more robust. If no +process is attached, ESS now switches automatically to one (prompting +you for selection if there are several running). Reloading and quitting +will now work during a debug session or when R is prompting for input +(for instance after a crash). Finally, the window configuration is saved +and restored after reloading to prevent the buffer of the new process +from capturing the cursor. + +
  • ESS[R]: New command ess-r-package-use-dir. It sets the +working directory of the current process to the current package directory. + +
  • ESS[R] Lookup for references in inferior buffers has been +improved. New variable ess-r-package-source-roots contains +package sub-directories which are searched recursively during the file +lookup point. Directories in ess-tracebug-search-path are now +also searched recursively. + +
  • ESS[R] Namespaced evaluation is now automatically enabled only +in the R/ directory. This way ESS will not attempt to update +function definitions from a package if you are working from e.g. a test +file. + +
+ + +

Changes and New Features in 16.10: +

    +
  • ESS[R]: Syntax highlighting is now more consistent. Backquoted +names are not fontified as strings (since they really are identifiers). +Furthermore they are now correctly recognised when they are function +definitions or function calls. +
  • ESS[R]: Backquoted names and %op% operators are +recognised as sexp. This is useful for code navigation, e.g. with +C-M-f and C-M-b. +
  • ESS[R]: Integration of outline mode with roxygen examples fields. +You can use outline mode’s code folding commands to fold the examples +field. This is especially nice to use with well documented packages with +long examples set. Set ess-roxy-fold-examples to non-nil to +automatically fold the examples field when you open a buffer. +
  • ESS[R]: New experimental feature: syntax highlighting in +roxygen examples fields. This is turned off by default. Set +ess-roxy-fontify-examples to non-nil to try it out. +
  • ESS[R]: New package development command ess-r-devtools-ask +bound to C-c C-w C-a. It asks with completion for any devtools +command that takes pkg as argument. +
  • ESS[R]: New command C-c C-e C-r to reload the inferior process. +Currently only implemented for R. The R method runs inferior-ess-r-reload-hook +on reloading. +
  • ESS[R]: ess-r-package-mode is now activated in non-file buffers as well. +
+ +

Bug fixes in 16.10: +

    +
  • ESS[R]: Fix broken (un)flagging for debugging inside packages +
  • ESS[R]: Fixes (and improvements) in Package development +
  • ESS[R]: Completion no longer produces ...= inside list( ). +
  • ESS[R]: Better debugging and tracing in packages. +
  • ESS[R]: Better detection of symbols at point. +
  • ESS[R]: No more spurious warnings on deletion of temporary files. +
  • ESS[julia]: help and completion work (better) +
  • ESS[julia]: available via ess-remote +
+ +

Changes and New Features in 16.04: +

    +
  • ESS[R]: developer functionality has been refactored. +The new user interface consists of a single command +ess-r-set-evaluation-env bound by default to C-c C-t +C-s. Once an evaluation environment has been set with, all subsequent +ESS evaluation will source the code into that environment. By default, +for file within R packages the evaluation environment is set to the +package environment. Set ess-r-package-auto-set-evaluation-env to +nil to disable this. +
  • ESS[R]: New ess-r-package-mode +This development mode provides features to make package development +easier. Currently, most of the commands are based on the devtools +packages and are accessible with C-c C-w prefix. See the +documentation of ess-r-package-mode function for all available +commands. With C-u prefix each command asks for extra arguments to +the underlying devtools function. This mode is automatically enabled in +all files within R packages and is indicated with [pkg:NAME] in +the mode-line. +
  • ESS[R]: Help lookup has been improved. +It is now possible to get help for namespaced objects such as +pkg::foobar. Furthermore, ESS recognizes more reliably when you change +options('html_type'). +
  • ESS[R]: New specialized breakpoints for debugging magrittr pipes +
  • ESS: ESS now implements a simple message passing interface +to communicate between ESS and inferior process. +
+ +

Bug fixes in 16.04: +

    +
  • ESS[R]: Roxygen blocks with backtics are now correctly filled +
  • ESS[R]: Don’t skip breakpoints in magrittr’s debug_pipe +
  • ESS[R]: Error highlighting now understands ‘testthat‘ type errors +
  • ESS[Julia]: Added getwd and setwd generic commands +
+ + + +

Changes and New Features in 15.09: +

    +
  • ESS[R]: The indentation logic has been refactored. +It should be faster, more consistent and more flexible. There are three +types of indentation settings, those starting with ess-offset- +give the actual offsets, those starting with ess-indent- are +control (commonly Boolean) variables, and those starting with +ess-align- are vertical alignment overrides which inhibit default +offsets in specific situations. See ess-style-alist for detailed +description of the new indentation system and provided default +indentation styles. + +
  • ESS[R]: Deprecation of old indentation settings. +As a consequence of the indentation re-factoring +ess-brace-imaginary-offset, ess-expression-offset and all +delimiter-specific offsets are deprecated. The settings for indentation +of continued statements have been replaced by +ess-offset-continuations. It can be set to either cascade +or straight (the default). ess-arg-function-offset has +been replaced by ess-indent-from-lhs and has been generalised to +assignments. This setting now works with both statement blocks and +expressions and only takes effect for offsets set to prev-call +and open-delim in order to produce a consistent indentation. + +
  • ESS: A test framework has been set up. + +
  • ESS[R]: A new RStudio style is provided to mimic as closely +as possible R files indented via RStudio. To reproduce the setup of some +of the RStudio users, the RStudio- style with +ess-offset-arguments set to prev-line is also provided. In +addition, the new RRR+ style is equivalent to RRR except it indents +blocks in function calls relatively to the opening delimiter. This style +does not try to save horizontal space and produces more indentation. + +
  • ESS[R]: Roxygen fields will now be indented on paragraph +refilling in order to make the documentation more readable. You can also +refill commented lines in the examples field without squashing +the surrounding code in the comments. + +
  • ESS[R]: ESS can now format your code! This is controlled +through the settings ess-fill-calls and +ess-fill-continuations. When activated, (fill-paragraph) +formats your calls and your formulas/continuations while making sure +they don’t go past fill-column. Repeated refills cycle through +different styles (see the docstrings for more details). By default, the +refilled region blinks. Set ess-blink-filling to nil to prevent +this. + +
  • ESS[R]: Fix occasional missing error location fontification +in inferior buffers. + +
  • ESS[R]: ess-developer now correctly assigned the environment +of new functions to the package namespace. + + +
  • ESS[Julia]: ?[topic] now works in the *julia* buffer. +Note that support for editing Julia code now depends on +julia-mode.el from the Julia project. If you install ESS from +the official tarball/zip file, julia-mode.el is already included. +Otherwise, if you install ESS by +running make, then the latest version of julia-mode.el is +downloaded (and so you need an active internet connection to install) +during the installation process. Alternatively, if you run ESS without +running make, then ensure that you have the julia-mode.el, +which you can get easily from MELPA for example. + + +
  • iESS: For naming inferior processes, ESS can use projectile’s +project root and it does so when ess-gen-proc-buffer-name-function is +set to ess-gen-proc-buffer-name:projectile-or-simple as by default, +or to another value beginning with ess-gen-proc-buffer-name:projectile-*. + +
+ + +

Changes and New Features in 15.03-1: +

    +
  • ESS[R]: An indentation bug has been fixed (github issue 163) +
  • ESS[R]: On windows, if ‘ess-prefer-higher-bit’ is non-nil (the +default), then R-newest will try to run a 64 bit (rather than 32 bit) +version of R. +
+ +

Changes and New Features in 15.03: +

    +
  • ESS[R]: Full native support for ‘company-mode‘. +
  • ESS[R]: More efficient caching algorithm for R completion. +
  • ESS: New offset variable ‘ess-close-paren-offset‘ to control +the indentation of the closing parentheses. +
  • ESS[R]: Ask for CRAN mirror only once per emacs session. +
  • ESS[R]: Detect library and require calls +for better completion caching. +
  • Buffer display is now customizable (ess-show-buffer-action). +
  • Use y-or-n-p instead of yes-or-no-p throughout. +
  • More support for ODS in ess-sas-graph-view. +
  • Makefiles are now both UNIX and GNU friendly. +
  • ESS[R]: Simplify directory lookup in ess-developer (#137). +
  • Make closed paren indentation consistent +
+ +

Bug Fixes in 15.03: +

    +
  • Fix open brace indentation bug (#27 in ess/R-ESS-bugs.R). +
  • Fix git version lookup +
  • Don’t check directory modtime in R dialect. +
  • Declare all ess macros for edebug. +
  • Add ess-smart-comma to eldoc message functions. +
  • Inform users when retrieving RDA aliases. +
  • Line ending in ’~’ is also a continuation line. +
  • Filing roxy paragraphs works as expected now. +
  • In ess-developer-add-package, remove incorrect ‘wait‘ +argument from ess-get-words-from-vector call. +
  • Fix #96, #117, #120, #125, #134, #137. +
  • Fix ess-quit-r. Call base::q() even if it is masked. +
  • Fix ‘ess-show-buffer‘ to always display the buffer in another window. +
  • Makefile: Fix cd bug for directories with spaces in them +
  • ess-kill-buffer-and-go modified to not restart R +
+ +

Changes / Selected Bug Fixes in 14.09: +

    +
  • ESS[Julia]: Executable is changed to julia. +
  • ESS[Julia]: Completion and help system was adjusted to Julia +v.0.3.0. Julia v.0.2.x is no more supported. +
  • ESS[R]: Running R with gdb debugger now works as expected +
  • iESS: Inferior ESS buffers are now derived from comint-mode +
  • ESS[R]: ess-execute-screen-options uses correct screen +width in terminal sessions +
  • ESS: ess-build-tags-for-directory works when no TAGS file +name was provided +
  • ESS: ess-offset-statement-continued is now respected everywhere +except inside of the if test condition. +
  • ESS: New variable ess-offset-statement-first-continued for +indentation of the first line in multiline statements. +
  • ESSR: Starting , in multiline statements indentation is now +ignored to achieve a more pleasant alignment. +
  • ESSR: Improved behavior of RET in roxygen blocks. +
  • ESS[R]: command cleaning with C-u C-u C-y was broken with +lines containing " + " +
  • ESS[R]: fixed "empty watch window bug" +
  • ESS[R]: don’t ask for help location on ac-quick-help (request of github #81) +
  • ESS[R]: "importClassesFrom" and "importMethodsFrom" were added to +the list of two-parameter roxygen commands +
  • ESS[R]: fix vignetes display and hyperlinks (were broken in 13.09-1) +
  • ESS[Julia]: recognize function names ending with ! +
  • ESS[Julia]: fix indentation of "for" comprehension syntax within brackets. +
+ +

Changes / Selected Bug Fixes in 13.09-1: +

    +
  • ess-remote and TRAMP: R support code is now downloaded in binary form instead +of being injected from local machine. The R code is stored in +~/.config/ESSR/ directory on the remote machine +
  • TRAMP: PAGER environment variable is now correctly set to inferior-ess-pager +
  • retrieval of help topics on remote machines is fixed +
  • org-babel: source references of R code executed from org files correctly point +to source references in original org files (version 8.2.1 or higher of +org-mode is required for this feature) +
  • ess-execute is now bound to C-c C-e C-e in ess-extra-map. +
  • completion works again in ess-execute +
  • ESS[R]: head and tail methods were replaced by htsummary in +ess-R-describe-object-at-point-commands +
  • ESS[roxygen]: evaluation commands now work in roxygen blocks. +Leading comments are automatically removed before the evaluation +
  • ESS[transcript]: ’Clean Region’ now works with multiline statements; + ess-transcript-clean-region etc. correctly treat + multiline statements, i.e., no longer forgets the lines typically + preceded by ’+’ +
  • ESS[SAS]: Three features/fixes with special thanks to Matthew Fidler +https://github.com/emacs-ess/ESS/pulls/mlf176f2. Turn on SAS log mode +when appropriate. Indent comments and CARDS statement more appropriately. +
  • ESS[SAS]: ess-sas-edit-keys-toggle default returns to nil +
  • ESS[R]: support for prettify-symbols-mode: +contribution from Rudiger Sonderfeld https://github.com/emacs-ess/ESS/pull/65 +
  • ESS[SWV]: knitr now evaluates in the current frame +
  • ESS[developer]: ess-developer doesn’t kill open DESCRIPTION files anymore +
  • ESS[roxygen]: ess-roxy-preview-HTML is now on C-c C-o C-w and + ess-roxy-preview-text is now on C-c C-o C-t +
  • ESS: installation with make install was simplified and should work +out of the box on most *nix systems +
  • ESS installation instructions simplified +
  • fixed font-lock bug introduced in 13.09 that was causing very slow process output +
+ +

Changes/New Features in 13.09: +

    +
  • font-lock in process buffers doesn’t "spill" over prompts. +Missing closing string delimiters should not cause wrong fontification +of the following command input. +
  • ESS[julia]: full features M-TAB completion and auto-complete support, +which now works for modules, structures and data types. +
  • ESS[julia]: a much better eldoc showing arguments of +methods and data type constructors +
  • ESS-developer: +
      +
    • - ESS-developer work-flow pattern has been streamlined: + ESS-developer is now automatically activated on per-file basis if the + file is part of a developed package ess-developer-packages. The + old behavior (activation on per-process basis) is still available on + M-x ess-developer in a process buffer. +
    • - integration with devtools package. New command + ess-developer-load-package calls load_all on the package + containing current file. ess-developer-add-package now offers IDO + menu completions with available loading methods, currently + library, and load_all. Loading command can be customized + with ess-developer-load-on-add-commands. +
    +
  • TAB now indents region if region is active +(a contribution of Matthew Fidler in pull #41) +
  • M-x ess-version now reports full loading path +and recognizes git and ELPA versions. +
  • warning and error keyword are now highlighted with +font-lock-warning-face as they should be, (for quite some time +these keywords have been hijacked by compilation mode fontification). +
  • eldoc: Eldoc now recognizes multiple processes. +If current process is busy, or current buffer is not associated with a +process, eldoc picks its completions from the first available free +process. +
  • org-babel: evaluation is now org-friendly +
  • help: new help buffers now try to reuse ess-help buffers. +This behavior is controlled by ess-help-reuse-window custom +variable. +
  • help: ?foo pops IDO menu on multiple help files +(so far it worked only for C-c C-v) +
  • remote evaluation is considerably faster now on slow connections +
  • ESS[R] tracebug R source references regular expressions +are (mostly) language agnostic. +
  • ess-function-call-face inherits from +font-lock-function-name-face rather than font-lock-builtin-face. +
  • ess-inject-source now accepts function-and-buffer option. +
  • Documentation: The “New Features” +section (and NEWS) now represent recent changes: within the last +year or so. All changes can be found in the new news.html (or NEWS and ONEWS). +
  • ESS[R] ess-rep-regexp should no longer inf.loop (rarely!), +and hence M-x ess-fix-miscellaneous should neither. +
+ +

Changes/New Features in 13.05: +

    +
  • ESS[gretl]: Support for gretl (both editing and +sub-process interaction). A contribution of Ahmadou Dicko. +
  • ESS: process output display is 4-10 times faster due to new caching +and only occasional emacs re-display (for the moment this functionality +is available only when ess-tracebug is active). +
  • ESS: C-c ` is now bound to ess-show-traceback and +C-c ~ is bound to ess-show-call-stack. +
  • ESS[R]: ESS stores function in ’ESSR’ environment to +avoid kludging users’ global environment and accidental deletion. +
  • ESS[R]: new variable ess-swv-processing-command to control +weaving and tangling. +
  • ESS[R]: ess-default-style has been changed + (from DEFAULT) to RRR. Use something like + (setq ess-default-style 'DEFAULT) or + (setq ess-indent-level 2) in your ~/.emacs equivalent + before loading ESS, if you do not like this new “incompatible” + default style. +
  • ESS[julia]: ESS stores its functions in ’ESS’ module. +
  • ESS[julia]: Eldoc is now supported in julia modes +
  • ESS[julia]: Adjusted error reference detection and interactive help +to julia internal changes +
  • ESS[R]: ess-use-tracebug’s default has been changed to + t. Set it to nil if you want to keep the previous behavior. +
  • ESS[tracebug]: Electric debug keys have been removed [breaking change] +The functionality was replaced with ess-debug-minor-mode and +ess-debug-minor-mode-map. +
  • ESS[tracebug]: ess-tracebug-map is an alias to + ess-dev-map C-c C-t. +
  • ESS[tracebug]: ess-bp-toggle-state (C-c C-t o) + can now be used during the debug session to toggle breakpoints on the fly + (suggestion by Ross Boylan). +
  • ESS[tracebug]: ess-debug-flag-for-debugging and +ess-debug-unflag-for-debugging work correctly from the debugging + contexts. These commands also recognize non-exported functions for the + packages listed in ess-developer-packages (C-c C-t C-a). + +
  • ESS[R]: Eldoc (activated by ess-use-eldoc) has + become more sophisticated, and hence also more intruding in the interface + between the Statistics softare, e.g., R, and the user. + +

    Note that you can turn off ElDoc, by placing (setq ess-use-eldoc nil) + in your ~/.emacs file, prior to loading ESS, +

    +
  • ESS[SAS]: long over-looked SAS-mode-hook appears! +
  • ESS[SAS]: ess-sas-edit-keys-toggle now defaults to t +since sas-indent-line is still broken, i.e. TAB is now +bound to ess-sas-tab-to-tab-stop by default +
+ + +

Changes/Bug Fixes in 12.09-2: +

    +
  • ESS: new ess-switch-to-end-of-proc-buffer variable that controls + whether C-c C-z switches to the end of process buffer. The + default is t. You can use prefix argument to C-c C-z to + toggle this variable. +
  • ESS: fix in ess-eval-linewise that was causing emacs +to hang during R debugging with ess-eval-visibly equal to +t. +
  • ESS: fix in ess-eval-linewise that was causing emacs to recenter +the prompt in visible window +
  • ESS[tracebug]: A better handling of “Selection” prompts +and debug related singlekey commands. +
  • ESS: fix a bug in ess-switch-process that was causing +*new* selection to fail. +
  • ESS[R]: Solve missing ess-local-process-name bug in R-dired. +
  • ESS[SWV]: ess-swv-PDF doesn’t ask for a command to run if +there is only one command in ess-swv-pdflatex-commands. +
  • ESS[SWV]: ess-swv-weave gained an universal argument to +allow for an interactive choice between available weavers (sweave, +knitr). +
  • ESS: ess-eval-*-and-step functions go to next empty +line at eob, instead of staying at the last line. +
+ + +

Changes/New Features in 12.09-1: +

    +
  • ESS Breaking Changes in Keys: + +
      +
    • - New keymaps: +ess-doc-map bound to C-c C-d; ess-extra-map bound +to C-c C-e; ess-dump-object-into-edit-buffer was moved on +C-c C-e C-d +
    • - roxygen map was moved on C-c C-o and +ess-roxy-update-entry now resides on C-c C-o C-o +
    • - ess-handy-commands is not bound anymore +
    • - ess-dev-map (including ess-tracebug and ess-developer) +moved on C-c C-t +
    • - C-c C-y is deprecated in favor of C-c C-z C-z +
    +
  • ESS[R] new command ess-describe-object-at-point +bound to C-c C-d C-e (repeat C-e or e to cycle). It +was inspired by Erik Iverson’s ess-R-object-tooltip. Customize +ess-describe-at-point-method to use tooltip instead of an +electric buffer. +
  • ESS: New command ess-build-tags-for-directory +bound to C-c C-e C-t for building dialect specific tag +tables. After building tags use M-. to navigate to +function and objects definitions. By default C-c C-e C-t builds +tags based on imenu regular expressions and also include other common +languages .c, .o, .cpp etc. But it relies on external find +and etags commands. If ess-build-tags-command is defined +(for R), the inferior process is asked to build tags instead. +
  • ESS: ess-switch-process offers *new* alternative +to start a new process instead of switching to one of the currently +running processes. +
  • ESS: Switching between processes (C-c C-s) uses buffer names instead +of the internal process names. Use M-x rename-buffer command to +conveniently rename your process buffers. +
  • ESS: Process buffers can be automatically named on process creation +according to user specified scheme. Default schemes are *proc*, +*proc:dir* and *proc:abbr-long-dir* where proc stands for the +internal process name and dir stands for the directory where the +process was started in. The default is *proc*. For customization see +ess-gen-proc-buffer-name-function. +
  • ESS: ess-eval-visibly-p is deprecated in favor of ess-eval-visibly. +
  • ESS: New evaluation pattern nowait. +In addition to old nil and t values, +ess-eval-visibly accepts nowait for a visible evaluation +with no waiting for the process. See ess-eval-visibly for details +on evaluation patterns. +
  • ESS: New “Process” menu entry with process related commands and configuration +
  • iESS: Process buffer is now automatically shown on errors +
  • ESS: New ess-switch-to-inferior-or-script-buffer command bound to C-c C-z +in both script and process buffers. If invoked form process buffer it +switches to the most recent buffer of the same dialect. It is a single +key command. +
  • ESSR-help: On multiple help pages with the same name, C-c C-v +now asks for user resolution directly in emacs. +
  • ESS[R] ess-roxy: new variable ess-roxy-re for fontification +of cases where the number of leading # differs from +ess-roxy-str. +
  • ESS[R] Eldoc was considerably enhanced. +It now finds hidden default S3 methods and displays non-default methods’ +arguments after trailing ||. +
  • ESS[R]: New ess-display-demos command bound to C-c C-d o and C-c C-d C-o +
  • ESS: New ess-help-web-search command bound to C-c C-d w and C-c C-d C-w +to facilitate interactive search of web resources. Implemented for R, +Stata and Julia. See also ess-help-web-search-command. +
  • ESS: ess-pdf-viewer-pref accepts now command line arguments +
  • ESS[Rnw]: Add knitr support. +Customize ess-swv-processor for the default processor. +
  • ESS[Rnw]: More thorough renaming of remaining +noweb-* to ess-noweb-*. +
  • ESS[Rnw] new commands ess-eval-chunk-and-step and ess-eval-chunk +bound to M-n C-c and M-n C-M-x to mirror standard ess +commands in C-c map. +
  • ESS[R] Auto-completion: new variable +ess-ac-R-argument-suffix to customize the insertion of trailing +"=". Defaults to “ = “. +
  • ESS[Julia]: Added index, apropos and web-search to julia. +
  • ESS help: More evaluation commands were added to ess-help mode (C-c C-c, C-M-x etc) +
+ +

Bug Fixes in 12.09-1: +

    +
  • iESShelp: Multiple help pages with the same name are properly handled on C-c C-v +
  • iESSremote: Evaluation with ESS remote no longer freezes emacs. +
  • iESS: comint-previous-prompt C-c C-p no longer stops on secondary prompt “+”. +
  • iESS[R], iESS(Sqpe) [S] on Windows: +The options("editor") is now initialized to emacsclient +instead of the previous gnuclient. The user may need to add the +line (server-start) to the emacs initialization +file. emacsclient has been included with emacs since GNU Emacs +22.1. +
  • ESS[Rnw] Fixed “connection to R” bug (in 12.09 only). +
  • ESS[Rnw] Explicit ess-swv-stangle and ess-swv-sweave +functions. +
  • ESS[Rnw] Fixed completion and smart underscore problems cause by unmatched “\”’ +
  • ESS[R] is more careful with the R code injection. +It now happens only once at the start of the session. +
  • ESS[R]: Fixed auto-scrolling the comint buffer on evaluation. +
  • ESS[Julia]: Solve several indentation and word navigation problems. +
  • ESS[Julia]: Help system works again. +
+ +

Changes/New Features in 12.09: +

+
    +
  • Due to XEmacs lacking some features that ESS requires, ESS support of XEmacs +ends with ESS 12.04-4. This decision will be re-visited in the future as +XEmacs continues to sync with GNU Emacs. + +
  • ESS[R]: On Windows, there is now a new customizable variable +(currently called ess-directory-containing-R) to tell ESS where +to look for the Rterm.exe executables. The name of the variable +and the values it can take are both in beta and subject to change. Prior +to this variable, ESS searched only in the default installation +directory. Setting this variable now tells ESS how to find +Rterm.exe executables when they are installed somewhere else. + +
  • ESS[julia]: new mode +for editing julia code (*.jl). Start with M-x julia. + +

    Full interaction interface, imenu and basic error referencing are available. +

    + +
  • ESS[R] noweb: noweb-mode and noweb-font-lock-mode have +been renamed to ess-noweb-mode and +ess-noweb-font-lock-mode to avoid conflicts with the “real” noweb-mode. + +
  • ESS[R] noweb: The long standing font-lock bug has been solved +in ess-noweb interface. + + +
  • ESS: Basic evaluation keys are now bound to ess-eval-region-*- functions: + +
      +
    • - C-M-x is bound to ess-eval-region-or-function-or-paragraph +
    • - C-c C-c is bound to ess-eval-region-or-function-or-paragraph-and-step +
    • - C-RET is bound to ess-eval-region-or-line-and-step +
    + +

    Each of these functions first evaluates the region whenever the region +is active. +

    +
  • ESS: C-M-a/C-M-e now step to beginning/end of +paragraph if no function has been detected. + +
  • ESS: ess-eval-*-and-step family of functions are now smarter, +and don’t step to end of buffer or end of chunk code (@) when at +the end of the code. + +
  • ESS: ess-handy-commands function is bound to C-c h + +
  • ESS: ESS is now blinking the evaluated region. +Set ess-blink-region to nil to deactivate; ess-blink-delay +gives the duration of the blink. Evaluated region is “blinked” in +highlight face. + +
  • ESS[R-help] New key a for “apropos()” in help buffers. Also available +through C-c h. + +
  • ESS[R-help] All R commands of type foo?bar and foo??bar are recognized +and redirected into appropriate *ESS-help* buffers. + +
  • ESS[R]: New customization interface for font-lock. + +

    ESS font-lock operates with predefined keywords. Default keywords are +listed in ess-R-font-lock-keywords and +inferior-R-font-lock-keywords, which see. The user can easily +customize those by adding new keywords. These variables can also be +interactively accessed and saved through ESS/Font-lock submenu. +

    +

    Several new fontification keywords have been added. Most notably the +keywords for highlighting of function calls, numbers and operators. +

    +
  • ESS[R]: auto-complete is now activated by default whenever +auto-complete package is detected. Set ess-use-auto-complete to +nil to deactivate. +
  • ESS[R]: R AC sources are no longer auto-starting at 0 characters +but at the default ac-auto-start characters. +
  • ESS no longer redefines default ac-sources, +but only appends ac-source-filename to it. +
  • ESS: ac-source-R now concatenates “ = “ to function arguments. + +
  • ESS: Menus for ESS and iESS have been reorganized and enriched with +Tracebug and Developer submenus. + +
  • ESS[R]: ess-developer and ess-tracebug commands are available by default +in ess-dev-map which is bound to C-c d in ESS and iESS maps. + +
  • ESS[R]: eldoc truncates long lines whenever eldoc-echo-area-use-multiline-p +is non-nil (the default). Set this variable to t if you insist on multiline eldoc. +See also ess-eldoc-abbreviation-style. + +
  • ESS[R]: completion code pre-caches arguments +of heavy generics such as plot and print to eliminated the +undesirable delay on first request. + +
  • iESS: Prompts in inferior buffers are now highlighted uniformly with +comint-highlight-prompt face. + +
  • ESS[R]: R process no longer wait for the completion of input in inferior buffer. +Thus, long running commands like Sys.sleep(5) no longer stall emacs. + +
  • ESS: [R, S, Stata, Julia] have specialized ess-X-post-run-hooks, which +are run at the end of subprocess initialization. + +
  • ESS[Stata]: All interactive evaluation commands work as expected. +On-line comments are removed before the evaluation and multiline +comments are skipped on C-c C-c and other interactive commands. + +
  • ESS no longer auto-connects to a subprocess with a different dialect than +the current buffer’s one. + +
  • ESS: ess-arg-function-offset-new-line is now a list for all +the ESS indentation styles, which results in the following indentation +after an open “(”: + +
      a <- some.function(other.function(
    +     arg1,
    +     arg2)
    +
    +
  • ESS[SAS]: Improved MS RTF support for GNU Emacs; try + ess-sas-rtf-portrait and ess-sas-rtf-landscape. +
+ +

Changes/Bug Fixes in 12.04-3: +

    +
  • ESS: basic support for package.el compatibility +
  • ESS[R]: correct indentation of & and | continuation lines +
  • M-x ess-version shows the svn revision even after make install +
  • ESS[SAS]: improved XEmacs support +
  • iESS[R]: better finding of previous prompt +
  • ESS[Stata]: adjusted prompt for mata mode +
  • ESS[R]: resolved name clashes with cl.el +
  • ESS[R]: removed dependence on obsolete package assoc +
  • New make target lisp, to build the lisp-only part, i.e., not building the docs. +
+ +

Changes/New Features in 12.04-1: +

    +
  • iESS[Stata]: New interactive help invocation. +
  • iESS[Stata]: New custom variable inferior-STA-start-file. +
  • iESS[Stata]: inferior-STA-program-name is now “stata” +and can be customized. +
  • ESS[Stata] New sections in stata help files +Syntax(s-S), Remarks(r), Title(t). +
+ +

Bug Fixes in 12.04-1: +

    +
  • ESS[R]: Better ess-tracebug error handling. +
  • ESS[R]: Corrected ess-eldoc help string filtering +and improved argument caching. +
  • ESS[R]: Indentation of non-block if/else/for/while lines fixed. +
  • M-x ess-version should work better. +
  • ESS: Filename completion now again works inside strings. +
  • iESS[Stata]: Fixed prompt detection issue. +
  • ESS[Rd]: R is autostarted also from here, when needed. +
+ +

Changes/New Features in 12.04: +

    +
  • ESS: Reverting new behavior of 12.03, TAB in ess-mode +no longer completes by default. If you want smart TAB completion +in R and S scripts, similarly to iESS behavior, set the variable +ess-tab-complete-in-script to t. Also see +ess-first-tab-never-complete for how to customize where first +TAB is allowed to complete. +
  • ESS: completion is consistently bound to M-TAB (aka M-C-i) +in both Emacs23 and Emacs24. +
  • ESS: The variable ess-arg-function-offset-new-line +introduced in ESS(12.03) now accepts a list with the first element a +number to indicate that the offset should be computed from the indent of +the previous line. For example setting it to ’(2) results in: + +
      a <- some.function(
    +    arg1,
    +    arg2)
    +
    + +
+ +

Changes/New Features in 12.03: +

    +
  • ESS indentation: new offset variable ess-arg-function-offset-new-line +controlling for the indentation of lines immediately following open +’(’. This is useful to shift backwards function arguments after a long +function call expression: + +
      a <- some.function(
    +         arg1,
    +         arg2)
    +
    + +

    instead of the old +

    +
      a <- some.function(
    +                     arg1,
    +                     arg2)
    +
    +

    If ’(’ is not followed by new line the behavior is unchanged: +

    +
      a <- some.function(arg1,
    +                     arg2)
    +
    +

    This variable should be set as part of indentation style lists, or in +ess-mode hook. +

  • ESS[R]: C-c . sets (indentation) style. +
  • ESS: In ESS buffers yank(C-y) command accepts + double argument C-u C-u to paste commands only. It deletes any +lines not beginning with a prompt, and then removes the prompt from +those lines that remain. Useful to paste code from emails, +documentation, inferior ESS buffers or transcript files. +
  • Documentation: ESS user manual has been rearranged and +completed with several new chapters and sections to reflect newly added +features (“Completion”, “Developing with ESS”, “ESS tracebug”, +“ESS developer”, “ESS ElDoc”, “IDO Completion” and “Evaluating +Code”) +
  • RefCard: Reference card was updated to include new features. +
  • Eldoc: Eldoc was rewritten and is activated by default. +See ess-use-eldoc, ess-eldoc-show-on-symbol, +ess-eldoc-abbreviation-style variables for how to change the default +behavior. Note: skeleton-pair-insert-maybe prohibits eldoc +display, on ( insertion. +
  • ESS[R]: Eldoc shows arguments of a generic function whenever found. +
  • ESS: TAB in ess-mode now indents and completes, +if there is nothing to indent. Set +ess-first-tab-never-completes-p to t to make TAB +never complete on first invocation. Completion mechanism is similar to +the completion in the inferior-ess-mode – a filename expansion +is tried, if not found ESS completes the symbol by querying the +process. +
  • ESS for emacs version 24 or higher: ESS is fully compatible with +the emacs 24 completion scheme, i.e. all the completion is done by +completion-at-point. Also in accordance with emacs conventions, +ESS doesn’t bind M-TAB for emacs 24 or higher. M-TAB calls the +default complete-symbol. + +
  • ESS[R]: Out of the box integration with Auto +Completion mode http://cx4a.org/software/auto-complete . Three AC +sources ac-source-R-args, ac-source-R-objects and +ac-source-R are provided. The last one combines the previous two +and makes them play nicely together. Set ess-use-auto-complete to +t to start using it. Refer to documentation string of +ac-use-auto-complete for further information. +
  • ESS[R]: New unified and fast argument completion system, +comprised of ess-funname.start, ess-function-arguments, +ess-get-object-at-point. Eldoc and auto-completion integration +are using this system. +
  • ESS: ess-switch-to-end-of-ESS(C-c C-z), +and ess-switch-to-ESS(C-c C-y): Automatically start the +process whenever needed. +
  • ESS[R]: roxy knows about previewing text version of the +documentation. Bound to C-c C-e t. +
  • ESS[R]: Solved the “nil filename” bug in roxygen support. +
  • ESS[R]: ess-tracebug is now part of ESS: + +

    New Features: +

    +
      +
    • - Source injection: Tracebug now can inject source references on the +fly during code evaluation, i.e. you don’t have to source your file, but +just evaluate your code in normal fashion. Variable +ess-tracebug-inject-source-p controls this behavior - if t, +always inject source reference, if 'function, inject only for +functions (this is the default), if nil, never inject. + +

      During the source injection the value of ess-eval-visibly is +ignored. +

    • - Org-mode support: Visual debugger is now aware of the +temporary org source editing buffer (C-c ') and jumps through this +buffers if still alive, or in original org buffer otherwise. +
    • - New keys in watch mode: ? and d +
    • - Two new hooks: ess-tracebug-enter-hook and ess-tracebug-exit-hook +
    + +
  • ESS[R]: New package ess-developer to evaluate R +code directly in the package environment and namespace. It can be +toggled on and off with C-c d t. When ess-developer is on +all ESS evaluation commands are redefined to evaluate code in +appropriate environments. Add package names to the list of your +development packages with C-d a, and remove with C-d +r. Source the current file with C-d s.Evaluation function which +depend on `ess-eval-region' ask for the package to source the +code into, ess-eval-function and alternatives search for the +function name in the development packages’ environment and namespace and +insert the definition accordingly. See the documentation section +“Developing with ESS/ESS developer” for more details. + +
  • ESS[R] help system: + +

    New Features: +

    +
      +
    • - q quits window instead of calling ess-switch-to-end-of-ESS. +This is consistent with emacs behavior help and other special buffers (breaking change). +
    • - k kills window without asking for the name (pointed by Sam Steingold) +
    • - Help map inherits from special-mode-map as sugested by Sam Steingold. +
    • - Package index: new function ess-display-index bound to +i in help mode map. +
    • - Package vignettes: new function ess-display-vignettes bound to +v in help mode map. +
    • - Display help in HTML browser: new function ess-display-help-in-browser bound to +w in help mode map. It depends on R’s browser +option. +
    • - New custom variable ess-help-pop-to-buffer: if non-nil +ESS help buffers are given focus on display. The default is +t (breaking change). +
    • - New menu entries for the above functions. +
    • - Bogus help buffers are no longer generated by default, i.e. +buffers of the form “No documentation for ’foo’ in specified packages and libraries: +you could try ’??foo’ ”. ess-help-kill-bogus-buffers now defaults to +t. Beware, there may be instances where the default is unsatisfactory +such as debugging and/or during R development. Thanks to Ross Boylan for +making the suggestion, Sam Steingold for reminding us of this variable and +Martin Maechler for the warning. +
    +
  • ESS now uses IDO completing read functionality +for all the interactive requests. It uses ido completion +mechanism whenever available, and falls back on classical +completing-read otherwise. You can set ess-use-ido to nil if you +don’t want the IDO completion. See the documentation string of +ess-use-ido for more information about IDO and ESS +configuration. + +
  • ESS[S]: “,“ is bound to ess-smart-comma: +If comma is invoked at the process marker of an ESS inferior +buffer, request and execute a command from `ess-handy-commands' +list. If ess-R-smart-operators is t `ess-smart-comma +also inserts “ “ after comma. +
  • ESS[S], notably R: Variable `ess-handy-commands' +stores an alist of useful commands which are called by ess-smart-comma in +the inferior buffer. + +

    Currently containing: +

    +
    +
    change-directory
    +

    ess-change-directory +

    +
    help-index
    +

    ess-display-index +

    +
    help-object
    +

    ess-display-help-on-object +

    +
    vignettes
    +

    ess-display-vignettes +

    +
    objects[ls]
    +

    ess-execute-objects +

    +
    search
    +

    ess-execute-search +

    +
    set-width
    +

    ess-execute-screen-options +

    +
    install.packages
    +

    ess-install.packages +

    +
    library
    +

    ess-library +

    +
    setRepos
    +

    ess-setRepositories +

    +
    sos
    +

    ess-sos +

    +
    + +

    Handy commands: ess-library, ess-install.packages, etc - +ask for item with completion and execute the correspond +command. ess-sos is a interface to findFn function in +package sos. If package sos is not found, ask user for +interactive install. +

    +
  • ESS: New dynamic mode line indicator: Process status is automatically +reflected in all mode-lines of associated with the process +buffers. Particularly useful for displaying debug status of +ess-tracebug and developer status of ess-developer in all +associated buffers. + +
  • ESS: New ess-completing-read mechanism: ESS uses +ido completions whenever possible. Variable ess-use-ido +controls whether to use ido completion or not. Active by default. + +
  • ESS now supports comint fields for output and input +detection. This feature is not used by default, but might be useful in +the future. + +
  • ESS[S]: New custom variable inferior-ess-S-prompt to +customize prompt detection regular expression in the inferior ESS +buffers. You can customize this variable to enhance comint navigation +(comint-previous-prompt and comint-next-prompt) the +inferior buffers. + +
  • ESS[R]: Internal R completion retrieval +(ess-R-complete-object-name) was rewritten and is faster now. + +
  • ESS is using process plist to store process specific variables, +as opposed to buffer local variables as it was using before. The use of +buffer local variables to store process variables is discouraged. + +
  • ESS: new functions to manipulate process plists: +ess-process-get and ess-process-set. + +
  • ESS: Internal process waiting mechanism was completely rewritten. ESS +no more relies on prompt regular expressions for the prompt +detection. The only requirement on the primary process prompt is to end +in > . This could be overwritten by setting +inferor-ess-primary-prompt. + +
  • ESS[S], notably R: Saved command history: + ess-history-file now accepts t (default), nil, or a + file name. By setting it to nil no command line history is saved + anymore. ess-history-directory now allows to have the history + all saved in one “central” file. +
  • ESS[R]: more Roxygen improvements. +
  • ESS[R]: C-c . to set (indentation) style. + +
  • ESS[R]: Functions with non-standard names (for example ’aaa-bbb:cc’) are +properly handled by font-lock and evaluation routines. +
  • ESS[R]:Several regexp bugs (described in etc/R-ESS-bugs.el) were +fixed in ess-get-words-from-vector and ess-command. +
+ + + +

Changes/New Features in 5.14: +

    +
  • ESS[BUGS/JAGS]: Batch BUGS is back! For recent OpenBUGS +versions, 3.0.8+, a batch BUGS script is once again available, +but for Linux only. Therefore, since it seems that BUGS and JAGS must +co-exist (rather than a transition from BUGS to JAGS), .bug files are +now in ESS[BUGS] mode and .jag files are in ESS[JAGS] mode. ESS[BUGS] now +works like ESS[JAGS] rather than the original mode ESS[BUGS] mode which +was difficult to maintain. Although, ESS[BUGS] appears to work, +there still may be some features missing as well as bugs. + +
  • ESS[R]: New customizable variable ess-swv-plug-into-AUCTeX-p +Commands to Sweave current file and LaTeX the result are now available +to AUCTeX users, if this variable is set to t. + +
  • ESS[S]: C-c C-c +(ess-eval-function-or-paragraph-and-step) is now skipping over +comments as the other paragraph functions do. +It (and similar functions) should no longer wrongly find +‘function()’ beginnings inside comments or strings. + +
  • ESS[SAS]: improved by better support for GNU Emacs +
+ +

Changes/New Features in 5.13: +

    +
  • ESS[R]: On Windows, for R 2.12.0 and later, the Rterm executables + (in subdirectories i386 / x64) now are found as well as for earlier R versions. +
  • ESS[S+]: on Windows, both 32- and 64-bit versions of S+ (“S-PLUS”) + are found now and made available on the menu. +
  • ESS[R]: When prompting for a starting directory, the R version is + (always?) correct now. +
  • ESS[R]: on non-Windows platforms, the use-dialog-box + variable is no longer temporarily changed (to nil for R-x.y.z version + functions and to t for R itself), but rather the user + customization is obeyed. +
  • ESS[R]: more Roxygen improvements. +
  • ‘Rd-preview-help’ now generates preview buffers with navigation +facilities the same as regular help buffers. +
  • ESS: New functions and keys C-c [up] / [down] + for evaluating the buffer “from beginning till here”. +
+ +

Changes/New Features in 5.12: +

    +
  • ESS[SAS] Font-locking: + update of PROCs keywords (up to SAS 9.22); error/warnings. +
  • ESS[R]: Roxygen improvements: S4 classes; + also optionally keep spaces when filling arguments +
  • ESS[Rd]: support new keywords: + section-name \subsection plus a dozen “new” keywords; should match R + 2.12.x now. +
  • ess-display-help-on-object (C-c C-v) + now caches the list of topics, thus speeding up the improvement + feature introduced in 5.9. +
+ +

Changes/New Features in 5.11: +

    +
  • Filename completion within buffers now adds only trailing +characters to complete the filename, rather than expanding to an +absolute file path. This filename completion is bound to the TAB key. + +
  • M-n P in Sweave buffers now prompts for the command to run +instead of using pdflatex unconditionally, offering completion from +customizable collection ess-swv-pdflatex-commands, the first of +which is taken as default and that defaults to texi2pdf. +
  • M-RET is now also bound in S language (R and S+) buffers +to ess-use-this-dir. It sends setwd(..) to the S process +to set the working directory to the one of the source file. +
+ +

Changes/New Features in 5.10: +

    +
  • M-RET in *S* buffers is now bound to +ess-dirs. This function will set Emacs’s current +directory to be the same as the *S* process. This is useful if you use +setwd() within a *S* process. +
+ +

Changes/New Features in 5.9: +

    +
  • Toolbar: The toolbar now has an icon for starting Splus. +
  • Indentation: New documentation and code has been added to make it +easier to change how ESS indents code. In particular, see +ess-default-style, ess-own-style-list and the documention +subsection “Changing indentation styles”. +
  • ess-display-help-on-object (C-c C-v) now offers + completion candidates for help file aliases, in addition to object + names. +
  • Font locking: is now turned on + even without window-system is nil, whenever + ess-font-lock-mode is non-nil, i.e., by default. +
  • ESS script editing: ess-eval-deactivate-mark default is now t, + as suggested by Leo Alekseyev and subsequent “unanimous” ESS-help + discussion. +
  • ESS[R]: Editing support for “#!” (Rscript / littler) editing, + thanks to Jeffrey Arnold. +
  • ESS[R]: Now finds all R versions, both 64-bit and 32-bit, on some + 64-bit Windows machines. Please report back to ess-core success or failure + on your 64-bit Windows machine. +
  • ESS Manual now more visually pleasing; https://ess.r-project.org/Manual/ess.html +
  • ESS[R]: Roxygen on XEmacs no longer font locks for now + (as it required missing features and hence broke ESS startup, there). +
  • ESS[R]: Roxygen has a sub-menu on the [ESS] menu. +
  • ESS[R]: Function ess-rutils-htmldocs in + ess-rutils.el offers an alternative to help.start() for + navigating R documentation, using the browse-url Emacs + function. +
+ +

Changes/New Features in 5.8: +

    +
  • ESS[R]: New ess-rutils.el with utilities for listing, loading, +installing, and updating packages, as well as object manipulation +(listing, viewing, and deleting). It also provides an alternative to +RSiteSearch() that uses the browse-url function, so +results can be viewed in an Emacs web browser. +
  • ESS[R]: much more extensive Roxygen interface, via ess-roxy.el + from Henning Redestig. Ess-roxy supports filling of roxygen fields, + generation and updating roxygen templates, completion of roxygen tags, + basic navigation (marking and moving between entries), folding using + hs-minor-mode and preview of the Rd file. +
  • Emacs lisp files have got better names (partly, for now). +
+ +

Changes/New Features in 5.7: +

    +
  • ESS[R]: loading a source file (C-c C-l) now works in + Windows, similarly to other platforms; + (further; it had accidentally been broken in ESS 5.6 on all platforms) +
+ +

Changes/New Features in 5.6: +

    +
  • ESS[R]: help() calls have to differ from old default, with newer + versions of R; currently via .help.ESS <- function(...) hack. +
+ +

Changes/New Features in 5.4: +

    +
  • ESS[SAS]: The long overdue change +from make-regexp to regexp-opt for font-locking is +complete. The new regexp-opt is now the default since +it is better than the old code in many ways (and especially more +maintainable). However, there are certainly some special +cases missed (bug reports and patches welcome!). +Setting ess-sas-run-regexp-opt to nil will result +in the old code being used. +
  • ESS[BUGS] and ESS[JAGS]: typing = now results in + <-. +
  • ESS[R] function arguments “show” (ess-r-args-show) now + uses the new (tooltip-show-at-point) contributed by Erik Iverson. +
  • Toolbar icons now also work in (beta) Emacs 23. +
  • ESS[S]: New function ess-change-directory for setting both + emacs’ current directory and the directory of an *R* or *S* buffer. +
  • ESS[S] when transient-mark-mode is true, the mark is now kept, + rather than deactivated, thanks to a patch from David Reitter. +
+ +

Changes/New Features in 5.3.11: +

    +
  • ESS[SAS]: work around bug in Emacs 22.2 & 22.3 which fails to + set case-fold fontification automatically. +
  • Rd mode: support new keyword ’Rdversion’ +
  • ESS[R]: now again works with Emacs 21.x +
+ +

Changes/New Features in 5.3.10: +

    +
  • Fixed noweb-mode bug accidentally introduced into 5.3.9 +
  • In noweb-mode, e.g., Rnw-mode, electric “<” also inserts closing “@". + Further, the code chunk boundaries are better kept up-to-date, such that + code[R] <-> text[LaTeX] minor mode switching should happen more reliably. +
  • In noweb-mode, fix a buglet in rare [Enter] or [Tab] behavior; further, + by default disable the former ‘[[’ .. ‘]]’ code-protection-when-filling + behavior which has been found to be buggy. +
+ +

Changes/New Features in 5.3.9: +

    +
  • ESS[SAS]: evince PDF viewer now supported as well; search order: +evince, Xpdf, Adobe/Acrobat Reader +
  • ESS[R]: added support for Roxygen, potentially to be extended. +
  • ESS[S] (and R): inferior (*R*) and transcript modes no longer +fontify language keywords (such as for, in, etc). +
  • iESS[Stata]: Customize the ess-sta-delimiter-friendly setting +to t to convert embedded semi-colons to newlines for Stata processing. +
  • Sweave fix for embedded blanks in PDF reader and PDF files +
  • Several fixes for Major Mode Convention violations in ess-mode +and noweb-mode. +
  • ESS[JAGS]: M-x comment-region now available! +
  • ESS[S] The ess-swv-* commands (and keybindings) are now in +a submenu of the “Noweb” menu, when editing Sweave files. +
+ +

Changes/New Features in 5.3.8: +

    +
  • ESS[JAGS]: more separation from ESS[BUGS] (as much as is currently planned); +now C-c C-c on an empty .jmd creates a template as it should; +symbolic links are created for CODA output so BOA is happy: +from index.txt to .ind and chain#.txt to #.out +
  • ESS[SAS]: buffer-local ess-sas-submit-command and +ess-sas-submit-command-options now recognized by ess-sas-submit-region +
  • ESS[S]: When trying to evaluate code in an S language buffer and + there is no associated process, now start R automatically instead of + signalling an error. Also, restart R if there is an associated process + which is not running. However, do not start R just via the “electric” + ( (ess-r-args-auto-show). +
  • ESS[S]: For (one-line) functions withOUT ’{ .. }’ bodys, the end + of function is now correctly found more often. This notably improves + C-c C-c (ess-eval-function-or-paragraph-and-step). +
  • ESS[JAGS]: cleanup/re-organization of elisp code; +symbolic links for CODA output are now only created by the new +JAGS system command in version 1.0.3; specify whether +this command is available via ess-jags-system; if not +present, then no links are created so that the *shell* +buffer does not become unresponsive during the batch run +
+ +

Changes/New Features in 5.3.7: +

    +
  • ESS: ess-default-style now *is* customizable, i.e., + changing its value in ~/.emacs now does have the desired effect. +
  • ESS: ess-font-lock-mode is a new variable (default: t) +which controls whether font-locking is enabled in ESS buffers. +
  • ESS[R]: for XEmacs on Windows; another tweak to find R versions +
  • ESS[SAS]: font-locking updated for ODS and SAS Bayesian Procedures; +a more consistent handling of SAS options by +ess-sas-submit-command-options which is buffer-local; portable +snooze for MS Windows via customize-able ess-sleep-for (floats welcome); +Xpdf now supported as a PDF viewer +
  • ESS[Rnw]: now also works with “emacs -nw” and Emacs 22. +
  • ESS[JAGS]: now requires JAGS 1.0 (see the new ESS for JAGS help +section for more information): both need work; suggestions welcome +
  • ESS[R]: [TAB] completion now uses the R-internal completion +mechanism (for R >= 2.5.0). +
  • ESS[R] ([S]): interpretation of “_” as assignment has +been removed in ess-continued-statement-p for R and S. +
  • several internal code cleanups. +
  • ESS[R]: An experimental version of a new command Rgui +on MS Windows to send lines directly from emacs +to Rgui is available in file lisp/essd-rgui.el. +Preliminary documentation is in file doc/rgui-doc.txt. +
+ +

Changes/New Features in 5.3.6: +

    +
  • ESS: for XEmacs, using “gnuclient” (without a “-q”) works for + things like fix() after M-x gnuserv-start has been done. +
  • ESS[R]: M-x R-newest should now work in more situations on MS + Windows, e.g., when R has been installed in a non-default "ProgramFiles" + directory tree. In these cases, there’s no need to specify the name (and + full path) of the R program anymore. +
  • ESS[R]: For XEmacs, startup (with new tooltip code) works again. +
+ +

Changes/New Features in 5.3.5: +

    +
  • ESS[R] a new defun is available, M-x R-newest, which will start +the newest version of R that it can find on your system. +
  • ESS[R] add Sven Hartenstein’s “R function arguments tips” + functionality, via new file ../lisp/essd-r-args.el. + Note that this includes an “electric "("” behavior inside R-mode + which is active by default and can be customized via + ess-r-args-electric-paren; i.e., use (setq + ess-r-args-electric-paren nil) to turn it off. Further, + ess-r-args-show-as allows to switch to the “tooltip” mode. +
  • ESS: functions ess-get-pdf-viewer and *-ps-viewer; built on new + customizable variables ess-pdf-viewer-pref and + ess-ps-viewer-pref; currently used in ess-swv-PDF and + *-PS. +
  • ESS[R] Improved ess-swv-PDF to run pdf viewer only if + pdflatex was ok +
  • ESS[R] Improved ess-swv-weave to start R automatically if + none is running. +
  • ESS: Do no longer ask which ESS process to use if there + is only one. +
+ +

Changes/New Features in 5.3.4: +

    +
  • ESS[R] now better work with options(error=recover); and the +new default of CHM help files on windows. +
  • ESS[R] some more cleanup in the “sweave” functions +
  • miscellaneous fixes +
+ +

Changes/New Features in 5.3.3: +

    +
  • ESS[S] fix buglet (5.3.2 only) which left command prompt in +“execute buffer” and hence help files. +
  • new customizable variable ess-display-buffer-reuse-frames +set to true (which changes default behavior) such that execution or +help *frames* are reused. +
+ +

Changes/New Features in 5.3.2: +

    +
  • Classic BUGS now supported by (require 'essd-bugs) with ESS[BUGS] + and JAGS by (require 'essd-jags) with ESS[JAGS]. But, only one + of them can be used at a time since they don’t play nice together. Also, + C-c C-c is now bound to the function ess-bugs-next-action + (F12 has been retired). And finally, note that essl-bug.el + is deprecated and the replacement is essl-bugs.el. +
  • ESS[R] Improved some of the “Sweave-make” + functions (yet scarcely documented) in ess-swv.el. +
  • ESS[S] No longer mess with .Last.value (nor in other “languages”). +
+ +

Changes/New Features in 5.3.1: +

    +
  • See the docs for 2 ways to install ESS for XEmacs +
      +
    1. by uncommenting the XEmacs part of + Section 1 of Makeconf and performing make install +
    2. by unpacking either + ess-5.3.1.tgz or ess-5.3.1.zip into + PREFIX/lib/xemacs/site-packages on unix or + PREFIX\XEmacs\site-packages on windows +
    +
  • ESS[R]: fixed bugs so that Rterm.exe can be found by XEmacs +
  • ESS[S]: ess-toggle-S-assign-key is slightly changed; in + particular, the default ess-assign-key is now C-x =. +
  • ESS[R]: M-x R-site-search is a new (slightly experimental) + utility similar to R’s RSiteSearch(..) but with the advantage of + using Emacs’ preferred browser, see browse-url-browser-function +
+ +

Changes/New Features in 5.3.0: +

    +
  • ESS[BUGS]: sanely re-format statistical output, .bog, +from scientific notation to numbers rounded with 4 decimal places +with M-x ess-bugs-sci-round-to-4-dp. +
  • The keys for navigating among section headings in help buffers +worked, but only for one language per session; they should now work for +multiple languages. (They were also broken on Windows machines.) +
  • ESS[S] long standing buglets in the internal logic for loading +lisp code on Windows. Particularly fixed behavior in help mode with S-plus +GUI. +
  • New variable, ess-use-inferior-program-name-in-buffer-name, +which enables using the executable name instead of the dialect name for +R. Feature request. +
  • ESS[S] ess-execute-screen-options +now also works correctly when there is more than one window *side-by-side* +in the same frame and runs in the correct buffer also when there is more +than one S buffer. +
  • iESS[S] new functions ess-eval-paragraph-and-step and + ess-eval-function-or-paragraph-and-step are bound to keys + C-c C-p and C-c C-c respectively and to the menu in + ESS-mode; also bound in the help mode (for evaluating examples). +
  • ESS[S] new function ess-toggle-S-assign-key allows to +assign the “ <- ” insertion to an arbitrary key. +
+ +

Changes/New Features in 5.2.12: +

    +
  • ESS[SAS]: M-; fixed, but the XEmacs function comment-dwim +may be broken, if so, use M-x comment-region and M-x +uncomment-region instead; only valid PROCs are fontified which is very +helpful finding syntax errors (currently supported: BASE, ETS, FSP, GRAPH, +IML, INSIGHT and STAT); the “feature” where F-keys take you to an +empty buffer when the requested destination is a file that does not exist +has been fixed, now the request results in a no-op. +Further, sas-mode now also works in simple terminals. +
  • Rterm/Cygwin combination works under Microsoft Windows. +
  • ESS[R]: internal calls use baseenv() instead of NULL and +define ’baseenv’ where needed. +
  • New experimental support for installing ESS. See the file +lisp/ess-install.el. +
+ +

Changes/New Features in 5.2.11: +

    +
  • ESS Info entry and dir handled more effectively for GNU Emacs users +
  • ESS[SAS]: temporary files created for batch submission of a +region are now named based on the current file; see ess-sas-file-root +for details; all lag and dif functions now fontified correctly +
  • iESS[SAS]: fixed a few nagging bugs, however, still does not appear to +work at this time; please let us know if you have any ideas. +
  • ESS[S]: Support for running other versions of Splus has been +added for unix. Two new variables, ess-s-versions and +ess-s-versions-list, are used to tell ESS what other versions of +Splus you would like to run. +
+ +

Changes/New Features in 5.2.10: +

    +
  • ESS[R]: ess-r-versions can no longer be customized (since the +customization was not taking effect unless customizations were loaded +before ESS). Its value has been changed so that it will also find R +executables beginning “R-devel” and “R-patched”. If you wish to +change this variable, it must be set in your .emacs before ESS is +loaded. +
  • Installation with GNU Make enhanced: unix and unix-like +operating systems will now be able to install ESS for all +users in either a GNU Emacs site-lisp or an XEmacs package +configuration by editing lisp/ess-site.el and Makeconf +accordingly, then issuing make install +
  • ESS[S]: Filename completion (inside strings) now also works in +XEmacs for R and S-plus. +
+ +

Changes/New Features in 5.2.9: +

    +
  • ESS[R] for Windows: the \ directory character bug +with respect to ess-load-file has been eradicated. +
  • iESS[SAS]: C-c C-r and C-c C-b once again +work as intended and documented. +
  • ESS[S]: M-x ess-fix-EQ-assign is a bit more agressive. +
  • ESS[S]: Imenu now also shows setAs(), etc. +
  • ESS[R]: R function pattern enhanced with underlying code such that + M-C-a (ess-beginning-of-function) etc now work for many more + cases, including S4 method definitions. +
  • iESS[R]: myOwnhelp(1) no longer wrongly triggers help(1). +
  • ESS[R]: Improved detection of bogus help buffers: valid help + buffers containing with the string “no documentation”(e.g. contour) + were being treated as bogus. +
  • ESS[R]: In R help buffers, if options("help.try.all.packages" = + TRUE) then ?rlm will list which packages rlm is defined in. This help + buffer is not bogus, but instead is now relabelled “*help[R](rlm in + packages)*”. +
  • ESS[STA]: add “//” as comment starting character to syntax-table. +
+ +

Changes/New Features in 5.2.8: +

    +
  • iESS: [Tab] completes file names “inside string” as in +earlier (<= 5.2.3) ESS versions. +
+ +

Changes/New Features in 5.2.7: +

    +
  • If you use Custom to change the variable ess-toolbar-items, +the new toolbar is used in all subsequent ESS buffers. +
  • ESS[SAS]: new feature: if ess-sas-log-max >0 and +your .log grows to more than ess-sas-log-max bytes, just +the first ess-sas-log-max bytes are refreshed; this is helpful when your .sas program +generates lots of error messages and gets too big for emacs to display +
  • ESS[R/S]: M-; in R/S editing modes will now indent with +either one or two hashes depending on context. +
  • ESS[R]: David Whiting’s Sweave extensions (to ’noweb’) +are now available (from ess-swv.el loaded by default). +
+ +

Changes/New Features in 5.2.6: +

    +
  • Removed non-ASCII characters in a few files. +
  • ESS[R]: now works better when UTF-8 locale is active; in + particular, you get correct directional quotes in R’s startup message + for R-devel (unstable development version of R 2.1.0) when using + environment variables LANGUAGE=en@quot LC_ALL=en_US.UTF-8 +
  • ESS[SAS]: toggling of .log mode improved (F10); toggling of +.lst mode now also available (C-F10); killing all buffers associated +with .sas program no longer bound to C-F10 since its a bit overzealous. +
  • S-Plus 7 for Windows is now recognized. +
  • ESS[S] (incl. R): in auto-fill mode, strings are not wrapped anymore. +
  • ESS[S] (incl. R): font-lock now correctly differs between R and S, +e.g., for "_"; both now fontify warning(.) and S does terminate() additionally. +
  • Support for ‘bell’ aka ‘beep’ aka ‘ding’ aka ‘alarm’ in all inferior +modes: When \a is output “to the the console” at the beginning of a line, +the bell is rung. +
+ +

Changes/New Features in 5.2.5: +

    +
  • ESS[R]: C-c C-q or ‘Quit S’ from the menu now should work +(again and less klunkily) and do not append ‘-exited’ to the +buffer name. Further, the behavior of (ess-cleanup), called from +ess-quit, now depends on the new customizable variable +ess-S-quit-kill-buffers-p which defaults to nil. +Consequently, the question “Delete all buffers associated +with ..?” will not be asked anymore by default. +
  • ESS[SAS] – ess-ebcdic-to-ascii-search-and-replace will now work +with the recode application as well which is available on many platforms +
  • ESS[S] (incl. R): Name completion for slots of S4 objects now works! +
+ +

Changes/New Features in 5.2.4: +

    +
  • The documentation now includes an overview of how to use the emacs +TAGS facility for S functions. (The distribution also used to contain a +directory etc/other/Tags where a ~1990 version of etags.c was +distributed; this is no longer relevant and so has been deleted.) +
  • ESS[SAS] – When you are working with EBCDIC files on an ASCII +platform, .log NOTEs may display as gibberish since the EBCDIC +characters are not converted to ASCII prior to their display. So, +the function ess-ebcdic-to-ascii-search-and-replace is provided for +convenience and is bound to C-F11. This function requires the +dd command (only available on unix or unix-like platforms). +
  • ESS: Completion of object names is now always done dynamically rather +than allowing the option of using a pre-computed database (by +ess-create-object-name-db) since modern computers seem fast +enough for dynamic completion. (We expect few users, if any, have +been using the pre-computed database method.) +
  • ESS: object completion in iESS buffers running on Windows was +very slow (for GNU Emacs, but not XEmacs) and has now been fixed. +Further, it was more or less broken for all versions of S-plus 6.x, +and has been fixed to work everywhere but with the Windows’ GUI of +S-plus. The list of objects now shows unique names also when an +object appears more than once in the search path. +
  • ESS[R]: Completion of object names now also includes those +starting with “.”. +
+ +

Changes/New Features in 5.2.3: +

    +
  • ESS: When new inferior ESS processes are created, by default they +will replace the current buffer (this restores behavior from pre +5.2.0). If you wish new ESS processes to start in another window of the +current frame, set inferior-ess-same-window to nil. +
  • New variables inferior-Splus-args and inferior-R-args provide a +way to pass command line arguments to starting S and R processes. +
+ +

Changes/New Features in 5.2.2: +

    +
  • bug-fixes for 5.2.1 (require ’executable), html docs, etc. +
  • ess-lisp-directory/../doc/info added to Info-directory-list +if ess-info not found by info +
  • ESS[R]: If you have other versions of R on your +exec-path, such as "R-1.8.1" with Unix or "rw1081" with Windows, +ESS will find them and create appropriate functions, such as +M-x R-1.8.1 or M-x rw1081, for calling them. +By default only Unix programs beginning "R-1" and +"R-2" and Windows programs parallel to the +version of R in your exec-path will be found, +but see ess-r-versions and ess-rterm-versions for ways to find other +versions of R. +
  • ESS[R]: Other versions of R, such as "R-1.8.1" on Unix and "rw1081" on +Windows, are added to the +"ESS / Start Process / Other" menu. +
  • ESS[S]: If you have other versions of S-Plus on your Windows computer, +such as S-Plus 6.1 or S-Plus 4.5, ESS will find them and create appropriate +functions, such as M-x splus61, for calling the console version (Sqpe) +inside an emacs buffer. By default only +programs installed in the default location will be found, but see +ess-SHOME-versions for ways to find other versions of S-Plus. +
  • ESS[S]: Other versions of Sqpe on Windows, such as "splus61", +are added to the +"ESS / Start Process / Other" menu. +
  • ESS[R]: (bug fix) ess-quit (bound to C-c C-q) should now quit the +inferior R process, when issued from either the inferior buffer, or from +a .R buffer. +
+ +

Changes/New Features in 5.2.1: +

    +
  • ESS[S] (R and S-plus): now have toolbar support +with icons to evaluate code in the inferior process or to switch +there. This code is experimental and likely to change as XEmacs/Emacs +issues get resolved. The toolbar should be enabled if your Emacs +displays images, but can be disabled with the variable ess-use-toolbar. +Thanks to David Smith from Insightful for the S-plus logo. +
  • ESS[SAS]: ess-sas-graph-view (F12) enhanced; you can specify +external file viewers for each graphics file type via the alist +ess-sas-graph-view-viewer-alist; also .jpg/.gif are now handled +by image-mode on XEmacs, if available, otherwise by graphics +primitives as before +
+ +

Changes/New Features in 5.2.0: +

    +
  • ESS[BUGS]: new info documentation! now supports interactive +processing thanks to Aki Vehtari; +new architecture-independent unix support as well as support for BUGS v. 0.5 +
  • ESS[SAS]: convert .log to .sas with ess-sas-transcript; +info documentation improved; Local Variable bug fixes; +SAS/IML statements/functions now highlighted; files edited +remotely by ange-ftp/EFS/tramp are recognized and pressing +SUBMIT opens a buffer on the remote host via the local variable +ess-sas-shell-buffer-remote-init which defaults to "ssh"; +changed the definition of the variable ess-sas-edit-keys-toggle +to boolean rather than 0/1; added the function ess-electric-run-semicolon +which automatically reverse indents lines containing only "run;"; +C-F1 creates MS RTF portrait from the current buffer; +C-F2 creates MS RTF landscape from the current buffer; +C-F9 opens a SAS DATASET with PROC INSIGHT rather than PROC FSVIEW; +"inferior" aliases for SAS batch: C-c C-r for submit region, +C-c C-b for submit buffer, C-c C-x for goto .log; C-c C-y for goto .lst +
  • ESS[S]: Pressing underscore ("_") once inserts " <- " (as before); +pressing underscore twice inserts a literal underscore. To stop this +smart behaviour, add "(ess-toggle-underscore nil)" to your .emacs after +ess-site has been loaded; +ess-dump-filename-template-proto (new name!) now can be +customized successfully (for S language dialects); +Support for Imenu has been improved; set ess-imenu-use-S to non-nil to +get an "Imenu-S" item on your menubar; +ess-help: Now using nice underlines (instead of ‘nuke-* ^H_’) +
  • ESS[R]: After (require ’essa-r), M-x ess-r-var allows to load +numbers from any Emacs buffer into an existing *R* process; +M-x ess-rdired gives a “directory editor” of R objects; +fixed ess-retr-lastvalue-command, i.e. .Last.value bug +(thanks to David Brahm) +
  • ESS: Support for creating new window frames has been added to +ESS. Inferior ESS processes can be created in dedicated frames by +setting inferior-ess-own-frame to t. ESS help buffers can also open in +new frames; see the documentation for ess-help-own-frame for details. +(Thanks to Kevin Rodgers for contributing code.) +
+ +

Changes/New Features in 5.1.24: +

    +
  • The version number is now correct even inside ESS/Emacs +
+ +

Changes/New Features in 5.1.23: +

    +
  • Minor more Makefile clean up. +
+ +

Changes/New Features in 5.1.22: +

    +
  • Besides info documentation, PDF and HTML +documentation are also provided (instead of built using "make") and available +on the web as well; see ESS web page and StatLib +
  • Now that info documentation is available, the +README.* files are no longer supported. However, they +are still distributed for what it’s worth. +
  • ESS is now an XEmacs package! See +XEmacs Installation HOWTO +for details (specifically, items 10-15). +
  • ESS[SAS]: more user-friendly enhancements for remote +SAS batch jobs with Kermit file transfers (LOG and OUTPUT +function key features now supported). Multiple shells +now supported so you can run SAS on different computers +from different buffers by setting the buffer-local variable +ess-sas-shell-buffer to unique buffer names. +
  • Major re-vamping of Makefile/Makeconf. +
+ +

Changes/New Features in 5.1.21: +

    +
  • ESS[SAS]: info documentation now available!, see +ESS->Help for SAS; F12 opens GSASFILE nearest point for viewing +either within emacs, when available, or via an external viewer; +more syntax highlighting keywords; more enhancements for remote +SAS batch jobs with Kermit; new framework for remote SAS interactive +jobs, see ess-remote +
  • ESS[S]: info documentation now available!, see +ESS->Help for the S family +
  • Makefile: tag now independent of rel; info files +made by doc/Makefile and installed in new info sub-directory +
+ +

Changes/New Features in 5.1.20: +

    +
  • New ‘options()$STERM’ in the S dialects (S, S-Plus, R). +The S program can determine the environment in which it is +currently running. ESS sets the option to ‘iESS’ or ‘ddeESS’ +when it starts an S language process. We recommend other specific +values for S language processes that ESS does not start. +
  • New ‘ess-mouse-me’ function, assigned to S-mouse-3 by default. +User may click on a word or region and then choose from the +menu to display the item, or a summary, or a plot, etc. +This feature is still under development. +
  • GNU Emacs 21.1 is now supported (fixed for S dialects, SAS & BUGS), +(some from Stephen Eglen). +
  • XEmacs 21.x is now supported (fixed w32-using-nt bug) +
  • XEmacs on Win (NT) is better supported. +
  • Workaround for bug in Sqpe+6 (S-PLUS 6 for Win). +
  • should now work even when imenu is not available (for old XEmacsen). +
  • ESS[SAS]: XEmacs-Imenu fix; C-TAB is globalized along with your +function-key definitions, if specified; you can specify your SAS +library definitions outside of autoexec.sas for ess-sas-data-view +with SAS code placed in the variable ess-sas-data-view-libname, +also the dataset name is defaulted to the nearest permanent dataset +to point; Speedbar support now works for permanent datasets, please +ignore first./last.; new font-locking is now the default with more +improvements for font-locking PROCs, macro statements, * ; and %* ; +comments; you can toggle sas-log-mode with F10 which will font-lock +your .log (if it isn’t too big); submit remote .sas files accessed +with ange-ftp, EFS or Tramp (Kermit is experimental) by setting +ess-sas-submit-method to ’sh; ess-sas-submit-command and +ess-sas-submit-command-options are buffer-local so you can have +local file variable sections at the end of your .sas files to +request different executables or specify special options and the +local file variables are re-read at submit instead of only at file +open so that if you make a change it is picked up immediately; +
  • ESS[BUGS]: font-lock with ‘in’ fixed. +
  • for STATA: font-lock bug fixed. +
  • for Rd mode: C-c C-v and ‘switch-process’ in menu. +further, C-c C-f prefix (Rd-font) for inserting or surrounding a word +by things such as \code{.}, \code{\link{.}}, \emph{.} etc. +
  • new functions (ess-directory-function) and (ess-narrow-to-defun) +ess-directory <-> default-directory logic (Jeff Mincy). +
  • Re-organized Makefile and fixed a few bugs. +
+ +

Changes/New Features in 5.1.19: +

    +
  • S+6 now supported (Tony Rossini (Unix) and Rich Heiberger (Windows)) +
  • New BUGS support through ESS[BUGS] mode (Rodney Sparapani) +Templates assist you in writing .bug and .cmd code (.cmd and .log +are replaced by .bmd and .bog to avoid emacs extension collisions). +Substitution" parameters facilitate "automagic" generation of +data...in" and "init...in" filenames, "const N=" from your data +file and "monitor()/stats()" commands. Activated by pressing F12. +
  • Fixes for ‘ess-smart-underscore’ SAS breakage (Rich Heiberger) +
  • You can change between PC and Unix, local and global SAS function-key +definitions interactively (Rich Heiberger) +
  • C-Submit a highlighted region to SAS batch (Rodney Sparapani) +
  • New and improved SAS syntax highlighting (Rodney Sparapani) +To get the new functionality, set ess-sas-run-make-regexp to nil. +Also available in .log files via F10. +
  • Open a permanent SAS dataset for viewing via F9 (Rodney Sparapani) +You must have the library defined in autoexec.sas for it to work. +
  • User-friendly defaults for ‘sas-program’, ‘ess-sas-batch-pre-command’ +and ‘ess-sas-batch-post-command’ as well Customize support for these +and other ESS[SAS] variables (Rodney Sparapani) +
  • ‘ess-sas-suffix-2’ now defaults to .dat via F11 (Rodney Sparapani) +
  • Emacs/XEmacs, Unix/Windows issues collectively handled in ess-emcs.el +
  • defadvice solves problem of missing *ESS* (thanks to Jeff Mincy) +
  • Improved manual a bit by including things that were only in ‘README’. +
+ +

Changes/New Features in 5.1.18: +

    +
  • New ‘ess-smart-underscore’ function, now assigned to "_" by default. +Inserts ‘ess-S-assign’ (customizable " <- "), unless inside string +and comments where plain "_" is used instead. (MM) +
  • Fixes for longstanding interactive SAS breakage (RMH) +
+ +

Changes/New Features in 5.1.17: +

    +
  • Documentation for Windows Installation (Rich Heiberger) +
  • removal of ess-vars, finalization of customize support (in the +sense that there is no more use of ess-vars, but that we need to +fix ess-cust) (AJ Rossini) +
  • Many small (and large) fixes/contributions (MMaechler) +
  • addition of the "S-equal" variable and provide M-x ess-add-MM-keys +a way to remap "_" to ‘ess-S-assign’, typically " <- ", but +customizable. (MMaechler) +
+ +

Changes/New Features in 5.1.16: +

    +
  • BUG FIXES +
  • Better SAS support +
+ +

Changes/New Features in 5.1.15: +

    +
  • BUG FIXES +
+ +

Changes/New Features in 5.1.14: +

    +
  • Yet more fixes to SAS mode, (Rich Heiberger and Rodney Sparapani) +
  • Customize support (for most Emacsen which support it) (AJRossini) +
  • ARC and ViSta support out of the box, and fixes for XLispStat (AJRossini) +
+ +

Changes/New Features in 5.1.13: +

    +
  • Version numbering finally all depending on the ./VERSION file, +thanks to Martin Maechler. +
  • Yet more fixes to SAS mode, thanks to Rich Heiberger. +
+ +

Changes/New Features in 5.1.12: +

    +
  • Splus 5.1 stabilized, thanks to Martin Maechler, Bill Venables, +Chuck Taylor, and others. +
  • More fixes to SAS mode, thanks to Rodney Sparapani +and Rich Heiberger. +
+ +

Changes/New Features in 5.1.11: +

    +
  • More fixes to Stata mode, thanks to +Brendan Halpin. +
  • fixed bugs in ESS-elsewhere, thanks to many testers +
  • README.SPLUS4WIN has DETAILED instructions for S-PLUS 2000, thanks +to David Brahm. +
  • Fixes to SAS mode, thanks to Rodney Sparapani +
+ +

Changes/New Features in 5.1.10: +

    +
  • More fixes to Stata mode +
  • primitive generic version of ESS-elsewhere +
  • Small fixes to SAS/Stata. +
+ +

Changes/New Features in 5.1.9: +

    +
  • Stata mode works +
  • Literate Data Analysis using Noweb works +
+ +

Changes/New Features in 5.1.8: +

    +
  • Bug fixes +
  • R documentation mode defaults changed +
+ +

Changes/New Features in 5.1.2: +

    +
  • able to use inferior iESS mode to +communicate directly with a running S-Plus 4.x process using the +Microsoft DDE protocol. We use the familiar (from Unix ESS) C-c C-n +and related key sequences to send lines from the S-mode file to the +inferior S process. We continue to edit S input files in ESS[S] mode +and transcripts of previous S sessions in ESS Transcript mode. All +three modes know the S language, syntax, and indentation patterns and +provide the syntactic highlighting that eases the programming tasks. +
+ + + + + + + diff -Nru ess-18.10-1/doc/html/readme.html ess-18.10.2/doc/html/readme.html --- ess-18.10-1/doc/html/readme.html 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/html/readme.html 2018-11-10 09:41:26.000000000 +0000 @@ -0,0 +1,1010 @@ + + + + + +ESS - Emacs Speaks Statistics + + + + + + + + + + + + + +

ESS - Emacs Speaks Statistics

+ + + + + + + + + + + + + + + + +
+

+  

+
+ +

1 General Information: README

+ + +

This is the README file for the distribution of ESS version +18.10.2 +

+

ESS is a GNU Emacs and XEmacs mode for interactive statistical +programming and data analysis. Languages supported: the S family (S, +S-PLUS and R), SAS, BUGS/JAGS and Stata. ESS grew out of the +desire for bug fixes and extensions to S-mode and SAS-mode as well as a +consistent union of their features in one package. +

+

Installation instructions are provided in sections for both Unix and +Windows; see below. +

+

The current development team is led by Martin Maechler since August +2004. Former project leader A.J. (Tony) Rossini +(rossini@blindglobe.net) did the initial port to XEmacs and has +been the primary coder. Martin Maechler +(maechler@stat.math.ethz.ch) and Kurt Hornik +(Kurt.Hornik@R-project.org) have assisted with the S family and +XLispStat. Stephen Eglen (stephen@gnu.org) has worked mostly +on R support. Richard M. Heiberger (rmh@temple.edu) has +assisted with S/S-PLUS development for Windows. Richard and Rodney +A. Sparapani (rsparapa@mcw.edu) have done much of the work +improving SAS batch and interactive support. Rodney has also +extended ESS to support BUGS/JAGS and has an interest in improving +Stata support. +

+

We are grateful to the previous developers of S-mode (Doug Bates, Ed Kademan, +Frank Ritter, David M. Smith), SAS-mode (Tom Cook) and Stata-mode (Thomas +Lumley). +

+ + + + + + + + + + + + +
+ + + +

1.1 License

+ +

The source and documentation of ESS is free software. +You can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. +

+

ESS is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +in the file COPYING in the same directory as this file for more +details. +

+
+ +
+

+Next: , Previous: , Up: General Information  

+
+ +

1.2 Installation

+

ESS supports GNU Emacs versions 24.3 and newer. +

+

ESS is most likely to work with current/recent versions of the following +statistical packages: R/S-PLUS, SAS, Stata, OpenBUGS and JAGS. +

+

To build the PDF documentation, you will need a version of TeX Live or +texinfo that includes texi2dvi. +

+

There are two main methods used for installing ESS. You may install from +a third-party repository or from source code. Once you install it, you +must also activate or load ESS in each Emacs session, though +installation from a third-party repository likely takes care of that for +you. See Activating and Loading ESS for more details. +

+ + + + + + + +
+ +
+

+Next:  

+
+ +

1.3 Installing from a third-party repository

+ +

ESS is packaged by many third party repositories. Many GNU/Linux +distributions package it, usually with the name “emacs-ess” or +similar. +

+

ESS is also available through Milkypostman’s Emacs Lisp Package Archive +(MELPA), a popular repository for Emacs packages. Instructions on how to +do so are found on MELPA’s website. MELPA +also hosts MELPA-stable with stable ESS builds. You may choose between +MELPA with the latest and greatest features (and bugs) or MELPA-stable, +which may lag a bit behind but should be more stable. +

+

After installing, users should make sure ESS is activated or loaded in +each Emacs session. See Activating and Loading ESS. Depending on +install method, this may be taken care of automatically. +

+
+ + + +

1.4 Installing from source

+ +

Stable versions of ESS are available at the +ESS web page as a .tgz file or .zip +file. ESS releases are GPG-signed, you should check the signature by +downloading the accompanying .sig file and doing: +

+
+
gpg --verify ess-18.10.tgz.sig
+
+ +

Alternatively, you may download the git repository. ESS is currently +hosted on Github: https://github.com/emacs-ess/ESS. git +clone https://github.com/emacs-ess/ESS.git will download it to a new +directory ESS in the current working directory. +

+

We will refer to the location of the ESS source files as +/path/to/ESS/ hereafter. +

+

After installing, users should make sure they activate or load ESS in +each Emacs session, see Activating and Loading ESS +

+

Optionally, compile elisp files, build the documentation, and the +autoloads: +

+
cd /path/to/ESS/
+make
+
+

Without this step the documentation, reference card, and autoloads +will not be available. Uncompiled ESS will also run slower. +

+

Optionally, you may make ESS available to all users of a machine by +installing it site-wide. To do so, run make install. You might +need administrative privileges: +

+
+
make install
+
+ +

The files are installed into /usr/share/emacs directory. For this step to +run correctly on macOS, you will need to adjust the PREFIX +path in Makeconf. The necessary code and instructions are +commented in that file. +

+
+ +
+

+Next: , Previous:  

+
+ +

1.5 Activating and Loading ESS

+ +

After installing ESS, you must activate or load it each Emacs session. +ESS can be autoloaded, and if you used a third-party repository (such as +your Linux distribution or MELPA) to install, you can likely skip this +section and proceed directly to Check Installation +

+

Otherwise, you may need to add the path to ESS to load-path with: +

+
+
(add-to-list 'load-path "/path/to/ESS/lisp")
+
+ +

You then need to decide whether to take advantage of deferred loading +(which will result in a faster Emacs startup time) or require ESS when +Emacs is loaded. To autoload ESS when needed (note that if installed +from source, you must have run make): +

+
+
(load "ess-autoloads")
+
+ +

To require ESS on startup, you can either put +

+
+
(require 'ess-site)
+
+ +

or +

+
+
(require 'ess-r-mode)
+
+ +

In your configuration file, depending on whether you want all ESS +features or only R related features. +

+
+ +
+

+Previous:  

+
+ +

1.6 Check Installation

+

Restart Emacs and check that ESS was loaded from a correct +location with M-x ess-version. +

+ +
+ +
+

+Next: , Previous: , Up: General Information  

+
+ +

1.7 Starting an ESS process

+

To start an S session on Unix or on Windows when you +use the Cygwin bash shell, simply type M-x S RET. +

+

To start an S session on Windows when you +use the MSDOS prompt shell, simply type M-x S+6-msdos RET. +

+
+ +
+

+Next: , Previous: , Up: General Information  

+
+ +

1.8 Current Features

+ +
    +
  • Languages Supported: +
      +
    • S family (R, S, and S+ AKA S-PLUS) +
    • SAS +
    • BUGS/JAGS +
    • Stata +
    • Julia +
    +
  • Editing source code (S family, SAS, BUGS/JAGS, Stata, Julia) +
      +
    • Syntactic indentation and highlighting of source code +
    • Partial evaluation of code +
    • Loading and error-checking of code +
    • Source code revision maintenance +
    • Batch execution (SAS, BUGS/JAGS) +
    • Use of imenu to provide links to appropriate functions +
    +
  • Interacting with the process (S family, SAS, Stata, Julia) +
      +
    • Command-line editing +
    • Searchable Command history +
    • Command-line completion of S family object names and file names +
    • Quick access to object lists and search lists +
    • Transcript recording +
    • Interface to the help system +
    +
  • Transcript manipulation (S family, Stata) +
      +
    • Recording and saving transcript files +
    • Manipulating and editing saved transcripts +
    • Re-evaluating commands from transcript files +
    +
  • Interaction with Help Pages and other Documentation (R) +
      +
    • Fast Navigation +
    • Sending Examples to running ESS process. +
    • Fast Transfer to Further Help Pages +
    +
  • Help File Editing (R) +
      +
    • Syntactic indentation and highlighting of source code. +
    • Sending Examples to running ESS process. +
    • Previewing +
    +
+ + +
+ +
+

+Next: , Previous: , Up: General Information  

+
+ +

1.9 New Features

+ + +

Bug Fixes in 18.10.2: +

    +
  • ESS[R] Fix namespace evaluation in non-installed packages. +Evaluation is directed into GlobalEnv as originally intended. +
  • Makefile fixes, notably for make install and including +full docs in the tarballs. +
+ +

Bug Fixes in 18.10-1: +

    +
  • New functions ess-eval-line-visibly-and-step (C-c C-n and ess-eval-region-or-line-visibly-and-step (C-RET) +which behave as the old versions of ess-eval-line-and-step and ess-eval-region-or-line-and-step. +
+ +

Changes and New Features in 18.10: +

    +
  • This is the last release to support Emacs older than 25.1. +Going forward, only GNU Emacs 25.1 and newer will be supported. Soon +after this release, support for older Emacs versions will be dropped +from the git master branch. Note that MELPA uses the git master branch +to produce ESS snapshots, so if you are using Emacs < 25.1 from MELPA +and are unable to upgrade, you should switch to MELPA-stable. + +
  • ESS now displays the language dialect in the mode-line. +So, for example, R buffers will now show ESS[R] rather than ESS[S]. + +
  • The ESS manual has been updated and revised. + +
  • The ESS initialization process has been further streamlined. +If you update the autoloads (which installation from +package-install does), you should not need to (require +'ess-site) at all, as autoloads should automatically load ESS when it +is needed (e.g. the first time an R buffer is opened). In order to +defer loading your ESS config, you may want to do something like +(with-require-after-load "ess" <ess-config-here>) in your Emacs +init file. Users of the popular use-package Emacs package can +now do (use-package ess :defer t) to take advantage of this +behavior. See (ess)Activating and Loading ESS for more +information on this feature. + +
  • ESS now respects Emacs conventions for keybindings. +This means that The C-c [letter] bindings have been +removed. This affects C-c h, which was bound to +ess-eval-line-and-step-invisibly in sas-mode-local-map; +C-c f, which was bound to ess-insert-function-outline in +ess-add-MM-keys; and C-c h, which was bound to +ess-handy-commands in Rd-mode-map, +ess-noweb-minor-mode-map, and ess-help-mode-map + +
  • Functions ess-eval-line-and-step and ess-eval-region-or-line-and-step +now behave consistently with other evaluation function inside a package. + +
  • ESS[R]: ess-r-package-use-dir now works with any mode. +This sets the working directory to the root of the current package +including for example C or C++ files within /src). + +
  • ESS[R]: Long + + prompts in the inferior no longer offset output. + +
  • ESS[R]: New option strip for inferior-ess-replace-long+. +This strips the entire + + sequence. + +
  • ESS modes now inherit from prog-mode. +In the next release, ESS modes will use define-derived-mode so +that each mode will have (for example) its own hooks and keymaps. + +
  • ESS[R]: Supports flymake in R buffers for Emacs 26 and newer. +Users need to install the lintr package to use it. Customizable +options include ess-use-flymake, ess-r-flymake-linters, +and ess-r-flymake-lintr-cache. + +
  • ESS[R]: Gained support for xref in Emacs 25+. +See Xref in The Gnu Emacs Reference Manual + +
  • ESS[R]: The startup screen is cleaner. +It also displays the startup directory with an explicit setwd(). + +
  • ESS[R]: Changing the working directory is now always reflected in the process buffer. + +
  • ESS[R]: Makevars files open with makefile-mode. + +
  • New variable ess-write-to-dribble. +This allows users to disable the dribble (*ESS*) buffer if they wish. + +
  • All of the *-program-name variables have been renamed to *-program. +Users who previously customized e.g. inferior-ess-R-program-name +will need to update their customization to +inferior-ess-R-program. These variables are treated as risky +variables. + +
  • ess-smart-S-assign was renamed to ess-insert-assign. +It provides similar functionality but for any keybinding, not just ‘_‘. +For instance if you bind it to ‘;‘, repeated invokations cycle through +between assignment and inserting ‘;‘. + +
  • C-c C-= is now bound to ess-cycle-assign by default. +See the documentation for details. New user customization option +ess-assign-list controls which assignment operators are cycled. + +
  • ESS[R] In remote sessions, the ESSR package is now fetched from GitHub. + +
  • Commands that send the region to the inferior process now deal with rectangular regions. +See the documentation of ess-eval-region for details. This only +works on Emacs 25.1 and newer. + +
  • ESS[R]: Improvements to interacting with iESS in non-R files. +Interaction with inferior process in non-R files within packages (for +instance C or C++ files) has been improved. This is a work in +progress. + +
  • ESS[R]: Changing the working directory is now always reflected in the process buffer. + +
  • ESS[JAGS]: *.jog and *.jmd files no longer automatically open in JAGS mode. + +
+

Many improvements to fontification: +

+
    +
  • Improved customization for faces. +ESS now provides custom faces for (nearly) all faces used and places +face customization options into their own group. Users can customize +these options using M-x customize-group RET ess-faces. + +
  • Many new keywords were added to ess-R-keywords and ess-R-modifiers. +See the documentation for details. + +
  • ESS[R]: in is now only fontified when inside a for construct. +This avoids spurious fontification, especially in the output buffer +where ‘in‘ is a commond English word. + +
  • ESS: Font-lock keywords are now generated lazily. +That means you can now add or remove keywords from variables like +ess-R-keywords in your Emacs configuration file after loading +ESS (i.e. in the :config section for use-package users). + +
  • ESS[R]: Fontification of roxygen @param keywords now supports comma-separated parameters. + +
  • ESS[R]: Certain keywords are only fontified if followed by a parenthesis. +Function-like keywords such as if () or +stop() are no longer fontified as keyword if not followed by an +opening parenthesis. The same holds for search path modifiers like +library() or require(). + +
  • ESS[R]: Fixed fontification toggling. +Especially certain syntactic elements such as %op% operators +and backquoted function definitions. + +
  • ESS[R]: ess-font-lock-toggle-keyword can be called interactively. +This command asks with completion for a font-lock group to toggle. +This functionality is equivalent to the font-lock menu. + +
+ +

Notable bug fixes: +

+
    +
  • prettify-symbols-mode no longer breaks indentation. +This is accomplished by having the pretty symbols occupy the same +number of characters as their non-pretty cousins. You may customize +the new variable ess-r-prettify-symbols to control this +behavior. + +
  • ESS: Inferior process buffers are now always displayed on startup. +Additionally, they don’t hang Emacs on failures. +
+ +

Obsolete libraries, functions, and variables: +

+
    +
  • The ess-r-args.el library has been obsoleted and will be removed in the next release. +Use eldoc-mode instead, which is on by default. + +
  • Functions and options dealing with the smart assign key are obsolete. +The following functions have been made obsolete and will be removed in +the next release of ESS: ess-smart-S-assign, +ess-toggle-S-assign, ess-toggle-S-assign-key, +ess-disable-smart-S-assign. + +

    The variable ess-smart-S-assign-key is now deprecated and will +be removed in the next release. If you would like to continue using +‘_‘ for insterting assign in future releases, please bind +ess-insert-assign in ess-mode-map the normal way. +

    +
  • ESS[S]: Variable ess-s-versions-list is obsolete and ignored. +Use ess-s-versions instead. You may pass arguments by starting +the inferior process with the universal argument. + +
+ +

Changes and New Features in 17.11: +

    +
  • The ESS initialisation process has been streamlined. You can now +load the R and Stata modes independently from the rest of ESS. Just put +(require 'ess-r-mode) or (require 'ess-stata-mode) in your +init file. This is for experienced Emacs users as this requires setting +up autoloads for .R files manually. We will keep maintaining +ess-site for easy loading of all ESS features. + +
  • Reloading and quitting the process is now more robust. If no +process is attached, ESS now switches automatically to one (prompting +you for selection if there are several running). Reloading and quitting +will now work during a debug session or when R is prompting for input +(for instance after a crash). Finally, the window configuration is saved +and restored after reloading to prevent the buffer of the new process +from capturing the cursor. + +
  • ESS[R]: New command ess-r-package-use-dir. It sets the +working directory of the current process to the current package directory. + +
  • ESS[R] Lookup for references in inferior buffers has been +improved. New variable ess-r-package-source-roots contains +package sub-directories which are searched recursively during the file +lookup point. Directories in ess-tracebug-search-path are now +also searched recursively. + +
  • ESS[R] Namespaced evaluation is now automatically enabled only +in the R/ directory. This way ESS will not attempt to update +function definitions from a package if you are working from e.g. a test +file. + +
+ + +

Changes and New Features in 16.10: +

    +
  • ESS[R]: Syntax highlighting is now more consistent. Backquoted +names are not fontified as strings (since they really are identifiers). +Furthermore they are now correctly recognised when they are function +definitions or function calls. +
  • ESS[R]: Backquoted names and %op% operators are +recognised as sexp. This is useful for code navigation, e.g. with +C-M-f and C-M-b. +
  • ESS[R]: Integration of outline mode with roxygen examples fields. +You can use outline mode’s code folding commands to fold the examples +field. This is especially nice to use with well documented packages with +long examples set. Set ess-roxy-fold-examples to non-nil to +automatically fold the examples field when you open a buffer. +
  • ESS[R]: New experimental feature: syntax highlighting in +roxygen examples fields. This is turned off by default. Set +ess-roxy-fontify-examples to non-nil to try it out. +
  • ESS[R]: New package development command ess-r-devtools-ask +bound to C-c C-w C-a. It asks with completion for any devtools +command that takes pkg as argument. +
  • ESS[R]: New command C-c C-e C-r to reload the inferior process. +Currently only implemented for R. The R method runs inferior-ess-r-reload-hook +on reloading. +
  • ESS[R]: ess-r-package-mode is now activated in non-file buffers as well. +
+ +

Bug fixes in 16.10: +

    +
  • ESS[R]: Fix broken (un)flagging for debugging inside packages +
  • ESS[R]: Fixes (and improvements) in Package development +
  • ESS[R]: Completion no longer produces ...= inside list( ). +
  • ESS[R]: Better debugging and tracing in packages. +
  • ESS[R]: Better detection of symbols at point. +
  • ESS[R]: No more spurious warnings on deletion of temporary files. +
  • ESS[julia]: help and completion work (better) +
  • ESS[julia]: available via ess-remote +
+ +

Changes and New Features in 16.04: +

    +
  • ESS[R]: developer functionality has been refactored. +The new user interface consists of a single command +ess-r-set-evaluation-env bound by default to C-c C-t +C-s. Once an evaluation environment has been set with, all subsequent +ESS evaluation will source the code into that environment. By default, +for file within R packages the evaluation environment is set to the +package environment. Set ess-r-package-auto-set-evaluation-env to +nil to disable this. +
  • ESS[R]: New ess-r-package-mode +This development mode provides features to make package development +easier. Currently, most of the commands are based on the devtools +packages and are accessible with C-c C-w prefix. See the +documentation of ess-r-package-mode function for all available +commands. With C-u prefix each command asks for extra arguments to +the underlying devtools function. This mode is automatically enabled in +all files within R packages and is indicated with [pkg:NAME] in +the mode-line. +
  • ESS[R]: Help lookup has been improved. +It is now possible to get help for namespaced objects such as +pkg::foobar. Furthermore, ESS recognizes more reliably when you change +options('html_type'). +
  • ESS[R]: New specialized breakpoints for debugging magrittr pipes +
  • ESS: ESS now implements a simple message passing interface +to communicate between ESS and inferior process. +
+ +

Bug fixes in 16.04: +

    +
  • ESS[R]: Roxygen blocks with backtics are now correctly filled +
  • ESS[R]: Don’t skip breakpoints in magrittr’s debug_pipe +
  • ESS[R]: Error highlighting now understands ‘testthat‘ type errors +
  • ESS[Julia]: Added getwd and setwd generic commands +
+ + + +
+ +
+

+Next: , Previous: , Up: General Information  

+
+ +

1.10 Reporting Bugs

+ +

Please send bug reports, suggestions etc. to +ESS-bugs@r-project.org, or post them on our +github issue tracker +

+

The easiest way to do this is within Emacs by typing +

+

M-x ess-submit-bug-report +

+

This also gives the maintainers valuable information about your +installation which may help us to identify or even fix the bug. +

+

If Emacs reports an error, backtraces can help us debug the problem. +Type "M-x set-variable RET debug-on-error RET t RET". Then run the +command that causes the error and you should see a *Backtrace* buffer +containing debug information; send us that buffer. +

+

Note that comments, suggestions, words of praise and large cash +donations are also more than welcome. +

+
+ +
+

+Next: , Previous: , Up: General Information  

+
+ +

1.11 Mailing Lists

+ + +

There is a mailing list for discussions and announcements relating to +ESS. Join the list by sending an e-mail with "subscribe ess-help" (or +"help") in the body to ess-help-request@r-project.org; +contributions to the list may be mailed to +ess-help@r-project.org. Rest assured, this is a fairly +low-volume mailing list. +

+

The purposes of the mailing list include +

+
    +
  • helping users of ESS to get along with it. +
  • discussing aspects of using ESS on Emacs and XEmacs. +
  • suggestions for improvements. +
  • announcements of new releases of ESS. +
  • posting small patches to ESS. +
+ +
+ +
+

+Previous: , Up: General Information  

+
+ +

1.12 Authors

+ + + +
+ + + + + diff -Nru ess-18.10-1/doc/info/ess.info ess-18.10.2/doc/info/ess.info --- ess-18.10-1/doc/info/ess.info 2018-10-23 16:37:16.000000000 +0000 +++ ess-18.10.2/doc/info/ess.info 2018-11-10 09:41:14.000000000 +0000 @@ -14,7 +14,7 @@ ESS: Emacs Speaks Statistics **************************** -ESS version 18.10-1 +ESS version 18.10.2 by A.J. Rossini, R.M. Heiberger, @@ -249,8 +249,13 @@ 1.2 New features in ESS ======================= -Changes and New Features in 18.10-1: +Bug Fixes in 18.10.2: + * ESS[R] Fix namespace evaluation in non-installed packages. + Evaluation is directed into GlobalEnv as originally intended. + * 'Makefile' fixes, notably for 'make install' and including full + docs in the tarballs. + Bug Fixes in 18.10-1: * New functions 'ess-eval-line-visibly-and-step' ('C-c C-n' and 'ess-eval-region-or-line-visibly-and-step' ('C-RET') which behave as the old versions of 'ess-eval-line-and-step' and @@ -686,7 +691,7 @@ * Check Installation::  -File: ess.info, Node: Installing from a third-party repository, Next: Installing from source, Up: Installation +File: ess.info, Node: Installing from a third-party repository, Next: Installing from source 2.1 Installing from a third-party repository ============================================ @@ -706,7 +711,7 @@ Depending on install method, this may be taken care of automatically.  -File: ess.info, Node: Installing from source, Next: Activating and Loading ESS, Prev: Installing from a third-party repository, Up: Installation +File: ess.info, Node: Installing from source, Next: Activating and Loading ESS, Prev: Installing from a third-party repository 2.2 Installing from source ========================== @@ -748,7 +753,7 @@ in that file.  -File: ess.info, Node: Activating and Loading ESS, Next: Check Installation, Prev: Installing from source, Up: Installation +File: ess.info, Node: Activating and Loading ESS, Next: Check Installation, Prev: Installing from source 2.3 Activating and Loading ESS ============================== @@ -781,7 +786,7 @@ features or only R related features.  -File: ess.info, Node: Check Installation, Prev: Activating and Loading ESS, Up: Installation +File: ess.info, Node: Check Installation, Prev: Activating and Loading ESS 2.4 Check Installation ====================== @@ -2912,7 +2917,7 @@ environment. See also . - Ocasionally you want to evaluate into a package from a non-package + Occasionally you want to evaluate into a package from a non-package file, or the other way around, evaluate into 'GlobalEnv' from inside a package. In such cases 'C-c C-t C-s' is your friend. @@ -4796,104 +4801,104 @@ Node: Features5659 Node: Current Features6495 Node: New features9946 -Node: Credits23456 -Node: Manual27073 -Node: Installation29739 -Node: Installing from a third-party repository30676 -Node: Installing from source31642 -Node: Activating and Loading ESS33253 -Node: Check Installation34346 -Node: Interactive ESS34585 -Node: Starting up35399 -Node: Multiple ESS processes36143 -Node: ESS processes on Remote Computers37224 -Node: Customizing startup41327 -Node: Entering commands43944 -Node: Command-line editing45102 -Node: Transcript46335 -Node: Last command48104 -Node: Process buffer motion49530 -Node: Transcript resubmit51033 -Node: Saving transcripts52998 -Node: Command History54788 -Node: Saving History58197 -Node: History expansion58958 -Node: Hot keys62169 -Node: Statistical Process running in ESS?66239 -Node: Emacsclient67518 -Node: Other68310 -Node: Evaluating code69329 -Node: Transcript Mode73010 -Node: Resubmit74163 -Node: Clean75226 -Node: Editing objects76222 -Node: Edit buffer77340 -Node: Loading79386 -Node: Error Checking80413 -Node: Indenting81462 -Node: Styles84651 -Node: Other edit buffer commands87086 -Node: Source Files88742 -Node: Source Directories93346 -Node: Help96499 -Node: Completion100597 -Node: Object names100830 -Node: Function arguments103503 -Node: Minibuffer completion104042 -Node: Auto-complete104522 -Node: Company106069 -Node: Icicles106448 -Node: Developing with ESS107768 -Node: ESS tracebug108214 -Node: Getting started with tracebug111221 -Node: Editing documentation113379 -Node: R documentation files113929 -Node: Roxygen117856 -Node: Namespaced Evaluation122191 -Node: Extras124188 -Node: ESS ElDoc125212 -Node: ESS Flymake126708 -Node: Handy commands127802 -Node: Highlighting128999 -Node: Parens130034 -Node: Graphics130510 -Node: printer131181 -Node: X11131937 -Node: winjava132276 -Node: Imenu132688 -Node: Toolbar133535 -Node: Xref133943 -Node: Rdired134266 -Node: Rutils135320 -Node: Org137714 -Node: Sweave and AUCTeX138659 -Node: ESS for R140785 -Node: ESS(R)--Editing files141085 -Node: iESS(R)--Inferior ESS processes141604 -Node: Philosophies for using ESS(R)146353 -Node: Example ESS usage147280 -Node: ESS for SAS149501 -Node: ESS(SAS)--Design philosophy150224 -Node: ESS(SAS)--Editing files151177 -Node: ESS(SAS)--TAB key153031 -Node: ESS(SAS)--Batch SAS processes154397 -Node: ESS(SAS)--Function keys for batch processing159423 -Node: iESS(SAS)--Interactive SAS processes168909 -Node: iESS(SAS)--Common problems172663 -Node: ESS(SAS)--Graphics174187 -Node: ESS(SAS)--Windows174970 -Node: ESS for BUGS175548 -Node: ESS for JAGS177304 -Node: Mailing lists/bug reports180656 -Node: Bugs180920 -Node: Reporting Bugs182545 -Node: Mailing Lists183438 -Node: Help with Emacs184185 -Node: Customization184717 -Node: Indices185491 -Node: Key index185666 -Node: Function and program index190944 -Node: Variable index200583 -Node: Concept index204071 +Node: Credits23693 +Node: Manual27310 +Node: Installation29976 +Node: Installing from a third-party repository30913 +Node: Installing from source31860 +Node: Activating and Loading ESS33452 +Node: Check Installation34526 +Node: Interactive ESS34746 +Node: Starting up35560 +Node: Multiple ESS processes36304 +Node: ESS processes on Remote Computers37385 +Node: Customizing startup41488 +Node: Entering commands44105 +Node: Command-line editing45263 +Node: Transcript46496 +Node: Last command48265 +Node: Process buffer motion49691 +Node: Transcript resubmit51194 +Node: Saving transcripts53159 +Node: Command History54949 +Node: Saving History58358 +Node: History expansion59119 +Node: Hot keys62330 +Node: Statistical Process running in ESS?66400 +Node: Emacsclient67679 +Node: Other68471 +Node: Evaluating code69490 +Node: Transcript Mode73171 +Node: Resubmit74324 +Node: Clean75387 +Node: Editing objects76383 +Node: Edit buffer77501 +Node: Loading79547 +Node: Error Checking80574 +Node: Indenting81623 +Node: Styles84812 +Node: Other edit buffer commands87247 +Node: Source Files88903 +Node: Source Directories93507 +Node: Help96660 +Node: Completion100758 +Node: Object names100991 +Node: Function arguments103664 +Node: Minibuffer completion104203 +Node: Auto-complete104683 +Node: Company106230 +Node: Icicles106609 +Node: Developing with ESS107929 +Node: ESS tracebug108375 +Node: Getting started with tracebug111382 +Node: Editing documentation113540 +Node: R documentation files114090 +Node: Roxygen118017 +Node: Namespaced Evaluation122352 +Node: Extras124350 +Node: ESS ElDoc125374 +Node: ESS Flymake126870 +Node: Handy commands127964 +Node: Highlighting129161 +Node: Parens130196 +Node: Graphics130672 +Node: printer131343 +Node: X11132099 +Node: winjava132438 +Node: Imenu132850 +Node: Toolbar133697 +Node: Xref134105 +Node: Rdired134428 +Node: Rutils135482 +Node: Org137876 +Node: Sweave and AUCTeX138821 +Node: ESS for R140947 +Node: ESS(R)--Editing files141247 +Node: iESS(R)--Inferior ESS processes141766 +Node: Philosophies for using ESS(R)146515 +Node: Example ESS usage147442 +Node: ESS for SAS149663 +Node: ESS(SAS)--Design philosophy150386 +Node: ESS(SAS)--Editing files151339 +Node: ESS(SAS)--TAB key153193 +Node: ESS(SAS)--Batch SAS processes154559 +Node: ESS(SAS)--Function keys for batch processing159585 +Node: iESS(SAS)--Interactive SAS processes169071 +Node: iESS(SAS)--Common problems172825 +Node: ESS(SAS)--Graphics174349 +Node: ESS(SAS)--Windows175132 +Node: ESS for BUGS175710 +Node: ESS for JAGS177466 +Node: Mailing lists/bug reports180818 +Node: Bugs181082 +Node: Reporting Bugs182707 +Node: Mailing Lists183600 +Node: Help with Emacs184347 +Node: Customization184879 +Node: Indices185653 +Node: Key index185828 +Node: Function and program index191106 +Node: Variable index200745 +Node: Concept index204233  End Tag Table diff -Nru ess-18.10-1/doc/installation.texi ess-18.10.2/doc/installation.texi --- ess-18.10-1/doc/installation.texi 2018-10-23 16:37:12.000000000 +0000 +++ ess-18.10.2/doc/installation.texi 2018-11-10 09:41:10.000000000 +0000 @@ -13,7 +13,7 @@ * Check Installation:: @end menu -@node Installing from a third-party repository +@node Installing from a third-party repository, Installing from source @section Installing from a third-party repository ESS is packaged by many third party repositories. Many GNU/Linux @@ -31,7 +31,7 @@ each Emacs session. See @ref{Activating and Loading ESS}. Depending on install method, this may be taken care of automatically. -@node Installing from source +@node Installing from source, Activating and Loading ESS, Installing from a third-party repository @section Installing from source Stable versions of ESS are available at the @@ -76,7 +76,7 @@ path in @file{Makeconf}. The necessary code and instructions are commented in that file. -@node Activating and Loading ESS +@node Activating and Loading ESS, Check Installation, Installing from source @section Activating and Loading ESS After installing ESS, you must activate or load it each Emacs session. @@ -114,7 +114,7 @@ In your configuration file, depending on whether you want all ESS features or only R related features. -@node Check Installation +@node Check Installation, , Activating and Loading ESS @section Check Installation Restart Emacs and check that ESS was loaded from a correct location with @code{M-x ess-version}. diff -Nru ess-18.10-1/doc/newfeat.texi ess-18.10.2/doc/newfeat.texi --- ess-18.10-1/doc/newfeat.texi 2018-10-23 16:37:12.000000000 +0000 +++ ess-18.10.2/doc/newfeat.texi 2018-11-10 09:41:10.000000000 +0000 @@ -1,9 +1,16 @@ @comment @itemize @w{} @comment @item -Changes and New Features in 18.10-1: +Bug Fixes in 18.10.2: @itemize @bullet +@item @ESS{[R]} Fix namespace evaluation in non-installed packages. +Evaluation is directed into GlobalEnv as originally intended. +@item @file{Makefile} fixes, notably for @code{make install} and including +full docs in the tarballs. +@end itemize +Bug Fixes in 18.10-1: +@itemize @bullet @item New functions @code{ess-eval-line-visibly-and-step} (@kbd{C-c C-n} and @code{ess-eval-region-or-line-visibly-and-step} (@kbd{C-RET}) which behave as the old versions of @code{ess-eval-line-and-step} and @code{ess-eval-region-or-line-and-step}. @end itemize diff -Nru ess-18.10-1/doc/readme.aux ess-18.10.2/doc/readme.aux --- ess-18.10-1/doc/readme.aux 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/readme.aux 2018-11-10 09:41:24.000000000 +0000 @@ -0,0 +1,39 @@ +@xrdef{General Information-title}{General Information: README} +@xrdef{General Information-snt}{Chapter@tie 1} +@xrdef{License-title}{License} +@xrdef{License-snt}{Section@tie 1.1} +@xrdef{Installation-title}{Installation} +@xrdef{Installation-snt}{Section@tie 1.2} +@xrdef{Installing from a third-party repository-title}{Installing from a third-party repository} +@xrdef{Installing from a third-party repository-snt}{Section@tie 1.3} +@xrdef{General Information-pg}{1} +@xrdef{License-pg}{1} +@xrdef{Installation-pg}{1} +@xrdef{Installing from source-title}{Installing from source} +@xrdef{Installing from source-snt}{Section@tie 1.4} +@xrdef{Activating and Loading ESS-title}{Activating and Loading ESS} +@xrdef{Activating and Loading ESS-snt}{Section@tie 1.5} +@xrdef{Installing from a third-party repository-pg}{2} +@xrdef{Installing from source-pg}{2} +@xrdef{Activating and Loading ESS-pg}{2} +@xrdef{Check Installation-title}{Check Installation} +@xrdef{Check Installation-snt}{Section@tie 1.6} +@xrdef{Starting up-title}{Starting an ESS process} +@xrdef{Starting up-snt}{Section@tie 1.7} +@xrdef{Current Features-title}{Current Features} +@xrdef{Current Features-snt}{Section@tie 1.8} +@xrdef{Check Installation-pg}{3} +@xrdef{Starting up-pg}{3} +@xrdef{Current Features-pg}{3} +@xrdef{New Features-title}{New Features} +@xrdef{New Features-snt}{Section@tie 1.9} +@xrdef{New Features-pg}{4} +@xrdef{Reporting Bugs-title}{Reporting Bugs} +@xrdef{Reporting Bugs-snt}{Section@tie 1.10} +@xrdef{Reporting Bugs-pg}{8} +@xrdef{Mailing Lists-title}{Mailing Lists} +@xrdef{Mailing Lists-snt}{Section@tie 1.11} +@xrdef{Authors-title}{Authors} +@xrdef{Authors-snt}{Section@tie 1.12} +@xrdef{Mailing Lists-pg}{9} +@xrdef{Authors-pg}{9} diff -Nru ess-18.10-1/doc/readme.cp ess-18.10.2/doc/readme.cp --- ess-18.10-1/doc/readme.cp 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/readme.cp 2018-11-10 09:41:24.000000000 +0000 @@ -0,0 +1 @@ +\entry{README}{1}{README} diff -Nru ess-18.10-1/doc/readme.cps ess-18.10.2/doc/readme.cps --- ess-18.10-1/doc/readme.cps 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/readme.cps 2018-11-10 09:41:23.000000000 +0000 @@ -0,0 +1 @@ +\entry {README}{1} diff -Nru ess-18.10-1/doc/readme.log ess-18.10.2/doc/readme.log --- ess-18.10-1/doc/readme.log 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/readme.log 2018-11-10 09:41:24.000000000 +0000 @@ -0,0 +1,280 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) (preloaded format=pdfetex 2018.9.16) 10 NOV 2018 10:41 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**\input ./readme.texi +(./readme.texi +(/hg/s/linux/rhel3_amd64/app/teTeX/06.17/texmf-dist/tex/texinfo/texinfo.tex +Loading texinfo [version 2016-09-18.18]: +\outerhsize=\dimen16 +\outervsize=\dimen17 +\cornerlong=\dimen18 +\cornerthick=\dimen19 +\topandbottommargin=\dimen20 +\bindingoffset=\dimen21 +\normaloffset=\dimen22 +\txipagewidth=\dimen23 +\txipageheight=\dimen24 +\headlinebox=\box16 +\footlinebox=\box17 +\margin=\insert252 +\EMsimple=\toks13 +\groupbox=\box18 +\groupinvalidhelp=\toks14 +\mil=\dimen25 +\exdentamount=\skip18 +\inmarginspacing=\skip19 +\centerpenalty=\count27 + pdf, +\tempnum=\count28 +\lnkcount=\count29 +\filename=\toks15 +\filenamelength=\count30 +\pgn=\count31 +\toksA=\toks16 +\toksB=\toks17 +\toksC=\toks18 +\toksD=\toks19 +\boxA=\box19 +\boxB=\box20 +\countA=\count32 +\nopdfimagehelp=\toks20 + fonts, +\textleading=\dimen26 +\sffam=\fam8 + markup, +\fontdepth=\count33 + glyphs, +\errorbox=\box21 + +page headings, +\titlepagetopglue=\skip20 +\titlepagebottomglue=\skip21 +\evenheadline=\toks21 +\oddheadline=\toks22 +\evenfootline=\toks23 +\oddfootline=\toks24 + tables, +\tableindent=\dimen27 +\itemindent=\dimen28 +\itemmargin=\dimen29 +\itemmax=\dimen30 +\itemno=\count34 +\multitableparskip=\skip22 +\multitableparindent=\skip23 +\multitablecolspace=\dimen31 +\multitablelinespace=\skip24 +\colcount=\count35 +\everytab=\toks25 + conditionals, +\doignorecount=\count36 + indexing, +\dummybox=\box22 +\whatsitskip=\skip25 +\whatsitpenalty=\count37 +\entryrightmargin=\dimen32 +\thinshrinkable=\skip26 +\entryindexbox=\box23 +\delayedbox=\box24 +\interbox=\box25 +\secondaryindent=\skip27 +\partialpage=\box26 +\doublecolumnhsize=\dimen33 +\savedtopmark=\toks26 +\savedfirstmark=\toks27 +\balancedcolumns=\box27 + sectioning, +\unnumberedno=\count38 +\chapno=\count39 +\secno=\count40 +\subsecno=\count41 +\subsubsecno=\count42 +\appendixno=\count43 +\absseclevel=\count44 +\secbase=\count45 +\chapheadingskip=\skip28 +\secheadingskip=\skip29 +\subsecheadingskip=\skip30 + toc, +\tocfile=\write0 +\contentsrightmargin=\skip31 +\savepageno=\count46 +\lastnegativepageno=\count47 +\tocindent=\dimen34 + environments, +\lispnarrowing=\skip32 +\envskipamount=\skip33 +\circthick=\dimen35 +\cartouter=\dimen36 +\cartinner=\dimen37 +\normbskip=\skip34 +\normpskip=\skip35 +\normlskip=\skip36 +\lskip=\skip37 +\rskip=\skip38 +\nonfillparindent=\dimen38 +\tabw=\dimen39 +\verbbox=\box28 + +defuns, +\defbodyindent=\skip39 +\defargsindent=\skip40 +\deflastargmargin=\skip41 +\defunpenalty=\count48 +\parencount=\count49 +\brackcount=\count50 + macros, +\savedcatcodeone=\count51 +\savedcatcodetwo=\count52 +\paramno=\count53 +\macname=\toks28 + cross references, +\auxfile=\write1 +\savesfregister=\count54 +\toprefbox=\box29 +\printedrefnamebox=\box30 +\infofilenamebox=\box31 +\printedmanualbox=\box32 + insertions, +\footnoteno=\count55 +\SAVEfootins=\box33 +\SAVEmargin=\box34 + +(/usr/local.nfs/app/teTeX/texmflocal/tex/generic/dvips/epsf.tex +\epsffilein=\read1 +\epsfframemargin=\dimen40 +\epsfframethickness=\dimen41 +\epsfrsize=\dimen42 +\epsftmp=\dimen43 +\epsftsize=\dimen44 +\epsfxsize=\dimen45 +\epsfysize=\dimen46 +\pspoints=\dimen47 +\epsfnoopenhelp=\toks29 +) +\noepsfhelp=\toks30 + localization, +\nolanghelp=\toks31 +\countUTFx=\count56 +\countUTFy=\count57 +\countUTFz=\count58 + +formatting, +\defaultparindent=\dimen48 + and turning on texinfo input format.) +texinfo.tex: doing @include of ess-defs.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/ess-defs.texi) Chapter 1 +\openout0 = `readme.toc'. + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/readme.aux) +\openout1 = `readme.aux'. + +@cpindfile=@write2 +\openout2 = `readme.cp'. + + +Writing index file readme.cp +texinfo.tex: doing @include of ../VERSION + +(../VERSION) +Underfull \hbox (badness 10000) in paragraph at lines 25--38 +@textrm ([][]@texttt maechler@stat.math.ethz.ch[][][]@textrm ) and Kurt Hornik +([][]@texttt Kurt.Hornik@R-project.org[][][]@textrm ) + +@hbox(8.2125+2.73749)x433.62, glue set 4.81291 +.@textrm ( +.@pdfliteral{0 0 0 rg 0 0 0 RG} +.@pdfstartlink(*+*)x* attr{/Border [0 0 0]} action user{/Subtype /Link /A << /S + /URI /URI (mailto:maechler@stat.math.ethz.ch)@ETC.} +.@texttt m +.@texttt a +.etc. + +texinfo.tex: doing @include of license.texi + +(/u/maechler/emacs/ess/ess-18.10.2/doc/license.texi) +texinfo.tex: doing @include of installation.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/installation.texi +texinfo.tex: doing @include of requires.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/requires.texi) +Missing character: There is no â in font cmr10! +Missing character: There is no € in font cmr10! +Missing character: There is no ™ in font cmr10! + [1{/hg/s/linux/rhel3_amd64/app/teTeX/06.17/texmf-var/fonts/map/pdftex/updmap/p +dftex.map}] +Underfull \hbox (badness 8075) in paragraph at lines 46--50 +[]@textrm Alternatively, you may down-load the git repos-i-tory. ESS is cur-ren +tly + +@hbox(7.60416+2.12917)x433.62, glue set 4.3246 +.@hbox(0.0+0.0)x15.0 +.@textrm A +.@textrm l +.@textrm t +.@textrm e +.etc. + + +Underfull \hbox (badness 7722) in paragraph at lines 46--50 +@texttt https://github.com/emacs-ess/ESS.git[] @textrm will down-load it to a n +ew di-rec-tory + +@hbox(7.60416+2.43333)x433.62, glue set 4.26207 +.@texttt h +.@texttt t +.@texttt t +.@texttt p +.@texttt s +.etc. + +[2]) +texinfo.tex: doing @include of currfeat.texi + + (/u/maechler/emacs/ess/ess-18.10.2/doc/currfeat.texi [3]) +texinfo.tex: doing @include of newfeat.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/newfeat.texi [4] [5] [6] [7]) +texinfo.tex: doing @include of bugrept.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/bugrept.texi [8]) +texinfo.tex: doing @include of mailing.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/mailing.texi) +texinfo.tex: doing @include of authors.texi + + +(/u/maechler/emacs/ess/ess-18.10.2/doc/authors.texi) [9] ) +Here is how much of TeX's memory you used: + 3359 strings out of 497102 + 35690 string characters out of 6206773 + 76956 words of memory out of 5000000 + 4427 multiletter control sequences out of 15000+600000 + 32778 words of font info for 114 fonts, out of 8000000 for 9000 + 51 hyphenation exceptions out of 8191 + 16i,5n,16p,290b,631s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on readme.pdf (9 pages, 116791 bytes). +PDF statistics: + 121 PDF objects out of 1000 (max. 8388607) + 100 compressed objects within 1 object stream + 22 named destinations out of 1000 (max. 500000) + 13 words of extra memory for PDF output out of 10000 (max. 10000000) + Binary files /tmp/tmpUDT4RK/qXC0_2Uocm/ess-18.10-1/doc/readme.pdf and /tmp/tmpUDT4RK/jNqBxxK0AA/ess-18.10.2/doc/readme.pdf differ diff -Nru ess-18.10-1/doc/readme.texi ess-18.10.2/doc/readme.texi --- ess-18.10-1/doc/readme.texi 2018-10-23 16:37:12.000000000 +0000 +++ ess-18.10.2/doc/readme.texi 2018-11-10 09:41:10.000000000 +0000 @@ -61,7 +61,6 @@ @menu * License:: -* Latest Version:: * Installation:: * Starting up:: * Current Features:: @@ -71,14 +70,14 @@ * Authors:: @end menu -@node License, Stability, General Information, General Information +@node License, Installation, General Information, General Information @comment node-name, next, previous, up @section License @include license.texi @c vvvvvvvvvvvv node name *must* match the one in ./ess.texi ! -@node Installation, Starting up, Latest Version, General Information +@node Installation, Starting up, License, General Information @comment node-name, next, previous, up @section Installation @include installation.texi diff -Nru ess-18.10-1/doc/readme.toc ess-18.10.2/doc/readme.toc --- ess-18.10-1/doc/readme.toc 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/readme.toc 2018-11-10 09:41:24.000000000 +0000 @@ -0,0 +1,13 @@ +@numchapentry{General Information: README}{1}{General Information}{1} +@numsecentry{License}{1.1}{License}{1} +@numsecentry{Installation}{1.2}{Installation}{1} +@numsecentry{Installing from a third-party repository}{1.3}{Installing from a third-party repository}{2} +@numsecentry{Installing from source}{1.4}{Installing from source}{2} +@numsecentry{Activating and Loading ESS}{1.5}{Activating and Loading ESS}{2} +@numsecentry{Check Installation}{1.6}{Check Installation}{3} +@numsecentry{Starting an ESS process}{1.7}{Starting up}{3} +@numsecentry{Current Features}{1.8}{Current Features}{3} +@numsecentry{New Features}{1.9}{New Features}{4} +@numsecentry{Reporting Bugs}{1.10}{Reporting Bugs}{8} +@numsecentry{Mailing Lists}{1.11}{Mailing Lists}{9} +@numsecentry{Authors}{1.12}{Authors}{9} diff -Nru ess-18.10-1/doc/refcard/refcard.aux ess-18.10.2/doc/refcard/refcard.aux --- ess-18.10-1/doc/refcard/refcard.aux 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/refcard/refcard.aux 2018-11-10 09:41:25.000000000 +0000 @@ -0,0 +1 @@ +\relax diff -Nru ess-18.10-1/doc/refcard/refcard.log ess-18.10.2/doc/refcard/refcard.log --- ess-18.10-1/doc/refcard/refcard.log 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/doc/refcard/refcard.log 2018-11-10 09:41:25.000000000 +0000 @@ -0,0 +1,223 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) (preloaded format=pdflatex 2018.9.17) 10 NOV 2018 10:41 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**refcard +(./refcard.tex +LaTeX2e <2017-04-15> +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/hg/s/linux/rhel3_amd64/app/teTeX/06.17/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/hg/s/linux/rhel3_amd64/app/teTeX/06.17/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/hg/s/linux/rhel3_amd64/app/teTeX/06.17/texmf-dist/tex/latex/tools/multicol.st +y +Package: multicol 2017/04/11 v1.8q multicolumn formatting (FMi) +\c@tracingmulticols=\count87 +\mult@box=\box26 +\multicol@leftmargin=\dimen103 +\c@unbalance=\count88 +\c@collectmore=\count89 +\doublecol@number=\count90 +\multicoltolerance=\count91 +\multicolpretolerance=\count92 +\full@width=\dimen104 +\page@free=\dimen105 +\premulticols=\dimen106 +\postmulticols=\dimen107 +\multicolsep=\skip43 +\multicolbaselineskip=\skip44 +\partial@page=\box27 +\last@line=\box28 +\maxbalancingoverflow=\dimen108 +\mult@rightbox=\box29 +\mult@grightbox=\box30 +\mult@gfirstbox=\box31 +\mult@firstbox=\box32 +\@tempa=\box33 +\@tempa=\box34 +\@tempa=\box35 +\@tempa=\box36 +\@tempa=\box37 +\@tempa=\box38 +\@tempa=\box39 +\@tempa=\box40 +\@tempa=\box41 +\@tempa=\box42 +\@tempa=\box43 +\@tempa=\box44 +\@tempa=\box45 +\@tempa=\box46 +\@tempa=\box47 +\@tempa=\box48 +\@tempa=\box49 +\c@columnbadness=\count93 +\c@finalcolumnbadness=\count94 +\last@try=\dimen109 +\multicolovershoot=\dimen110 +\multicolundershoot=\dimen111 +\mult@nat@firstbox=\box50 +\colbreak@box=\box51 +\mc@col@check@num=\count95 +) (/u/sfs/tex/tex/latex/parskip.sty) +(/hg/s/linux/rhel3_amd64/app/teTeX/06.17/texmf-dist/tex/latex/tools/verbatim.st +y +Package: verbatim 2014/10/28 v1.5q LaTeX2e package for verbatim enhancements +\every@verbatim=\toks14 +\verbatim@line=\toks15 +\verbatim@in@stream=\read1 +) +(/hg/s/linux/rhel3_amd64/app/teTeX/06.17/texmf-dist/tex/latex/preprint/fullpage +.sty +Package: fullpage 1999/02/23 1.1 (PWD) +\FP@margin=\skip45 +) +No file refcard.aux. +\openout1 = `refcard.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 26. +LaTeX Font Info: ... okay on input line 26. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 26. +LaTeX Font Info: ... okay on input line 26. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 26. +LaTeX Font Info: ... okay on input line 26. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 26. +LaTeX Font Info: ... okay on input line 26. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 26. +LaTeX Font Info: ... okay on input line 26. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 26. +LaTeX Font Info: ... okay on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 59. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 59. +LaTeX Font Info: Font shape `OT1/cmtt/bx/n' in size <10> not available +(Font) Font shape `OT1/cmtt/m/n' tried instead on input line 75. + +Overfull \hbox (9.23132pt too wide) in paragraph at lines 75--88 +[] + [] + + +Overfull \hbox (11.87013pt too wide) in paragraph at lines 97--111 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 97--111 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 118--124 + + [] + +LaTeX Font Info: Try loading font information for OMS+cmtt on input line 146 +. +(/u/sfs/tex/tex/latex/R_latex/omscmtt.fd +File: omscmtt.fd +) +LaTeX Font Info: Font shape `OMS/cmtt/m/n' in size <10> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 146. + +Overfull \hbox (6.9257pt too wide) in paragraph at lines 142--154 +[][] + [] + + +Overfull \hbox (14.05339pt too wide) in paragraph at lines 155--170 +[]$[]$ + [] + + +Overfull \hbox (49.64578pt too wide) in paragraph at lines 155--170 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 171--179 + + [] + + +Overfull \hbox (51.25189pt too wide) in paragraph at lines 192--201 +[][] + [] + + +Overfull \hbox (28.4812pt too wide) in paragraph at lines 204--213 +[][] + [] + +[1 + +{/hg/s/linux/rhel3_amd64/app/teTeX/06.17/texmf-var/fonts/map/pdftex/updmap/pdft +ex.map}] +Overfull \hbox (5.63393pt too wide) in paragraph at lines 229--248 +[][] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 229--248 + + [] + + +Overfull \hbox (14.11595pt too wide) in paragraph at lines 253--267 +[][] + [] + + +Underfull \hbox (badness 6961) in paragraph at lines 293--295 +[]\OT1/cmr/m/n/10 Evaluate your code into the pack-age (in + [] + +[2] (./refcard.aux) ) +Here is how much of TeX's memory you used: + 428 strings out of 494941 + 5850 string characters out of 6180918 + 92918 words of memory out of 5000000 + 3784 multiletter control sequences out of 15000+600000 + 6660 words of font info for 25 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 23i,12n,17p,144b,290s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on refcard.pdf (2 pages, 164293 bytes). +PDF statistics: + 71 PDF objects out of 1000 (max. 8388607) + 51 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + Binary files /tmp/tmpUDT4RK/qXC0_2Uocm/ess-18.10-1/doc/refcard/refcard.pdf and /tmp/tmpUDT4RK/jNqBxxK0AA/ess-18.10.2/doc/refcard/refcard.pdf differ diff -Nru ess-18.10-1/etc/ESSR/R/completion.R ess-18.10.2/etc/ESSR/R/completion.R --- ess-18.10-1/etc/ESSR/R/completion.R 2018-10-23 16:37:12.000000000 +0000 +++ ess-18.10.2/etc/ESSR/R/completion.R 2018-11-10 09:41:10.000000000 +0000 @@ -1,5 +1,13 @@ ## Do *NOT* use 1L -- it gives parse errors in historical versions of R +## Try a setup working in as old R as possible. +## ===> +## 1) do not use "_" in names! --- seems impossible for the Millenials .. +## 2) use our own simplified definition of '::' and ':::' ? +## +if(!exists("local")) + local <- function(expr, envir = environment()) { invisible(eval(expr, envir=envir)) } + ##' Robust version of ##' utils:::.addFunctionInfo(c = c("recursive", "use.names")) local({ diff -Nru ess-18.10-1/etc/ESSR/R/ns-eval.R ess-18.10.2/etc/ESSR/R/ns-eval.R --- ess-18.10-1/etc/ESSR/R/ns-eval.R 2018-10-23 16:37:12.000000000 +0000 +++ ess-18.10.2/etc/ESSR/R/ns-eval.R 2018-11-10 09:41:11.000000000 +0000 @@ -10,12 +10,12 @@ ## evaluate the STRING by saving into a file and calling .ess.ns_source .ess.ns_eval <- function(string, visibly, output, package, file = tempfile("ESSDev"), verbose = FALSE, - fallback_env = NULL) { + fallback_env = NULL, local_env = parent.frame()) { cat(string, file = file) on.exit(.ess.file.remove(file)) .ess.ns_source(file, visibly, output, package = package, verbose = verbose, fake.source = TRUE, - fallback_env = fallback_env) + fallback_env = fallback_env, local_env = local_env) } ##' Source FILE into an environment. After having a look at each new object in @@ -26,7 +26,8 @@ .ess.ns_source <- function(file, visibly, output, expr, package = "", verbose = FALSE, fake.source = FALSE, - fallback_env = NULL) { + fallback_env = NULL, + local_env = NULL) { oldopts <- options(warn = 2) on.exit(options(oldopts)) pname <- paste("package:", package, sep = "") @@ -35,9 +36,9 @@ if (require(package, quietly = TRUE, character.only = TRUE)) { envpkg <- tryCatch(as.environment(pname), error = function(cond) NULL) } else { - ## no such package; source in current environment + ## no such package; source in current (local) user environment return(.ess.source(file, visibly = visibly, - output = output, local = fallback_env, + output = output, local = local_env, fake.source = fake.source)) } diff -Nru ess-18.10-1/etc/ESSR/VERSION ess-18.10.2/etc/ESSR/VERSION --- ess-18.10-1/etc/ESSR/VERSION 2018-10-23 16:37:12.000000000 +0000 +++ ess-18.10.2/etc/ESSR/VERSION 2018-11-10 09:41:11.000000000 +0000 @@ -1 +1 @@ -1.3 \ No newline at end of file +1.4 \ No newline at end of file Binary files /tmp/tmpUDT4RK/qXC0_2Uocm/ess-18.10-1/etc/ESSR.rds and /tmp/tmpUDT4RK/jNqBxxK0AA/ess-18.10.2/etc/ESSR.rds differ diff -Nru ess-18.10-1/etc/git-ref ess-18.10.2/etc/git-ref --- ess-18.10-1/etc/git-ref 2018-10-23 16:37:17.000000000 +0000 +++ ess-18.10.2/etc/git-ref 2018-11-10 09:41:16.000000000 +0000 @@ -1 +1 @@ -1c4253cb4700 +d4cd65da6dbf diff -Nru ess-18.10-1/lisp/ess-bugs-d.el ess-18.10.2/lisp/ess-bugs-d.el --- ess-18.10-1/lisp/ess-bugs-d.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-bugs-d.el 2018-11-10 09:41:11.000000000 +0000 @@ -27,7 +27,7 @@ (require 'ess-utils) (require 'ess-inf) (require 'ess-custom) -(require 'ess) +(require 'ess-mode) (setq auto-mode-alist (append '(("\\.[bB][uU][gG]\\'" . ess-bugs-mode)) auto-mode-alist)) diff -Nru ess-18.10-1/lisp/ess-custom.el ess-18.10.2/lisp/ess-custom.el --- ess-18.10-1/lisp/ess-custom.el 2018-10-23 16:31:03.000000000 +0000 +++ ess-18.10.2/lisp/ess-custom.el 2018-11-02 21:15:01.000000000 +0000 @@ -146,7 +146,7 @@ ;; Variables (not user-changeable) -(defvar ess-version "18.10-1" ;; updated by 'make' +(defvar ess-version "18.10.2" ;; updated by 'make' "Version of ESS currently loaded.") (defvar ess-revision nil ;; set @@ -225,7 +225,7 @@ The value of each element is nil and is not used in current implementation." - :group 'R + :group 'ess-R :type 'alist) (defcustom ess-S-describe-object-at-point-commands diff -Nru ess-18.10-1/lisp/ess-dde.el ess-18.10.2/lisp/ess-dde.el --- ess-18.10-1/lisp/ess-dde.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-dde.el 2018-11-10 09:41:11.000000000 +0000 @@ -32,7 +32,7 @@ ;;; Code: (require 'ess-custom) -(require 'ess) +(require 'ess-mode) (require 'ess-utils) (defun ess-ddeclient-p () diff -Nru ess-18.10-1/lisp/ess.el ess-18.10.2/lisp/ess.el --- ess-18.10-1/lisp/ess.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess.el 2018-11-10 09:41:11.000000000 +0000 @@ -16,7 +16,7 @@ ;; Maintainer: ESS Core Team ;; Copyright (C) 1997-2018 ESS Core Team ;; Created: 7 Jan 1994 -;; Version: 18.10-dev +;; Version: 18.10.2 ;; Package-Requires: ((julia-mode "0.3")) ;; ;; This file is free software; you can redistribute it and/or modify @@ -164,7 +164,7 @@ ["Load file" ess-load-file t] ["Eval region | func | para" ess-eval-region-or-function-or-paragraph t] ["Eval region | func | para & step" ess-eval-region-or-function-or-paragraph-and-step t] - ["Eval region | line" ess-eval-region-or-line-and-step t] + ["Eval region | line" ess-eval-region-or-line-visibly-and-step t] ["Enter expression" ess-execute t] ;; sub menus "------" @@ -194,7 +194,7 @@ ("ESS Eval" ["Eval region | func | para" ess-eval-region-or-function-or-paragraph t] ["Eval region | func | para & step" ess-eval-region-or-function-or-paragraph-and-step t] - ["Eval region | line" ess-eval-region-or-line-and-step t] + ["Eval region | line & step" ess-eval-region-or-line-visibly-and-step t] "-----" ["Eval buffer" ess-eval-buffer t] ["Eval buffer till here" ess-eval-buffer-from-beg-to-here t] diff -Nru ess-18.10-1/lisp/ess-help.el ess-18.10.2/lisp/ess-help.el --- ess-18.10-1/lisp/ess-help.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-help.el 2018-11-10 09:41:11.000000000 +0000 @@ -41,7 +41,7 @@ (require 'tramp) (require 'reporter)) (require 'info) -(require 'ess) +(require 'ess-mode) (require 'ess-inf) (require 'ess-utils) @@ -579,7 +579,7 @@ (define-key map "v" 'ess-display-vignettes) ;; TODO: `electric mouse-2' ;; (define-key map [mouse-2] 'ess-display-help-on-object) - (define-key map "l" 'ess-eval-line-and-step) + (define-key map "l" 'ess-eval-line-visibly-and-step) (define-key map "r" 'ess-eval-region-and-go) (define-key map "f" 'ess-eval-function-or-paragraph-and-step) (define-key map "n" 'ess-skip-to-next-section) @@ -596,9 +596,9 @@ (define-key map "\M-\C-x" 'ess-eval-function) (define-key map "\C-c\M-f" 'ess-eval-function-and-go) (define-key map "\C-c\C-j" 'ess-eval-line) - (define-key map "\C-c\C-n" 'ess-eval-line-and-step) + (define-key map "\C-c\C-n" 'ess-eval-line-visibly-and-step) (define-key map "\C-c\C-c" 'ess-eval-region-or-function-or-paragraph-and-step) - (define-key map [(control return)] 'ess-eval-region-or-line-and-step) + (define-key map [(control return)] 'ess-eval-region-or-line-visibly-and-step) (define-key map "\C-c\M-j" 'ess-eval-line-and-go) (define-key map "\M-\C-a" 'ess-goto-beginning-of-function-or-para) (define-key map "\M-\C-e" 'ess-goto-end-of-function-or-para) @@ -959,7 +959,7 @@ (defun ess-submit-bug-report () "Submit a bug report to the ESS maintainers." (interactive) - (require 'ess) + (require 'ess-mode) (require 'reporter) (let ((reporter-prompt-for-summary-p 't)) (reporter-submit-bug-report diff -Nru ess-18.10-1/lisp/ess-inf.el ess-18.10.2/lisp/ess-inf.el --- ess-18.10-1/lisp/ess-inf.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-inf.el 2018-11-10 09:41:11.000000000 +0000 @@ -1245,7 +1245,7 @@ (t (process-send-string process (ess--concat-new-line-maybe string)))) (when message - (message message))))) + (message "%s" message))))) (ess-defgeneric ess-send-region (process start end &optional visibly message type) "Low level ESS version of `process-send-region'. diff -Nru ess-18.10-1/lisp/ess-jags-d.el ess-18.10.2/lisp/ess-jags-d.el --- ess-18.10-1/lisp/ess-jags-d.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-jags-d.el 2018-11-10 09:41:11.000000000 +0000 @@ -26,7 +26,7 @@ (require 'ess-bugs-l) (require 'ess-utils) (require 'ess-inf) -(require 'ess) +(require 'ess-mode) (setq auto-mode-alist (append '(("\\.[jJ][aA][gG]\\'" . ess-jags-mode)) auto-mode-alist)) diff -Nru ess-18.10-1/lisp/ess-mode.el ess-18.10.2/lisp/ess-mode.el --- ess-18.10-1/lisp/ess-mode.el 1970-01-01 00:00:00.000000000 +0000 +++ ess-18.10.2/lisp/ess-mode.el 2018-11-10 09:41:11.000000000 +0000 @@ -0,0 +1,31 @@ +;;; ess-mode.el -- Emacs Speaks Statistics (ESS). +;; +;; Copyright (C) 1994-2018 ESS Core Team +;; Maintainer: ESS-core +;; +;; Keywords: languages +;; +;; This file is part of ESS +;; +;; This file is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. +;; +;; This file is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; A copy of the GNU General Public License is available at +;; https://www.r-project.org/Licenses/ +;; +;;; Commentary: +;; +;; A placeholder required by all other mode files. +;; +;;; Code: + +(require 'ess) + +(provide 'ess-mode) diff -Nru ess-18.10-1/lisp/ess-noweb-mode.el ess-18.10.2/lisp/ess-noweb-mode.el --- ess-18.10-1/lisp/ess-noweb-mode.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-noweb-mode.el 2018-11-10 09:41:11.000000000 +0000 @@ -422,6 +422,7 @@ ess-local-process-name ;; also made permanent in ess-mode, but let it be ess-dialect ess-language + ess-use-flymake after-change-functions before-change-functions ess-noweb-narrowing @@ -433,6 +434,7 @@ ess-noweb-code-mode ess-noweb-default-code-mode ess-noweb-last-chunk-index)) + (setq-local ess-use-flymake nil) (ess-noweb-update-chunk-vector) (setq ess-noweb-last-chunk-index (if (equal 0 (ess-noweb-find-chunk-index-buffer)) 1 0)) diff -Nru ess-18.10-1/lisp/ess-r-a.el ess-18.10.2/lisp/ess-r-a.el --- ess-18.10-1/lisp/ess-r-a.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-r-a.el 2018-11-10 09:41:11.000000000 +0000 @@ -143,7 +143,7 @@ ;; (ajr::scroll-to-end::peterD "emacs") (global-set-key [f11] 'show-max-other-window) - (global-set-key [f12] 'ess-eval-line-and-step)) + (global-set-key [f12] 'ess-eval-line-visibly-and-step)) ; Provide package diff -Nru ess-18.10-1/lisp/ess-rd.el ess-18.10.2/lisp/ess-rd.el --- ess-18.10-1/lisp/ess-rd.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-rd.el 2018-11-10 09:41:11.000000000 +0000 @@ -189,7 +189,7 @@ ;; ^C^F ^L : \link{ . } ;; ^C^F L : \code{\link{ . }} etc (define-key map "\C-c\C-s" 'Rd-mode-insert-section) - (define-key map "\C-c\C-n" 'ess-eval-line-and-step) + (define-key map "\C-c\C-n" 'ess-eval-line-visibly-and-step) (define-key map "\C-c\C-r" 'ess-eval-region) (define-key map "\C-c\C-c" 'ess-eval-region-or-function-or-paragraph-and-step) (define-key map "\C-\M-x" 'ess-eval-region-or-function-or-paragraph) @@ -209,7 +209,7 @@ "-" ["Preview" Rd-preview-help t] "-" - ["Eval Line" ess-eval-line-and-step t] + ["Eval Line" ess-eval-line-visibly-and-step t] ["Eval Region" ess-eval-region t] ["Switch to ESS Process" ess-switch-to-ESS t] ["Switch the ESS Process" ess-switch-process t] diff -Nru ess-18.10-1/lisp/ess-r-flymake.el ess-18.10.2/lisp/ess-r-flymake.el --- ess-18.10-1/lisp/ess-r-flymake.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-r-flymake.el 2018-11-10 09:41:11.000000000 +0000 @@ -200,7 +200,7 @@ ;; --args as a character vector "esslint(commandArgs(TRUE)" (unless ess-r--lintr-file - ", linters = " (ess-r--flymake-linters)) + (concat ", linters = " (ess-r--flymake-linters))) (when ess-r-flymake-lintr-cache ", cache = TRUE") ")") @@ -236,7 +236,7 @@ (if (eval-when-compile (<= 26 emacs-major-version)) (add-hook 'ess-mode-hook #'ess-r-setup-flymake) (when ess-use-flymake - (warn "ESS was compiled with older version of emacs; `ess-r-flymake' won't be available")))) + (display-warning 'ess "ESS was compiled with older version of emacs;\n `ess-r-flymake' won't be available")))) (provide 'ess-r-flymake) diff -Nru ess-18.10-1/lisp/ess-r-mode.el ess-18.10.2/lisp/ess-r-mode.el --- ess-18.10-1/lisp/ess-r-mode.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-r-mode.el 2018-11-10 09:41:11.000000000 +0000 @@ -37,7 +37,7 @@ (require 'compile) (require 'easymenu) (require 'eldoc) -(require 'ess) +(require 'ess-mode) (require 'ess-help) (require 'ess-s-lang) (require 'ess-roxy) @@ -334,6 +334,7 @@ (looking-at "\\s-*("))))) out)) +(define-obsolete-variable-alias 'R-customize-alist 'ess-r-customize-alist "ESS 18.10.2") (defvar ess-r-customize-alist (append '((ess-local-customize-alist . 'ess-r-customize-alist) @@ -392,8 +393,6 @@ (setcdr (assoc 'inferior-ess-font-lock-keywords ess-r-customize-alist) (quote 'inferior-ess-r-font-lock-keywords)) -(defalias 'R-customize-alist 'ess-r-customize-alist) - (defvar ess-r-build-tags-command "rtags('%s', recursive = TRUE, pattern = '\\\\.[RrSs](rw)?$',ofile = '%s')") @@ -494,9 +493,9 @@ ;;;*;;; Mode init +(define-obsolete-variable-alias 'ess-R-post-run-hook 'ess-r-post-run-hook "ESS 18.10.2") (defvar ess-r-post-run-hook nil "Functions run in process buffer after the initialization of R process.") -(defalias 'ess-R-post-run-hook 'ess-r-post-run-hook) (defun ess-r-mode-p () "Check whether we have a buffer running in R mode. diff -Nru ess-18.10-1/lisp/ess-sas-a.el ess-18.10.2/lisp/ess-sas-a.el --- ess-18.10-1/lisp/ess-sas-a.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-sas-a.el 2018-11-10 09:41:11.000000000 +0000 @@ -25,7 +25,7 @@ ;;; Code: -(require 'ess) +(require 'ess-mode) ;; Silence the byte compiler ;; FIXME: This is a lot, perhaps they can be moved? (defvar sas-indent-width) diff -Nru ess-18.10-1/lisp/ess-sas-l.el ess-18.10.2/lisp/ess-sas-l.el --- ess-18.10-1/lisp/ess-sas-l.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-sas-l.el 2018-11-10 09:41:11.000000000 +0000 @@ -49,7 +49,7 @@ ;;; Code: -(require 'ess) +(require 'ess-mode) (require 'ess-custom) (require 'ess-sas-a) diff -Nru ess-18.10-1/lisp/ess-s-lang.el ess-18.10.2/lisp/ess-s-lang.el --- ess-18.10-1/lisp/ess-s-lang.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-s-lang.el 2018-11-10 09:41:11.000000000 +0000 @@ -32,7 +32,7 @@ ; Requires and autoloads -(require 'ess) +(require 'ess-mode) (require 'ess-help) (require 'ess-utils) (require 'ess-inf) @@ -641,7 +641,7 @@ "Define MM's user keys, currently \\\\[ess-insert-function-outline], and \\\\[ess-execute-screen-options]." (interactive) - (require 'ess); typically unnecessary + (require 'ess-mode); typically unnecessary (require 'ess-inf); dito (define-key inferior-ess-mode-map "\C-cw" 'ess-execute-screen-options) diff -Nru ess-18.10-1/lisp/ess-sp4-d.el ess-18.10.2/lisp/ess-sp4-d.el --- ess-18.10-1/lisp/ess-sp4-d.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-sp4-d.el 2018-11-10 09:41:11.000000000 +0000 @@ -34,7 +34,7 @@ ;;; Requires and Autoloads: -(require 'ess) +(require 'ess-mode) (require 'ess-inf) (require 'ess-s-lang) (require 'ess-dde) diff -Nru ess-18.10-1/lisp/ess-sp6-d.el ess-18.10.2/lisp/ess-sp6-d.el --- ess-18.10-1/lisp/ess-sp6-d.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-sp6-d.el 2018-11-10 09:41:11.000000000 +0000 @@ -36,7 +36,7 @@ ;;; Code: -(require 'ess) +(require 'ess-mode) (require 'ess-inf) (require 'ess-s-lang) (require 'ess-dde) diff -Nru ess-18.10-1/lisp/ess-stata-mode.el ess-18.10.2/lisp/ess-stata-mode.el --- ess-18.10-1/lisp/ess-stata-mode.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-stata-mode.el 2018-11-10 09:41:11.000000000 +0000 @@ -32,7 +32,7 @@ ;;; Code: -(require 'ess) +(require 'ess-mode) (require 'ess-stata-lang) (defvar STA-dialect-name "stata" diff -Nru ess-18.10-1/lisp/ess-toolbar.el ess-18.10.2/lisp/ess-toolbar.el --- ess-18.10-1/lisp/ess-toolbar.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-toolbar.el 2018-11-10 09:41:11.000000000 +0000 @@ -51,7 +51,7 @@ ;;; Code: (require 'ess-utils) -(require 'ess) +(require 'ess-mode) (defgroup ess-toolbar nil "ESS: toolbar support." diff -Nru ess-18.10-1/lisp/ess-trns.el ess-18.10.2/lisp/ess-trns.el --- ess-18.10-1/lisp/ess-trns.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-trns.el 2018-11-10 09:41:11.000000000 +0000 @@ -33,7 +33,7 @@ ; Requires and autoloads -(require 'ess) +(require 'ess-mode) (require 'ess-inf) (require 'comint) diff -Nru ess-18.10-1/lisp/ess-utils.el ess-18.10.2/lisp/ess-utils.el --- ess-18.10-1/lisp/ess-utils.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-utils.el 2018-11-10 09:41:11.000000000 +0000 @@ -691,16 +691,16 @@ (setq this-command 'yank)) )) -(defun ess-yank (&optional ARG) - "With double prefix (C-u C-u) call `ess-yank-cleaned-commands." +(defun ess-yank (&optional arg) + "With double prefix ARG (C-u C-u) call `ess-yank-cleaned-commands'." (interactive "*P") - (if (equal '(16) ARG) + (if (equal '(16) arg) (ess-yank-cleaned-commands) (let* ((remapped (command-remapping 'yank (point))) (command (cond ((eq remapped 'ess-yank) 'yank) ((null remapped) 'yank) (t remapped)))) - (funcall command ARG)))) + (funcall command arg)))) (put 'ess-yank 'delete-selection 'yank) diff -Nru ess-18.10-1/lisp/ess-xls-d.el ess-18.10.2/lisp/ess-xls-d.el --- ess-18.10-1/lisp/ess-xls-d.el 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/ess-xls-d.el 2018-11-10 09:41:11.000000000 +0000 @@ -37,7 +37,7 @@ (require 'ess-custom) (require 'ess-lsp-l) (require 'ess-utils) -(require 'ess) +(require 'ess-mode) (require 'ess-inf) (require 'ess-trns) diff -Nru ess-18.10-1/lisp/Makefile ess-18.10.2/lisp/Makefile --- ess-18.10-1/lisp/Makefile 2018-10-23 16:37:13.000000000 +0000 +++ ess-18.10.2/lisp/Makefile 2018-11-10 09:41:11.000000000 +0000 @@ -23,7 +23,7 @@ # that sets byte compiler options. COMPILE = $(EMACSBATCH) --directory . -f batch-byte-compile -ELS = $(wildcard *.el) +ELS = $(wildcard *.el obsolete/*.el) ELS := $(filter-out ess-autoloads.el, $(ELS)) ELC = $(ELS:.el=.elc) @@ -39,9 +39,7 @@ install: dist -$(INSTALLDIR) $(LISPDIR) - $(INSTALL) *.elc $(LISPDIR) - $(INSTALL) obsolete/*.elc $(LISPDIR) - -export J; for I in *.elc; do J=$$I; $(INSTALL) `basename $$J .elc`.el $(LISPDIR); done + $(INSTALL) $(ELC) $(LISPDIR) if [ -f /etc/debian_version -a -n "$(SITELISP)" -a ! -f "$(SITELISP)/ess-site.el" ] ; \ then \ ln -s $(LISPDIR)/ess-site.el $(SITELISP)/ess-site.el ; \ diff -Nru ess-18.10-1/Makefile ess-18.10.2/Makefile --- ess-18.10-1/Makefile 2018-10-23 16:37:12.000000000 +0000 +++ ess-18.10.2/Makefile 2018-11-10 09:41:10.000000000 +0000 @@ -53,9 +53,10 @@ tarballs: $(ESSDIR) @echo "**********************************************************" @echo "** Making distribution of ESS for (pre)release $(ESSVERSION) from $(ESSDIR)/" + @echo "** Making pdf and html documentation" + cd $(ESSDIR)/doc/ ; $(MAKE) pdf + cd $(ESSDIR)/doc/ ; $(MAKE) html @echo "** Creating .tgz file **" - cd doc/ ; $(MAKE) pdf - cd doc/ ; $(MAKE) html test -f $(ESSDIR).tgz && rm -rf $(ESSDIR).tgz || true $(GNUTAR) hcvofz $(ESSDIR).tgz $(ESSDIR) @echo "Signing tgz file" diff -Nru ess-18.10-1/NEWS ess-18.10.2/NEWS --- ess-18.10-1/NEWS 2018-10-23 16:37:17.000000000 +0000 +++ ess-18.10.2/NEWS 2018-11-10 09:41:15.000000000 +0000 @@ -1,5 +1,10 @@ -Changes and New Features in 18.10-1: +Bug Fixes in 18.10.2: + * ESS[R] Fix namespace evaluation in non-installed packages. + Evaluation is directed into GlobalEnv as originally intended. + * 'Makefile' fixes, notably for 'make install' and including full + docs in the tarballs. + Bug Fixes in 18.10-1: * New functions 'ess-eval-line-visibly-and-step' ('C-c C-n' and 'ess-eval-region-or-line-visibly-and-step' ('C-RET') which behave as the old versions of 'ess-eval-line-and-step' and diff -Nru ess-18.10-1/README ess-18.10.2/README --- ess-18.10-1/README 2018-10-23 16:37:16.000000000 +0000 +++ ess-18.10.2/README 2018-11-10 09:41:15.000000000 +0000 @@ -1,7 +1,7 @@ 1 General Information: README ***************************** -This is the README file for the distribution of ESS version 18.10-1 +This is the README file for the distribution of ESS version 18.10.2 ESS is a GNU Emacs and XEmacs mode for interactive statistical programming and data analysis. Languages supported: the S family (S, @@ -213,8 +213,13 @@ 1.9 New Features ================ -Changes and New Features in 18.10-1: +Bug Fixes in 18.10.2: + * ESS[R] Fix namespace evaluation in non-installed packages. + Evaluation is directed into GlobalEnv as originally intended. + * 'Makefile' fixes, notably for 'make install' and including full + docs in the tarballs. + Bug Fixes in 18.10-1: * New functions 'ess-eval-line-visibly-and-step' ('C-c C-n' and 'ess-eval-region-or-line-visibly-and-step' ('C-RET') which behave as the old versions of 'ess-eval-line-and-step' and diff -Nru ess-18.10-1/RPM.spec ess-18.10.2/RPM.spec --- ess-18.10-1/RPM.spec 2018-10-23 16:37:04.000000000 +0000 +++ ess-18.10.2/RPM.spec 2018-11-09 08:23:59.000000000 +0000 @@ -2,7 +2,7 @@ # ESS for Fedora Core Linux and, possibly, similar systems. %define name emacs-ess -%define version 18.10-1 +%define version 18.10.2 %define release 1.tgm Summary: Emacs Speaks Statistics add-on package for Emacs Name: %{name} diff -Nru ess-18.10-1/VERSION ess-18.10.2/VERSION --- ess-18.10-1/VERSION 2018-10-23 16:37:12.000000000 +0000 +++ ess-18.10.2/VERSION 2018-11-10 09:41:10.000000000 +0000 @@ -1 +1 @@ -18.10-1 +18.10.2