Function: web-mode-invalidate-block-region

web-mode-invalidate-block-region is a natively compiled function defined in web-mode.el.

Signature

(web-mode-invalidate-block-region POS-BEG POS-END)

Source Code

;; Defined in /nix/store/2qgnz1rp30nzfz6w0apx4kdm14if1bbs-emacs-packages-deps/share/emacs/site-lisp/elpa/web-mode-20260831.219/web-mode.el
;; NOTE: il est important d'identifier des caractères en fin de ligne
;; web-mode-block-tokenize travaille en effet sur les fins de lignes pour
;; les commentaires de type //
(defun web-mode-invalidate-block-region (pos-beg pos-end)
  ;;  (message "pos-beg(%S) pos-end(%S)" pos-beg pos-end)
  (save-excursion
    (let (beg end code-beg code-end)
      ;;(message "invalidate-block-region: pos-beg(%S)=%S" pos-beg (get-text-property pos 'block-side))
      ;;(message "code-beg(%S) code-end(%S) pos-beg(%S) pos-end(%S)" code-beg code-end pos-beg pos-end)
      (cond
        ((not (and (setq code-beg (web-mode-block-code-beginning-position pos-beg))
                   (setq code-end (web-mode-block-code-end-position pos-beg))
                   (>= pos-beg code-beg)
                   (<= pos-end code-end)
                   (> code-end code-beg)))
         (web-mode-invalidate-region pos-beg pos-end))
        ((member web-mode-engine '("asp"))
         (goto-char pos-beg)
         (forward-line -1)
         (setq beg (line-beginning-position))
         (when (> code-beg beg)
           (setq beg code-beg))
         (goto-char pos-beg)
         (forward-line)
         (setq end (line-end-position))
         (when (< code-end end)
           (setq end code-end))
         ;; ?? pas de (web-mode-block-tokenize beg end) ?
         (web-mode-block-tokenize beg end)
         (cons beg end)
         ) ;asp
        (t
         (goto-char pos-beg)
         ;;(message "pos-beg=%S" pos-beg)
         (when (string= web-mode-engine "php")
           (cond
             ((and (looking-back "\*" (point-min))
                   (looking-at-p "/"))
              (search-backward "/*" code-beg))
             ) ;cond
           ) ;when
         (if (web-mode-block-rsb "[;{}(][ ]*\n" code-beg)
             (setq beg (match-end 0))
             (setq beg code-beg))
         (goto-char pos-end)
         (if (web-mode-block-rsf "[;{})][ ]*\n" code-end)
             (setq end (1- (match-end 0)))
             (setq end code-end))
         (web-mode-block-tokenize beg end)
         ;;(message "beg(%S) end(%S)" beg end)
         (cons beg end)
         )
        ) ;cond
      )))