GNU bug report logs - #22072
Error in display-startup-screen if create-image fails

Previous Next

Package: emacs;

Reported by: Richard Copley <rcopley <at> gmail.com>

Date: Wed, 2 Dec 2015 01:55:02 UTC

Severity: normal

Tags: fixed

Fixed in version 27.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 22072 in the body.
You can then email your comments to 22072 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#22072; Package emacs. (Wed, 02 Dec 2015 01:55:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Richard Copley <rcopley <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 02 Dec 2015 01:55:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Richard Copley <rcopley <at> gmail.com>
To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org>
Subject: Error in display-startup-screen if create-image fails
Date: Wed, 2 Dec 2015 01:53:38 +0000
There's a mistake in the function "use-fancy-splash-screens-p" in
startup.el. It can set the local variable "image-height" to nil (if
creating an image from the fancy-splash-image-file fails), but later
it uses the value of "image-height" in an arithmetic expression, and
gives the error "Wrong type argument: number-or-marker-p, nil".

(The reason create-image has suddenly started failing for me is a
difference in my build environment. I'm trying out a build using only
stuff available from the MSYS2 package manager. I haven't noticed
any other problems so far. The create-image problem goes away if
I configure --without-imagemagick.)

In GNU Emacs 25.1.50.1 (x86_64-w64-mingw32)
 of 2015-12-02
Repository revision: 098738ff1a193ff6e6af71071461f75635d1b790
Windowing system distributor 'Microsoft Corp.', version 10.0.10586
Configured using:
 'configure --prefix /c/emacs/emacs-20151201-205551
 --disable-dependency-tracking
 --enable-locallisppath=%emacs_dir%/../site-lisp 'CFLAGS=-Og -g -ggdb''

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS NOTIFY ACL GNUTLS
LIBXML2 ZLIB TOOLKIT_SCROLL_BARS

Important settings:
  value of $LANG: ENG
  locale-coding-system: cp1252

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
display-startup-screen: Wrong type argument: number-or-marker-p, nil

Features:
(shadow sort gnus-util mail-extr emacsbug message dired 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 help-fns help-mode easymenu cl-loaddefs pcase cl-lib mail-prsvr
mail-utils advice time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table
w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote w32notify dbusbind w32 multi-tty
make-network-process emacs)

Memory information:
((conses 16 84676 9280)
 (symbols 56 19141 0)
 (miscs 48 36 128)
 (strings 32 14569 3411)
 (string-bytes 1 399450)
 (vectors 16 11586)
 (vector-slots 8 411206 1940)
 (floats 8 141 49)
 (intervals 56 243 0)
 (buffers 976 11))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#22072; Package emacs. (Wed, 02 Dec 2015 12:38:01 GMT) Full text and rfc822 format available.

Message #8 received at 22072 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Leake <stephen_leake <at> stephe-leake.org>
To: Richard Copley <rcopley <at> gmail.com>
Cc: 22072 <at> debbugs.gnu.org
Subject: Re: bug#22072: Error in display-startup-screen if create-image fails
Date: Wed, 02 Dec 2015 06:36:48 -0600
Richard Copley <rcopley <at> gmail.com> writes:

Can you test this patch:

diff --git a/lisp/startup.el b/lisp/startup.el
index 1346310..a281f86 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1874,13 +1874,13 @@ we put it on this frame."
                  (image-type-available-p 'pbm)))
     (let ((frame (fancy-splash-frame)))
       (when frame
-	(let* ((img (create-image (fancy-splash-image-file)))
-	       (image-height (and img (cdr (image-size img nil frame))))
-	       ;; We test frame-height so that, if the frame is split
-	       ;; by displaying a warning, that doesn't cause the normal
-	       ;; splash screen to be used.
-	       (frame-height (1- (frame-height frame))))
-	  (> frame-height (+ image-height 19)))))))
+	(let ((img (create-image (fancy-splash-image-file))))
+              (image-height (and img (cdr (image-size img nil frame))))
+              ;; We test frame-height so that, if the frame is split
+              ;; by displaying a warning, that doesn't cause the normal
+              ;; splash screen to be used.
+              (frame-height (and img (1- (frame-height frame)))))
+	  (and img (> frame-height (+ image-height 19))))))))
 
-- 
-- Stephe




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#22072; Package emacs. (Wed, 02 Dec 2015 20:08:01 GMT) Full text and rfc822 format available.

Message #11 received at 22072 <at> debbugs.gnu.org (full text, mbox):

From: Richard Copley <rcopley <at> gmail.com>
To: Stephen Leake <stephen_leake <at> stephe-leake.org>
Cc: 22072 <at> debbugs.gnu.org
Subject: Re: bug#22072: Error in display-startup-screen if create-image fails
Date: Wed, 2 Dec 2015 20:07:01 +0000
Thanks Stephen. More haste, less speed ... you shouldn't have changed
"let*" to "let" and the parentheses don't match. After fixing those
things, yes, doing as you suggest allows my broken Emacs to start
without the fancy image and without error.

On 2 December 2015 at 12:36, Stephen Leake
<stephen_leake <at> stephe-leake.org> wrote:
> Richard Copley <rcopley <at> gmail.com> writes:
>
> Can you test this patch:
>
> diff --git a/lisp/startup.el b/lisp/startup.el
> index 1346310..a281f86 100644
> --- a/lisp/startup.el
> +++ b/lisp/startup.el
> @@ -1874,13 +1874,13 @@ we put it on this frame."
>                   (image-type-available-p 'pbm)))
>      (let ((frame (fancy-splash-frame)))
>        (when frame
> -       (let* ((img (create-image (fancy-splash-image-file)))
> -              (image-height (and img (cdr (image-size img nil frame))))
> -              ;; We test frame-height so that, if the frame is split
> -              ;; by displaying a warning, that doesn't cause the normal
> -              ;; splash screen to be used.
> -              (frame-height (1- (frame-height frame))))
> -         (> frame-height (+ image-height 19)))))))
> +       (let ((img (create-image (fancy-splash-image-file))))
> +              (image-height (and img (cdr (image-size img nil frame))))
> +              ;; We test frame-height so that, if the frame is split
> +              ;; by displaying a warning, that doesn't cause the normal
> +              ;; splash screen to be used.
> +              (frame-height (and img (1- (frame-height frame)))))
> +         (and img (> frame-height (+ image-height 19))))))))
>
> --
> -- Stephe




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#22072; Package emacs. (Thu, 26 Sep 2019 16:28:01 GMT) Full text and rfc822 format available.

Message #14 received at 22072 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stephen Leake <stephen_leake <at> stephe-leake.org>
Cc: Richard Copley <rcopley <at> gmail.com>, 22072 <at> debbugs.gnu.org
Subject: Re: bug#22072: Error in display-startup-screen if create-image fails
Date: Thu, 26 Sep 2019 18:27:51 +0200
Stephen Leake <stephen_leake <at> stephe-leake.org> writes:

> Richard Copley <rcopley <at> gmail.com> writes:
>
> Can you test this patch:

[...]

> -	(let* ((img (create-image (fancy-splash-image-file)))
> -	       (image-height (and img (cdr (image-size img nil frame))))
> -	       ;; We test frame-height so that, if the frame is split
> -	       ;; by displaying a warning, that doesn't cause the normal
> -	       ;; splash screen to be used.
> -	       (frame-height (1- (frame-height frame))))
> -	  (> frame-height (+ image-height 19)))))))
> +	(let ((img (create-image (fancy-splash-image-file))))
> +              (image-height (and img (cdr (image-size img nil frame))))
> +              ;; We test frame-height so that, if the frame is split
> +              ;; by displaying a warning, that doesn't cause the normal
> +              ;; splash screen to be used.
> +              (frame-height (and img (1- (frame-height frame)))))
> +	  (and img (> frame-height (+ image-height 19))))))))

I've now fixed this on the trunk inspired by this patch, but slightly
differently.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 26 Sep 2019 16:28:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 27.1, send any further explanations to 22072 <at> debbugs.gnu.org and Richard Copley <rcopley <at> gmail.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 26 Sep 2019 16:28:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 25 Oct 2019 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 238 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.