Eli Zaretskii writes: >> > it be very common to deconstruct such ligatures, like → into ->? >> > >> > No, I don't think so. Why would this be common? >> >> I thought it would be the default. Emacs shows →, and you can put the >> point either before (|→), in the middle (-|>), or after (→|). > > Doesn't sound as a useful default to me. It could be an optional > feature, though. To me it sounds like a good default. >> Here's a fairly common case: when writing html or XML, you may type >> <, then >, then press C-b and type the tag name; or you may use < and >> a paredit-like setup that inserts the > automatically. If the font >> has a ligature for <> and you can't put the point in the middle, this >> breaks. Same for || — the notation |x| { … } is used for lambdas in >> some languages; if you type || then try to move the point back inside >> the composed || glyph it won't work. > > Sounds like a bug or misfeature that needs a solution, not necessarily > the one that's been proposed here. For example, how about a special > insert command that would disable ligation with the character it > inserts? I use the attached self-written ligature.el (Eli, you've helped me with that some months back). That's all nice but sometimes I too have the problem that I want to edit the name of a "private" function/variable foo--do-stuff and cannot move point inside the double-dash because it is composed as one char. As a little cure, I disable ligatures in the minibuffer where I absolutely need to do completion stuff like foo--bar. Another case is where when inserting < automatically inserts > immediately giving a <> diamond where I cannot move into. A special insert command will not help here because it is already inserted. Bye, Tassilo