코드 하이라이팅이 이스케이프된 따옴표(단일 및 이중)를 무시하는 것 같습니다. 즉, 코드 섹션 내 문자열에 이스케이프된 따옴표가 포함된 경우, 해당 문자열의 일부가 일반 코드처럼 하이라이팅됩니다. 이 포럼에서는 코드 하이라이팅이 비활성화된 것으로 보이므로, 처음 이 문제를 발견한 특정 포럼 게시물 링크를 첨부합니다.
bash, cs, cpp, xml, ini, json, makefile, markdown, python, c, c-like에 대해 코드 하이라이팅이 활성화되어 있습니다. 기본값은 cpp로 설정되어 있습니다. 이러한 언어 하이라이팅 설정을 기본값으로 되돌려도 문제가 해결되지 않습니다.
안전 모드에서도 문제가 발생합니다.
단일 따옴표로 감싸진 문자열에서 단일 따옴표를 이스케이프할 때도 문제가 발생합니다(이중 따옴표 문자열에서 단일 따옴표를 이스케이프하거나 그 반대의 경우로는 정상 작동합니다).
사실, cpp를 명시적으로 설정하면 하이라이팅이 정상적으로 작동합니다. 그러나 이 문제를 좀 더 자세히 살펴보다가 또 다른… 예상치 못한 동작을 발견했습니다. 하이라이트 대상 언어 목록에서 cpp를 제외한 모든 언어를 제거하고, 기본 언어를 다시 auto로 되돌렸습니다. 그럼에도 불구하고 하이라이팅이 여전히 잘못되었습니다. Firefox의 인스펙터를 열었더니 코드가 vbnet으로 인식되는 것 같습니다. vbnet은 하이라이트 대상 언어 목록(기본 언어든, 이 문제를 위해 시도해 본 사용자 지정 언어든)에 한 번도 포함된 적 없는 언어인데, 이런 일이 일어나는 것이 정상인가요?
브라우저를 다시 시작한다고 해결되지 않습니다. Discourse에서 게시글은 서버에서 한 번만 구워지(markdown에서 HTML로 변환)며, 생성된 HTML은 데이터베이스에 캐시됩니다. 이렇게 구워진 게시글을 업데이트하려면 다시 ‘구워야(rebake)’ 합니다. 이는 스태프 사용자가 게시글의 렌치 메뉴를 통해, 또는 게시글 작성자가 해당 게시글의 내용을 편집함으로써 수행할 수 있습니다.
감사합니다. 다만 재번역(Rebaking)해도 편집 미리보기와 동일한 동작을 합니다. auto는 하이라이트 대상 언어 목록에 없는 언어(vbnet)를 선택하고 있습니다. 이전에 보고드린 대로 기본 언어를 명시적으로 cpp로 설정하면(포럼 설정에서든, 여기에서 보여주신 방식이든) 정상적으로 작동합니다.
그래서 질문이 남습니다: auto는 목록에 없는 다른 언어도 사용하도록 의도된 건가요?