Subject: bug#14888: 24.3.50; Prompting for theme safety when restoring frames

From: chad <[email-masked]>
Date: Wed, 17 Jul 2013 00:37:24 -0500

In GNU Emacs 24.3.50.1 (x86_64-apple-darwin12.4.0, NS apple-appkit-1187.39)
of 2013-07-16 on protip.local
Bzr revision: 109393 [email-masked]
Windowing system distributor `Apple', version 10.3.1187
Configured using:
`configure --with-ns --enable-checking'

Important settings:
  locale-coding-system: nil
  default enable-multibyte-characters: t

When emacs prompts the user during startup (to ask if a theme is safe to
load) while it is trying to restore a previous session's window layout
(with the new features in desktop-save-mode), emacs sometimes never
actually creates a window.

Juanma has already changed the related code, but asked me to file
a report so that future versions can be checked. Using today's bzr
tip, I do NOT see the problem. Note that the revision info listed
in `Bzr revision' above doesn't match the revision that triggers
the problem.

To reproduce the problem, you will need a theme that emacs does not
consider safe. I tested with zenburn and naquadah, but any non-trusted
theme will do. Because the problem uses saved theme and desktop state,
it can't easily be reproduced with emacs -Q. Once problematic config
files are generated, they can be saved and reused later for testing.

   1.) Move personal configuration aside, including desktop file and
   custom file.

   2.) Place your non-trusted theme in the clean user-emacs-directory.

   3.) M-x customize-variable RET desktop-save-mode RET and enable
   desktop-save-mode. Save changes for future sessions.

   3.) M-x customize-theme RET and enable your untrusted theme. Mark the
   theme as safe for future sessions. Save changes for future sessions.

   4.) Quit emacs.

   5.) Manually remove the entry for custom-safe-themes from the clean
   user-init-file.

   6.) Restart emacs.

In GNU Emacs 24.3.50.1 (x86_64-apple-darwin12.4.0, NS apple-appkit-1187.39)
 of 2013-07-16 on protip.local
Bzr revision: 109393 [email-masked]
Windowing system distributor `Apple', version 10.3.1187
Configured using:
 `configure --with-ns --enable-checking'

Important settings:
  locale-coding-system: nil
  default enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
  desktop-save-mode: t
  icomplete-mode: t
  which-function-mode: t
  recentf-mode: t
  savehist-mode: t
  delete-selection-mode: t
  minibuffer-electric-default-mode: t
  auto-image-file-mode: t
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-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
  temp-buffer-resize-mode: t
  line-number-mode: t
  transient-mark-mode: t

Features:
(shadow sort flyspell ispell nadvice gnus-util mail-extr emacsbug
message format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils help-mode hl-line dired
vc-git pp eldoc help-fns adaptive-wrap-autoloads debbugs-autoloads info
paredit-autoloads zenburn-autoloads package saveplace zenburn-theme
cus-edit desktop cus-start cus-load icomplete which-func imenu recentf
tree-widget wid-edit cl-loaddefs cl-lib easymenu savehist delsel
minibuf-eldef image-file paren pcase y-mac y-modeline y-frame
y-keybindings y-hacks time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel ns-win 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 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 ns multi-tty emacs)