You can use both. Just map TAM to normal tab insertion, and map a different
key to 
'completion-at-point<https://www.gnu.org/software/emacs/manual/html_node/elisp/Completion-in-Buffers.html>
'.

What probably messes things up for you is that my implementation of the
indentation function only works when at the beginning of the line
(technically, when there is nothing but whitespace between the cursor and
the beginning of the line). If not, the function/variable expand is called
(it will suggest the name of an existing variable if you type the first few
letters).

Emacs at some point (24?) introduced a system where the indentation and
expansion are integrated in the same framework. It allows you to control
the behaviour of this by setting the variable
'tab-always-indent<http://www.gnu.org/software/emacs/manual/html_node/elisp/Mode_002dSpecific-Indent.html>
'.

That said... Personally, in modes that is not APL (for example, C and
Lisp), I map C-TAB to the intelligent expand and use plain TAB purely for
indentation. In these modes, the indentation and expand functions are
separated. I think that is because they were implemented before the arrival
of the unified system in Emacs.

Regards,
Elias


On 27 May 2014 18:24, Blake McBride <blake1...@gmail.com> wrote:

> When you edit an existing function, it would be nice if the initial
> display of the function had the indentation applied.
>
> The enter key working for me - sort of.  It indents EVERY line by one
> character.  When I hit Enter at the end of the line, shouldn't it fix the
> line?
>
> When editing a new function, the auto-indent doesn't doesn't get used on
> the very first line.
>
> I don't like using the TAB key for this because then Emacs refuses to
> allow you to enter additional tabs at the beginning of the line.  (I know
> about ^q-tab but it is annoying).  I did, however, disable my preference to
> test your stuff.
>
> The Enter key at the end of the line should fix the indent of the current
> line and pre-indent the next.  It works this way for me in C mode but not
> in APL mode.  I'd rather have this than the TAB key.
>
> Lines beginning with a comment should be moved to the left too.
>
> Thanks!
>
> Blake
>
>
>
>
>
>
>
>
> On Tue, May 27, 2014 at 5:06 AM, Elias Mårtenson <loke...@gmail.com>wrote:
>
>> You are supposed to press TAB to indent. There is also electric
>> indentation, which I normally have disabled, but it will automatically
>> indent when you press RET.
>>
>> Regards,
>> Elias
>>
>>
>> On 27 May 2014 18:03, Blake McBride <blake1...@gmail.com> wrote:
>>
>>> Greetings,
>>>
>>> I looked at the comments in your function.  Not only are labels
>>> typically moved one character to the left, but lines beginning with a
>>> comment are too.
>>>
>>> I did a git pull.  When I edit a function, there is no indenting added
>>> at all.  Am I doing something wrong, or is there some other place I am
>>> suppose to see this?
>>>
>>> Thanks.
>>>
>>> Blake
>>>
>>>
>>>
>>>
>>>
>>> On Tue, May 27, 2014 at 4:33 AM, Elias Mårtenson <loke...@gmail.com>wrote:
>>>
>>>> I've just implemented "intelligent" indentation support in
>>>> gnu-apl-mode. I'm using quotes there because the rules are in fact very
>>>> simple.
>>>>
>>>> Could you guys share with me how you indent code, so that I can add the
>>>> necessary configuration options to support whatever style you're using?
>>>>
>>>> If anyone is interested, the code is here:
>>>> https://github.com/lokedhs/gnu-apl-mode/blob/master/gnu-apl-mode.el#L380
>>>>
>>>> Regards,
>>>> Elias
>>>>
>>>
>>>
>>
>

Reply via email to