(defun python-shell-multiline--apply-font-lock (limit)
(if-let ((process (get-buffer-process (current-buffer)))
(pmark (process-mark)))
(if (> limit pmark)
(let ((font-lock-keywords python-shell-multiline-font-lock-keywords)
(font-lock-syntactic-face-function
#'python-font-lock-syntactic-face-function)
(start (max pmark (point))))
(with-syntax-table python-mode-syntax-table
(font-lock-flush start limit)
(font-lock-ensure start limit))))))
(setq-local font-lock-keywords '(python-shell-multiline--apply-font-lock)
font-lock-keywords-only nil
syntax-propertize-function python-syntax-propertize-function)
(setq python-shell-multiline-font-lock-keywords
(symbol-value
(font-lock-choose-keywords python-font-lock-keywords
(font-lock-value-in-major-mode
font-lock-maximum-decoration))))