[TxMt] Problem with tm_dialog

Jonathan Ragan-Kelley jrk at csail.mit.edu
Fri Dec 15 03:15:47 UTC 2006


I see this has come up several times, with the common (and rather
obvious, seeing as it's stated fairly explicitly in the error message)
answer being to update the entire Support directory from SVN and
restart TextMate.

I bring this back up, however, because I thought the GetBundle
bundle's autoupdater was generally supposed to keep everything
up-to-date with the repository.  I've been using this in place of a
personal (manual) SVN checkout since my last OS reinstall a month or
two ago, but I've just found that *it* seems to have updated the
bundles independently of the plugins, if it updated plugins at all.
Forcing a manual update-all through the bundle's commands and
restarting TextMate multiple times has yielded no change.

I thought the bundle updater was the preferred way of staying
up-to-date these days.  Is that no longer the case?  How are we
supposed to keep the plugins and bundles in sync using the
auto-updater?  I'm more than capable of checking out the bundles by
hand (indeed, it was the SVN bundle where I first ran into this), I'd
just like to stay on the smoothest/most-approved path where possible.

Thanks.
-jrk


On 12/14/06, Leonardo Querzoni <querzoni at gmail.com> wrote:
> Hi,
>
> Some weeks ago I wrote this ruby script that works inside a TextMate
> command to build a list of references declared in Latex files and let
> the user select the reference he wants to insert in the text:
>
> -----------------------
> #!/usr/bin/env ruby -wKU
>
> SUPPORT = ENV['TM_SUPPORT_PATH']
> DIALOG = SUPPORT + '/bin/tm_dialog'
>
> require SUPPORT + '/lib/escape'
> require SUPPORT + '/lib/plist'
> require 'pathname'
> require 'find'
>
> refs = []
>
> Find.find(ENV['TM_PROJECT_DIRECTORY']) do |f|
>    file_name = File.basename(f)
>    if  /\.(tex)$/ =~ file_name
>         File.open(file_name,"r") do |infile|
>                 infile.each_line do |line|
>                         if line =~ /.*\label\{.*/
>                                 line = line.gsub(/.*\label\{(.*)\}.*/, '\1').chomp
>                                 refs << {
>                                         'title' => line,
>                                         'code'  => "\\ref{#{line}}"
>                                 }
>                         end
>                 end
>         end
>    end
> end
> abort if refs.empty?
>
> plist = { "menuItems" => refs }.to_plist
> res = PropertyList::load(`#{e_sh DIALOG} -up #{e_sh plist}`)
> abort unless res.has_key? "selectedMenuItem"
>
> print %(#{res["selectedMenuItem"]['code']})
> -----------------------
>
> Since the last updates (both of TextMate and its bundles), the script
> does not work anymore.
>
> When I invoke it, it gives me back the following error.
>
> -----------------------
> tm_dialog: you have updated the tm_dialog tool to v7 but the Dialog
> plug-in running is still at v4.
> tm_dialog: either checkout the PlugIns folder from the repository or
> remove your checkout of the Support folder.
> tm_dialog: if you did checkout the PlugIns folder, you need to
> relaunch TextMate to load the new plug-in.
> /tmp/temp_textmate.ZcyesN:32:in `load': Cannot parse a NULL or zero-
> length data (PropertyListError)
>         from /tmp/temp_textmate.ZcyesN:32
> -----------------------
>
> I'm a TextMate newbe, thus I'm not sure, but from the error message
> it seems like I need to update the Dialog.tmplugin file. How can I
> fix this ?
>
> Cheers,
> Leonardo
>
>
> ______________________________________________________________________
> For new threads USE THIS: textmate at lists.macromates.com
> (threading gets destroyed and the universe will collapse if you don't)
> http://lists.macromates.com/mailman/listinfo/textmate
>



More information about the textmate mailing list