Windows/XEmacs/R snafu: this combination was implicated in
[ess.git] / doc / newfeat.texi
blob5accbf80d173d6e4998c8e233a4550f33dcf10c6
1 Changes/New Features in 5.2.9:
2 @itemize @bullet
3 @item ESS[R] for Windows:  the \ directory character bug
4 with respect to ess-load-file has been eradicated
5 @end itemize
7 Changes/New Features in 5.2.8:
8 @itemize @bullet
9 @item iESS: [Tab] completes @strong{file} names ``inside string'' as in
10 earlier (<= 5.2.3) ESS versions.
11 @end itemize
13 Changes/New Features in 5.2.7:
14 @itemize @bullet
15 @item If you use Custom to change the variable ess-toolbar-items,
16 the new toolbar is used in all subsequent ESS buffers.
17 @item ESS[SAS]: new feature:  if ess-sas-log-max >0 and
18 your .log grows to more than ess-sas-log-max bytes, just
19 the first ess-sas-log-max bytes are refreshed; this is helpful when your .sas program
20 generates lots of error messages and gets too big for emacs to display
21 @item ESS[R/S]: @kbd{M-;} in R/S editing modes will now indent with
22 either one or two hashes depending on context.
23 @item ESS[R]: David Whiting's Sweave extensions (to 'noweb')
24 are now available (from ess-swv.el loaded by default).
25 @end itemize
27 Changes/New Features in 5.2.6:
28 @itemize @bullet
29 @item Removed non-ASCII characters in a few files.
30 @item ESS[R]: now works better when UTF-8 locale is active; in
31  particular, you get correct directional quotes in R's startup message
32  for R-devel (unstable development version of R 2.1.0) when using
33  environment variables LANGUAGE=en@@quot LC_ALL=en_US.UTF-8
34 @item ESS[SAS]: toggling of .log mode improved (@kbd{F10}); toggling of
35 .lst mode now also available (@kbd{C-F10}); killing all buffers associated
36 with .sas program no longer bound to @kbd{C-F10} since its a bit overzealous.
37 @item S-Plus 7 for Windows is now recognized.
38 @item ESS[S] (incl.@: R): in auto-fill mode, strings are not wrapped anymore.
39 @item ESS[S] (incl.@: R): font-lock now correctly differs between R and S,
40 e.g., for "_"; both now fontify warning(.) and S does terminate() additionally.
41 @item Support for `bell' aka `beep' aka `ding' aka `alarm' in all inferior
42 modes: When \a is output ``to the the console'' at the beginning of a line,
43 the bell is rung.
44 @end itemize
46 Changes/New Features in 5.2.5:
47 @itemize @bullet
48 @item ESS[R]: @kbd{C-c C-q} or @samp{Quit S} from the menu now should work
49 (again and less klunkily) and do not append @samp{-exited} to the
50 buffer name.  Further, the behavior of @code{(ess-cleanup)}, called from
51 ess-quit, now depends on the new customizable variable
52 @code{ess-S-quit-kill-buffers-p} which defaults to @code{nil}.
53 Consequently, the question @emph{``Delete all buffers associated
54 with ..?''} will not be asked anymore by default.
55 @item ESS[SAS] -- ess-ebcdic-to-ascii-search-and-replace will now work
56 with the @code{recode} application as well which is available on many platforms
57 @item ESS[S] (incl.@: R): Name completion for slots of S4 objects now works!
58 @end itemize
60 Changes/New Features in 5.2.4:
61 @itemize @bullet
62 @item The documentation now includes an overview of how to use the emacs
63 TAGS facility for S functions.  (The distribution also used to contain a
64 directory @file{etc/other/Tags} where a ~1990 version of @file{etags.c} was
65 distributed; this is no longer relevant and so has been deleted.)
66 @item ESS[SAS] -- When you are working with EBCDIC files on an ASCII
67 platform, .log NOTEs may display as gibberish since the EBCDIC
68 characters are not converted to ASCII prior to their display.  So,
69 the function ess-ebcdic-to-ascii-search-and-replace is provided for
70 convenience and is bound to @kbd{C-F11}.  This function requires the
71 @code{dd} command (only available on unix or unix-like platforms).
72 @item ESS: Completion of object names is now always done dynamically rather
73 than allowing the option of using a pre-computed database (by
74 @code{ess-create-object-name-db}) since modern computers seem fast
75 enough for dynamic completion.  (We expect few users, if any, have
76 been using the pre-computed database method.)
77 @item ESS: object completion in iESS buffers running on Windows was
78 very slow (for GNU Emacs, but not XEmacs) and has now been fixed.
79 Further, it was more or less broken for all versions of S-plus 6.x,
80 and has been fixed to work everywhere but with the Windows' GUI of
81 S-plus.  The list of objects now shows unique names also when an
82 object appears more than once in the search path.
83 @item ESS[R]: Completion of object names now also includes those
84 starting with ``.''.
85 @end itemize
87 Changes/New Features in 5.2.3:
88 @itemize @bullet
89 @item ESS: When new inferior ESS processes are created, by default they
90 will replace the current buffer (this restores behavior from pre
91 5.2.0). If you wish new ESS processes to start in another window of the
92 current frame, set inferior-ess-same-window to nil.
93 @item New variables inferior-Splus-args and inferior-R-args provide a
94 way to pass command line arguments to starting S and R processes.
95 @end itemize
97 Changes/New Features in 5.2.2:
98 @itemize @bullet
99 @item bug-fixes for 5.2.1 (require 'executable), html docs, etc.
100 @item ess-lisp-directory/../doc/info added to Info-directory-list
101 if ess-info not found by info
102 @item ESS[R]: If you have other versions of R on your
103 exec-path, such as "R-1.8.1" with Unix or "rw1081" with Windows,
104 ESS will find them and create appropriate functions, such as
105 @kbd{M-x R-1.8.1} or @kbd{M-x rw1081}, for calling them.
106 By default only Unix programs beginning "R-1" and
107 "R-2" and Windows programs parallel to the
108 version of R in your exec-path will be found,
109 but see ess-r-versions and ess-rterm-versions for ways to find other
110 versions of R.
111 @item ESS[R]: Other versions of R, such as "R-1.8.1" on Unix and "rw1081" on
112 Windows, are added to the
113 "ESS / Start Process / Other" menu.
114 @item ESS[S]: If you have other versions of S-Plus on your Windows computer,
115 such as S-Plus 6.1 or S-Plus 4.5, ESS will find them and create appropriate
116 functions, such as @kbd{M-x splus61}, for calling the console version (Sqpe)
117 inside an emacs buffer.  By default only
118 programs installed in the default location will be found, but see
119 ess-SHOME-versions for ways to find other versions of S-Plus.
120 @item ESS[S]: Other versions of Sqpe on Windows, such as "splus61",
121 are added to the
122 "ESS / Start Process / Other" menu.
123 @item ESS[R]: (bug fix) ess-quit (bound to @kbd{C-c C-q}) should now quit the
124 inferior R process, when issued from either the inferior buffer, or from
125 a .R buffer.
126 @end itemize
128 Changes/New Features in 5.2.1:
129 @itemize @bullet
130 @item ESS[S] (R and S-plus): now have toolbar support
131 with icons to evaluate code in the inferior process or to switch
132 there.  This code is experimental and likely to change as XEmacs/Emacs
133 issues get resolved. The toolbar should be enabled if your Emacs
134 displays images, but can be disabled with the variable ess-use-toolbar.
135 Thanks to David Smith from Insightful for the S-plus logo.
136 @item ESS[SAS]: ess-sas-graph-view (@kbd{F12}) enhanced; you can specify
137 external file viewers for each graphics file type via the alist
138 ess-sas-graph-view-viewer-alist; also .jpg/.gif are now handled
139 by image-mode on XEmacs, if available, otherwise by graphics
140 primitives as before
141 @end itemize
143 Changes/New Features in 5.2.0:
144 @itemize @bullet
145 @item ESS[BUGS]:  new info documentation!  now supports interactive
146 processing thanks to @uref{mailto:Aki.Vehtari@@hut.fi, Aki Vehtari};
147 new architecture-independent unix support as well as support for BUGS v. 0.5
148 @item ESS[SAS]:  convert .log to .sas with ess-sas-transcript;
149 info documentation improved; Local Variable bug fixes;
150 SAS/IML statements/functions now highlighted; files edited
151 remotely by ange-ftp/EFS/tramp are recognized and pressing
152 SUBMIT opens a buffer on the remote host via the local variable
153 ess-sas-shell-buffer-remote-init which defaults to "ssh";
154 changed the definition of the variable ess-sas-edit-keys-toggle
155 to boolean rather than 0/1; added the function ess-electric-run-semicolon
156 which automatically reverse indents lines containing only "run;";
157 @kbd{C-F1} creates MS RTF portrait from the current buffer;
158 @kbd{C-F2} creates MS RTF landscape from the current buffer;
159 @kbd{C-F9} opens a SAS DATASET with PROC INSIGHT rather than PROC FSVIEW;
160 "inferior" aliases for SAS batch:  @kbd{C-c C-r} for submit region,
161 @kbd{C-c C-b} for submit buffer, @kbd{C-c C-x} for goto .log; @kbd{C-c C-y} for goto .lst
162 @item ESS[S]: Pressing underscore ("_") once inserts " <- " (as before);
163 pressing underscore twice inserts a literal underscore.  To stop this
164 smart behaviour, add "(ess-smart-underscore nil)" to your .emacs after
165 ess-site has been loaded;
166 ess-dump-filename-template-proto (new name!) now can be
167 customized successfully (for S language dialects);
168 Support for Imenu has been improved; set ess-imenu-use-S to non-nil to
169 get an "Imenu-S" item on your menubar;
170 ess-help: Now using nice underlines (instead of `nuke-* ^H_')
171 @item ESS[R]:  After (require 'essa-r), @kbd{M-x ess-r-var} allows to load
172 numbers from any Emacs buffer into an existing *R* process;
173 @kbd{M-x ess-rdired} gives a ``directory editor'' of R objects;
174 fixed ess-retr-lastvalue-command, i.e. .Last.value bug
175 (thanks to David Brahm)
176 @item ESS: Support for creating new window frames has been added to
177 ESS.  Inferior ESS processes can be created in dedicated frames by
178 setting inferior-ess-own-frame to t.  ESS help buffers can also open in
179 new frames; see the documentation for ess-help-own-frame for details.
180 (Thanks to Kevin Rodgers for contributing code.)
181 @end itemize
183 Changes/New Features in 5.1.24:
184 @itemize @bullet
185 @item The version number is now correct even inside ESS/Emacs
186 @end itemize
188 Changes/New Features in 5.1.23:
189 @itemize @bullet
190 @item Minor more Makefile clean up.
191 @end itemize
193 Changes/New Features in 5.1.22:
194 @itemize @bullet
195 @item Besides info documentation, PDF and HTML
196 documentation are also provided (instead of built using "make") and available
197 on the web as well; see @uref{http://ess.r-project.org/,
198  ESS web page} and @uref{http://lib.stat.cmu.edu/general/ESS/doc, StatLib}
199 @item Now that info documentation is available, the
200 README.* files are no longer supported.  However, they
201 are still distributed for what it's worth.
202 @item ESS is now an XEmacs package!  See
203 @uref{http://www.xemacs.org/Install/index.html, XEmacs Installation HOWTO}
204 for details (specifically, items 10-15).
205 @item ESS[SAS]: more user-friendly enhancements for remote
206 SAS batch jobs with Kermit file transfers (LOG and OUTPUT
207 function key features now supported).  Multiple shells
208 now supported so you can run SAS on different computers
209 from different buffers by setting the buffer-local variable
210 ess-sas-shell-buffer to unique buffer names.
211 @item Major re-vamping of Makefile/Makeconf.
212 @end itemize
214 Changes/New Features in 5.1.21:
215 @itemize @bullet
216 @item ESS[SAS]: info documentation now available!, see
217 ESS->Help for SAS; @kbd{F12} opens GSASFILE nearest point for viewing
218 either within emacs, when available, or via an external viewer;
219 more syntax highlighting keywords; more enhancements for remote
220 SAS batch jobs with Kermit; new framework for remote SAS interactive
221 jobs, see ess-remote
222 @item ESS[S]: info documentation now available!, see
223 ESS->Help for the S family
224 @item Makefile: tag now independent of rel; info files
225 made by doc/Makefile and installed in new info sub-directory
226 @end itemize
228 Changes/New Features in 5.1.20:
229 @itemize @bullet
230 @item New `options()$STERM' in the S dialects (S, S-Plus, R).
231 The S program can determine the environment in which it is
232 currently running.  ESS sets the option to `iESS' or `ddeESS'
233 when it starts an S language process.  We recommend other specific
234 values for S language processes that ESS does not start.
235 @item New `ess-mouse-me' function, assigned to S-mouse-3 by default.
236 User may click on a word or region and then choose from the
237 menu to display the item, or a summary, or a plot, etc.
238 This feature is still under development.
239 @item GNU Emacs 21.1 is now supported (fixed for S dialects, SAS & BUGS),
240 (some from Stephen Eglen).
241 @item XEmacs 21.x is now supported (fixed w32-using-nt bug)
242 @item XEmacs on Win (NT) is better supported.
243 @item Workaround for bug in Sqpe+6 (S-PLUS 6 for Win).
244 @item should now work even when imenu is not available (for old XEmacsen).
245 @item ESS[SAS]: XEmacs-Imenu fix; @kbd{C-TAB} is globalized along with your
246 function-key definitions, if specified; you can specify your SAS
247 library definitions outside of autoexec.sas for ess-sas-data-view
248 with SAS code placed in the variable ess-sas-data-view-libname,
249 also the dataset name is defaulted to the nearest permanent dataset
250 to point; Speedbar support now works for permanent datasets, please
251 ignore first./last.; new font-locking is now the default with more
252 improvements for font-locking PROCs, macro statements, * ; and %* ;
253 comments; you can toggle sas-log-mode with @kbd{F10} which will font-lock
254 your .log (if it isn't too big); submit remote .sas files accessed
255 with ange-ftp, EFS or Tramp (Kermit is experimental) by setting
256 ess-sas-submit-method to 'sh; ess-sas-submit-command and
257 ess-sas-submit-command-options are buffer-local so you can have
258 local file variable sections at the end of your .sas files to
259 request different executables or specify special options and the
260 local file variables are re-read at submit instead of only at file
261 open so that if you make a change it is picked up immediately;
262 @item ESS[BUGS]: font-lock with `in' fixed.
263 @item for STATA: font-lock bug fixed.
264 @item for Rd mode: @kbd{C-c C-v} and `switch-process' in menu.
265 further, @kbd{C-c C-f} prefix (Rd-font) for inserting or surrounding a word
266 by things such as \code@{.@}, \code@{\link@{.@}@}, \emph@{.@} etc.
267 @item new functions (ess-directory-function) and (ess-narrow-to-defun)
268 ess-directory <-> default-directory logic (Jeff Mincy).
269 @item Re-organized Makefile and fixed a few bugs.
270 @end itemize
272 Changes/New Features in 5.1.19:
273 @itemize @bullet
274 @item S+6 now supported (Tony Rossini (Unix) and Rich Heiberger (Windows))
275 @item New BUGS support through ESS[BUGS] mode (Rodney Sparapani)
276 Templates assist you in writing .bug and .cmd code (.cmd and .log
277 are replaced by .bmd and .bog to avoid emacs extension collisions).
278 Substitution" parameters facilitate "automagic" generation of
279 data...in" and "init...in" filenames, "const N=" from your data
280 file and "monitor()/stats()" commands.  Activated by pressing @kbd{F12}.
281 @item Fixes for `ess-smart-underscore' SAS breakage (Rich Heiberger)
282 @item You can change between PC and Unix, local and global SAS function-key
283 definitions interactively (Rich Heiberger)
284 @item @kbd{C-Submit} a highlighted region to SAS batch (Rodney Sparapani)
285 @item New and improved SAS syntax highlighting (Rodney Sparapani)
286 To get the new functionality, set ess-sas-run-make-regexp to nil.
287 Also available in .log files via @kbd{F10}.
288 @item Open a permanent SAS dataset for viewing via @kbd{F9} (Rodney Sparapani)
289 You must have the library defined in autoexec.sas for it to work.
290 @item User-friendly defaults for `sas-program', `ess-sas-batch-pre-command'
291 and `ess-sas-batch-post-command' as well Customize support for these
292 and other ESS[SAS] variables (Rodney Sparapani)
293 @item `ess-sas-suffix-2' now defaults to .dat via @kbd{F11} (Rodney Sparapani)
294 @item Emacs/XEmacs, Unix/Windows issues collectively handled in ess-emcs.el
295 @item defadvice solves problem of missing *ESS* (thanks to Jeff Mincy)
296 @item Improved manual a bit by including things that were only in `README'.
297 @end itemize
299 Changes/New Features in 5.1.18:
300 @itemize @bullet
301 @item New `ess-smart-underscore' function, now assigned to "_" by default.
302 Inserts `ess-S-assign' (customizable " <- "), unless inside string
303 and comments where plain "_" is used instead. (MM)
304 @item Fixes for longstanding interactive SAS breakage (RMH)
305 @end itemize
307 Changes/New Features in 5.1.17:
308 @itemize @bullet
309 @item Documentation for Windows Installation (Rich Heiberger)
310 @item removal of ess-vars, finalization of customize support (in the
311 sense that there is no more use of ess-vars, but that we need to
312 fix ess-cust) (AJ Rossini)
313 @item Many small (and large) fixes/contributions (MMaechler)
314 @item addition of the "S-equal" variable and provide @kbd{M-x ess-add-MM-keys}
315 a way to remap "_" to `ess-S-assign', typically " <- ", but
316 customizable. (MMaechler)
317 @end itemize
319 Changes/New Features in 5.1.16:
320 @itemize @bullet
321 @item BUG FIXES
322 @item Better SAS support
323 @end itemize
325 Changes/New Features in 5.1.15:
326 @itemize @bullet
327 @item BUG FIXES
328 @end itemize
330 Changes/New Features in 5.1.14:
331 @itemize @bullet
332 @item Yet more fixes to SAS mode, (Rich Heiberger and Rodney Sparapani)
333 @item Customize support (for most Emacsen which support it) (AJRossini)
334 @item ARC and ViSta support out of the box, and fixes for XLispStat (AJRossini)
335 @end itemize
337 Changes/New Features in 5.1.13:
338 @itemize @bullet
339 @item Version numbering finally all depending on the ./VERSION file,
340 thanks to Martin Maechler.
341 @item Yet more fixes to SAS mode, thanks to Rich Heiberger.
342 @end itemize
344 Changes/New Features in 5.1.12:
345 @itemize @bullet
346 @item Splus 5.1 stabilized, thanks to Martin Maechler, Bill Venables,
347 Chuck Taylor, and others.
348 @item More fixes to SAS mode, thanks to Rodney Sparapani
349 and Rich Heiberger.
350 @end itemize
352 Changes/New Features in 5.1.11:
353 @itemize @bullet
354 @item More fixes to Stata mode, thanks to
355 @uref{mailto:brendan@@essex.ac.uk, Brendan Halpin}.
356 @item fixed bugs in ESS-elsewhere, thanks to many testers
357 @item README.SPLUS4WIN has DETAILED instructions for S-PLUS 2000, thanks
358 to @uref{mailto:brahm@@alum.mit.edu, David Brahm}.
359 @item Fixes to SAS mode, thanks to Rodney Sparapani
360 @end itemize
362 Changes/New Features in 5.1.10:
363 @itemize @bullet
364 @item More fixes to Stata mode
365 @item primitive generic version of ESS-elsewhere
366 @item Small fixes to SAS/Stata.
367 @end itemize
369 Changes/New Features in 5.1.9:
370 @itemize @bullet
371 @item Stata mode works
372 @item Literate Data Analysis using Noweb works
373 @end itemize
375 Changes/New Features in 5.1.8:
376 @itemize @bullet
377 @item Bug fixes
378 @item R documentation mode defaults changed
379 @end itemize
381 Changes/New Features in 5.1.2:
382 @itemize @bullet
383 @item  able to use inferior iESS mode to
384 communicate directly with a running S-Plus 4.x process using the
385 Microsoft DDE protocol.  We use the familiar (from Unix ESS) @kbd{C-c C-n}
386 and related key sequences to send lines from the S-mode file to the
387 inferior S process.  We continue to edit S input files in ESS[S] mode
388 and transcripts of previous S sessions in ESS Transcript mode.  All
389 three modes know the S language, syntax, and indentation patterns and
390 provide the syntactic highlighting that eases the programming tasks.
391 @end itemize