NEWS for R.app GUI for Mac OS X *** Quartz II branch created 2007-08-16 *** The goal of this branch is to implement a new Quartz device based on Quartz2D and thus much faster and versatile. (The old device was Cocoa-based so Quartz was really a misnomer) Last-update: 2007-08-14 [SU] * Use full path in local package installation to avoid tilde expansion (which causes package update to fail). Last-update: 2007-08-13 [RG] * Re-enabled make keywindow line in RQuartz.m Last-update: 2007-07-28 [SU] * fix encoding issue when opening a file via Open Document that has non-ASCII characters in its path name Last-update: 2007-07-25 [SU] * add "Clear Console" () menu item * fix font handling for the console: the font size toolbar is now correctly initialized the value is consistently stored Last-update: 2007-07-19 [SU] * fix lock-ups in the editor when brace-highlighting and auto-close happen at the same time (thanks to Andrew Beckman for reporting). * added 'Debug all exceptions' and 'Redirect stdout/err' preferences. Previously those tasks were available only in the debug build. In order to debug problems with the GUI use defaults write org.R-project.R 'Debug all exceptions' YES If the crash is so bad that you can't see the output in the console, also add: defaults write org.R-project.R 'Redirect stdout/err' NO and capture the output from the Console log. To reset both settings back to normal, use defaults delete org.R-project.R 'Debug all exceptions' defaults delete org.R-project.R 'Redirect stdout/err' One more notheworthy preference is 'Disable R signal handlers' which if set to YES disables the menu that handles crashes in R (disabling it is a good idea for debugging, because the menu can cause a crash itself as it interacts with the UI) Finally 'Ignore stderr' preference if set to YES: defaults write org.R-project.R 'Ignore stderr' YES suppresses forwarding of all stderr output so that it is not displayed in R. This can be useful if the GUI or some 3rd party programs produce noise on stderr that cannot be handled otherwise. Note, however, that this will suppress all stderr including errors from programs that you start via system(), so use with care. (It has no effect if 'Redirect stdout/err' is set to NO) Last-update: 2007-07-18 [SU] * set stderr/out timeout only after a successful connection, this should eliminate "tossing reply message" errors while R starts -- Release Version 1.20 (4535) - supplied with R 2.5.1 -- Last-update: 2007-07-01 [SU] * add preference UI for automatic brackets/quotes matching * include back-quotes to auto-matching * fix a problem caused by thread timeout if R takes too long to start. Last-update: 2007-05-30 [SU] * add timeout to stdout/err thread to avoid deadlocks in packages that abuse stdout/err Last-update: 2007-05-17 [SU] * add exception handling to the outermost event loop (REngine) this should catch most causes for a crash and provide detailed information while recovering the session from such errors * improve file completion (directories get a trailing / and ~-style paths can be completed including the initial part) * auto.close.parens now includes string delimiters (' and ") * deleting an initial bracket (using plain backspace or delete) will also delete the closing bracket if they are linked and there is no text between them (e.g. typing an opening bracket and pressing backspace will delete it and the automatically generated closing one). * improve auto-completion: it uses different tokens for file completion and expression completion (partially based on suggestions by Hans-Jšrg Bibiko) Last-update: 2007-05-06 [RG] * Window menu cleanup and a few more dangling windows. Most of the windowController workaround code now resides in RDocumentController Last-update: 2007-05-01 [SU] * expand tilde in quartz.save Last-update: 2007-04-26 [SU] * Adjust Bioconductor repositories and get ready for 2.1 -- Release Version 1.19 (4308) - supplied with R 2.5.0 -- Last-update: 2007-04-25 [SU] * Both R NEWS and R.app NEWS are shown for the "What's new" menu. * local package repository is now in ~/Library/R/x.y/library where x.y is the R version (as in R version x.y.z) to prevent clashes between R versions (was ~/Library/R/library) It is possible to symlink x.y to .. in order to get the previous behavior. Last-update: 2007-02-22 [SU] * Add support for automatically closing brackets. Typing an opening bracket automatically adds a closing bracket as well (this applies to round, square and curly brackets). However, the closing bracket can be subsequently overwritten. This new feature can be disabled by setting auto.close.parens preference to NO * New shortcuts have been added: + <-> and + <=> for left assignment arrow + <=> for "!=" Last-update: 2007-02-21 [SU] * Cache value for working directory to prevent superfluous repaints that may lead to copy/paste PDF issues. (Thanks to Demitri Muna for helpful hints) -- Release Version 1.18 (4045) - supplied with R 2.4.1 -- Last-update: 2006-12-15 [SU] * Add support for 64-bit version of the GUI (both ppc64 and x86_64 platforms) Last-update: 2006-12-06 [SU] * Adapt to API change in R-devel (R_ParseVector) Last-update: 2006-11-30 [SU] * Fix errors popping up if the working directory is no longer existent (reported by Demitri Muna). Last-update: 2006-10-13 [RG] * Passed focus back to RConsole after ?... returns no help topic found and user dismisses the alert panel -- Release Version 1.17 (3868) - supplied with R 2.4.0 -- Last-update: 2006-10-04 [SU] * Updated Bioconductor repository URL for R 2.4.0 and R-devel * Changes in the Makefile (add -g even for deployment and allow ppc machines to compile; other cleanups) Last-update: 2006-10-02 [SU] * Implemented lazy syntax-highlighting in the editor: the syntax highlighting is only updated on a limited region and if the change affects further text, its update is postponed until editing is done in such region. It is not perfect, but should solve speed issues when typing quotes. * Remove NSAlert introduced in last commit as it pops up for most documents where the GUI is used as pager Last-update: 2006-09-28 [RG] * Enables call to super in RDocumentController. On failure will display an NSAlert message allowing the user to cancel or continue anyway. Did not run ./update.strings yet but strings are inside NLS(...) Last-update: 2006-09-28 [RG] * Caught another dangling window (RQuartz.m) Last-update: 2006-09-28 [SU] * Locales containing additional flags (e.g. en_GB@currency=EUR) didn't use UTF-8. Current fix is to strip the flags, although that may result in an incorrect variant of the locale to be used. The underlying problem is the interpretation in R, so there is not much we can do about it right now. * Fix bug causing crashes when opening documents * Fix GUI version defined in header files Last-update: 2006-09-13 [RG] * Switch to openDocumentsToContentsOfURL:display:error * R.app now recognizes a .RData file when opened with d&d * Fixed a bunch of cases where 'dangling' menus occurred after 'do cmd', e.g. from AppleScript Last-update: 2006-09-05 [SU] * Update R.app to work with current R 2.4.0 alpha and R-devel Last-update: 2006-08-27 [RG] * Added pref setting for saveOnExitKey to startup prefpane * Prevent loading of .RData from user home dir (if working dir is different) * Show which .RData is loaded on startup Last-update: 2006-08-10 [RG] * Added check for quartz width/height preferences (missing in newQuartzDevice: in RController.m) Last-update: 2006-07-14 [SU] * Cleanup in initialization code (use Rinterface.h when available) * Add "Disable R signal handlers" preference which allows to disable the new signal handlers introduced in R 2.3.0 The valid values are YES and NO. The default for deployment build is NO and for development build is YES. Last-update: 2006-07-13 [SU] * Added support for save.on.exit preference with possible values yes/no/ask. Currently not settable via UI but e.g.: defaults write org.R-project.R save.on.exit -string no Last-update: 2006-06-19 [SU] * Fixed detection of previous R version for package update * Add support for device name in Quartz Last-update: 2006-06-17 [SU] * Fixed broken "update all" in package installer -- Release Version 1.16 (3198) - supplied with R 2.3.1 -- Last-update: 2006-05-24 [SU] * Update BioC repositories and add "repos" when installing packages (mainly to fetch dependencies) Last-update: 2006-05-22 [SU] * Add options for installing dependent packages in PI * Allow .libPaths()[1] as package installation target * Create user location upon installation if not present * Fix default BioC repositories location Last-update: 2006-05-21 [SU] * Fixed parallel open for certain files. * Fixed issues with closing documents * Add shortcuts for "Switch to Last Quartz Window" and "Switch to Last Editor Window" * Clean up in the document controller - single path for all R source files Last-update: 2006-05-17 [SU] * Fixed 'open' for files without extension (uses native document handling again) Last-update: 2006-05-04 [SU] * Fixed extension when saving Quartz Graphics * Fall back to "open" in handleShowFiles: if a document cannot be loaded (e.g. due to invalid encoding) Last-update: 2006-05-02 [SU] * Fixed problems with incompatible libraries Last-update: 2006-04-27 [SU] * Fixed missing icon in editor preferences * Updated legacy R.xcode project -- Release Version 1.15 (3106) - supplied with R 2.3.0 -- Last-update: 2006-04-24 [SU] * Added icons for R documents, scripts and data * Fixed document types and extensions * Fixed workspace pollution upon startup * Fix drag'n'drop: events sent while R.app was starting were often lost. Loading now implies directory change and all folder drops result in workspace restoration. Last-update: 2006-04-13 [SU] * Added support for multi-arch build of R Last-update: 2006-03-01 [SU] * Fixed crash on invalid history files Last-update: 2006-02-21 [SU] * Fixes for internal header changes in R-devel * Fixed script stage for R target to work with paths that contain spaces (Xc2.2). * Fixed Debug config to not strip debug symbols Last-update: 2006-02-10 [SU] * Updated Xcode 2.0 project to produce correct Info.plist * Updated Xcode 2.2 project: Deployment target is now universal build using 10.4u SDK. You will need to symlink /Library into the SDK before building! All other configs are native. * Fixed Makefile to build sush correctly and re-build R.app if SVN revision changed. Last-update: 2006-02-08 [SU] * Added Makefile for building universal R.app that actually works. Note that Xcode build for Intel does NOT work due to bugs in gcc. You must use patched gcc 4.0.3 (see http://wiki.urbanek.info/index.cgi?TigerGCC ) but that compiler is not supported by Xcode, that's why we need the Makefile. Last-update: 2006-02-06 [SU] * Added support for universal build * Changed the way Info.plist and strings are updated, there is no longer need for *.src.* * Switched to Xcode 2.2+ project. From now on build using Xcode 2.1 or older is no longer supported. Last-update: 2006-01-05 [SU] * Updated Japanese localization (thanks to Masafumi Okada) -- Release Version 1.14 (2129) - supplied with R 2.2.1 -- Last-update: 2006-01-02 [SU] * Added dutch localization (thanks to Aaike De Wever) * Minor cleanups and RC build Last-update: 2005-12-16 [SU] * Fixed bug in apple script prcessing that required an event to be fired (e.g. moving the mouse) before the command was processed. [Thanks to Jonathan Paisley for the hint] Last-update: 2005-11-10 [SU] * Fixed a memory leak in the Quartz device (font handling) Last-update: 2005-11-03 [SU] * Deferred vignettes list retrieval until vignettes are requested to reduce start-up time on slow machines. Last-update: 2005-10-31 [SU] * Replaced all remaining CStrings with UTF8Strings (fixes help search topic display problem) Last-update: 2005-10-28 [SU] * Fixed encoding bug in REngine parser invocation (fixes Quartz saving bug reported by Denis Chabot) * Added safeguards to WriteConsole callback * Fixed invalid html docs link Last-update: 2005-10-19 [RG] * External editor: Enabled names with embedded spaces. -- Release Version 1.13 (1915) - suppplied with R 2.2.0 -- Last-update: 2005-10-07 [SU] * Package installer: add search menu option to select packages installed in a previous R version. This allows an easy upgrade from an older R version. * Work-around for a bug in browse.pkg of R 2.2.0 release * Fixed bug in pkg installation from "other repository" Last-update: 2005-10-05 [SU] * Fixed package installation from files/directories * is now equivalent to break (and the STOP button) * Added support for vignette sources * Double-clicking a vignette opens its PDF * Fix application termination. It should cancel logout/shutdown only if the user requested so (it always cancelled it before). Last-update: 2005-10-03 [SU] * Added support for vignettes. Last-update: 2005-09-06 [RG] * Fixed history file name. Last-update: 2005-07-20 [SU] * Fixed RController initialization bug (responsible for random segfaults at stratup) * Added (undocumented) quartz.save function for saving contents of Quartz devices as-is to various formats. -- Release Version 1.12 (1622) - supplied with R 2.1.1 -- Last-update: 2005-07-01 [SU] * Fixed Quartz live-resize bug * Updated FAQ for 2.1.1 Last-update: 2005-06-20 [SU] * Fixed package installer to handle Bioconductor repository properly * Added Xcode 2.1 project * Added preference to disable function arguments hints (applies to both console and editor) Last-update: 2005-05-30 [SU] * Added "protected mode" to REngine which disables events for the duration of short, atomic operations like arguments lookup or code completion. This should fix recent crashes caused by longer lookups. Last-update: 2005-05-27 [SU] * Re-write of the Quartz text handling; should fix some exceptions and fix problmes with font metrics (the previous one provided bogus values) Last-update: 2005-05-19 [SU] * Don't run system events if ProcessEvents is called too frequently (calls to the system loop will be at least 150ms apart) Solves speed issues where loops were slower in the GUI than on command line -- Release Version 1.11 - supplied with R 2.1.0 Patched (2005-05-12) -- Last-update: 2005-05-12 [SU] * Fixed crash in PI when filter (search) was on and installation failed Last-update: 2005-05-11 [SU] * Added support for function arguments lookup in the console * Added status line to the console (only used for the args lookup so far) * Added better warnings in package installer and cleaned up previous * Set cursor color to match the input/normal text * Make sure the help window is key after runnig help from the console * Use status line for all commands executed by REngine * Added code/file completion to the editor * Added global code/file completion shortcut <.> (as in Xcode) still works in the console, but obviously not in the editor * Added status line and arguments lookup in the editor * Fixed buttons availability in package installer * Added re-entrance tracking to the REngine. Currently CodeCompletion and editor's argument lookup honor the preventReentrance flag. It is disabled by default but can be enabled by: defaults write org.R-project.R "REngine prevent reentrance" YES We need some testing to see if reentrance at a wrong time can crash R Last-update: 2005-05-10 [SU] * Added help search history to search field in editor, fixed menu issues * Re-designed help browser - added support for search field history * Sort packages in package installer by name (case-insensitively) * Added package search/filter to package installer (with recent search menu and the option to show installed packages only) * Cleanup of the package installer interface - buttons are grayed when busy and the list doesn't just disappear * Added "Update All" functionality to the package installer (supports internet repositories including custom one) * Fixed custom repository source install (used binary in R 2.1 patched) * Remember custom URL across sessions. Show the field only when relevant. * Reload package list after instalaltion so the newly installed versions are reflected in the list * Change package installer to use contriburl and type parameters (to make it compatible with R 2.2 - the CRAN parameter is deprecatred) * Fixed bug in single-item select.list() calculating wrong list height Last-update: 2005-05-09 [SU] * Fixed CPU hogging while waiting for system() to finish. Calling PE too often slowed down source package installation a lot. Last-update: 2005-05-06 [SU] * Fixed history handling to work with UTF-8 paths * Fixed race condition in preference notification Last-update: 2005-05-05 [RG] * Fixed selecting the .Rhistory file from the correct, newly set working dir after drag&drop Last-update: 2005-05-02 [SU] * Updated syntax highlighting to recognize identifiers containing numbers * Optimized syntax highlighting - scans only one line unless quotes change multi-line strings. Should yied huge speedup for large files. -- Release Version 1.10 - this revision is supplied with R 2.1.0 -- Last-update: 2005-04-26 [SU] * Changed version to 1.10 - release! * Make sure preferences are saved before R quits * Fixed crash/exception on font change in the console * Added force.LANG and ignore.system.locale preference entries. There is no GUI for those, but they can be set using "defaults". ignore.system.locale is boolean and sets locale to en_US.UTF-8. force.LANG is a string that replaces the LANG seting. If present, but empty, LANG is not touched. force.LANG has higher precedence. These are useful to override system's locale settings for one reason or another. Last-update: 2005-04-25 [SU] * Bumped up version to 1.10 (pre) - getting ready for the release * Don't use syntax highlighting for show.files documents * Optimized line number rendering (huge speed-up for large files) * Fixed encoding in saved filed (was UTF-16 instead of UTF-8) * Fixed syntax highlighting for newly opened files Last-update: 2005-04-25 [RG] * Fixes in the editor preference pane * Fixed document closing behavior * Show R NEWS file when asked "What's new?" Last-update: 2005-04-20 [SU] * Added support for default CRAN mirror (preference and check in Package Installer) * Fixed brace highlighting bugs that caused exceptions and crashes in the editor (note to developers: NSTextField is very unhappy when something changes contents inside the "edited:" callback - if you wish to make changes, you must do it synchronously *after* the edited: callback is done. Our NSTextStorage subclass allows this). * Use more efficient backend for editor documents Last-update: 2005-04-18 [SU, RG] * Updated NIB localization script. The operation must be specified on the command line, deliberately there is no default anymore * Updated FAQ * Fixed failing "Save" in editor on OS X 10.4 (Tiger) [RG] Last-update: 2005-04-15 [SU] * Fixed bug in AMPrefs causing an attempt to release a system font * Added progress indicator to package installer * Fixed package installer to work with R 2.1 (it did not unless CRAN mirror was set manually before) * Reverted REngine back to --gui=cocoa in order to not break compatibility with R 2.0 (corresponding change was made in R 2.1) Last-update: 2005-04-13 [RG] * Fixed a bug in drawing on a miniaturized active Quartz window [RG] Last-update: 2005-04-12 [SU] * Fixed a bug in the code completion (uncaught exception when completion of the complete was attempted) * Fixed R engine to use --gui=aqua (necessary for R 2.1.0) * Display FAQ distributed with R.app (was: fw version of it) Last-update: 2005-04-04 [SU] * Some more cleanup in the editor toolbar, added Save item * Added go-to-line () capability in editor Last-update: 2005-03-31 [SU] * Added editor toolbar * Added help search capability to editor * Added pop-up list of functions to edtior * Made editor and console use new toolbar look in OS X 10.4 * Assume UTF-8 when loading documents by default * Make `system' call modal even for root. This should fix installation of packages when authentication is on. Still, we have no way of interrupting root tasks. * Add startup debugging messages (Development target only) Last update: 2005-03-07 [RG] * Re-enabled width & height parms in quartz() * Enabled history entry delete by button * Optional removal of duplicate previous entry from history * Optional (through pref pane) cleanup of history entries (stripping of irrelevant chars, lines and/or comments) Last update: 2005-03-04 [SI] * added callback for select.list (do_selectlist) R function, the code needs some cleaning though. Last update: 2005-02-28 [RG] * Made all history files R compatible * Updated relevant prefpanes * Enabled double clicking on a file or dropping a file on the R icon to set the working dir during start-up of R Last update: 2005-02-25 [RG] * Enabled dropping dirs on the R icon to set the working dir * Note: It is possible to 'open -a R.app .', which will open R in the directory in which the open command is executed. Last update: 2005-02-23 [SU] * Changed help file handling to use customized print method (applies to R-devel only and requires change in R itself!) Last update: 2005-02-18 [SI] * added French localization; changed credits Last update: 2005-02-18 [RG] * Added support for .Rhistory files (import, export and editing) * Added support for persistent R.app history files Last update: 2005-02-16 [RG] * Fixed some consistency issues with help * Made the R Console searchfield initially an exact search * Enabled expanded search if help topic not found Last update: 2005-02-13 [SU] * Fixed crash in console after output w/o EOL Last update: 2005-02-12 [RG] * Separated prefpanes for General and Editor * Enabled line wrapping in editor Last update: 2005-02-10 [RG] * Added pref pane for syntax highlight colors Last update: 2005-02-05 [SU] * Added localization in all Obj-C code; updated l10n scripts * Added scripts for localization of Obj-C code Last update: 2005-02-03 [RG] * Added simple line number support in source editor. * Fixed some issues around deleteBackward in editor * Brace highlighting in editor re-enabled * Fixed some minor issues on repositioning and resizing of Quartz windows. Last update: 2005-02-01 [SU] * Added forward/back buttons in help browser window * Added update.localization script for automated update of localized NIB files. * Switched over to Cocoa API for auto-completion. Unfortunately the system is somewhat limited, so it's far from perfect. It seems that we need to implement our own drop-down to make it behave more intuitively (so, please, hold your horses before reporting bugs on this one...). Last update: 2005-01-19 [SU] * Fixed typo in loc. strings (which caused an exception on start) * Fixed bug in RController causing R-GUI to not compile for most recent R-devel * Added some more UTF-8 support Last update: 2005-01-13 [SU] * Fixed compatibility issue with R-devel (2.1.0) * Enable UTF-8 support for R-devel (2.1.0). This finally fixes most encoding issues and allows support for many languages * Changed REngine to use UTF-8 Last update: 2005-01-12 [RG, SU] * Fixed openRecent behaviour [RG] * Fixed crash in the timer (REPL is non-delayed now) [SU] * Fixed document open/save bugs [SU] Last update: 2005-01-11 [SU] * Added undo checkpoint at in the editor * Remove undo stack in the console after prompt to prevent entries from previous lines to mess up the console (we may want to add some more sohpisticated undo policy later) * Fixed R startup issue which required to be hit sometimes (introduced in 2005-01-10 commit) * Fixed undo issues (the correct manager is used) * Fixed NSRunStorage exceptions (pasting large chunks or huge output works now) - console now uses direct text storage messages for better reliability and speed * This is the just the beginning in the process of dismantling RController into RConsole* classes. RController should handle only application-wide issues. Any console-related functionality should go to one of the RConsole classes. * Changed document handling to proper MVC - both the editor and the console consist of three parts: - the document class handling new/open/save etc. - window controller handling interactions with the window - text storage class handling text manipulations Especially the separation of the text storage may be very useful for content checking (hidden chars) and highlighting. * Added Rcommand document type which represents the console as a document (for now not fired at launch time). The corresponding NIB file is RConsole and the RConsole* classes. Last update: 2005-01-10 [SU] * Changed the way R is started to get out of the timer/notifi- cation context. This is somewhat experimental, because is is quite complex (using runDelayedREPL and posting ) Last update: 2004-12-30 [SU] * Fixed bug in color preferences causing an exception to be thrown when chenging transparency of a pure white bg * Added support for transparent background to editor windows * Fixed bug in RDocument (window could not be identified) * Make console window key after setting up R * Some Quartz cleanup [RG] Last update: 2004-12-29 [SU] * Removed superfluous and wrong color handling code - should fix crashes related to new documents. Last update: 2004-12-29 [RG] * Fixed 'Open With' R (opening a file from Finder with R) * Fixed opening many 'New Document' windows * Removed dummy NSLog statements in RDocumentController (likely all 3 issues above were caused by defaultColor initialization in RDocument) * Fixed RQuartz window zoom and deminiaturize (now redisplays) * Improved RQuartz window location handling * Fixed handling of radio buttons in Editor and Misc PrefPanes (behaviour changed between OSX 10.3.6 and 10.3.7?) Last update: 2004-12-27 [SU] * Fixed a potentially dangerous bug in stdout/err thread code (writing one byte off the end of a dynamic buffer) * Fixed improper R loop start * Added new target "Debug" - it should be used for deployed binaries that will contain debug information. The development target uses zero-link which makes it unusable for any deployment. * Added exception debugging code - exceptions are traced and dumped on the console (Debug/Development only). * Changed R loop start to happen during the AFL notification instead of a timer (experimenal, see note below). * Made most of the console writing code thread-safe. NOTE: there seems to be a serious issue: R's SETJMP interferes with Obj-C exception handling (or vice-versa). There is now some experimental code in this commit that tries to explore the possibilities, but it's not a final solution yet. Last update: 2004-12-10 [RG] * Quartz window location and size preferences implemented. Font not done yet. Last update: 2004-12-08 [RG] * (re-)enabled printing of docs in editor, for now, clears and restores background color before printing * changed horizontalPagination from Auto to Fit * enabled printing help pages with print button * kept full path for editor app or script * informational panel if help topic is not found Last update: 2004-12-07 [RG, SU] * changed showing and changing of working directory to abbreviate paths using ~ where possible [SU] * fixed path handling to use NSString and NSFileManager - this fixes issues with non-ASCII paths [SU] * minor cleanup in preference panes (code+NIBs) [SU] * added initial working directory setup in misc PP [RG] * added support for the new preference system in all PPs (fixes things broken in the last commit) [RG] Last update: 2004-12-05 [SU] * fixed casting issues in AMPrefs * added handleHelpSearch callback, moved the corresponding code out of Rcallbacks, converted SearchTable to use SortableDataSource * moved preferences controller from Rcontroller into its own class PrefWindowController - makes more sense and is now handled by NIB instead of manual allocation * Added proper Preferences class handling all preferences * cleanup of Rcontroller and prefs handling - currently only color preferences use the new system, therefore other preferences don't work (yet)! * moved preference keys to PreferenceKeys.h header * added support for configurable working directory (but the corresponding prefs pane still needs to be implemented) Last update: 2004-11-29 [RG, SU] * improved structure of RDocumentController, made edit default in MiscPrefPane [RG] * fixed handling of file names - use NSString wherever possible to avoid encoding problems [SU] * fixed some occurrences of non-UTF-8 strings in the R communication path (among others fixes sourcing and file-competion issues of filenames containing non-ASCII characters) [SU] Last update: 2004-11-27 [RG] * cleaned storing preferences EditorPrefPane and added New editor selection panel * fixed storing preferences MiscPrefPane * fixed blanks in filename paths for openDocument * fixed Save Document As for Quartz window Last update: 2004-11-24 [SU] * fixed bug in UTF-8 handling; removed the use of auto-release pools in Re_.. callbacks. Still ToDo: R doesn't understand UTF-8 so the GUI should use cString default encoding (even if we can't change it programmatically) -- Release Version 1.01 - this revision is supplied with R 2.0.1 -- Last update: 2004-11-16 [SU] * fixed handling of line endings: PC endings (\r\n) are now supported as R console input (also fixes some problems with AppleScript) * added transport buffer for ReadConsole to be logically correct. this also remedies the compilation warning in RController * fixed a bug in isAdmin() - uninitialized variable Last update: 2004-11-14 [SU] * added isAdmin() in Tools/Authorization to query the admin status of the current user (more precisely membership in the "admin" group) * changed default package installation target - for admin users the default is now system-wide installation * clean-up of the MiscPrefPane, removed redundant code from RController * added support for R_LIBS option: in MiscPrefs there is a flag that can be set resulting in ~/R/Library to be added to R_LIBS. This obsoletes hack in Rprofile which modified .libPaths without respecting or updating R_LIBS which in turn broke some R CMD ... scripts. Note that this setting has no effect if the hack is still in place (most notably in the R 2.0.0 release) * added R_GUI_VERSION_STR define * R_GUI_APP_VERSION environment variable is set by R.app such that R code can check the existence and version of the R.app Last update: 2004-11-06 [SI] * added Rob Goedman (for external editor support) code. * added standard copyright notes everywhere. Please check and add specific credits to users contributed code if any. Last update: 2004-11-05 [SU] * fixed a small leak and early deallocation of the keywordList (this fixes crash observed when editing a file dropped on R while R is initialized). retain all colors, too, to make sure they don't get deallocated * added SortedDataSource which provides a persistent table as data source. it is used by DataManager now and should by used by all managers later. the sorting part is not implemented yet, though. Last update: 2004-10-30 [SU] * moved callbacks for data manager, package manager, package installer and system command out to a separate handler. This means rather major changes in the code and the way data is stored in those managers (removed all global variables for the above managers). There are now two handlers in REngine - one mandatory (REPL) and one optional (Cocoa). * separated authorization code - it lives now in Authorization.c in Tools * minor cleanups - the method names are now more consistent across classes Last update: 2004-10-25 [SU] * added brace highlighting (partially based on code by Rob Goedman) * reversed declaration order of RQuartz copy operation: PDF first, TIFF second. This may help some PDF editors ... We may want to make this configurable and/or have two separate copy commands. Last update: 2004-10-22 [SI] * added first embrional version of R preferences using AMPreferencePane class by Andreas Mayer. At the moment only color preferences are implemented. Quartz and misc preferences pane are there but not yet working. The preferences are still saved/loaded using NSDefaults You may need to "svn update" from the shell better than from inside of XCode Last update: 2004-10-22 [SU] * newly typed text outside insertion scope is appended at the end (thanks to Byron for the idea) * converted InfoPlist.string to UTF-8 so it's easier to maintain and edit * added SVN build information to Info.plists and strings * removed BUILD_FOR_R_2_1_x flag and replaced by canonical version check Last update: 2004-10-22 [SI] * fixed metric info problem with Quartz device. Apparently a leading pad was added to the textcontainer used to acquire the metric info. Thanks to Byron Ellys for this fix. * saveWorkSpaceFile fixed. It was impossible to create a new file. * introduced sourceOrLoadFile: in alternative to sourceFile. This is now connected to Source/Load button in the R Console Window toolbar. * added readFromFile method in RDocument to allow data loading with binary files. It allows also for drag and drop of image data on the R Icon * removed button from workspace browser window, added corresponding toolbar icon/button Last update: 2004-10-21 [SI] * in data editor: the runModalForSession has been replaced by a modalForWindow to remove the problem with high CPU consuming (thanks to Byron Ellys for the fix) * column numbers instead of column names are used to identify columns (thanks to Byron Ellys for the fix) Last update: 2004-10-18 [SU] * fixed working directory selection * added sourceCurrentDocument: implementation; if the document is dirty, a temporary file is created, sourced and finally deleted -- Release Version 1.00 - this revision is supplied with R 2.0.0 -- Last update: 2004-10-15 [SU] * code cleanups to get rid of most warnings * fixed linking issues caused by run_Rmainloop conflicting with R * fixed resizing behavior of the help window * disable continuous spell checking by default Last update: 2004-10-14 [SU] * fixed output synchronization. all console output sources eventually use writeConsoleDirectly: and the insertion point is controlled by outputPosition. * add more flexible flush support (flushROutput and FlushStdConsole) * fixed document handling to be consistent with Cocoa; this means that menu items are handled implicitly by the first responder (where possible) and most default actions apply to the editor. Old versions of R GUI didn't have this, but mainly because there was no good editor supplied. * removed all global flags (IsRTF, IsREdit, ...) * toolbar icons changed (new icons added, some re-worked) * added menu+shortcut for "switch to console" * moved some menu items to logically more suitable places (e.g. "New document" is in "File" ...) * changed drop-document handling; the document is loaded in the editor (it can be easily executed by if necessary) * fixed activation of Quartz to use FR dispatching (this way it's not enabled in the console or editor where it doesn't make any sense) Last update: 2004-10-13 [SI] * added support for activation of quartz device and creation of new quartz deivce from the GUI This functionality was present in the old Aqua GUI. Last update: 2004-10-11 [SI] * first svn release Last update: 2004-10-10 [SU] * fixed ?/help handling removed in the last update * fixed improper memory handling of external input * added queue to the console input to allow multiple simultaneous inputs while R is still working * fixed color handling - input text has now the correct color * added some constraints that prevent user from accidentally leaving the prompt area * fixed focus issues with the help window * don't unnecessarily repeat console input before commit * doProcessEvents: processes exactly one event in the blocking mode * added first release of R FAQ. To build it use [SI] makeinfo -D UseExternalXrefs --html --force --no-split RMacOSX-FAQ.texi * added "Docs" target to automatically build above FAQ * added sush dependency to R target - now it is possible to build the entire project from scratch by simply typing "xcodebuild" on the command line. Although it's the default, more precise specification of the target and build style can be used such as: xcodebuild -target R -buildstyle Deployment Last update: 2004-10-09 [SU] * fixes in REngine (mem mgmt, 0 ptr fix); added executeString method * fixed package loading (use executeString and check the result) * huge cleanup of the R/Obj-C interface (stage 1). the interface is separated from RController by REPLHandler protocol. the R-side implementation is in Rcallbacks and RController implements the REPL protocol * changed output/console/prompt handling. this also makes sure that a prompt is always printed at the beginning of the line, no matter whether the previous output line is unfinished * raise the line buffer size from 1k to 32k, also it's not hard-coded now, but can be changed on the fly. * replace all evaluateString: with executeString: if the return value is not needed (ignoring the return value of eval.. causes memory leaks) * after history paste make textView the first respondent Last update: 2004-10-08 [SI] * added toolbar colors icon and functionality. User can set font colors for the R Console window. Settings are saved automatically on exit. Just for fun: added also transparency of the R Console window. * console font size saved in the preferences * the color of the cursors is set to be the same as the prompt one Last update: 2004-10-04 [SI] * fixed problem with applescript. Now uses scriptSuite and scriptTerminology * in sendIpunt: a fake keydown event is now generate to wake the event loop this is needed for both applescript and menu interaction * help(topic) and ?topic are now handled internally and the help page is shown in the internal browser. This is only a temporary solution. The correct approach is to create a new API to be called on each .show_help_on_topic_as_HTML call. Too late for release 2.0.0 of R. * Every call to Rengine evaluateString and parse causes R to be set in busy state this allows for feedback to the user at any REngine use. * added support to save quartz device to PDF file. This is currently done using devcopy onto the pdf device. Native Cocoa methods like [NSView dataWithPDFInsideRect] don't work at the moment because we don't use NSGraphicsContext. Should probably be done for the next release. * added clipboard copying into TIFF, PICT and PDF format * added support for printing of the graphics device, the console and the other editor windows * user input is now splitted in lines terminated by '\n'. This allows for copy and paste of bug documents. There's no limit to the input buffer apart from free memory. The input is just splitted in lines but if lines are longer than the maximum allowed by R (1024 currently) no action is taken, lines are just passed to R for at most 1024 bytes. Last update: 2004-09-28 [SU] * added PLAIN_STDERR optional define flag (enabled in development style) * fixed rmRows bug in data editor Last update: 2004-09-26 * fixed stderr/stdout problems, now using threads and correctly in synch * R console window gets focus on startup * changed credits * implemented edit and remove functionality ot the workspac browser * FIXME: the data editor still needs to be fixed for row adding REQUIRES r-devel 2004-09-26 Last update: 2004-09-10 * Implemented edit functionality for data frames and matrix * Implemented the Help system. * Splitviews in Package Manager, Data Manager and Help Search Interface * Implemented help search interface * Implemented the workspace browser * Implemented quartz device in cocoa * Fixed duplicate definition of variable IsReadConsoleTime. * Adjusted to work with XCode 1.5 REQUIRES r-devel 2004-09-10 Last update: 2004-08-28 * Fixed a package.manager: memory leaks and incorrect refreshing * Implemented the data manager * --gui=cocoa sets RGUI_TYPE to "AQUA", so now quartz is the default graphics device * Implemented package installer both for network and local repositories and file and to global or local destinations. FIXME: need to implement authorization * fixed font text windows * implemented "run X11 server" and added both menu and toolbar items. * added "Check For R Updates" menu item functionality REQUIRES: r-devel 2004-08-27 Last update: 2004-08-20 * Implemented open document both for menus and drag and drop on the R icon * Opening file is either: load data or source a script whenever this is possible. * Implemented the internal editor via NSDocument class. R can open plain text and rtf files. * Implemented file.show/R_ShowFiles. * Implemented file.edit/R_EditFiles. FIXME: the file name is not correctly set at the moment for newly created document. * Implemented AppleScript support. * Implemented in toolbar: font size change, load data/source script, new editor window, save R console, load file in editor * Implemented options(width=???) on font size and/or Console width change. * Implemented: setwd, changewd, showd and timer to show the current working directory in a textview * Implemented file.choose/R_ChooseFile * Implemented: show, clear, load and save of workspace * Implemented package manager for loading and detaching package with html help index REQUIRES: r-devel 2004-08-20 Last update: 2004-08-14 * Implemented console buffering. This make the R console output spedier. This has been implemented in the same way it was for the aqua module (see: src/modules/aqua/aquaconsole.c) * In previous version Code Completion blocked R, now fixed. * Implemented the History and Logs drawers. Stdout/Stderr are redirected to the Logs drawer (still not asyncronously). * Implemented load, save and clear history. Double clicking on history items paste the content of the item in the console at current cursor position * Implemented the tool bar for "stop", "quit", "history", "quartz" and "logs". Icons are horrible though. * added environment variable in info.plist First release: 2004-08-10 Authors: SI Stefano M Iacus SU Simon Urbanek RG Rob J Goedman