GNU bug report logs - #20434
24.3.91.1; set-display-table-slot produces error only when byte-compiled

Previous Next

Package: emacs;

Reported by: Stefan Guath <stefan <at> automata.se>

Date: Sun, 26 Apr 2015 17:30:05 UTC

Severity: normal

Tags: notabug

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Stefan Guath <stefan <at> automata.se>
To: 20434 <at> debbugs.gnu.org
Subject: bug#20434: 24.3.91.1; set-display-table-slot produces error only when byte-compiled
Date: Sun, 26 Apr 2015 19:29:34 +0200
VERSION:
GNU Emacs 24.5.1 (x86_64-apple-darwin13.4.0, NS apple-appkit-1265.21) of 2015-04-10 on builder10-9.porkrind.org

TO REPRODUCE BUG:
1) Create file "bug.el" with the following single expression:
    (set-display-table-slot standard-display-table 'vertical-border (make-glyph-code ?\s 'vertical-border))
2) Byte compile this "bug.el" file (i.e. create the file "bug.elc").
3) Start Emacs with emacs -Q
4) M-x load-file bug.elc
5) This will produce the error "Wrong type argument: char-table-p, nil". The uncompiled "bug.el" version works fine though.

DETAILS
The purpose of the expression is to set the space character as the vertical window separator, in order to achieve a cleaner visual design.

STRANGE WORK-AROUND
A strange work-around is to repeat the third arg to set-display-table-slot as a dummy expression before the real expression, i.e. if the complete "bug.el" looks like:

    (make-glyph-code ?\s 'vertical-border) ;Dummy repeat that somehow prevents bug...
    (set-display-table-slot standard-display-table 'vertical-border (make-glyph-code ?\s 'vertical-border)) ;Now this suddenly works!

Then it works in the byte-compiled version.



This bug report was last modified 10 years and 111 days ago.

Previous Next


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