* bug#13744: glyphless-char-display-control doesn't work with acronym
@ 2013-02-18 16:07 Per Starbäck
2013-03-11 17:45 ` Stefan Monnier
0 siblings, 1 reply; 2+ messages in thread
From: Per Starbäck @ 2013-02-18 16:07 UTC (permalink / raw)
To: 13744
In GNU Emacs 24.2.93.1 (i686-pc-linux-gnu, GTK+ Version 2.18.9),
but it's not new in the pretests. (I think this bug has been present all
the time since this feature was introduced in 24.1.)
$ LANG=C src/emacs -Q
M-x customize-option RET glyphless-char-display-control RET
Activate c0-control and choose "Display acronym";
"Set for current session"
Switch to some buffer and C-q RET
It displays as "^M" but I expected a [CR] box.
(Settings other than acronym work as intended.)
=== THE REASON ===
The code puts 'acronym in glyphless-char-display, but there should
instead be the actual string to use.
=== FIX ===
$ diff -cp lisp/international/characters.el lisp/international/characters-fixed.el
*** lisp/international/characters.el 2013-01-01 21:37:17.000000000 +0100
--- lisp/international/characters-fixed.el 2013-02-18 16:11:10.064000575 +0100
*************** This function updates the char-table `gl
*** 1410,1425 ****
(or (memq method '(zero-width thin-space empty-box acronym hex-code))
(error "Invalid glyphless character display method: %s" method))
(cond ((eq target 'c0-control)
! (set-char-table-range glyphless-char-display '(#x00 . #x1F)
! method)
;; Users will not expect their newlines and TABs be
;; displayed as anything but themselves, so exempt those
;; two characters from c0-control.
(set-char-table-range glyphless-char-display #x9 nil)
(set-char-table-range glyphless-char-display #xa nil))
((eq target 'c1-control)
! (set-char-table-range glyphless-char-display '(#x80 . #x9F)
! method))
((eq target 'format-control)
(map-char-table
#'(lambda (char category)
--- 1410,1425 ----
(or (memq method '(zero-width thin-space empty-box acronym hex-code))
(error "Invalid glyphless character display method: %s" method))
(cond ((eq target 'c0-control)
! (glyphless-set-char-table-range glyphless-char-display
! #x00 #x1F method)
;; Users will not expect their newlines and TABs be
;; displayed as anything but themselves, so exempt those
;; two characters from c0-control.
(set-char-table-range glyphless-char-display #x9 nil)
(set-char-table-range glyphless-char-display #xa nil))
((eq target 'c1-control)
! (glyphless-set-char-table-range glyphless-char-display
! #x80 #x9F method))
((eq target 'format-control)
(map-char-table
#'(lambda (char category)
*************** This function updates the char-table `gl
*** 1443,1448 ****
--- 1443,1456 ----
(t
(error "Invalid glyphless character group: %s" target))))))
+ (defun glyphless-set-char-table-range (chartable from to method)
+ (if (eq method 'acronym)
+ (let ((i from))
+ (while (<= i to)
+ (set-char-table-range chartable i (aref char-acronym-table i))
+ (setq i (1+ i))))
+ (set-char-table-range chartable (cons from to) method)))
+
;;; Control of displaying glyphless characters.
(defcustom glyphless-char-display-control
'((format-control . thin-space)
======================================================================
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#13744: glyphless-char-display-control doesn't work with acronym
2013-02-18 16:07 bug#13744: glyphless-char-display-control doesn't work with acronym Per Starbäck
@ 2013-03-11 17:45 ` Stefan Monnier
0 siblings, 0 replies; 2+ messages in thread
From: Stefan Monnier @ 2013-03-11 17:45 UTC (permalink / raw)
To: Per Starbäck; +Cc: 13744-done
> The code puts 'acronym in glyphless-char-display, but there should
> instead be the actual string to use.
Thanks, installed,
Stefan
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-03-11 17:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-18 16:07 bug#13744: glyphless-char-display-control doesn't work with acronym Per Starbäck
2013-03-11 17:45 ` Stefan Monnier
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.