Subject: 24.3.50; Simultaneous use of display and invisible properties
From: Jambunathan K <[email-masked]>
To: [email-masked]
Date: Mon, 03 Jun 2013 10:04:51 +0530
List-Id: <debbugs-submit.debbugs.gnu.org>

I have a piece of text that has both invisible and display property set.
The underlying buffer text is invisible but the display engine displays
the overlay string. i.e., In the example below, I can see {org-defkey}
in my monitor.  The underlying character "1..." etc is hidden.

This bug is merely to check whether the above behaviour is as intended
or a "unknown" side-effect.  I have looked at (info "(elisp) Replacing
Specs").  I am not sure whether the 'invisible property counts as a
display spec.  I think it is worth clarifying the desgin or
implementation detail in the Elisp manual.

Just in case it matters, the 'display property is added right after
(insert ...) operation.  The invisible property is added as part of
font-lock operation.

,---- (text-properties-at (point))
| (invisible t fontified t display
| 	   #("{org-defkey}" 0 12
| 	     (face font-lock-function-name-face)))
`----

,---- (overlays-at (point))
| nil
`----

,---- C-u C-x =
|              position: 122 of 2707 (4%), column: 4
|             character: 1 (displayed as 1) (codepoint 49, #o61, #x31)
|     preferred charset: ascii (ASCII (ISO646 IRV))
| 
| There are text properties here:
|   display              [Show]
|   fontified            t
|   invisible            t
| 
| [back]
`----

 GNU Emacs 24.3.50.2 (i686-pc-linux-gnu, GTK+ Version 2.20.1)
 of 2013-06-03 on debian-6.05
Bzr revision: 112824 [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
Important settings:
  value of $LANG: en_IN
  locale-coding-system: iso-latin-1-unix
  default enable-multibyte-characters: t