I'm editing R code (under the "R" bundle), and having a number of issues where I keep getting the dreaded spinning beach ball, and have to wait a number of seconds before I can keep working. Notably, whenever I typing in command and then enter the first '(' there is a significant lag before I get the help pop-up. This is rather annoying, as typing in simple statements takes a long time.
I had suspected this was a 2.9 versus 2.10 help system issue, so I upgraded to R 2.10.0 and still had the issue. I also deleted all traces of 2.9.2 and earlier from my machine, and I still have the issue.
I'm running MacOSX 10.5.8. Perhaps I am seeing an issue for something different between 10.5 and 10.6, but I am unable to upgrade to 10.6 for the time being.
I don't know if this is related, but when I start the Rdaemon, I also see an error:
-- /Users/albert/Library/Application Support/Rdaemon/daemon/startScript.sh: line 173: regular
( - regular
( + 2: syntax error in expression (error token is "( - regular
( + 2")
--
-albert
On 27.11.2009, at 15:34, Albert Vernon Smith wrote:
I'm editing R code (under the "R" bundle), and having a number of issues where I keep getting the dreaded spinning beach ball, and have to wait a number of seconds before I can keep working. Notably, whenever I typing in command and then enter the first '(' there is a significant lag before I get the help pop-up. This is rather annoying, as typing in simple statements takes a long time.
I had suspected this was a 2.9 versus 2.10 help system issue, so I upgraded to R 2.10.0 and still had the issue. I also deleted all traces of 2.9.2 and earlier from my machine, and I still have the issue.
I'm just rewriting the entire R bundles to get rid of all R versions "Help Issues" and to improve the speed. The "beachballing" could indicate that you've installed a lot of R packages or :
You also mentioned your're on Mac OSX 10.5 . Maybe the issue is here also a Ruby "problem". Roughly 7 hours ago I updated the R Rdaemon.bundle to get rid of a particular Ruby command. Please try to update the R Rdaemon.bundle.
Otherwise, please be patient. I do what I can to update the bundles as soon as possible. Not only the R versions R 2.10 and <R 2.10 are the problems but also Mac OSX 10.6 and 10.5. ....
Regards, --Hans
On 27.11.2009, at 15:34, Albert Vernon Smith wrote:
Notably, whenever I typing in command and then enter the first '(' there is a significant lag before I get the help pop-up.
Meanwhile you can switch off that behaviour. Simply open the Bundle Editor > R.bundle > "Show Function Usage + Insert '('" and delete the "Key Equivalent"
--Hans
Hi,
I've just uploaded the R.tmbundle. Due to massive changes it is recommended to delete that R.bundle and install it via GetBundles, or if you like svn via (avoid doing a svn update for some reasons):
export LC_CTYPE=en_US.UTF-8 mkdir -p ~/Library/Application\ Support/TextMate/Bundles cd ~/Library/Application\ Support/TextMate/Bundles svn co http://svn.textmate.org/trunk/Bundles/R.tmbundle osascript -e 'tell app "TextMate" to reload bundles'
See here some details: • Rewrote all Help based functions to support all R versions - no index files needed, instead make usage of a Rhelper daemon which runs in the background and will be terminated if the user quits TM • Improved all "show function usage" commands - trial to fix the display of argument default like "\n" - improved parsing of function usage out from the HTML page - working offline (not Rdaemon) try to parse and evaluate the argument list of user-defined functions on-the-fly by using the Rhelper daemon to format it and to show a possibly error in it • Rewrote commands for "Insert Function Parameter" - now Rhelper evaluates the argument list and outputs a list of all argument and defaults, this solves many problems while text parsing due to the nested parentheses issue - trial to show also defaults like "\n" - for "Insert all Parameters" insert "\n\t" after each 5th paramter to avoid insertion of a long and unreadable line • the help search now makes usage of 'help.search()' only • Introduced a new TM shell variable 'TM_R_SHOW_ALWAYS_HELPSEARCH - if set to 1 show always the search interface even if only one help page is found • Renamed R_AUTOCOMPLETE to TM_R_AUTOCOMPLETE (but the old var will be still recognized) • Deleted unused files • Moved temporary files to the temp folder to keep the bundle clean • Modularized and simplified many commands
Note: Some tests are needed for different Mac OS still, tested for 10.6.2, Ruby 1.8.7, R 2.9.2 & R 2.10
Please test it! Feedback is highly welcomed.
Cheers,
--Hans
Fantastic and thanks!
I've given it some limited testing, and this is significantly improved. (In other words, the R Bundle stopped taking TextMate to the beach. ;-) ) I'll keep an eye on things, and will say if I see anything.
I'm on Mac OS X 10.5.8, Ruby 1.8.6, and R 2.10.0.
Thanks again, -albert
On Tue, Dec 1, 2009 at 9:22 AM, Hans-Jörg Bibiko bibiko@eva.mpg.de wrote:
Hi,
I've just uploaded the R.tmbundle. Due to massive changes it is recommended to delete that R.bundle and install it via GetBundles, or if you like svn via (avoid doing a svn update for some reasons):
export LC_CTYPE=en_US.UTF-8 mkdir -p ~/Library/Application\ Support/TextMate/Bundles cd ~/Library/Application\ Support/TextMate/Bundles svn co http://svn.textmate.org/trunk/Bundles/R.tmbundle osascript -e 'tell app "TextMate" to reload bundles'
See here some details: • Rewrote all Help based functions to support all R versions
- no index files needed, instead make usage of a Rhelper daemon which runs in the background and will be terminated if the user quits TM
• Improved all "show function usage" commands
- trial to fix the display of argument default like "\n"
- improved parsing of function usage out from the HTML page
- working offline (not Rdaemon) try to parse and evaluate the argument list of user-defined functions on-the-fly by using the Rhelper daemon to format it and to show a possibly error in it
• Rewrote commands for "Insert Function Parameter"
- now Rhelper evaluates the argument list and outputs a list of all argument and defaults, this solves many problems while text parsing due to the nested parentheses issue
- trial to show also defaults like "\n"
- for "Insert all Parameters" insert "\n\t" after each 5th paramter to avoid insertion of a long and unreadable line
• the help search now makes usage of 'help.search()' only • Introduced a new TM shell variable 'TM_R_SHOW_ALWAYS_HELPSEARCH
- if set to 1 show always the search interface even if only one help page is found
• Renamed R_AUTOCOMPLETE to TM_R_AUTOCOMPLETE (but the old var will be still recognized) • Deleted unused files • Moved temporary files to the temp folder to keep the bundle clean • Modularized and simplified many commands
Note: Some tests are needed for different Mac OS still, tested for 10.6.2, Ruby 1.8.7, R 2.9.2 & R 2.10
Please test it! Feedback is highly welcomed.
Cheers,
--Hans
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate
Hans,
Thanks for all the effort you put into R support for TextMate!
My understanding of how to customize TextMate is limited, but earlier this week I did learn the hard way that below steps to update R.tmbundle override local modifications.
In my particular way of working with R (R.app mostly), I do not want TextMate to ever change working directories inside R, I like to source a file instead of sending all lines as commands, print through SubEthaEdit, build packages, etc. . Not better than other ways of working with R, just what I have grown to like as best of breed. Typically I have been putting these 4 or 5 modified commands at the top of the R command list with associated shortcut keys.
What is the 'TextMate' way to preserve these changes with future updates? From the docs, should I have updated below 'cd ...' line to point at '~/Library/"Application Support"/TextMate/"Pristine Copy"/Bundles' (or even to go into /Library/...)?
Thanks a lot, Rob
On Dec 1, 2009, at 1:22 AM, Hans-Jörg Bibiko wrote:
Hi,
I've just uploaded the R.tmbundle. Due to massive changes it is recommended to delete that R.bundle and install it via GetBundles, or if you like svn via (avoid doing a svn update for some reasons):
export LC_CTYPE=en_US.UTF-8 mkdir -p ~/Library/Application\ Support/TextMate/Bundles cd ~/Library/Application\ Support/TextMate/Bundles svn co http://svn.textmate.org/trunk/Bundles/R.tmbundle osascript -e 'tell app "TextMate" to reload bundles'
See here some details: • Rewrote all Help based functions to support all R versions
- no index files needed, instead make usage of a Rhelper daemon which runs in the background and will be terminated if the user quits TM
• Improved all "show function usage" commands
- trial to fix the display of argument default like "\n"
- improved parsing of function usage out from the HTML page
- working offline (not Rdaemon) try to parse and evaluate the argument list of user-defined functions on-the-fly by using the Rhelper daemon to format it and to show a possibly error in it
• Rewrote commands for "Insert Function Parameter"
- now Rhelper evaluates the argument list and outputs a list of all argument and defaults, this solves many problems while text parsing due to the nested parentheses issue
- trial to show also defaults like "\n"
- for "Insert all Parameters" insert "\n\t" after each 5th paramter to avoid insertion of a long and unreadable line
• the help search now makes usage of 'help.search()' only • Introduced a new TM shell variable 'TM_R_SHOW_ALWAYS_HELPSEARCH
- if set to 1 show always the search interface even if only one help page is found
• Renamed R_AUTOCOMPLETE to TM_R_AUTOCOMPLETE (but the old var will be still recognized) • Deleted unused files • Moved temporary files to the temp folder to keep the bundle clean • Modularized and simplified many commands
Note: Some tests are needed for different Mac OS still, tested for 10.6.2, Ruby 1.8.7, R 2.9.2 & R 2.10
Please test it! Feedback is highly welcomed.
Cheers,
--Hans
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate
Hi Rob,
On 03.12.2009, at 18:26, Rob Goedman wrote:
My understanding of how to customize TextMate is limited, but earlier this week I did learn the hard way that below steps to update R.tmbundle override local modifications.
Sorry about that. I think my suggestion to remove the R.bundle entirely before updating caused that.
In my particular way of working with R (R.app mostly), I do not want TextMate to ever change working directories inside R, I like to source a file instead of sending all lines as commands, print through SubEthaEdit, build packages, etc. . Not better than other ways of working with R, just what I have grown to like as best of breed. Typically I have been putting these 4 or 5 modified commands at the top of the R command list with associated shortcut keys.
What is the 'TextMate' way to preserve these changes with future updates? From the docs, should I have updated below 'cd ...' line to point at '~/Library/"Application Support"/TextMate/"Pristine Copy"/Bundles' (or even to go into /Library/...)?
It depends on how you would like to be up-to-date. Via svn is one way. Then:
export LC_CTYPE=en_US.UTF-8 mkdir -p ~/Library/Application\ Support/TextMate/Bundles cd ~/Library/Application\ Support/TextMate/Bundles svn co http://svn.textmate.org/trunk/Bundles/R.tmbundle
or to update only svn up http://svn.textmate.org/trunk/Bundles/R.tmbundle
works fine.
An other way is GetBundles which informs you about updates and you can install a new bundle or update a bundle just by double-clicking at the bundle name. Furthermore GetBundles keeps your Support/lib folder up-to-date.
Both ways won't touch your local changes because your changes are stored in .../Pristine Copy/Bundles - as the name it says. If you add your favourite commands this would be ok but if you changes a pre-defined command, well this could lead to some problems.
Hope this is of some help.
Cheers,
--Hans
Hi Hans,
This certainly helps! Did some further experiments (detailed below) to clarify the role of the 'Pristine Copy' dir.
Thanks a lot, Rob
On Dec 3, 2009, at 12:28 PM, Hans-Jörg Bibiko wrote:
[snipped a bunch]
What is the 'TextMate' way to preserve these changes with future updates? From the docs, should I have updated below 'cd ...' line to point at '~/Library/"Application Support"/TextMate/"Pristine Copy"/Bundles' (or even to go into /Library/...)?
It depends on how you would like to be up-to-date. Via svn is one way. Then:
export LC_CTYPE=en_US.UTF-8 mkdir -p ~/Library/Application\ Support/TextMate/Bundles cd ~/Library/Application\ Support/TextMate/Bundles svn co http://svn.textmate.org/trunk/Bundles/R.tmbundle
or to update only svn up http://svn.textmate.org/trunk/Bundles/R.tmbundle
works fine.
An other way is GetBundles which informs you about updates and you can install a new bundle or update a bundle just by double-clicking at the bundle name. Furthermore GetBundles keeps your Support/lib folder up-to-date.
Auto-update seems to work, other parts of GetBundles don't work on my system. e.g. listing bundles in the repository never finishes.
Both ways won't touch your local changes because your changes are stored in .../Pristine Copy/Bundles - as the name it says. If you add your favourite commands this would be ok but if you changes a pre-defined command, well this could lead to some problems.
From this statement, below help text and the meaning of pristine (doesn't it mean 'fresh, unspoiled'?) I got confused. On a 2nd machine I cleaned out all TextMate stuff and installed a new version and all additional packages in '/Library/.../Bundles'. It then seems to install my local changes in '~/.../Bundles' though, not in '~/.../"Pristine Copy"/Bundles'.
Auto-update too seems to write to the '.../"Pristine Copy"/Bundles' directory (below the command, slightly updated, as on my system). Not sure how '/Library/.../Bundles' , '~/.../Pristine Copy/Bundles' and '~/.../Bundles' exactly get merged (I assume somewhat like specialization in inheritance, the latter being the most specific), but given that on this 2nd system '~/.../Pristine Copy/Bundles' was empty, auto-update didn't do anything.
After installing the additional packages in ~/.../Pristine Copy/Bundles' and adding the 'echo "$f"' in the auto-update for loop, auto-update shows:
ANTLR.tmbundle ASP.tmbundle ASP_vb_NET.tmbundle Active4D.tmbundle Ada.tmbundle Ant.tmbundle Bison.tmbundle Bulletin Board.tmbundle C++ Qt.tmbundle CTags.tmbundle CVS.tmbundle ColdFusion.tmbundle Context Free.tmbundle D.tmbundle Darcs.tmbundle DokuWiki.tmbundle Doxygen.tmbundle Dylan.tmbundle Eiffel.tmbundle Erlang.tmbundle Experimental Wiki.tmbundle Experimental.tmbundle F-Script.tmbundle FXScript.tmbundle FileMerge.tmbundle Fortran.tmbundle GTD2.tmbundle GTDAlt.tmbundle GetBundle.tmbundle Gettext.tmbundle Graphviz.tmbundle Greasemonkey.tmbundle Gri.tmbundle Groovy Grails.tmbundle Groovy.tmbundle Haskell.tmbundle Hotkey.tmbundle ImageBrowser.tmbundle Inform.tmbundle Ini.tmbundle Installer.tmbundle Io.tmbundle JSON.tmbundle JavaScript Flash.tmbundle JavaScript MooTools.tmbundle JavaScript Objective-J.tmbundle JavaScript Prototype & Script_aculo_us.tmbundle JavaScript YUI.tmbundle JavaScript jQuery.tmbundle Lex-Flex.tmbundle Lighttpd.tmbundle LilyPond.tmbundle Lisp.tmbundle Logo.tmbundle Logtalk.tmbundle Lua.tmbundle MEL.tmbundle MIPS.tmbundle MacPorts.tmbundle Make.tmbundle Man Pages.tmbundle Matlab.tmbundle Maven.tmbundle Mediawiki.tmbundle Mercurial.tmbundle Modula.tmbundle MoinMoin.tmbundle Movable Type.tmbundle Navigation.tmbundle Nemerle.tmbundle OCaml Experimental Completions.tmbundle OCaml.tmbundle OCamlCodeCompletion Misc.tmbundle OCamlCodeCompletion Unix.tmbundle OCamlCodeCompletion.tmbundle ODCompletion.tmbundle Outlines.tmbundle PHP Smarty.tmbundle Pascal.tmbundle Perforce.tmbundle Perl HTML-Template.tmbundle Perl Mason.tmbundle Perl Template Toolkit.tmbundle PmWiki.tmbundle Postscript.tmbundle Processing.tmbundle Prolog.tmbundle Propel.tmbundle Python Django Templates.tmbundle Python Django.tmbundle Quake.tmbundle R Console (R_app).tmbundle R Console (Rdaemon).tmbundle R.tmbundle Ragel.tmbundle RegularExpressions.tmbundle Remind.tmbundle Rez.tmbundle Ruby Haml.tmbundle Ruby RSpec.tmbundle S5.tmbundle SCons.tmbundle SSH-Config.tmbundle SVK.tmbundle SWIG.tmbundle SWeave.tmbundle Scheme.tmbundle Scilab.tmbundle Setext.tmbundle Slate.tmbundle Standard ML.tmbundle Tabular.tmbundle Tcl.tmbundle TerminalMate.tmbundle Textile.tmbundle Thrift.tmbundle Transmit.tmbundle Twiki.tmbundle Txt2tags.tmbundle Vectorscript.tmbundle Widget Creator.tmbundle iCalendar.tmbundle iTerm.tmbundle reStructuredText.tmbundle /Users/rob/Library/Application Support/TextMate/Pristine Copy/Bundles/GetBundle.tmbundle/Support/notify.rb:19: warning: found = in conditional, should be ==
This makes more sense. The final message disappeared after I changed the assignment into a comparison operator in notify.rb. Maybe this was caused by the newer version of Ruby on SnowLeopard.
Rob
------ 5.2 Editing Default Bundles / Items
Some of the default items may not be to your exact liking, for example the coding style in snippets may differ from yours, so you may want other tab triggers, key equivalents, or similar modifications.
If you edit a default item the difference will be stored in ~/Library/Application Support/TextMate/Bundles. These are then merged with the default version so your changes will be effective even after upgrading TextMate. All new items you create also end up in this location.
Bundles or bundle items which you install by dragging them to TextMate or double clicking will be installed in~/Library/Application Support/TextMate/Pristine Copy/Bundles. Editing these will also result in only the differences being stored in ~/Library/Application Support/TextMate/Bundles, meaning that if you later get a new version of this third party bundle, you can safely install this one on top of the old one (by dragging it to TextMate) and again your changes will be preserved.
------
SVN="${TM_BUNDLE_SUPPORT}/bin/svn"
REV=$(< "$TM_SUPPORT_PATH/version") SVN_OPTS="-r$REV --no-auth-cache --non-interactive"
cd ~/Library/Application\ Support/TextMate/Pristine\ Copy/Bundles if [[ $? == 0 ]]; then for f in *.tmbundle; do "$SVN" up $SVN_OPTS "$f"; echo "$f"; done \ 2> >(CocoaDialog progressbar --indeterminate --title 'Updating all your Bundles' --text 'This could take a while...')
osascript -e 'tell app "TextMate" to reload bundles' "${TM_RUBY:-ruby}" -wKU "$TM_BUNDLE_SUPPORT/notify.rb" updated else "${TM_RUBY:-ruby}" -wKU "$TM_BUNDLE_SUPPORT/notify.rb" update_failed fi
------
On 04.12.2009, at 19:49, Rob Goedman wrote:
Auto-update seems to work, other parts of GetBundles don't work on my system. e.g. listing bundles in the repository never finishes.
Rob, I meant **GetBundles** with a S at the end — not GetBundle (singular)!
Please do a svn export:
export LC_CTYPE=en_US.UTF-8 mkdir -p ~/Library/Application\ Support/TextMate/Pristine\ Copy/Bundles cd ~/Library/Application\ Support/TextMate/Pristine\ Copy/Bundles svn export http://svn.textmate.org/trunk/Review/Bundles/GetBundles.tmbundle osascript -e 'tell app "TextMate" to reload bundles'
and then Bundles ⇢ GetBundles ⇢ Get Bundles
Both ways won't touch your local changes because your changes are stored in .../Pristine Copy/Bundles - as the name it says. If you add your favourite commands this would be ok but if you changes a pre-defined command, well this could lead to some problems.
From this statement, below help text and the meaning of pristine (doesn't it mean 'fresh, unspoiled'?) I got confused. On a 2nd machine I cleaned out all TextMate stuff and installed a new version and all additional packages in '/Library/.../Bundles'. It then seems to install my local changes in '~/.../Bundles' though, not in '~/.../"Pristine Copy"/Bundles'.
I'd recommend to avoid installing your bundles into /Library/… , ~/Library/… is actually the right place I think.
If you do a svn commit all these bundles will be stored in ~/Library/AS/TM/Bundles due to that fact that these bundles will be under svn (git) control, in other words they will be modified (they are not pristine/unspoiled).
Cheers, --Hans
Thanks Hans,
Now it works! And explains why it indeed should not go into the Pristine subdir!
Thanks again, regards, Rob
On Dec 4, 2009, at 11:51 AM, Hans-Jörg Bibiko wrote:
On 04.12.2009, at 19:49, Rob Goedman wrote:
Auto-update seems to work, other parts of GetBundles don't work on my system. e.g. listing bundles in the repository never finishes.
Rob, I meant **GetBundles** with a S at the end — not GetBundle (singular)!
Please do a svn export:
export LC_CTYPE=en_US.UTF-8 mkdir -p ~/Library/Application\ Support/TextMate/Pristine\ Copy/Bundles cd ~/Library/Application\ Support/TextMate/Pristine\ Copy/Bundles svn export http://svn.textmate.org/trunk/Review/Bundles/GetBundles.tmbundle osascript -e 'tell app "TextMate" to reload bundles'
and then Bundles ⇢ GetBundles ⇢ Get Bundles
Both ways won't touch your local changes because your changes are stored in .../Pristine Copy/Bundles - as the name it says. If you add your favourite commands this would be ok but if you changes a pre-defined command, well this could lead to some problems.
From this statement, below help text and the meaning of pristine (doesn't it mean 'fresh, unspoiled'?) I got confused. On a 2nd machine I cleaned out all TextMate stuff and installed a new version and all additional packages in '/Library/.../Bundles'. It then seems to install my local changes in '~/.../Bundles' though, not in '~/.../"Pristine Copy"/Bundles'.
I'd recommend to avoid installing your bundles into /Library/… , ~/Library/… is actually the right place I think.
If you do a svn commit all these bundles will be stored in ~/Library/AS/TM/Bundles due to that fact that these bundles will be under svn (git) control, in other words they will be modified (they are not pristine/unspoiled).
Cheers, --Hans
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate