Subject: bug#14702: 24.3.50; Byte-compiling called-interactively-p inside catch

From: Stephen Berman <[email-masked]>
Date: Mon, 24 Jun 2013 16:29:23 +0200

0. Save the following defun to a file, say foo.el:
   (defun baz ()
     (interactive)
     (catch 'test
       (if (called-interactively-p 'any)
           (message "interactive")
         (message "noninteractive"))))
1. Load foo, then type `M-x baz'.
   => "interactive"
2. M-: (fmakunbound 'baz)
3. Byte-compile foo.el, load the compiled file and type `M-x baz'.
   => "noninteractive"

If in the function `baz' you either remove the `catch' form or replace
(called-interactively-p 'any) by (eq this-command 'baz), and then repeat
the above steps, then the result of both non-compiled and compiled
interactive calls is "interactive".

In GNU Emacs 24.3.50.1 (x86_64-suse-linux-gnu, GTK+ Version 3.4.4)
 of 2013-06-22 on rosalinde
Bzr revision: 113135 [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.11203000
System Description:	openSUSE 12.2 (x86_64)

Configured using:
 `configure --without-toolkit-scroll-bars CFLAGS=-g3 -O0'

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t