330 |
nil nil state 'syntax-table))) |
nil nil state 'syntax-table))) |
331 |
;; The open/close chars are matched like () [] {} and <>. |
;; The open/close chars are matched like () [] {} and <>. |
332 |
(let ((parse-sexp-lookup-properties nil)) |
(let ((parse-sexp-lookup-properties nil)) |
333 |
(ignore-errors |
(condition-case err |
334 |
(with-syntax-table st |
(progn |
335 |
(goto-char (nth 8 state)) (forward-sexp 1)) |
(with-syntax-table st |
336 |
(when twoargs |
(goto-char (nth 8 state)) (forward-sexp 1)) |
337 |
(save-excursion |
(when twoargs |
338 |
;; Skip whitespace and make sure that font-lock will |
(save-excursion |
339 |
;; refontify the second part in the proper context. |
;; Skip whitespace and make sure that font-lock will |
340 |
(put-text-property |
;; refontify the second part in the proper context. |
341 |
(point) (progn (forward-comment (point-max)) (point)) |
(put-text-property |
342 |
'font-lock-multiline t) |
(point) (progn (forward-comment (point-max)) (point)) |
343 |
;; |
'font-lock-multiline t) |
344 |
(unless |
;; |
345 |
(save-excursion |
(unless |
346 |
(let* ((char2 (char-after)) |
(save-excursion |
347 |
(st2 (perl-quote-syntax-table char2))) |
(with-syntax-table |
348 |
(with-syntax-table st2 (forward-sexp 1)) |
(perl-quote-syntax-table (char-after)) |
349 |
(put-text-property pos (line-end-position) |
(forward-sexp 1)) |
350 |
'jit-lock-defer-multiline t) |
(put-text-property pos (line-end-position) |
351 |
(looking-at "\\s-*\\sw*e"))) |
'jit-lock-defer-multiline t) |
352 |
(put-text-property (point) (1+ (point)) |
(looking-at "\\s-*\\sw*e")) |
353 |
'syntax-table |
(put-text-property (point) (1+ (point)) |
354 |
(if (assoc (char-after) |
'syntax-table |
355 |
perl-quote-like-pairs) |
(if (assoc (char-after) |
356 |
'(15) '(7))))))))) |
perl-quote-like-pairs) |
357 |
|
'(15) '(7))))))) |
358 |
|
;; The arg(s) is not terminated, so it extends until EOB. |
359 |
|
(scan-error (goto-char (point-max)))))) |
360 |
|
;; Point is now right after the arg(s). |
361 |
;; Erase any syntactic marks within the quoted text. |
;; Erase any syntactic marks within the quoted text. |
362 |
(put-text-property pos (1- (point)) 'syntax-table nil) |
(put-text-property pos (1- (point)) 'syntax-table nil) |
363 |
(when (eq (char-before (1- (point))) ?$) |
(when (eq (char-before (1- (point))) ?$) |