Subject: 26.0.60; css completion always inserts ": ;"
From: Tom Tromey <[email-masked]>
To: [email-masked]
Date: Sun, 29 Oct 2017 11:34:51 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

Open a new .css file and insert:

p {
    background-col: seagreen;
}

Move point to the ":" and complete using C-M-i.

I get:

    background-color: ;: seagreen;

css-completion-at-point has this at the end:

                      (progn (insert ": ;")
                             (forward-char -1))))))))))

This is convenient when writing a new property, but not convenient when
editing an existing one and trying to complete.

Perhaps this code could instead examine the context to see if the
insertion is needed.  Or, it could just never do this, which would seem
to be more correct -- it seems strange for a completion function to
modify the buffer.

Tom

In GNU Emacs 26.0.60 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22.21)
 of 2017-10-07 built on bapiya
Repository revision: 0fa353b50476329531307905f23ed2b172a6e9fc
Windowing system distributor 'Fedora Project', version 11.0.11903000
System Description:	Fedora release 26 (Twenty Six)

Recent messages:
mhtml--css-submode
mhtml--js-submode
Quit
C-h C-g is undefined
Undo!
C-M-g is undefined
Making completion list... [2 times]
Undo!
Quit
Making completion list...

Configured using:
 'configure --prefix=/home/tromey/Emacs/install --with-modules
 --with-file-notification=inotify'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11
MODULES LCMS2

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: HTML+CSS

Minor modes in effect:
  cursor-sensor-mode: t
  diff-auto-refine-mode: t
  flyspell-mode: t
  which-function-mode: t
  shell-dirtrack-mode: t
  erc-services-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-netsplit-mode: t
  erc-hl-nicks-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  savehist-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: do-auto-fill
  transient-mark-mode: t

Load-path shadows:
/home/tromey/.emacs.d/elpa/bubbles-0.5/bubbles hides /home/tromey/Emacs/install/share/emacs/26.0.60/lisp/play/bubbles

Features:
(company-oddmuse company-keywords company-etags company-gtags
company-dabbrev-code company-dabbrev company-files company-capf
company-cmake company-xcode company-clang company-semantic company-eclim
company-template company-css company-nxml company-bbdb company
cursor-sensor mhtml-mode css-mode eww js json sgml-mode time-stamp
autoconf autoconf-mode sh-script smie executable finder lisp-mnt tcl
dired-aux gud pcmpl-unix pcmpl-gnu whitespace descr-text url-http url-gw
url-auth texinfo gnus-fun calc calc-loaddefs calc-macs vc-annotate
shadow emacsbug cc-awk mode-local completion erc-replace delsel rect
cl-print debug cus-edit gdb-shell novice log-edit make-mode org-bullets
org-rmail org-mhe org-irc org-info org-gnus org-docview doc-view
image-mode org-bibtex bibtex org-bbdb org-w3m org-element avl-tree
generator org org-macro org-footnote org-pcomplete org-list org-faces
org-entities noutline outline org-version ob-emacs-lisp ob ob-tangle
org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval
org-compat org-macs org-loaddefs jka-compr flow-fill gnus-html url-queue
help-fns radix-tree url-cache mm-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
supercite regi nnir shr-color shr svg xml dom browse-url goto-addr
find-file pulse etags xref project find-dired mail-hist ffap copyright
perl-mode vc-mtn vc-hg conf-mode tabify man dabbrev term/xterm xterm
bug-reference map cc-mode cc-fonts cc-guess cc-menus cc-cmds smerge-mode
log-view pcvs-util vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs add-log
vc-git diff-mode rust-mode misc mailalias sort smiley gnus-cite
mm-archive gnus-async gnus-bcklg mail-extr gnus-ml disp-table misearch
multi-isearch gnus-topic nndraft nnmh nnfolder utf-7 network-stream nsm
starttls gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg
nntp gnus-cache gnus-registry registry ebdb-gnus gnus-art mm-uu mml2015
mm-view mml-smime smime dig mailcap gnus-sum gnus-group gnus-undo
smtpmail gnus-start gnus-cloud nnimap nnmail mail-source tls gnutls utf7
netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader
elec-pair flyspell ispell diminish projectile ibuf-macs grep compile
ibuf-ext ibuffer ibuffer-loaddefs dash appt diary-lib diary-loaddefs
which-func imenu tramp tramp-compat tramp-loaddefs trampver
ucs-normalize shell parse-time minimap autorevert filenotify cus-start
cus-load status erc-services erc-list erc-menu erc-join erc-ring
erc-networks erc-pcomplete pcomplete erc-track erc-match erc-netsplit
erc-hl-nicks easy-mmode color erc-button erc-fill erc-stamp wid-edit
erc-goodies erc erc-backend erc-compat thingatpt pp warnings advice
vc-dir ewoc vc vc-dispatcher cc-styles cc-align cc-engine cc-vars
cc-defs ebdb-complete ebdb-message sendmail message rmc puny dired
dired-loaddefs format-spec rfc822 mml mml-sec epa epg gnus-util rmail
rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 mm-util ietf-drums mail-prsvr mail-utils gmm-utils mailheader
ebdb-mua ebdb-com derived edmacro kmacro crm mailabbrev ebdb-format qp
ebdb cl-extra help-mode eieio-opt speedbar sb-image ezimage dframe
find-func eieio-base pcase subr-x cal-menu calendar cal-loaddefs
timezone ange-ftp comint ansi-color ring server savehist finder-inf
dwarf-mode-autoloads gdb-shell-autoloads lisppaste-autoloads
pydoc-info-autoloads info-look info cl weblogger-autoloads package
easymenu epg-config url-handlers url-parse auth-source cl-seq eieio
eieio-core cl-macs eieio-loaddefs password-cache url-vars seq byte-opt
gv bytecomp byte-compile cconv cl-loaddefs cl-lib time-date mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors 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 composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray 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 inotify lcms2 dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 4157996 438203)
 (symbols 48 95870 12)
 (miscs 40 52304 22948)
 (strings 32 716947 49280)
 (string-bytes 1 22725061)
 (vectors 16 287043)
 (vector-slots 8 5066208 291846)
 (floats 8 586 1449)
 (intervals 56 563434 6196)
 (buffers 992 543))