Subject: 25.0.50; elisp completion-at-point can't complete #' quoted function names
From: Michael Heerdegen <[email-masked]>
To: [email-masked]
Date: Mon, 08 Jun 2015 15:02:12 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

in scratch, or any emacs-lisp-mode buffer, insert

  (list #'make-frame-comma)

and put point directly before the closing paren.  Hit C-M-i, you get [No
match].  This doesn't seem to be useful or intended.

Looking at the code, the #' quoting style case seems not to be handled
specially, the "#'" seems to be treated as like being part of the
symbol name:

(mapcar (lambda (string)
          (with-temp-buffer
            (insert string)
            (pcase (elisp-completion-at-point)
              (`(,beg ,end . ,_)
               (buffer-substring-no-properties beg end)))))
        '("'make-fr" "#'make-fr"))

==> ("make-fr" "#'make-fr")

Thanks in advance,

Michael.

In GNU Emacs 25.0.50.4 (x86_64-unknown-linux-gnu, GTK+ Version 3.14.5)
 of 2015-06-08 on drachen
Windowing system distributor `The X.Org Foundation', version 11.0.11701000
System Description:	Debian GNU/Linux testing (stretch)

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS NOTIFY
LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3

Important settings:
  value of $LC_ALL: de_DE.utf8
  value of $LC_COLLATE: C
  value of $LC_TIME: C
  value of $LANG: de_DE.utf8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  rainbow-delimiters-mode: t
  paredit-mode: t
  on-screen-global-mode: t
  ml-scale-mode: t
  interaction-log-mode: t
  highlight-defined-mode: t
  helm-descbinds-mode: t
  async-bytecomp-package-mode: t
  helm-mode: t
  shell-dirtrack-mode: t
  helm-autoresize-mode: t
  global-diff-hl-mode: t
  diff-auto-refine-mode: t
  recentf-mode: t
  which-function-mode: t
  winner-mode: t
  show-paren-mode: t
  auto-image-file-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  mouse-wheel-mode: t
  prettify-symbols-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t

Recent messages:
Saving file /home/micha/gnu-emacs/.newsrc...
Wrote /home/micha/gnu-emacs/.newsrc
Saving /home/micha/gnu-emacs/.newsrc.eld...
Saving file /home/micha/gnu-emacs/.newsrc.eld...
Wrote /home/micha/gnu-emacs/.newsrc.eld
Saving /home/micha/gnu-emacs/.newsrc.eld...done
Mark saved where search started
Mark set
Mark activated [2 times]
Undo!

Load-path shadows:
/home/micha/gnu-emacs/elisp/linkd hides /home/micha/gnu-emacs/elisp/my-stuff/linkd/linkd
/home/micha/gnu-emacs/elisp/helm/helm-man hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-man
/home/micha/gnu-emacs/elisp/helm/helm-ring hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-ring
/home/micha/gnu-emacs/elisp/helm/helm-locate hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-locate
/home/micha/gnu-emacs/elisp/helm/helm-mode hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-mode
/home/micha/gnu-emacs/elisp/helm/helm-apt hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-apt
/home/micha/gnu-emacs/elisp/helm/helm-eshell hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-eshell
/home/micha/gnu-emacs/elisp/helm/helm-elscreen hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-elscreen
/home/micha/gnu-emacs/elisp/helm/helm-plugin hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-plugin
/home/micha/gnu-emacs/elisp/helm/helm-aliases hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-aliases
/home/micha/gnu-emacs/elisp/helm/helm-info hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-info
/home/micha/gnu-emacs/elisp/helm/helm-external hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-external
/home/micha/gnu-emacs/elisp/helm/helm-source hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-source
/home/micha/gnu-emacs/elisp/helm/helm-regexp hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-regexp
/home/micha/gnu-emacs/elisp/helm/helm-utils hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-utils
/home/micha/gnu-emacs/elisp/helm/helm-config hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-config
/home/micha/gnu-emacs/elisp/helm/helm-files hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-files
/home/micha/gnu-emacs/elisp/helm/helm-imenu hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-imenu
/home/micha/gnu-emacs/elisp/helm/helm-sys hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-sys
/home/micha/gnu-emacs/elisp/helm/helm-help hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-help
/home/micha/gnu-emacs/elisp/helm/helm hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm
/home/micha/gnu-emacs/elisp/helm/helm-misc hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-misc
/home/micha/gnu-emacs/elisp/helm/helm-adaptive hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-adaptive
/home/micha/gnu-emacs/elisp/helm/helm-autoloads hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-autoloads
/home/micha/gnu-emacs/elisp/helm/helm-tags hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-tags
/home/micha/gnu-emacs/elisp/helm/helm-semantic hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-semantic
/home/micha/gnu-emacs/elisp/helm/helm-elisp hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-elisp
/home/micha/gnu-emacs/elisp/helm/helm-dabbrev hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-dabbrev
/home/micha/gnu-emacs/elisp/helm/helm-id-utils hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-id-utils
/home/micha/gnu-emacs/elisp/helm/helm-command hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-command
/home/micha/gnu-emacs/elisp/helm/helm-color hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-color
/home/micha/gnu-emacs/elisp/helm/helm-font hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-font
/home/micha/gnu-emacs/elisp/helm/helm-eval hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-eval
/home/micha/gnu-emacs/elisp/helm/helm-match-plugin hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-match-plugin
/home/micha/gnu-emacs/elisp/helm/helm-buffers hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-buffers
/home/micha/gnu-emacs/elisp/helm/helm-org hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-org
/home/micha/gnu-emacs/elisp/helm/helm-grep hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-grep
/home/micha/gnu-emacs/elisp/helm/helm-elisp-package hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-elisp-package
/home/micha/gnu-emacs/elisp/helm/helm-pkg hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-pkg
/home/micha/gnu-emacs/elisp/helm/helm-bookmark hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-bookmark
/home/micha/gnu-emacs/elisp/helm/helm-net hides /home/micha/.emacs.d/elpa/helm-20150606.2301/helm-net
/home/micha/gnu-emacs/elisp/my-stuff/iterators/iterators hides /home/micha/.emacs.d/elpa/iterators-0.1/iterators
/home/micha/.emacs.d/elpa/tabulated-list-20120406.1351/tabulated-list hides /home/micha/software/emacs/lisp/emacs-lisp/tabulated-list

Features:
(shadow emacsbug misearch multi-isearch gnus-dup semantic/find
helm-semantic semantic/util-modes semantic/util semantic semantic/tag
semantic/lex semantic/fw mode-local cedet add-log ido bbdb-gnus bbdb-mua
mailalias smtpmail bbdb-message sendmail flyspell ispell nnir flow-fill
sort gnus-cite smiley shr-color color shr dom mm-archive mail-extr
gnus-async gnus-bcklg hi-lock gnus-salt qp nndoc nndraft nnmh gnus-agent
gnus-srvr gnus-score score-mode nnvirtual rot13 disp-table utf-7
gnus-cache network-stream nsm starttls nntp nnmairix nnml gnus-ml
gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum
gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls
utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message rfc822
mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 ietf-drums gmm-utils mailheader gnus-win gnus gnus-ems nnheader
mail-utils w3m-cookie conf-mode helm-firefox w3m-form w3m-filter
w3m-bookmark w3m-tabmenu w3m-session hide-region hl-line org-element
org-rmail org-mhe org-irc org-info org-gnus org-docview org-bibtex
bibtex org-bbdb org-w3m org-agenda default-dark-theme cus-theme cus-edit
cus-start cus-load vc-git bbdb-anniv bbdb-print bbdb-com crm mailabbrev
bbdb bbdb-site yagoc windresize windmove w3m doc-view image-mode
timezone w3m-hist w3m-fb bookmark-w3m w3m-ems w3m-ccl ccl w3m-favicon
w3m-image w3m-proc w3m-util undo-tree diff stripe-buffer
rainbow-delimiters paredit orglink dash on-screen hexrgb face-remap
ml-scale linkd elisp-hacker-tools interaction-log highlight-defined
highlight font-lock+ frame-fns avoid helm-browse helm-recoll
helm-dictionary helm-descbinds helm-misc helm-config helm-autoloads
async-bytecomp async helm-aliases helm-command helm-mode helm-man
helm-imenu helm-elisp helm-eval edebug helm-org helm-files image-dired
tramp tramp-compat tramp-loaddefs trampver shell dired-x ffap helm-tags
helm-bookmark helm-adaptive helm-info bookmark helm-locate helm-external
helm-net xml url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util url-parse url-vars mailcap
helm-buffers helm-grep wgrep-helm wgrep helm-regexp helm-plugin grep
helm-elscreen helm-utils compile helm-match-plugin helm-help helm
helm-source eieio-compat fracy folding-isearch folding emacs-lock+
emacs-lock diff-hl vc-dir ewoc vc vc-dispatcher diff-mode
centered-cursor-mode autofold hideshow apt-utils edmacro kmacro
jka-compr browse-url server rect recentf tree-widget wid-edit foldout
org-protocol org org-macro org-footnote org-pcomplete org-list org-faces
org-entities noutline outline easy-mmode org-version ob-emacs-lisp ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint
ob-core ob-eval org-compat org-macs org-loaddefs format-spec ls-lisp
ibuffer help-mode filecache em-dirs pcomplete comint ansi-color esh-var
esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg esh-groups eshell
esh-module esh-mode esh-util dired-aux find-dired dired appt diary-lib
diary-loaddefs diary-general cal-iso cal-menu calendar cal-loaddefs
epa-file epa derived epg auth-source cl-macs eieio byte-opt gv bytecomp
byte-compile cl-extra seq cconv eieio-core gnus-util mm-util help-fns
mail-prsvr password-cache which-func imenu time winner ring paren delsel
image-file cl-seq iso-transl pp thingatpt finder find-func rx automenu
loadhist iterators generator mh-elisp-utils subr-x autoload lisp-mnt
cl-loaddefs pcase cl-lib warnings tex-site boxquote-autoloads charmap
htmlize-autoloads finder-inf info easymenu advice
quarter-plane-autoloads vline-autoloads package epg-config time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote dbusbind gfilenotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 642349 101609)
 (symbols 48 63030 76)
 (miscs 40 16544 2596)
 (strings 32 180098 28966)
 (string-bytes 1 5727774)
 (vectors 16 67320)
 (vector-slots 8 1455162 59923)
 (floats 8 1031 1439)
 (intervals 56 6466 1232)
 (buffers 976 69)
 (heap 1024 62052 14453))