Re: [code] [textadept] Textadept 7.0 beta 4

From: Ryan Pusztai <rpusztai.att.gmail.com>
Date: Wed, 2 Oct 2013 16:26:16 -0400

Hi Mitchell,

On Tue, Oct 1, 2013 at 5:34 PM, Ryan Pusztai <rpusztai.att.gmail.com> wrote:

> Hi Mitchel,
>
> On Tue, Oct 1, 2013 at 4:46 PM, Mitchell <m.att.foicica.com> wrote:
>
>> On Tue, 1 Oct 2013, Mitchell wrote:
>>
>> Hi Ryan,
>>>
>>> On Tue, 1 Oct 2013, Ryan Pusztai wrote:
>>>
>>> So I missed changing 'gui.' to 'ui.', but the error is not helpful at
>>>> all
>>>> when figuring out what I missed next. I do currently use Common, but I
>>>> forked it because I went a different way with the display_name module.
>>>> You
>>>> can check out "beta 2" working Common here:
>>>> https://github.com/**rjpcomputing/ta-common<https://github.com/rjpcomputing/ta-common>
>>>>
>>>> This is the hardest update I have had so far. So I think there might be
>>>> a
>>>> root cause to the error I am getting.
>>>>
>>>
>>> I'm really sorry you're having so much trouble with the update. I am
>>> going to take a look at your repo and try and help figure it out.
>>>
>>> The primary cause of this problem is that you are probably doing some
>>> sort of operation at the module 'require' level (before ta is finished
>>> initializing) that causes `events.UPDATE_UI` to be fired.
>>> `buffer.get_lexer()` and `buffer.set_lexer()` do not exist until ta
>>> finishes initializing.
>>>
>>
>> To clarify: while the above statement is valid, it also happens when
>> errors occur while loading modules (for example, indexing a nil value like
>> `_M.textadept.whatever`). Sorry if this sounds obvious, but I hadn't
>> thought about it before.
>
>
> Thanks for your help. I worked on the issue a bit more and have most
> everything working. What caused the most problem is if I:
> 1. In init.lua you "require()" something to the _M table but then comment
> it out.
> 2. Use that modules functions in the keys.lua file and it indexes into _M
> and that table does not exist.
>
> Example:
> * init.lua
>
>> -- Version control integration
>> --_M.version_control = require( "version_control" )
>
> ...
>> -- Add custom keyboard shortcuts
>> dofile( _USERHOME .. "/keys.lua" )
>
> * keys.lua
>
>> local keys = _G.keys
>> ...
>> -- Version control
>> local vc = _M.version_control
>> keys[not NCURSES and 'caj' or 'cmj'] = vc.snapopen_project
>> keys[not NCURSES and 'aj' or 'mj'] = vc.command
>> --keys[not NCURSES and 'cah' or 'cmh'] = {vc.snapopen_project, _HOME..'/'}
>> --if NCURSES then keys.cmg = keys.cmh end
>
>
> That causes a segfault on my system. I hope this helps.
>

Update: I think I got my modifications working again.

Now onto a feature tweak. I used to make the lua run command start like
this:

> local m_run = textadept.run
> m_run.run_command.lua = [[lua -e "io.stdout:setvbuf 'no'" %(filename)]]

The reason is so the order of the prints come out correctly. Without it for
example if you have a lua module that prints to the std::out it can come
out of order and makes the output confusing. Thoughts?

--
Regards,
Ryan
-- 
You are subscribed to code.att.foicica.com.
To change subscription settings, send an e-mail to code+help.att.foicica.com.
To unsubscribe, send an e-mail to code+unsubscribe.att.foicica.com.
Received on Wed 02 Oct 2013 - 16:26:16 EDT

This archive was generated by hypermail 2.2.0 : Thu 03 Oct 2013 - 06:49:37 EDT