#NEWLINE# def create_row_object_stack( ) : #NEWLINE# #INDENT# 'Extract every stacking object in a client call' #NEWLINE# l_row = environment . get_cursor_row ( ) #NEWLINE# non_splittable_characters = ( ( string . ascii_letters + string . digits ) + '_' ) #NEWLINE# l_col = ( complete_start ( ) - 1 ) #NEWLINE# l_col = environment . previous_non_white_character_in_row ( l_row , l_col ) #NEWLINE# l_text = environment . text_of_cursor_row ( ) #NEWLINE# l_result = [ ] #NEWLINE# while ( ( l_col > 0 ) and ( l_text [ l_col ] == '.' ) ) : #NEWLINE# #INDENT# l_col = ( l_col - 1 ) #NEWLINE# l_col = environment . previous_non_white_character_in_row ( l_row , l_col ) #NEWLINE# while ( ( l_col >= 0 ) and ( l_text [ l_col ] in ( ')' , ']' ) ) ) : #NEWLINE# #INDENT# l_col = get_associated_bracket_position ( l_row , l_col ) #NEWLINE# if ( l_col < 0 ) : #NEWLINE# #INDENT# l_result = [ ] #NEWLINE# #UNINDENT# l_col = environment . previous_non_white_character_in_row ( l_row , ( l_col - 1 ) ) #NEWLINE# #UNINDENT# if ( ( l_text >= 0 ) and ( l_text [ l_col ] in non_splittable_characters ) ) : #NEWLINE# #INDENT# l_new_col = environment . start_column_of_word ( l_row , l_col ) #NEWLINE# if ( l_text [ l_new_col ] in string . digits ) : #NEWLINE# #INDENT# l_result = [ ] #NEWLINE# l_col = ( - 1 ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# l_result . append ( l_text [ l_new_col : ( l_col + 1 ) ] ) #NEWLINE# l_col = l_new_col #NEWLINE# l_col = environment . previous_non_white_character_in_row ( l_row , ( l_col - 1 ) ) #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# l_col = ( - 1 ) #NEWLINE# #UNINDENT# #UNINDENT# return l_result