Subject: bug#28312: 25.2; Arabic script changes when scrolling

From: Nick Helm <[email-masked]>
Date: Fri, 01 Sep 2017 13:03:02 +1200

With bidi enabled, Arabic text changes unexpectedly when scrolling or
moving point with the mouse.

Recipe:
  Emacs -Q
  C-h h ;visit HELLO file
  ;use the mouse to scroll slowly

Observe the text on the line that starts with the word Arabic. As the
buffer scrolls, some of the characters in the Arabic representations of
the words "Arabic" and "Hello" change between at least two glyphs.

Here's a quick screen cap to show what I mean:
https://ln.sync.com/dl/22d37f320/fwujc85a-dhb63yfw-cv5vhzj5-5qsis2h8
(this is the mac-port, but it occurs with a standard build as well.)

The problem goes away when I change the file local variable:
  ;;; bidi-display-reordering: nil 

My system defaults to Geeza Pro to display Arabic script, but the
problem also occurs with other fonts, such as Arial Unicode MS. I don't
see the problem with other RTL scripts in the HELLO file, such as
Hebrew.

In case it matters, when I place point over one of the affected
characters and do C-u C-x = before and after it changes, I get the
following in both cases (ie Emacs thinks it is displaying the same
char).

-----------------
             position: 884 of 3322 (27%), column: 41
            character: ي‎ (displayed as ي‎) (codepoint 1610, #o3112, #x64a)
    preferred charset: mule-unicode-0100-24ff (Unicode characters of the range U+0100..U+24FF.)
code point in charset: 0x2E2A
               script: arabic
               syntax: w 	which means: word
             category: .:Base, R:Right-to-left (strong), b:Arabic
             to input: type "C-x 8 RET 64a" or "C-x 8 RET ARABIC LETTER YEH"
          buffer code: #xD9 #x8A
            file code: ESC #x24 #x2C #x31 #x2E #x2A (encoded by coding system iso-2022-7bit-unix)
              display: composed to form "ي" (see below)

Composed using this font:
  mac-ct:-*-Geeza Pro-normal-normal-normal-*-10-*-*-*-p-0-iso10646-1
by these glyphs:
  [2 2 0 364 3 -1 5 4 3 nil]

Character code properties: customize what to show
  name: ARABIC LETTER YEH
  old-name: ARABIC LETTER YA
  general-category: Lo (Letter, Other)
  decomposition: (1610) ('ي')

There are text properties here:
  charset              mule-unicode-0100-24ff
-----------------

In GNU Emacs 25.2.1 (x86_64-apple-darwin16.7.0, Carbon Version 157 AppKit 1504.83)
 of 2017-08-28 built on oberon
Windowing system distributor 'Apple Inc.', version 10.12.6
Configured using:
 'configure --with-mac
 --enable-locallisppath=/usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/site-lisp
 --infodir=/usr/local/kemp-emacs/emacs-25.2-mac-6.6/info/emacs
 --prefix=/usr/local/kemp-emacs/emacs-25.2-mac-6.6
 --enable-mac-app=/usr/local/kemp-emacs/emacs-25.2-mac-6.6'

Configured features:
NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS

Important settings:
  value of $LANG: en_NZ.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Text

Minor modes in effect:
  savehist-mode: t
  global-eldoc-mode: t
  mac-mouse-wheel-mode: t
  menu-bar-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
  visual-line-mode: t
  transient-mark-mode: t

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Emacs start-up time: 0.3 seconds [2 times]

Load-path shadows:
/Users/nick/.emacs.d/lisp/org/ox hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ox
/Users/nick/.emacs.d/lisp/org/ox-texinfo hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ox-texinfo
/Users/nick/.emacs.d/lisp/org/ox-publish hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ox-publish
/Users/nick/.emacs.d/lisp/org/ox-org hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ox-org
/Users/nick/.emacs.d/lisp/org/ox-odt hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ox-odt
/Users/nick/.emacs.d/lisp/org/ox-md hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ox-md
/Users/nick/.emacs.d/lisp/org/ox-man hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ox-man
/Users/nick/.emacs.d/lisp/org/ox-latex hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ox-latex
/Users/nick/.emacs.d/lisp/org/ox-icalendar hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ox-icalendar
/Users/nick/.emacs.d/lisp/org/ox-html hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ox-html
/Users/nick/.emacs.d/lisp/org/ox-beamer hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ox-beamer
/Users/nick/.emacs.d/lisp/org/ox-ascii hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ox-ascii
/Users/nick/.emacs.d/lisp/org/org hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org
/Users/nick/.emacs.d/lisp/org/org-w3m hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-w3m
/Users/nick/.emacs.d/lisp/org/org-version hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-version
/Users/nick/.emacs.d/lisp/org/org-timer hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-timer
/Users/nick/.emacs.d/lisp/org/org-table hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-table
/Users/nick/.emacs.d/lisp/org/org-src hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-src
/Users/nick/.emacs.d/lisp/org/org-rmail hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-rmail
/Users/nick/.emacs.d/lisp/org/org-protocol hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-protocol
/Users/nick/.emacs.d/lisp/org/org-plot hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-plot
/Users/nick/.emacs.d/lisp/org/org-pcomplete hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-pcomplete
/Users/nick/.emacs.d/lisp/org/org-mouse hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-mouse
/Users/nick/.emacs.d/lisp/org/org-mobile hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-mobile
/Users/nick/.emacs.d/lisp/org/org-mhe hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-mhe
/Users/nick/.emacs.d/lisp/org/org-macs hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-macs
/Users/nick/.emacs.d/lisp/org/org-macro hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-macro
/Users/nick/.emacs.d/lisp/org/org-loaddefs hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-loaddefs
/Users/nick/.emacs.d/lisp/org/org-list hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-list
/Users/nick/.emacs.d/lisp/org/org-irc hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-irc
/Users/nick/.emacs.d/lisp/org/org-install hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-install
/Users/nick/.emacs.d/lisp/org/org-inlinetask hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-inlinetask
/Users/nick/.emacs.d/lisp/org/org-info hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-info
/Users/nick/.emacs.d/lisp/org/org-indent hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-indent
/Users/nick/.emacs.d/lisp/org/org-id hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-id
/Users/nick/.emacs.d/lisp/org/org-habit hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-habit
/Users/nick/.emacs.d/lisp/org/org-gnus hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-gnus
/Users/nick/.emacs.d/lisp/org/org-footnote hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-footnote
/Users/nick/.emacs.d/lisp/org/org-feed hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-feed
/Users/nick/.emacs.d/lisp/org/org-faces hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-faces
/Users/nick/.emacs.d/lisp/org/org-eshell hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-eshell
/Users/nick/.emacs.d/lisp/org/org-entities hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-entities
/Users/nick/.emacs.d/lisp/org/org-element hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-element
/Users/nick/.emacs.d/lisp/org/org-docview hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-docview
/Users/nick/.emacs.d/lisp/org/org-datetree hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-datetree
/Users/nick/.emacs.d/lisp/org/org-ctags hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-ctags
/Users/nick/.emacs.d/lisp/org/org-crypt hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-crypt
/Users/nick/.emacs.d/lisp/org/org-compat hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-compat
/Users/nick/.emacs.d/lisp/org/org-colview hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-colview
/Users/nick/.emacs.d/lisp/org/org-clock hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-clock
/Users/nick/.emacs.d/lisp/org/org-capture hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-capture
/Users/nick/.emacs.d/lisp/org/org-bibtex hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-bibtex
/Users/nick/.emacs.d/lisp/org/org-bbdb hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-bbdb
/Users/nick/.emacs.d/lisp/org/org-attach hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-attach
/Users/nick/.emacs.d/lisp/org/org-archive hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-archive
/Users/nick/.emacs.d/lisp/org/org-agenda hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/org-agenda
/Users/nick/.emacs.d/lisp/org/ob hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob
/Users/nick/.emacs.d/lisp/org/ob-tangle hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-tangle
/Users/nick/.emacs.d/lisp/org/ob-table hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-table
/Users/nick/.emacs.d/lisp/org/ob-sqlite hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-sqlite
/Users/nick/.emacs.d/lisp/org/ob-sql hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-sql
/Users/nick/.emacs.d/lisp/org/ob-shen hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-shen
/Users/nick/.emacs.d/lisp/org/ob-screen hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-screen
/Users/nick/.emacs.d/lisp/org/ob-scheme hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-scheme
/Users/nick/.emacs.d/lisp/org/ob-scala hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-scala
/Users/nick/.emacs.d/lisp/org/ob-sass hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-sass
/Users/nick/.emacs.d/lisp/org/ob-ruby hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-ruby
/Users/nick/.emacs.d/lisp/org/ob-ref hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-ref
/Users/nick/.emacs.d/lisp/org/ob-R hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-R
/Users/nick/.emacs.d/lisp/org/ob-python hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-python
/Users/nick/.emacs.d/lisp/org/ob-plantuml hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-plantuml
/Users/nick/.emacs.d/lisp/org/ob-picolisp hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-picolisp
/Users/nick/.emacs.d/lisp/org/ob-perl hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-perl
/Users/nick/.emacs.d/lisp/org/ob-org hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-org
/Users/nick/.emacs.d/lisp/org/ob-octave hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-octave
/Users/nick/.emacs.d/lisp/org/ob-ocaml hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-ocaml
/Users/nick/.emacs.d/lisp/org/ob-mscgen hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-mscgen
/Users/nick/.emacs.d/lisp/org/ob-maxima hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-maxima
/Users/nick/.emacs.d/lisp/org/ob-matlab hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-matlab
/Users/nick/.emacs.d/lisp/org/ob-makefile hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-makefile
/Users/nick/.emacs.d/lisp/org/ob-lob hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-lob
/Users/nick/.emacs.d/lisp/org/ob-lisp hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-lisp
/Users/nick/.emacs.d/lisp/org/ob-lilypond hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-lilypond
/Users/nick/.emacs.d/lisp/org/ob-ledger hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-ledger
/Users/nick/.emacs.d/lisp/org/ob-latex hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-latex
/Users/nick/.emacs.d/lisp/org/ob-keys hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-keys
/Users/nick/.emacs.d/lisp/org/ob-js hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-js
/Users/nick/.emacs.d/lisp/org/ob-java hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-java
/Users/nick/.emacs.d/lisp/org/ob-io hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-io
/Users/nick/.emacs.d/lisp/org/ob-haskell hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-haskell
/Users/nick/.emacs.d/lisp/org/ob-gnuplot hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-gnuplot
/Users/nick/.emacs.d/lisp/org/ob-fortran hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-fortran
/Users/nick/.emacs.d/lisp/org/ob-exp hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-exp
/Users/nick/.emacs.d/lisp/org/ob-eval hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-eval
/Users/nick/.emacs.d/lisp/org/ob-emacs-lisp hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-emacs-lisp
/Users/nick/.emacs.d/lisp/org/ob-dot hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-dot
/Users/nick/.emacs.d/lisp/org/ob-ditaa hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-ditaa
/Users/nick/.emacs.d/lisp/org/ob-css hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-css
/Users/nick/.emacs.d/lisp/org/ob-core hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-core
/Users/nick/.emacs.d/lisp/org/ob-comint hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-comint
/Users/nick/.emacs.d/lisp/org/ob-clojure hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-clojure
/Users/nick/.emacs.d/lisp/org/ob-calc hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-calc
/Users/nick/.emacs.d/lisp/org/ob-C hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-C
/Users/nick/.emacs.d/lisp/org/ob-awk hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-awk
/Users/nick/.emacs.d/lisp/org/ob-asymptote hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/org/ob-asymptote
/Users/nick/.emacs.d/lisp/gnus/auth-source hides /usr/local/kemp-emacs/emacs-25.2-mac-6.6/share/emacs/25.2/lisp/gnus/auth-source

Features:
(shadow sort mail-extr gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime
smime dig mailcap gnus-sum gnus-group gnus-undo gnus-start gnus-cloud
nnimap nnmail mail-source tls gnutls utf7 netrc nnoo parse-time
gnus-spec gnus-int gnus-range gnus-win gnus gnus-ems nnheader wid-edit
emacsbug message format-spec rfc822 mml mml-sec password-cache epg
epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util help-fns help-mode mail-prsvr mail-utils jka-compr info time
dired-x easymenu dired savehist multiple-cursors
mc-hide-unmatched-lines-mode mc-separate-operations
rectangular-region-mode mc-mark-pop mc-mark-more thingatpt
mc-cycle-cursors mc-edit-lines multiple-cursors-core advice rect
nh-macdict easy-mmode iso-transl gv flyspell ispell linum plain-theme
edmacro kmacro cl-loaddefs pcase cl-lib mule-util time-date tooltip
eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel
mac-win term/common-win 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 charscript 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
kqueue mac multi-tty make-network-process emacs)

Memory information:
((conses 16 158045 2804)
 (symbols 48 27577 0)
 (miscs 40 66 98)
 (strings 32 43155 8088)
 (string-bytes 1 1485587)
 (vectors 16 19115)
 (vector-slots 8 522339 1270)
 (floats 8 330 3)
 (intervals 56 225 0)
 (buffers 976 17))