[ESS] emacs 24 "woe": file name completion does not work for me

Martin Maechler maechler at stat.math.ethz.ch
Thu Nov 15 17:56:59 CET 2012


>>>>> Vitalie Spinu <spinuvit at gmail.com>
>>>>>     on Thu, 15 Nov 2012 17:47:25 +0100 writes:

    >>> Vitalie Spinu <spinuvit at gmail.com>
    >>> on Thu, 15 Nov 2012 16:58:21 +0100 wrote:

    VS> Hi Martin, 

    VS> (add-hook 'completion-at-point-functions 'comint-filename-completion)

    VS> adds it globally. 


    > This seems to not work correctly in some modes. Most notably in
    > emacs-mode.  Local completion (lisp-completion-at-point) does not pass
    > the ball further on, when the completion is not found. It works in gnus
    > mail buffer though :)

    > This is a bug which I see even in today's pre-release. Will send a
    > report.

    > Vitalie


Thanks a lot, Vitalie, both for the hint and the bug report.

One thing though ... maybe you mention that in the bug report or
another one:

As I mentioned (visible below),
comint-dynamic-complete is now an  *alias*  for `completion-at-point'
but completion-at-point does by default *not* include filename
completion which was originally one of *the* important
completion types in comint.

For this reason, I think "they" should have considered either
adding the comint-filename-completion to the
completion-at-point-functions by default, *or* then it's not
valid to make comint-dynamic-complete  an alias.
Rather  comint-dynamic-complete  should then temporarily /
locally add the ..-filename-completion to the completion
functions and then call completion-at-point.
Hence, it would no longer be an alias for but a wrapper around
completion-at-point.

Martin


    >>> Martin Maechler <maechler at stat.math.ethz.ch>
    >>> on Thu, 15 Nov 2012 16:33:46 +0100 wrote:

    >>> I'm sure some emacs gurus (possibly among ESS core!) will be
    >>> able to help quickly,
    >>> and I assume it has affected others, that's why I post here.

    >>> I'm working with Emacs 23  or  Emacs 24, depending on the
    >>> computer (OS) I use. I have a habit to use
    >>> comint-dynamic-complete  very frequently (and have bound it to
    >>> C-M-Tab and similar keys as this relates to ESS behavior)
    >>> in TODO, README, etc files,  and also in *.R (or *.c) files when
    >>> referring to other source files.

    >>> Now, Help about it in Emacs 24 says 

    >>> comint-dynamic-complete is an alias for `completion-at-point'.

    >>> It is bound to <C-tab>, <C-M-tab>, <f24> TAB, <menu> TAB.

    >>> (comint-dynamic-complete)

    >>> This function is obsolete since 24.1;
    >>> use `completion-at-point' instead.

    >>> Perform completion on the text around point.
    >>> The completion method is determined by `completion-at-point-functions'.

    >>> and if I look at the 
    >>> completion-at-point-functions

    >>> it says

    >>> completion-at-point-functions's value is
    >>> (tags-completion-at-point-function)

    >>> and "of course" that has nothing to do with file name
    >>> completion, and so I should not wonder why file name completion
    >>> has stopped working for me, since I (am / had to start) using
    >>> emacs 24.

    >>> Now this makes using Emacs 24 really  a much less pleasant
    >>> experience for me.

    >>> Comments / Hints / Different experiences ?

    >>> Thanks in advance:
    >>> Martin

    >>> ______________________________________________
    >>> ESS-help at r-project.org mailing list
    >>> https://stat.ethz.ch/mailman/listinfo/ess-help



More information about the ESS-help mailing list