aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2011-01-13 23:40:55 -0500
committermitchell <70453897+667e-11@users.noreply.github.com>2011-01-13 23:40:55 -0500
commit5b3d39a6ac36e344ae95666b6b60f3ee1d4e1057 (patch)
tree4ed61d5f00624d02932a5a4adbf79087e96935fd
parent238ea9f6743bcd6d76db40511396b676520263dd (diff)
downloadtextadept-5b3d39a6ac36e344ae95666b6b60f3ee1d4e1057.tar.gz
textadept-5b3d39a6ac36e344ae95666b6b60f3ee1d4e1057.zip
More informative check_focused_buffer() error message.
-rw-r--r--core/gui.lua2
-rw-r--r--core/locale.conf2
-rw-r--r--modules/textadept/mime_types.lua17
-rw-r--r--src/textadept.c4
4 files changed, 14 insertions, 11 deletions
diff --git a/core/gui.lua b/core/gui.lua
index 3418e5ea..ee0daafe 100644
--- a/core/gui.lua
+++ b/core/gui.lua
@@ -8,7 +8,7 @@ function gui.check_focused_buffer(buffer)
if type(buffer) ~= 'table' or not buffer.doc_pointer then
error(L('Buffer argument expected.'), 2)
elseif gui.focused_doc_pointer ~= buffer.doc_pointer then
- error(L('The indexed buffer is not the focused one.'), 2)
+ error(L('This buffer is not the current one.'), 2)
end
end
diff --git a/core/locale.conf b/core/locale.conf
index fe97a16d..0ac77d6c 100644
--- a/core/locale.conf
+++ b/core/locale.conf
@@ -44,7 +44,7 @@ has been modified. Reload it? = has been modified. Reload it?
% core/gui.lua
Buffer argument expected. = Buffer argument expected.
-The indexed buffer is not the focused one. = The indexed buffer is not the focused one.
+This buffer is not the current one. = This buffer is not the current one.
Switch Buffers = Switch Buffers
Search wrapped = Search wrapped
diff --git a/modules/textadept/mime_types.lua b/modules/textadept/mime_types.lua
index e47170d8..2d8034ff 100644
--- a/modules/textadept/mime_types.lua
+++ b/modules/textadept/mime_types.lua
@@ -102,6 +102,7 @@ local SETLEXERLANGUAGE = _SCINTILLA.functions.set_lexer_language[1]
-- @param lang The string language to set.
-- @usage buffer:set_lexer('language_name')
local function set_lexer(buffer, lang)
+ gui.check_focused_buffer(buffer)
buffer._lexer = lang
buffer:private_lexer_call(SETDIRECTPOINTER, buffer.direct_pointer)
buffer:private_lexer_call(SETLEXERLANGUAGE, lang)
@@ -119,6 +120,7 @@ local GETLEXERLANGUAGE = _SCINTILLA.functions.get_lexer_language[1]
-- Replacement for buffer:get_lexer_language().
-- @param buffer The buffer to get the lexer language of.
local function get_lexer(buffer)
+ gui.check_focused_buffer(buffer)
return buffer:private_lexer_call(GETLEXERLANGUAGE)
end
@@ -128,6 +130,7 @@ end
-- @param style_num A style number in the range 0 <= style_num < 256.
-- @see buffer.style_at
local function get_style_name(buffer, style_num)
+ gui.check_focused_buffer(buffer)
if style_num < 0 or style_num > 255 then error('0 <= style_num < 256') end
return buffer:private_lexer_call(style_num)
end
@@ -176,13 +179,13 @@ local function restore_lexer()
buffer:private_lexer_call(SETLEXERLANGUAGE, buffer._lexer or 'container')
end
-events.connect('file_opened', handle_new)
-events.connect('file_saved_as', handle_new)
-events.connect('buffer_after_switch', restore_lexer)
-events.connect('view_new', restore_lexer)
-events.connect('view_after_switch', restore_lexer) -- only useful after reset
-events.connect('reset_after',
- function() buffer:set_lexer(buffer._lexer or 'container') end)
+local connect = events.connect
+connect('file_opened', handle_new)
+connect('file_saved_as', handle_new)
+connect('buffer_after_switch', restore_lexer)
+connect('view_new', restore_lexer, 1)
+connect('reset_after',
+ function() buffer:set_lexer(buffer._lexer or 'container') end)
---
-- Prompts the user to select a lexer from a filtered list for the current
diff --git a/src/textadept.c b/src/textadept.c
index 02146db8..4bb1eb13 100644
--- a/src/textadept.c
+++ b/src/textadept.c
@@ -1402,7 +1402,7 @@ static long l_toscintillaparam(lua_State *lua, int type, int *arg_idx) {
static void l_check_focused_buffer(lua_State *lua, int narg) {
sptr_t cur_doc = SS(focused_editor, SCI_GETDOCPOINTER, 0, 0);
luaL_argcheck(lua, cur_doc == l_checkdocpointer(lua, narg), 1,
- "the indexed Buffer is not the focused one");
+ "this buffer is not the current one");
}
/******************************************************************************/
@@ -1572,6 +1572,7 @@ static int l_call_buffer_function(lua_State *lua) {
int rt_type = l_rawgeti_int(lua, buffer_func_table_idx, 2);
int p1_type = l_rawgeti_int(lua, buffer_func_table_idx, 3);
int p2_type = l_rawgeti_int(lua, buffer_func_table_idx, 4);
+ l_check_focused_buffer(lua, 1);
return l_call_scintilla(lua, editor, msg, p1_type, p2_type, rt_type, 2);
}
@@ -1590,7 +1591,6 @@ static int l_buffer_mt_index(lua_State *lua) {
lua_getfield(lua, -1, key);
lua_remove(lua, -2); // buffer functions
if (lua_istable(lua, -1)) {
- l_check_focused_buffer(lua, 1);
// Of the form { msg, rt_type, p1_type, p2_type }
lua_pushlightuserdata(lua, (GtkWidget *)focused_editor);
lua_insert(lua, lua_gettop(lua) - 1); // shift buffer functions down