[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: trunk r116285: * lisp/emacs-lisp/lisp.el (lisp-completion-at-point):

From: Michael Heerdegen
Subject: Re: trunk r116285: * lisp/emacs-lisp/lisp.el (lisp-completion-at-point): Symbols don't start
Date: Wed, 12 Feb 2014 12:14:57 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Dmitry Gutov <address@hidden> writes:

> Michael Heerdegen <address@hidden> writes:
> > Whether a macro evaluates arguments isn't a question of obfuscation.
> > Depending on circumstances, it's a necessity.
> When a macro doesn't evaluate an argument, most of the time it's to
> introduce a new local var, or define one or several globals.
> IOW, please provide an example of a popular macro that isn't `defadvice'
> where this will be a problem.

callf, callf2, defsetf.  Dunno if callf is popular enough, but I use it
very frequently.  And `function', as Stefan already mentioned.

> Have you tried the patch? When you're inside a quoted structure, any
> kinds of meaningful symbols should be offered as completions.

I had to fix some wrong line breaks in the patch before applying.  But
yes, quoted structures work as expected.

> > `lisp--form-quoted-p' does only work inside balanced
> > parentheses.
> Example?

Indeed, it works - my fault, I had only overflown the patch.

A situation where your patch doesn't work so well is in
quoted structures that actually are evaluated, like in `eval' or
`eval-after-load'.  Here, completion is like before.

But after thinking more about it, situations where your patch is holding
back valid completions are quite rare in practice, so I can live with
that change.  It would be good if the cl-callf2? case would work,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]