unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
To: <emacs-pretest-bug@gnu.org>
Subject: bug#797: list-faces-display imposes its own background, doesn't respect special-display-frame-alist
Date: Wed, 27 Aug 2008 09:54:51 -0700	[thread overview]
Message-ID: <001301c90865$9fb99ab0$c2b22382@us.oracle.com> (raw)

Filed this bug in 2007, so it probably wasn't added to the new bug
database. Below is the original report. 
 
This is an update to say that the problem remains in the pretest
(Emacs 22.2.91). Now, the symptom is that the parameters
(e.g. background) of `default-frame-alist' are used for buffer
*Faces*, instead of the parameters of `special-display-frame-alist'.
 
Dunno why. Other special-display buffers, such as *Pp Eval Output*,
use the correct frame parameters (from `special-display-frame-alist').

Another, perhaps related problem: When I hit C-c C-c in the bug-reporting
buffer, that buffer was replaced in the same frame with buffer *Pp Eval Output*,
so this buffer has the frame parameters of `default-frame-alist'. This is not
right: *Pp Eval Output* should always be in its own, dedicated frame with the
`special-display-frame-alist' frame parameters (given my setup, described
below). 

IOW, if *Pp Eval Output* is shown via `pp-eval-expression' it is shown
correctly, but C-c C-c in the bug report buffer placed *Pp Eval Output* in the
same frame, not respecting `special-display-regexps' and
`special-display-frame-alist'.
 
Here's the original bug report:
 
------------8<---------------------------
 
> From: Drew Adams
> Sent: Thursday, November 22, 2007 8:38 AM
> To: Bug-Gnu-Emacs
> Subject: RE: list-faces-display imposes its own 
> background,doesn't respect special-display-frame-alist
> 
> Resending, consolidating the three separate mails, in case 
> this got lost.
> 
> > From: Drew Adams Sent: Tuesday, October 23, 2007 3:33 PM
> >
> > emacs -Q
> >
> > Evaluate these sexps:
> >
> > (setq special-display-regexps '("[ ]?[*][^*]+[*]"))
> >
> > (setq special-display-frame-alist
> >       '((foreground-color . "Black")
> >         (background-color . "LightSteelBlue")))
> >
> > (setq pop-up-frames t)
> >
> > (defun special-display-popup-frame (buffer &optional args)
> >   "Display BUFFER in its own frame, reusing an existing 
> window if any.
> > Return the window chosen.  Window is not selected within its frame.
> >
> > If a new frame is needed, then `make-frame' is called to create it,
> > with BUFFER as the current buffer.
> >
> > If ARGS is an alist, use it as a list of frame parameter specs.
> > If ARGS is a list whose car is a symbol, use (car ARGS) as 
> a function
> > to do the work.  Pass it BUFFER as first arg, and (cdr ARGS) as the
> > rest of its args."
> >   (if (and args (symbolp (car args)))
> >       (let* ((window (apply (car args) buffer (cdr args)))
> >              (frame (window-frame window)))
> >         (when (fboundp 'fit-frame) (fit-frame (window-frame 
> window)))
> >         (raise-frame frame)
> >         window)                         ; Return the window.
> >     (let ((window (get-buffer-window buffer 0)))
> >       (or
> >        ;; If we have a window already, make it visible.
> >        (when window
> >          (let ((frame (window-frame window)))
> >            (make-frame-visible frame)
> >            (raise-frame frame)
> >            (when (fboundp 'fit-frame) (fit-frame frame))
> >            window))                     ; Return the window.
> >        ;; Reuse the current window if the user requested it.
> >        (when (cdr (assq 'same-window args))
> >          (condition-case nil
> >              (progn (switch-to-buffer buffer) (selected-window))
> >            (error nil)))
> >        ;; Stay on the same frame if requested.
> >        (when (or (cdr (assq 'same-frame args)) (cdr (assq 
> 'same-window
> > args)))
> >          (let* ((pop-up-frames nil) (pop-up-windows t)
> >                 special-display-regexps special-display-buffer-names
> >                 (window (display-buffer buffer)))
> >            ;; Only do it if this is a new window:
> >            ;; (set-window-dedicated-p window t)
> >            window))                     ; Return the window.
> >
> >        ;; If no window yet, make one in a new frame.
> >        (let ((frame (with-current-buffer buffer
> >                       (make-frame (append args
> > special-display-frame-alist)))))
> >          (when (and (fboundp 'fit-frame)
> >                     (not (memq 'fit-frame 
> after-make-frame-functions)))
> >            (with-current-buffer buffer (fit-frame frame)))
> >          (set-window-buffer (frame-selected-window frame) buffer)
> >          (set-window-dedicated-p (frame-selected-window frame) t)
> >          (frame-selected-window frame)))))) ; Return the window.
> >
> > Try C-h f setq - no problem. The frame background is LightSteelBlue.
> >
> > Try M-x list-faces-display. The frame background, or at least the
> > background of buffer *Faces*, is white. The frame background appears
> > to be LightSteelBlue, which is correct, but that only shows in the
> > fringe and the minibuffer. (So, for a frame without minibuffer and
> > fringe, no LightSteelBlue background is seen.
> >
> > `list-faces-display' should not impose a special background for its
> > window/buffer. (And how does it do that, anyway?)
> >
> > I should add that list-colors-display does not have this problem.
> > list-faces-display should act the same way.
> >
> > Also, in case it helps, the background is not imposed as white.
> > It appears that the default frame background is what is imposed
> > for the *Faces* buffer.
> >
> >
> > In GNU Emacs 22.1.1 (i386-mingw-nt5.1.2600)
> >  of 2007-06-02 on RELEASE
> > Windowing system distributor `Microsoft Corp.', version 5.1.2600
> > configured using `configure --with-gcc (3.4) --cflags
> > -Ic:/gnuwin32/include'
> >
> > Important settings:
> >   value of $LC_ALL: nil
> >   value of $LC_COLLATE: nil
> >   value of $LC_CTYPE: nil
> >   value of $LC_MESSAGES: nil
> >   value of $LC_MONETARY: nil
> >   value of $LC_NUMERIC: nil
> >   value of $LC_TIME: nil
> >   value of $LANG: ENU
> >   locale-coding-system: cp1252
> >   default-enable-multibyte-characters: t
> >
> > Major mode: Emacs-Lisp
> >
> > Minor modes in effect:
> >   encoded-kbd-mode: t
> >   tooltip-mode: t
> >   tool-bar-mode: t
> >   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
> >   unify-8859-on-encoding-mode: t
> >   utf-translate-cjk-mode: t
> >   auto-compression-mode: t
> >   line-number-mode: t
> >
> > Recent input:
> > <help-echo> C-x C-f o o o . e l <return> <help-echo>
> > <help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
> > <help-echo> M-x l o a d - f <return> <return> C-h f
> > <return> <switch-frame> C-x k <return> M-x l i s d
> > t - <backspace> <backspace> <backspace> t - f a c e
> > <return> <switch-frame> C-x k C-g <help-echo> <help-echo>
> > <switch-frame> <help-echo> <help-echo> <help-echo>
> > <help-echo> <help-echo> <help-echo> <menu-bar> <help-menu>
> > <report-emacs-bug>
> >
> > Recent messages:
> > ("C:\\Emacs-22.1\\bin\\emacs.exe" "-Q" "--debug-init" 
> "C:\\drews-lisp-20")
> > Loading encoded-kb...done
> > For information about the GNU Project and its goals, type C-h C-p.
> > Loading dired...
> > Loading regexp-opt...done
> > Loading dired...done
> > Loading c:/drews-lisp-20/ooo.el (source)...done
> > Loading help-fns...done
> > Quit
> > Loading emacsbug...done
 
 
 
In GNU Emacs 22.2.91.1 (i386-mingw-nt5.1.2600)
 of 2008-08-27 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'
 
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ENU
  locale-coding-system: cp1252
  default-enable-multibyte-characters: t
 
Major mode: Help
 
Minor modes in effect:
  display-time-mode: t
  savehist-mode: t
  icomplete-mode: t
  tool-bar-pop-up-mode: t
  icicle-mode: t
  minibuffer-depth-indicate-mode: t
  pretty-control-l-mode: t
  delete-selection-mode: t
  tabbar-mode: t
  show-paren-mode: t
  encoded-kbd-mode: t
  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
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  view-mode: t
 







             reply	other threads:[~2008-08-27 16:54 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-27 16:54 Drew Adams [this message]
2008-09-25  7:07 ` bug#797: list-faces-display imposes its own background, doesn't respect special-display-frame-alist Glenn Morris
2008-09-25  7:15   ` Processed: " Emacs bug Tracking System
2008-09-25 16:09   ` bug#797: " Drew Adams
2011-09-11 19:07 ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='001301c90865$9fb99ab0$c2b22382@us.oracle.com' \
    --to=drew.adams@oracle.com \
    --cc=797@emacsbugs.donarmstrong.com \
    --cc=emacs-pretest-bug@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).