# 다중 선택 영역에 하드 브레이크가 없는 경우 인라인 "정형 텍스트" 서식 사용

**URL:** https://meta.discourse.org/t/inline-preformatted-text-formatting-used-when-multi-line-selection-doesnt-contain-hard-break/387049
**Category:** Bug
**Tags:** composer
**Created:** [10월 29, 2025, 12:01오후 UTC](https://meta.discourse.org/t/inline-preformatted-text-formatting-used-when-multi-line-selection-doesnt-contain-hard-break/387049 "2025-10-29T12:01:29Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![per1234](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/per1234/32/569645_2.png) [@per1234](https://meta.discourse.org/u/per1234)
#### Post date: [10월 29, 2025, 12:01오후 UTC](https://meta.discourse.org/t/inline-preformatted-text-formatting-used-when-multi-line-selection-doesnt-contain-hard-break/387049/1 "2025-10-29T12:01:29Z")

</div>

### 우선순위/심각도:

중간

### 플랫폼

#### 운영 체제

Windows 11

#### 브라우저

Google Chrome 141.0.7390.123

#### Discourse

`ad36231adab58a8a249bfe8139aade2bde2134d3`

### 설명:

“정형 텍스트(preformatted text)” 서식에는 두 가지 스타일이 있습니다:

- 인라인(inline): 산문 패스지 내의 비산문(non-prose) 콘텐츠(예: “`foo` 함수를 호출하세요”) 또는 단일 짧은 비산문 콘텐츠 줄에 사용됩니다.
- 블록(block): 여러 줄의 비산문 콘텐츠에 사용됩니다.

사용자는 작성기(composer)에서 서식을 적용할 때 다음 두 가지 접근 방식 중 하나를 취할 수 있습니다:

- 능동적(proactive): 서식화할 콘텐츠를 추가하기 전에 서식 모드를 전환합니다.
- 사후적(retroactive): 콘텐츠를 서식 없는 형태로 추가한 후, 해당 내용을 선택하고 선택된 부분에 서식을 적용합니다.

🐛 다음 조건에서 여러 줄의 선택 영역에 “정형 텍스트” 서식을 적용할 때 부적절한 “인라인” 스타일이 사용됩니다:

- 작성기가 “리치 텍스트 에디터” 모드인 경우
- 서식이 사후적으로 적용되는 경우
- 선택된 콘텐츠에 하드 라인 브레이크(강제 줄바꿈)가 없는 경우

이로 인해 게시글이 읽기 어렵고, 비산문 콘텐츠를 복사하기가 어려워집니다(공유된 코드의 일반적인 요구 사항).

### 재현 단계:

1. 작성기를 엽니다.
2. 에디터 모드 스위치를 “리치 텍스트 에디터” 위치로 설정합니다.
3. 작성기에 `foo`를 입력합니다.
4. **Shift** + **Enter** 키보드 단축키를 눌러 "소프트 브레이크(soft break)"를 추가합니다.
5. 작성기에 `bar`를 입력합니다.  
❗ 줄바꿈을 추가하지 마세요.
6. **Ctrl** + **Shift** + **Home** 키보드 단축키를 눌러 2번째 줄의 끝부터 게시글의 시작까지의 모든 콘텐츠를 선택합니다.
7. 작성기 도구 모음의 **\</\>** 버튼을 클릭합니다.

🐛 선택된 각 줄이 인라인 스타일로 개별적으로 서식화되었습니다:

`foo`  
`bar`

올바른 동작은 콘텐츠를 단일 코드 블록에 넣는 것이어야 합니다:

```plaintext
foo
bar

```

### 추가 정보

데모를 위해 콘텐츠를 수동으로 입력하는 방식을 선택했습니다. 이는 복사된 출처에 따라 복사된 콘텐츠에 이미 존재할 수 있는 서식을 고려해야 하는 불필요한 복잡성을 피하기 위함입니다. 그러나 이 결함은 붙여넣은 콘텐츠에서도 발생하며, 하드 브레이크가 없는 콘텐츠 조건은 이러한 콘텐츠에서 더 자주 발생할 가능성이 높습니다(사용자가 실제로 하드 브레이크를 원하지 않았더라도 입력 중에 **Enter** 를 누를 가능성이 높기 때문).

* * *

“모두 선택”/ **Ctrl** + **A** 를 사용하여 콘텐츠를 선택하는 경우 이 결함은 발생하지 않습니다.

* * *

마크다운 에디터는 “정형 텍스트” 서식이 여러 줄의 선택 영역에 사후적으로 적용될 때 항상 선택된 콘텐츠를 코드 블록에 배치하는 올바른 동작을 가지고 있습니다.

* * *

저는 [try.discourse.org](http://try.discourse.org)의 "[안전 모드](https://meta.discourse.org/t/how-to-use-discourse-safe-mode/53504)"에서 이 결함을 재현할 수 있습니다.

* * *

원본 보고: [Why did the Forum functions change? - #37 by sterretje - Website and Forum - Arduino Forum](https://forum.arduino.cc/t/why-did-the-forum-functions-change/1400777/37)

---

<div class="post-metadata">

### Author: ![NateDhaliwal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/natedhaliwal/32/313494_2.png) [@NateDhaliwal](https://meta.discourse.org/u/NateDhaliwal)
#### Post date: [10월 29, 2025, 12:50오후 UTC](https://meta.discourse.org/t/inline-preformatted-text-formatting-used-when-multi-line-selection-doesnt-contain-hard-break/387049/2 "2025-10-29T12:50:36Z")

</div>

수동으로 선택할 때도 그런 현상이 발생하지 않는 것 같습니다.

---

<div class="post-metadata">

### Author: ![per1234](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/per1234/32/569645_2.png) [@per1234](https://meta.discourse.org/u/per1234)
#### Post date: [10월 29, 2025, 1:46오후 UTC](https://meta.discourse.org/t/inline-preformatted-text-formatting-used-when-multi-line-selection-doesnt-contain-hard-break/387049/3 "2025-10-29T13:46:58Z")

</div>

Hi @NateDhaliwal. "수동 선택"이라는 표현은 무엇을 의미하시나요?

마우스로 드래그하여 선택하는 것을 말씀하시는 건가요? 그렇다면 해당 선택 방식에서도 여전히 오류가 발생합니다:

![manual-select](https://global.discourse-cdn.com/meta/original/4X/2/5/b/25bb544ae357665bcb3f90281189c22980aec28a.gif)

아니면 **Shift** 키와 화살표 키를 조합해 선택하는 것을 말씀하시는 건가요? 그렇다면 해당 선택 방식에서도 여전히 오류가 발생합니다:

![manual-select2](https://global.discourse-cdn.com/meta/original/4X/0/e/2/0e2d0696acdee911724da562b7e189856a2fcf33.gif)

---

<div class="post-metadata">

### Author: ![renato](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/renato/32/383632_2.png) [@renato](https://meta.discourse.org/u/renato)
#### Post date: [10월 29, 2025, 2:35오후 UTC](https://meta.discourse.org/t/inline-preformatted-text-formatting-used-when-multi-line-selection-doesnt-contain-hard-break/387049/4 "2025-10-29T14:35:07Z")

</div>

> [@per1234](#):
>
> 올바른 동작은 콘텐츠를 단일 코드 블록에 넣는 것이었습니다:
> 
> ```plaintext
> foo
> bar
> 
> ```

이 부분은 확실하지 않습니다. 이는 의도된 예외였습니다. 이 경우에도 줄바꿈이 있는 단일 단락이므로, 이 상황에서 인라인 코드 마커를 추가할 수 있어야 하기 때문입니다.

이 동작을 변경하는 것도 고려해 볼 수 있지만, 실제로는 버그가 아닙니다. /cc @lindsey

> [@per1234](#):
>
> 마크다운 편집기는 여러 줄의 선택된 내용에 “정형 텍스트” 서식을 사후 적용할 때, 선택된 내용을 항상 코드 블록에 배치하는 올바른 동작을 수행합니다.

네, 죄송합니다. 이 점을 놓치고 있었습니다. 실제로 두 동작을 일관되게 유지하는 것이 합리적이라고 생각합니다.

---

<div class="post-metadata">

### Author: ![lindsey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lindsey/32/318210_2.png) [@lindsey](https://meta.discourse.org/u/lindsey)
#### Post date: [10월 29, 2025, 4:48오후 UTC](https://meta.discourse.org/t/inline-preformatted-text-formatting-used-when-multi-line-selection-doesnt-contain-hard-break/387049/5 "2025-10-29T16:48:27Z")

</div>

네, 리치 텍스트 모드와 마크다운 모드에서 일관성을 유지하는 것이 맞는 것 같습니다.
