Subject: bug#23849: 24.5; sh-mode doesn't correctly handle escapes in $'' strings

From: Steven Allen <[email-masked]>
Date: Sat, 25 Jun 2016 17:15:32 -0400

sh-mode doesn't correctly handle `$''` strings. Basically, `'asdf'`
doesn't support internal escape sequences but `$'sadf'` (note the
leading dollar sign) does (in bash at least). For example, `echo $'\''`
prints a single quote. Unfortunately, sh-mode thinks the escaped second
quote ends the string so it starts highlighting a new string when it
hits the third quote.

In other words, the following isn't highlighted correctly:

```
a=$'\''

echo a
echo b
```

In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.20.6)
 of 2016-06-05 on bistromath
Windowing system distributor `The X.Org Foundation', version 11.0.11803000
System Description:	Arch Linux

Configured using:
 `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=gtk3 --with-xft
 'CFLAGS=-march=native -mtune=generic -O2 -pipe -fstack-protector-strong
 --param=ssp-buffer-size=4' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,noexecstack,--hash-style=gnu'

Important settings:
  value of $LANG: en_US.utf8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  helm-descbinds-mode: t
  auto-compile-mode: t
  elisp-slime-nav-mode: t
  goto-address-prog-mode: t
  bug-reference-prog-mode: t
  auto-highlight-symbol-mode: t
  clean-aindent-mode: t
  highlight-numbers-mode: t
  highlight-parentheses-mode: t
  rainbow-delimiters-mode: t
  eldoc-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  recentf-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  hl-todo-mode: t
  linum-mode: t
  winner-mode: t
  window-numbering-mode: t
  volatile-highlights-mode: t
  spaceline-info-mode: t
  spaceline-helm-mode: t
  savehist-mode: t
  popwin-mode: t
  persp-mode: t
  Info-breadcrumbs-in-mode-line-mode: t
  ido-vertical-mode: t
  helm-mode: t
  shell-dirtrack-mode: t
  dired-omit-mode: t
  flyspell-mode: t
  flycheck-pos-tip-mode: t
  global-flycheck-mode: t
  flx-ido-mode: t
  eyebrowse-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-anzu-mode: t
  anzu-mode: t
  eval-sexp-fu-flash-mode: t
  company-mode: t
  which-key-mode: t
  override-global-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  evil-mode: t
  evil-local-mode: t
  spacemacs-leader-override-mode: t
  global-spacemacs-leader-override-mode: t
  global-hl-line-mode: t
  xterm-mouse-mode: t
  global-auto-revert-mode: t
  global-page-break-lines-mode: t
  page-break-lines-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
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  hs-minor-mode: t

Recent messages:

uncompressing sh-script.el.gz...done
Note: file is write protected
ESC ESC <mode-line> <down-mouse-1> is undefined
Quit
evil-record-macro: Invalid register [2 times]
byte-code: Beginning of line [4 times]
Quit
Error during redisplay: (eval (spaceline-ml-helm)) signaled (wrong-type-argument integer-or-marker-p nil) [6 times]
Error running timer: (wrong-type-argument window-live-p nil)

Load-path shadows:
/home/steb/.emacs.d/elpa/helm-20160623.2215/helm-multi-match hides /home/steb/.emacs.d/elpa/helm-core-20160621.2144/helm-multi-match
/home/steb/.emacs.d/elpa/org-download-20160620.607/org-download hides /home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-download
/home/steb/.emacs.d/elpa/org-bullets-20140918.1137/org-bullets hides /home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-bullets
/home/steb/.emacs.d/elpa/cmake-mode-20160510.1140/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-screen hides /usr/share/emacs/24.5/lisp/org/ob-screen
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-C hides /usr/share/emacs/24.5/lisp/org/ob-C
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-capture hides /usr/share/emacs/24.5/lisp/org/org-capture
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-w3m hides /usr/share/emacs/24.5/lisp/org/org-w3m
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-eshell hides /usr/share/emacs/24.5/lisp/org/org-eshell
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-clock hides /usr/share/emacs/24.5/lisp/org/org-clock
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-gnus hides /usr/share/emacs/24.5/lisp/org/org-gnus
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-indent hides /usr/share/emacs/24.5/lisp/org/org-indent
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ox-texinfo hides /usr/share/emacs/24.5/lisp/org/ox-texinfo
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-version hides /usr/share/emacs/24.5/lisp/org/org-version
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-macs hides /usr/share/emacs/24.5/lisp/org/org-macs
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-java hides /usr/share/emacs/24.5/lisp/org/ob-java
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ox-ascii hides /usr/share/emacs/24.5/lisp/org/ox-ascii
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-octave hides /usr/share/emacs/24.5/lisp/org/ob-octave
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-bbdb hides /usr/share/emacs/24.5/lisp/org/org-bbdb
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-latex hides /usr/share/emacs/24.5/lisp/org/ob-latex
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-plot hides /usr/share/emacs/24.5/lisp/org/org-plot
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ox-man hides /usr/share/emacs/24.5/lisp/org/ox-man
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-id hides /usr/share/emacs/24.5/lisp/org/org-id
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-sass hides /usr/share/emacs/24.5/lisp/org/ob-sass
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-datetree hides /usr/share/emacs/24.5/lisp/org/org-datetree
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ox hides /usr/share/emacs/24.5/lisp/org/ox
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-org hides /usr/share/emacs/24.5/lisp/org/ob-org
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-timer hides /usr/share/emacs/24.5/lisp/org/org-timer
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-attach hides /usr/share/emacs/24.5/lisp/org/org-attach
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-mouse hides /usr/share/emacs/24.5/lisp/org/org-mouse
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-R hides /usr/share/emacs/24.5/lisp/org/ob-R
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-awk hides /usr/share/emacs/24.5/lisp/org/ob-awk
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-perl hides /usr/share/emacs/24.5/lisp/org/ob-perl
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-colview hides /usr/share/emacs/24.5/lisp/org/org-colview
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-comint hides /usr/share/emacs/24.5/lisp/org/ob-comint
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-mobile hides /usr/share/emacs/24.5/lisp/org/org-mobile
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-mscgen hides /usr/share/emacs/24.5/lisp/org/ob-mscgen
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-haskell hides /usr/share/emacs/24.5/lisp/org/ob-haskell
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-table hides /usr/share/emacs/24.5/lisp/org/ob-table
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-ocaml hides /usr/share/emacs/24.5/lisp/org/ob-ocaml
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ox-icalendar hides /usr/share/emacs/24.5/lisp/org/ox-icalendar
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-pcomplete hides /usr/share/emacs/24.5/lisp/org/org-pcomplete
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-agenda hides /usr/share/emacs/24.5/lisp/org/org-agenda
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-ditaa hides /usr/share/emacs/24.5/lisp/org/ob-ditaa
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-faces hides /usr/share/emacs/24.5/lisp/org/org-faces
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-ctags hides /usr/share/emacs/24.5/lisp/org/org-ctags
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org hides /usr/share/emacs/24.5/lisp/org/org
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-picolisp hides /usr/share/emacs/24.5/lisp/org/ob-picolisp
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-exp hides /usr/share/emacs/24.5/lisp/org/ob-exp
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-core hides /usr/share/emacs/24.5/lisp/org/ob-core
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ox-publish hides /usr/share/emacs/24.5/lisp/org/ox-publish
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob hides /usr/share/emacs/24.5/lisp/org/ob
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-compat hides /usr/share/emacs/24.5/lisp/org/org-compat
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-io hides /usr/share/emacs/24.5/lisp/org/ob-io
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-scala hides /usr/share/emacs/24.5/lisp/org/ob-scala
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-irc hides /usr/share/emacs/24.5/lisp/org/org-irc
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-plantuml hides /usr/share/emacs/24.5/lisp/org/ob-plantuml
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-maxima hides /usr/share/emacs/24.5/lisp/org/ob-maxima
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-clojure hides /usr/share/emacs/24.5/lisp/org/ob-clojure
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-emacs-lisp hides /usr/share/emacs/24.5/lisp/org/ob-emacs-lisp
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-tangle hides /usr/share/emacs/24.5/lisp/org/ob-tangle
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-asymptote hides /usr/share/emacs/24.5/lisp/org/ob-asymptote
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-sql hides /usr/share/emacs/24.5/lisp/org/ob-sql
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-bibtex hides /usr/share/emacs/24.5/lisp/org/org-bibtex
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-src hides /usr/share/emacs/24.5/lisp/org/org-src
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-sqlite hides /usr/share/emacs/24.5/lisp/org/ob-sqlite
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-mhe hides /usr/share/emacs/24.5/lisp/org/org-mhe
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-lisp hides /usr/share/emacs/24.5/lisp/org/ob-lisp
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-makefile hides /usr/share/emacs/24.5/lisp/org/ob-makefile
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-python hides /usr/share/emacs/24.5/lisp/org/ob-python
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-habit hides /usr/share/emacs/24.5/lisp/org/org-habit
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-archive hides /usr/share/emacs/24.5/lisp/org/org-archive
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-ledger hides /usr/share/emacs/24.5/lisp/org/ob-ledger
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-crypt hides /usr/share/emacs/24.5/lisp/org/org-crypt
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-list hides /usr/share/emacs/24.5/lisp/org/org-list
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-table hides /usr/share/emacs/24.5/lisp/org/org-table
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-info hides /usr/share/emacs/24.5/lisp/org/org-info
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-js hides /usr/share/emacs/24.5/lisp/org/ob-js
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-loaddefs hides /usr/share/emacs/24.5/lisp/org/org-loaddefs
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ox-html hides /usr/share/emacs/24.5/lisp/org/ox-html
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-ruby hides /usr/share/emacs/24.5/lisp/org/ob-ruby
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ox-md hides /usr/share/emacs/24.5/lisp/org/ox-md
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ox-latex hides /usr/share/emacs/24.5/lisp/org/ox-latex
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-fortran hides /usr/share/emacs/24.5/lisp/org/ob-fortran
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ox-org hides /usr/share/emacs/24.5/lisp/org/ox-org
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-css hides /usr/share/emacs/24.5/lisp/org/ob-css
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-rmail hides /usr/share/emacs/24.5/lisp/org/org-rmail
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-ref hides /usr/share/emacs/24.5/lisp/org/ob-ref
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-calc hides /usr/share/emacs/24.5/lisp/org/ob-calc
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-inlinetask hides /usr/share/emacs/24.5/lisp/org/org-inlinetask
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-element hides /usr/share/emacs/24.5/lisp/org/org-element
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-docview hides /usr/share/emacs/24.5/lisp/org/org-docview
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ox-beamer hides /usr/share/emacs/24.5/lisp/org/ox-beamer
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-lob hides /usr/share/emacs/24.5/lisp/org/ob-lob
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-eval hides /usr/share/emacs/24.5/lisp/org/ob-eval
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-protocol hides /usr/share/emacs/24.5/lisp/org/org-protocol
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-shen hides /usr/share/emacs/24.5/lisp/org/ob-shen
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-entities hides /usr/share/emacs/24.5/lisp/org/org-entities
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-install hides /usr/share/emacs/24.5/lisp/org/org-install
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ox-odt hides /usr/share/emacs/24.5/lisp/org/ox-odt
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-scheme hides /usr/share/emacs/24.5/lisp/org/ob-scheme
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-keys hides /usr/share/emacs/24.5/lisp/org/ob-keys
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-gnuplot hides /usr/share/emacs/24.5/lisp/org/ob-gnuplot
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-dot hides /usr/share/emacs/24.5/lisp/org/ob-dot
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-matlab hides /usr/share/emacs/24.5/lisp/org/ob-matlab
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-macro hides /usr/share/emacs/24.5/lisp/org/org-macro
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-footnote hides /usr/share/emacs/24.5/lisp/org/org-footnote
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/ob-lilypond hides /usr/share/emacs/24.5/lisp/org/ob-lilypond
/home/steb/.emacs.d/elpa/org-plus-contrib-20160620/org-feed hides /usr/share/emacs/24.5/lisp/org/org-feed

Features:
(shadow sort mail-extr emacsbug sendmail eieio-opt speedbar sb-image
ezimage dframe helm-descbinds sh-script smie executable helm-command
helm-elisp helm-eval edebug auto-compile packed elisp-slime-nav
goto-addr bug-reference auto-highlight-symbol clean-aindent-mode
highlight-numbers parent-mode highlight-parentheses hideshow
rainbow-delimiters emoji-cheat-sheet-plus vc-git company-files
company-keywords company-etags company-gtags company-template
company-dabbrev-code company-dabbrev company-capf company-emoji
org-eldoc eldoc evil-org ob-shell ob-python org-bullets org-download
url-http tls url-auth url-gw org-ref org-ref-core org-ref-helm-bibtex
org-ref-helm helm-bibtex bibtex-completion biblio biblio-dissemin
biblio-hal biblio-dblp biblio-crossref biblio-arxiv parse-time
biblio-doi biblio-core let-alist url-queue helm-config helm-easymenu
reftex-cite reftex reftex-vars parsebib ox-latex ox-icalendar ox-html
ox-ascii ox-publish ox org-ref-glossary org-ref-utils org-ref-bibtex
unsrt org-ref-citeproc key-chord doi-utils f toc-org ert ewoc debug
yasnippet image-file org-rmail org-mhe org-irc org-info org-gnus
org-docview doc-view jka-compr org-bibtex bibtex org-bbdb org-w3m
org-element avl-tree org org-macro org-footnote org-pcomplete org-list
org-faces org-entities noutline outline 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 cal-menu calendar
cal-loaddefs recentf tree-widget git-commit with-editor async-bytecomp
async tramp-sh log-edit message idna rfc822 mml mml-sec mailabbrev
mail-utils gmm-utils mailheader pcvs-util add-log hl-todo linum server
xterm-color ws-butler winner window-numbering etags volatile-highlights
spaceline-config spaceline-segments s ucs-normalize spaceline powerline
powerline-separators color powerline-themes saveplace savehist popwin
persp-mode info+ image-mode ido-vertical-mode helm-mode helm-files
image-dired tramp tramp-compat tramp-loaddefs trampver shell pcomplete
dired-x dired-aux ffap helm-buffers helm-elscreen helm-tags
helm-bookmark helm-adaptive helm-info bookmark pp helm-locate helm-grep
helm-regexp helm-plugin helm-external helm-net browse-url xml url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap helm-utils compile comint ansi-color
helm-help helm-types go-rename flyspell-correct-helm helm helm-source
helm-multi-match helm-lib dired flyspell-correct flyspell ispell
flycheck-pos-tip pos-tip flycheck find-func seq seq-24 flx-ido flx ido
eyebrowse format-spec exec-path-from-shell evil-surround evil-numbers
evil-lisp-state smartparens evil-indent-plus evil-exchange evil-args
evil-anzu anzu mule-util eval-sexp-fu rx highlight company-web dash
company-css company web-completion-data go-mode-autoloads tex-site
adaptive-wrap hybrid-mode evil-evilified-state which-key use-package
diminish bind-key hydra lv cus-edit cus-start cus-load evil
evil-integration undo-tree diff evil-maps evil-commands evil-jumps
evil-command-window evil-types evil-search evil-ex evil-macros
evil-repeat evil-states evil-core evil-common windmove thingatpt rect
evil-digraphs evil-vars ring info bind-map finder-inf quelpa url-parse
auth-source gnus-util password-cache url-vars package-build mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr json lisp-mnt hl-line xt-mouse time-date autorevert
filenotify disp-table wid-edit spacemacs-dark-theme spacemacs-common
core-configuration-layer ht cl help-mode warnings package epg-config
eieio byte-opt bytecomp byte-compile cl-extra cconv eieio-core read-pipe
core-spacemacs core-use-package-ext core-transient-state
core-micro-state core-toggle core-keybindings core-fonts-support
core-spacemacs-buffer derived edmacro kmacro core-funcs cl-macs gv
core-themes-support core-display-init core-auto-completion
core-release-management core-dotspacemacs core-command-line core-debug
advice help-fns profiler easymenu pcase cl-loaddefs cl-lib
page-break-lines easy-mmode subr-x tooltip electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer 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 make-network-process dbusbind
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 799497 1054641)
 (symbols 48 66570 29)
 (miscs 40 768 2163)
 (strings 32 167454 311434)
 (string-bytes 1 5467449)
 (vectors 16 79120)
 (vector-slots 8 1244825 255812)
 (floats 8 904 2371)
 (intervals 56 8018 1124)
 (buffers 960 29)
 (heap 1024 140830 59672))

-- 
Steven Allen
((Do Not Email <[email-masked]>))