]> git.eshelyaron.com Git - emacs.git/commitdiff
Support default-text-properties
authorEli Zaretskii <eliz@gnu.org>
Tue, 27 Jun 2017 16:46:50 +0000 (19:46 +0300)
committerEli Zaretskii <eliz@gnu.org>
Tue, 27 Jun 2017 16:46:50 +0000 (19:46 +0300)
* src/xdisp.c (should_produce_line_number): Call get-char-property
at ZV as well, to support default-text-properties.

src/xdisp.c

index 67266fdf315646b50102b0b8955166bb244af569..ef2e2646b2ca315491e356e696bbe902fc3f43b6 100644 (file)
@@ -21000,15 +21000,17 @@ should_produce_line_number (struct it *it)
 #endif
 
   /* If the character at current position has a non-nil special
-     property, disable line numbers for this row.  For ZV, we need to
-     use a special algorithm that only supports empty overlays at that
-     point, because get-char-property always returns nil for ZV.  */
-  Lisp_Object val;
-  if (IT_CHARPOS (*it) >= ZV)
+     property, disable line numbers for this row.  This is for
+     packages such as company-mode, which need this for their tricky
+     layout, where line numbers get in the way.  */
+  Lisp_Object val = Fget_char_property (make_number (IT_CHARPOS (*it)),
+                                       Qdisplay_line_numbers_disable,
+                                       it->window);
+  /* For ZV, we need to also look in empty overlays at that point,
+     because get-char-property always returns nil for ZV, except if
+     the property is in 'default-text-properties'.  */
+  if (NILP (val) && IT_CHARPOS (*it) >= ZV)
     val = disable_line_numbers_overlay_at_eob ();
-  else
-    val = Fget_char_property (make_number (IT_CHARPOS (*it)),
-                             Qdisplay_line_numbers_disable, it->window);
   return NILP (val) ? true : false;
 }