From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: 22.1.1; Frame title no more updated after calling `set-frame-configuration' Date: Fri, 31 Aug 2007 13:36:16 +0200 Message-ID: <46D7FD30.8020205@gmx.at> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1188560187 5126 80.91.229.12 (31 Aug 2007 11:36:27 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 31 Aug 2007 11:36:27 +0000 (UTC) Cc: emacs-devel@gnu.org To: =?ISO-8859-15?Q?S=E9bastien_Rocca_Serra?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Aug 31 13:36:26 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1IR4nY-0006PC-Dr for ged-emacs-devel@m.gmane.org; Fri, 31 Aug 2007 13:36:24 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IR4nX-0001ql-N2 for ged-emacs-devel@m.gmane.org; Fri, 31 Aug 2007 07:36:23 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IR4nT-0001pv-Kl for emacs-devel@gnu.org; Fri, 31 Aug 2007 07:36:19 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IR4nQ-0001pT-8u for emacs-devel@gnu.org; Fri, 31 Aug 2007 07:36:18 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IR4nP-0001pP-UZ for emacs-devel@gnu.org; Fri, 31 Aug 2007 07:36:15 -0400 Original-Received: from mail.gmx.net ([213.165.64.20]) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1IR4nP-0007H0-7r for emacs-devel@gnu.org; Fri, 31 Aug 2007 07:36:15 -0400 Original-Received: (qmail invoked by alias); 31 Aug 2007 11:36:13 -0000 Original-Received: from N819P019.adsl.highway.telekom.at (EHLO [62.47.46.83]) [62.47.46.83] by mail.gmx.net (mp050) with SMTP; 31 Aug 2007 13:36:13 +0200 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX1+g5oRusDSgehNE9VIrWEKv+4kTAR+F/XROnDjTcH ELW6sC/DsxEzue User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: de-DE, de, en-us, en In-Reply-To: X-Y-GMX-Trusted: 0 X-Detected-Kernel: Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:77480 Archived-At: > I have a problem with Emacs 22: I display the current buffer's name in the > frame title, but as soon as I call `set-frame-configuration', my frame title > no longer updates when I switch buffer. Thanks for reporting this. > 2. I display the current buffer's name in the frame title by running (setq > frame-title-format "%b") in the scratch > > 3. I save the frame configuration by executing (setq my-frameconfig > (current-frame-configuration)) in the scratch buffer > > 4. If I switch buffers, the title frame updates fine > > 5. I restore the frame config by calling (set-frame-configuration > my-frameconfig) > > Problem > ------- > > After calling `set-frame-configuration' (step 5), the title frame is frozen, > it no longer updates when I switch buffer. It's not necessary to explicitly set `frame-title-format' to produce a bug here. Doing `set-frame-configuration' with multiple frames, any frames that get their name assigned explicitly from the saved configuration parameters won't get their titles updated. Could you try the patch below (against EMACS_22_BASE)? -------------------------------------------------------- *** frame.c.~1.340.2.1.~ Wed Jul 25 07:15:52 2007 --- frame.c Fri Aug 31 13:23:02 2007 *************** *** 99,105 **** Lisp_Object Qouter_window_id; #endif Lisp_Object Qparent_id; ! Lisp_Object Qtitle, Qname; Lisp_Object Qunsplittable; Lisp_Object Qmenu_bar_lines, Qtool_bar_lines; Lisp_Object Qleft_fringe, Qright_fringe; --- 99,105 ---- Lisp_Object Qouter_window_id; #endif Lisp_Object Qparent_id; ! Lisp_Object Qtitle, Qname, Qexplicit_name; Lisp_Object Qunsplittable; Lisp_Object Qmenu_bar_lines, Qtool_bar_lines; Lisp_Object Qleft_fringe, Qright_fringe; *************** *** 2143,2148 **** --- 2143,2149 ---- :"tty")); } store_in_alist (&alist, Qname, f->name); + store_in_alist (&alist, Qexplicit_name, (f->explicit_name ? Qt : Qnil)); height = (f->new_text_lines ? f->new_text_lines : FRAME_LINES (f)); store_in_alist (&alist, Qheight, make_number (height)); width = (f->new_text_cols ? f->new_text_cols : FRAME_COLS (f)); *************** *** 2580,2585 **** --- 2581,2587 ---- {"right-fringe", &Qright_fringe}, {"wait-for-wm", &Qwait_for_wm}, {"fullscreen", &Qfullscreen}, + {"explicit-name", &Qexplicit_name}, }; #ifdef HAVE_WINDOW_SYSTEM -------------------------------------------------------- *** frame.el.~1.243.2.2.~ Wed Aug 8 23:12:04 2007 --- frame.el Fri Aug 31 13:26:24 2007 *************** *** 818,825 **** ;; Since we can't set a frame's minibuffer status, ;; we might as well omit the parameter altogether. (let* ((parms (nth 1 parameters)) ! (mini (assq 'minibuffer parms))) ! (if mini (setq parms (delq mini parms))) parms)) (set-window-configuration (nth 2 parameters))) (setq frames-to-delete (cons frame frames-to-delete)))))) --- 818,829 ---- ;; Since we can't set a frame's minibuffer status, ;; we might as well omit the parameter altogether. (let* ((parms (nth 1 parameters)) ! (mini (assq 'minibuffer parms)) ! (name (assq 'name parms)) ! (explicit-name (cdr (assq 'explicit-name parms)))) ! (when mini (setq parms (delq mini parms))) ! (when (and name (not explicit-name)) ! (setq parms (delq name parms))) parms)) (set-window-configuration (nth 2 parameters))) (setq frames-to-delete (cons frame frames-to-delete))))))