mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
* lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
(syntax-ppss): * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
This commit is contained in:
parent
56e1097584
commit
8dafacd041
3 changed files with 9 additions and 2 deletions
2
etc/NEWS
2
etc/NEWS
|
|
@ -73,6 +73,8 @@ different group ID.
|
|||
|
||||
* Lisp Changes in Emacs 25.2
|
||||
|
||||
** New var syntax-ppss-table to control the syntax-table used in syntax-ppss
|
||||
|
||||
** Autoload files can be generated without timestamps,
|
||||
by setting `autoload-timestamps' to nil.
|
||||
|
||||
|
|
|
|||
|
|
@ -416,6 +416,9 @@ point (where the PPSS is equivalent to nil).")
|
|||
(error nil)))
|
||||
syntax-ppss-stats))
|
||||
|
||||
(defvar-local syntax-ppss-table nil
|
||||
"Syntax-table to use during `syntax-ppss', if any.")
|
||||
|
||||
(defun syntax-ppss (&optional pos)
|
||||
"Parse-Partial-Sexp State at POS, defaulting to point.
|
||||
The returned value is the same as that of `parse-partial-sexp'
|
||||
|
|
@ -431,6 +434,7 @@ running the hook."
|
|||
(unless pos (setq pos (point)))
|
||||
(syntax-propertize pos)
|
||||
;;
|
||||
(with-syntax-table (or syntax-ppss-table (syntax-table))
|
||||
(let ((old-ppss (cdr syntax-ppss-last))
|
||||
(old-pos (car syntax-ppss-last))
|
||||
(ppss nil)
|
||||
|
|
@ -567,7 +571,7 @@ running the hook."
|
|||
;; we may end up calling parse-partial-sexp with a position before
|
||||
;; point-min. In that case, just parse from point-min assuming
|
||||
;; a nil state.
|
||||
(parse-partial-sexp (point-min) pos)))))
|
||||
(parse-partial-sexp (point-min) pos))))))
|
||||
|
||||
;; Debugging functions
|
||||
|
||||
|
|
|
|||
|
|
@ -1564,6 +1564,7 @@ START should be at the beginning of a line."
|
|||
"Put proper face on each string and comment between START and END.
|
||||
START should be at the beginning of a line."
|
||||
(syntax-propertize end) ; Apply any needed syntax-table properties.
|
||||
(with-syntax-table (or syntax-ppss-table (syntax-table))
|
||||
(let ((comment-end-regexp
|
||||
(or font-lock-comment-end-skip
|
||||
(regexp-quote
|
||||
|
|
@ -1598,7 +1599,7 @@ START should be at the beginning of a line."
|
|||
font-lock-comment-delimiter-face))))
|
||||
(< (point) end))
|
||||
(setq state (parse-partial-sexp (point) end nil nil state
|
||||
'syntax-table)))))
|
||||
'syntax-table))))))
|
||||
|
||||
;;; End of Syntactic fontification functions.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue