GNU bug report logs -
#20434
24.3.91.1; set-display-table-slot produces error only when byte-compiled
Previous Next
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
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.