* lisp/progmodes/prog-mode.el: Fix bug#14595.
(prog--prettify-font-lock-compose-symbol): Save relevant match data before calling `syntax-ppss'.
This commit is contained in:
parent
02f473a475
commit
f3d674dfd1
2 changed files with 10 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
2013-06-16 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* progmodes/prog-mode.el (prog--prettify-font-lock-compose-symbol):
|
||||
Save relevant match data before calling `syntax-ppss' (bug#14595).
|
||||
|
||||
2013-06-15 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* files-x.el (modify-file-local-variable-prop-line): Add local
|
||||
|
|
|
@ -74,15 +74,17 @@ Regexp match data 0 points to the chars."
|
|||
(let* ((start (match-beginning 0))
|
||||
(end (match-end 0))
|
||||
(syntaxes (if (eq (char-syntax (char-after start)) ?w)
|
||||
'(?w) '(?. ?\\))))
|
||||
'(?w) '(?. ?\\)))
|
||||
match)
|
||||
(if (or (memq (char-syntax (or (char-before start) ?\ )) syntaxes)
|
||||
(memq (char-syntax (or (char-after end) ?\ )) syntaxes)
|
||||
(nth 8 (syntax-ppss)))
|
||||
;; syntax-ppss could modify the match data (bug#14595)
|
||||
(progn (setq match (match-string 0)) (nth 8 (syntax-ppss))))
|
||||
;; No composition for you. Let's actually remove any composition
|
||||
;; we may have added earlier and which is now incorrect.
|
||||
(remove-text-properties start end '(composition))
|
||||
;; That's a symbol alright, so add the composition.
|
||||
(compose-region start end (cdr (assoc (match-string 0) alist)))))
|
||||
(compose-region start end (cdr (assoc match alist)))))
|
||||
;; Return nil because we're not adding any face property.
|
||||
nil)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue