[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
*WINDOW-MANAGER-TITLES-P* scoping problems
This is a report of a bug involving *WINDOW-MANAGER-TITLES-P*, the
global variable which determines what Common Windows does about window
stream title bars.
The behavior I'm reporting all occurs when creating a titled window
stream and when *WINDOW-MANAGER-TITLES-P* has the global value T.
1) If the variable is bound as a LET variable to NIL, the window
stream has a Common Windows title bar, but no title appears. THIS IS A
BUG.
2) If the variable is SETQ'ed to NIL inside of a LET (and restored to
its original value just before leaving the LET), the window has a
normal Common Windows title bar--UNLESS the global value of
*WINDOW-MANAGER-TITLES-P* was established by compiled code. In this
case the window also contains a title bar with no title. THIS IS
ANOTHER BUG.
The bugs are simple enough to demonstrate, but aren't captured by a
DRIBBLE file. The bug is on the screen. Here's an annotated dribble
file with code which demonstrates the bug. (BTW, my window manager is
TWM. Windows with the title "BEAM" will not be titled by TWM.)
dribbling to file "./titles-bug"
**** Package violations:
**** FUNCTION: EXCL:CURRENT-DIRECTORY
**** FUNCTION: SYSTEM::FROB-SOURCE-FILE
LISP-IMPLEMENTATION-TYPE: Allegro CL
LISP-IMPLEMENTATION-VERSION: 4.1 [SPARC; R1] (5/22/92 16:46)
MACHINE-TYPE: SPARC
MACHINE-VERSION:
SOFTWARE-TYPE: SunOS
SOFTWARE-VERSION:
SHORT-SITE-NAME: pride.uchicago.edu
PRESTOP: T
CL-VERSION-TYPE: :FINAL
CL-FREEZE-NUMBER: 47
CL-GENERATION-NUMBER: 0
CL-PLATFORM-RELEASE-NUMBER: 1
*FEATURES*: :COMPOSER-V2.0, :COMPOSER, :CW-MOTIF, :CW-X-V2, :CW-X,
:CLX-MIT-R5, :CLX-MIT-R4, :XLIB, :CLX, :HAS-RCSNOTE,
:MULTIPROCESSING, :CLOS, :COMPILER, :UNIX, :SUN4, :SPARC,
:SUN, :SUNOS4.0, :FLAVORS, :PROFILER, :PRESTO, :IEEE,
:IEEE-FLOATING-POINT, :CONFORMING-IEEE, :COMMON-LISP,
:CLTL2, :ALLEGRO, :EXCL, :FRANZ-INC, :ALLEGRO-VERSION>=,
:ALLEGRO-V4.1, :GSGC, :BIG-ENDIAN, :DYNAFASL.
*MODULES*: "COMPOSER", "CLM", "GRAPHER", "PRES-TYPES", "EXTENDED-IO",
"PMACROS", "XCW-MOTIF", "XCLAWS", "XCW", "CLX", "DISASSHYP",
"DISASM", "INSPECT", "PROF", "ADVISE", "TRACE", "WALKER",
"XREF", "SCM", "LEP", "EMACS", "IPC", "SIGIO", "PROCESS",
"MDPROC", "DEFCTYPE", "FOREIGN", "FOREIGN-FUNCTIONS",
"DEFSYSTEM", "DEFSYS", "COMPILER".
Composer: $aclHeader: first.cl,v 1.12 91/11/11 16:03:38 cer composer2_0_final $
X Common Windows: X-CW 2.1.6 (2/21/91 14:00)
disasshyp: $aclHeader: disasshyp.cl,v 1.20 91/12/04 01:19:56 cox acl4_1 $
inspect: $aclHeader: inspect.cl,v 1.54 91/12/04 01:11:42 cox acl4_1 $
prof: $aclHeader: prof.cl,v 2.44 91/12/04 01:10:56 cox acl4_1 $
trace: $aclHeader: trace.cl,v 1.49 91/12/04 01:10:40 cox acl4_1 $
emacs: $aclHeader: emacs.cl,v 1.11 91/12/04 01:13:55 cox acl4_1 $
ipc: $aclHeader: ipc.cl,v 1.50 91/12/04 01:10:45 cox acl4_1 $
sigio: $aclHeader: sigio.cl,v 1.14 91/12/04 01:09:35 cox acl4_1 $
process: $aclHeader: process.cl,v 1.81 91/12/04 01:14:10 cox acl4_1 $
mdproc: $aclHeader: mdproc.cl,v 1.26 91/12/04 01:13:09 cox acl4_1 $
defctype: $aclHeader: defctype.cl,v 1.18 91/12/04 01:09:45 cox acl4_1 $
foreign: $aclHeader: foreign.cl,v 1.79 91/12/04 01:09:38 cox acl4_1 $
NIL
USER(4): *window-manager-titles-p*
T
>>>Note<<< 1: The value of *WINDOW-MANAGER-TITLES-P* was set to T by
performing C-c C-s in an emacs Common-lisp-mode buffer. The expression
evaluated was
(setq *WINDOW-MANAGER-TITLES-P* t)
USER(5): (let ((*window-manager-titles-p* nil))
(setq w1 (make-window-stream
:title "BEAM something"
:activate-p t
:left 50
:bottom 50 :width 200
:height 100)))
#<WINDOW-STREAM 'BEAM something' @ #x9a0646>
>>>Note<<< 2: The window produced by the above LET had a black Common
Windows title bar, but _no_ title string in the title bar.
USER(6): (flush w1)
T
USER(7): *window-manager-titles-p*
T
USER(8): (let ((wmt-p *window-manager-titles-p*))
(setq *window-manager-titles-p* nil
w1 (make-window-stream
:title "BEAM something"
:activate-p t
:left 50
:bottom 50 :width 200
:height 100)
*window-manager-titles-p* wmt-p))
T
>>>Note<<< 3: The window produced by this LET (USER(8)) had a black Common
Windows title bar _with_ a title string.
USER(9): :7
*WINDOW-MANAGER-TITLES-P*
T
USER(10): :6
(FLUSH W1)
T
USER(11): :cl setq
; --- Compiling file ./setq.cl ---
; Writing fasl file "./setq.fasl"
; Fasl write complete
; Libfasl loading ./setq.fasl.
>>>Note<<< 4: The file compiled and loaded by USER(11) had the single line:
(setq *WINDOW-MANAGER-TITLES-P* t)
USER(12): :7
*WINDOW-MANAGER-TITLES-P*
T
USER(13): :5
(LET ((*WINDOW-MANAGER-TITLES-P* NIL))
(SETQ W1
(MAKE-WINDOW-STREAM :TITLE "BEAM something"
:ACTIVATE-P T
:LEFT 50
:BOTTOM 50
:WIDTH 200
:HEIGHT 100)))
#<WINDOW-STREAM 'BEAM something' @ #xa9484e>
>>>Note<<< 5: The window produced by USER(13) was just like that produced by
the original LET (USER(5))--that is, it had an empty (black) Common
Windows title bar.
USER(14): :6
(FLUSH W1)
T
USER(15): :7
*WINDOW-MANAGER-TITLES-P*
T
USER(16): :8
(LET ((WMT-P *WINDOW-MANAGER-TITLES-P*))
(SETQ *WINDOW-MANAGER-TITLES-P* NIL
W1
(MAKE-WINDOW-STREAM :TITLE "BEAM something"
:ACTIVATE-P T
:LEFT 50
:BOTTOM 50
:WIDTH 200
:HEIGHT 100)
*WINDOW-MANAGER-TITLES-P* WMT-P))
T
>>>Note<<< 6: The window produced by the above LET _now_ produces an empty
(black) Common windows title bar. Previously, it produced a normal
Common Windows title. Compiling and loading the SETQ appears to have
fouled things up.
USER(17): :6
(FLUSH W1)
T
USER(18): (dribble)
Jeff Berger |USmail: Ryerson 256
berger@cs.uchicago.edu | Artificial Intelligence Lab
PH: (312) 702-8584 | 1100 East 58th Street
FX: (312) 702-8487 | Chicago, IL 60637