all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* 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.