Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Contrary to phils, I expect that your modified-p flag is not set by <code>set-buffer-modified-p</code> but rather by actual changes to the buffer. The reason this is possible is that text-properties are treated by Emacs as belonging to the content of the buffer, so changing them sets the modified-p flag, even tho in many cases the result is invisible and even if it is visible it is generally not perceived by the user as a <em>modification</em> (which users generally understand as something like "affects the file when I save the buffer").</p> <p>So, most of the code that sets text-properties needs to be careful to reset the modified-p flag afterwards. The best way to do that is usually by wrapping the code that sets the properties inside a <code>with-silent-modification</code>.</p> <p>One way try to track down the culprit is by trying to undo the modification (e.g. with <code>C-/</code>), but of course, if the modification is not visible, undoing it won't be visible either. So instead you may want to look at <code>C-h v buffer-undo-list RET</code> which is the internal data used to keep track of the modifications. With luck, not only was the modified-p set but the undo-list as well, and that list will tell you what was changed. For example, that list could look like <code>(nil (nil face nil 12345708 . 12345713))</code> which means that the change was to set the <code>face</code> property to a new value between positions 12345708 and 12345713 and that the old value of that property was <code>nil</code> (that's the 3rd <code>nil</code> in the above). Sometimes looking at the affected positions with <code>M-: (goto-char 12345708) RET</code> is sufficient to figure out who's to blame. Othertimes looking at <code>M-: (get-text-property 12345708 'face) RET</code>, which gives you the new value that was set, is more useful.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload