diff --git a/crates/anstyle-svg/src/lib.rs b/crates/anstyle-svg/src/lib.rs index 131608cb..1dae062e 100644 --- a/crates/anstyle-svg/src/lib.rs +++ b/crates/anstyle-svg/src/lib.rs @@ -1,8 +1,8 @@ -//! Convert ANSI escape codes to SVG +//! Convert ANSI escape codes to SVG and HTML //! //! See [`Term`] //! -//! # Example +//! # SVG Example //! //! ``` //! # use anstyle_svg::Term; @@ -11,6 +11,14 @@ //! ``` //! //! ![demo of supported styles](https://raw.githubusercontent.com/rust-cli/anstyle/main/crates/anstyle-svg/tests/rainbow.svg "Example output") +//! +//! # HTML Example +//! +//! ``` +//! # use anstyle_svg::Term; +//! let vte = std::fs::read_to_string("tests/rainbow.vte").unwrap(); +//! let html = Term::new().render_html(&vte); +//! ``` #![cfg_attr(docsrs, feature(doc_auto_cfg))] #![warn(missing_docs)] @@ -92,18 +100,8 @@ impl Term { let mut styled = adapter::AnsiBytes::new(); let mut elements = styled.extract_next(ansi.as_bytes()).collect::>(); - let mut effects_in_use = anstyle::Effects::new(); - for element in &mut elements { - let style = &mut element.style; - // Pre-process INVERT to make fg/bg calculations easier - if style.get_effects().contains(anstyle::Effects::INVERT) { - *style = style - .fg_color(Some(style.get_bg_color().unwrap_or(self.bg_color))) - .bg_color(Some(style.get_fg_color().unwrap_or(self.fg_color))) - .effects(style.get_effects().remove(anstyle::Effects::INVERT)); - } - effects_in_use |= style.get_effects(); - } + preprocess_invert_style(&mut elements, self.bg_color, self.fg_color); + let styled_lines = split_lines(&elements); let fg_color = rgb_value(self.fg_color, self.palette); @@ -152,60 +150,7 @@ impl Term { writeln!(&mut buffer, r#" padding: 0 10px;"#).unwrap(); writeln!(&mut buffer, r#" line-height: {line_height}px;"#).unwrap(); writeln!(&mut buffer, r#" }}"#).unwrap(); - if effects_in_use.contains(anstyle::Effects::BOLD) { - writeln!(&mut buffer, r#" .bold {{ font-weight: bold; }}"#).unwrap(); - } - if effects_in_use.contains(anstyle::Effects::ITALIC) { - writeln!(&mut buffer, r#" .italic {{ font-style: italic; }}"#).unwrap(); - } - if effects_in_use.contains(anstyle::Effects::UNDERLINE) { - writeln!( - &mut buffer, - r#" .underline {{ text-decoration-line: underline; }}"# - ) - .unwrap(); - } - if effects_in_use.contains(anstyle::Effects::DOUBLE_UNDERLINE) { - writeln!( - &mut buffer, - r#" .double-underline {{ text-decoration-line: underline; text-decoration-style: double; }}"# - ) - .unwrap(); - } - if effects_in_use.contains(anstyle::Effects::CURLY_UNDERLINE) { - writeln!( - &mut buffer, - r#" .curly-underline {{ text-decoration-line: underline; text-decoration-style: wavy; }}"# - ) - .unwrap(); - } - if effects_in_use.contains(anstyle::Effects::DOTTED_UNDERLINE) { - writeln!( - &mut buffer, - r#" .dotted-underline {{ text-decoration-line: underline; text-decoration-style: dotted; }}"# - ) - .unwrap(); - } - if effects_in_use.contains(anstyle::Effects::DASHED_UNDERLINE) { - writeln!( - &mut buffer, - r#" .dashed-underline {{ text-decoration-line: underline; text-decoration-style: dashed; }}"# - ) - .unwrap(); - } - if effects_in_use.contains(anstyle::Effects::STRIKETHROUGH) { - writeln!( - &mut buffer, - r#" .strikethrough {{ text-decoration-line: line-through; }}"# - ) - .unwrap(); - } - if effects_in_use.contains(anstyle::Effects::DIMMED) { - writeln!(&mut buffer, r#" .dimmed {{ opacity: 0.7; }}"#).unwrap(); - } - if effects_in_use.contains(anstyle::Effects::HIDDEN) { - writeln!(&mut buffer, r#" .hidden {{ opacity: 0; }}"#).unwrap(); - } + write_effects_in_use(&mut buffer, &elements); writeln!(&mut buffer, r#" tspan {{"#).unwrap(); writeln!(&mut buffer, r#" font: 14px {font_family};"#).unwrap(); writeln!(&mut buffer, r#" white-space: pre;"#).unwrap(); @@ -237,7 +182,7 @@ impl Term { if element.text.is_empty() { continue; } - write_bg_span(&mut buffer, &element.style, &element.text); + write_bg_span(&mut buffer, "tspan", &element.style, &element.text); } // HACK: must close tspan on newline to include them in copy/paste writeln!(&mut buffer).unwrap(); @@ -249,7 +194,7 @@ impl Term { if element.text.is_empty() { continue; } - write_fg_span(&mut buffer, element, &element.text); + write_fg_span(&mut buffer, "tspan", element, &element.text); } // HACK: must close tspan on newline to include them in copy/paste writeln!(&mut buffer).unwrap(); @@ -263,12 +208,183 @@ impl Term { writeln!(&mut buffer, r#""#).unwrap(); buffer } + + /// Render the HTML with the terminal defined + /// + /// **Note:** Lines are not wrapped. This is intentional as this attempts to convey the exact + /// output with escape codes translated to HTML elements. + pub fn render_html(&self, ansi: &str) -> String { + use std::fmt::Write as _; + + const FG: &str = "fg"; + const BG: &str = "bg"; + + let mut styled = adapter::AnsiBytes::new(); + let mut elements = styled.extract_next(ansi.as_bytes()).collect::>(); + preprocess_invert_style(&mut elements, self.bg_color, self.fg_color); + + let styled_lines = split_lines(&elements); + + let fg_color = rgb_value(self.fg_color, self.palette); + let bg_color = rgb_value(self.bg_color, self.palette); + let font_family = self.font_family; + + let line_height = 18; + + let mut buffer = String::new(); + writeln!(&mut buffer, r#""#).unwrap(); + writeln!(&mut buffer, r#""#).unwrap(); + writeln!(&mut buffer, r#""#).unwrap(); + writeln!(&mut buffer, r#" "#).unwrap(); + writeln!( + &mut buffer, + r#" "# + ) + .unwrap(); + writeln!( + &mut buffer, + r#" "# + ) + .unwrap(); + writeln!(&mut buffer, r#" "#).unwrap(); + writeln!(&mut buffer, r#""#).unwrap(); + writeln!(&mut buffer).unwrap(); + + if !self.background { + writeln!(&mut buffer, r#""#).unwrap(); + } else { + writeln!(&mut buffer, r#""#).unwrap(); + } + writeln!(&mut buffer).unwrap(); + + writeln!(&mut buffer, r#"
"#).unwrap(); + for line in &styled_lines { + if line.iter().any(|e| e.style.get_bg_color().is_some()) { + for element in line { + if element.text.is_empty() { + continue; + } + write_bg_span(&mut buffer, "span", &element.style, &element.text); + } + writeln!(&mut buffer, r#"
"#).unwrap(); + } + + for element in line { + if element.text.is_empty() { + continue; + } + write_fg_span(&mut buffer, "span", element, &element.text); + } + writeln!(&mut buffer, r#"
"#).unwrap(); + } + writeln!(&mut buffer, r#"
"#).unwrap(); + writeln!(&mut buffer).unwrap(); + + writeln!(&mut buffer, r#""#).unwrap(); + writeln!(&mut buffer, r#""#).unwrap(); + buffer + } } const FG_COLOR: anstyle::Color = anstyle::Color::Ansi(anstyle::AnsiColor::White); const BG_COLOR: anstyle::Color = anstyle::Color::Ansi(anstyle::AnsiColor::Black); -fn write_fg_span(buffer: &mut String, element: &adapter::Element, fragment: &str) { +fn write_effects_in_use(buffer: &mut String, elements: &[adapter::Element]) { + use std::fmt::Write as _; + + let mut effects_in_use = anstyle::Effects::new(); + for element in elements { + effects_in_use |= element.style.get_effects(); + } + + if effects_in_use.contains(anstyle::Effects::BOLD) { + writeln!(buffer, r#" .bold {{ font-weight: bold; }}"#).unwrap(); + } + if effects_in_use.contains(anstyle::Effects::ITALIC) { + writeln!(buffer, r#" .italic {{ font-style: italic; }}"#).unwrap(); + } + if effects_in_use.contains(anstyle::Effects::UNDERLINE) { + writeln!( + buffer, + r#" .underline {{ text-decoration-line: underline; }}"# + ) + .unwrap(); + } + if effects_in_use.contains(anstyle::Effects::DOUBLE_UNDERLINE) { + writeln!( + buffer, + r#" .double-underline {{ text-decoration-line: underline; text-decoration-style: double; }}"# + ) + .unwrap(); + } + if effects_in_use.contains(anstyle::Effects::CURLY_UNDERLINE) { + writeln!( + buffer, + r#" .curly-underline {{ text-decoration-line: underline; text-decoration-style: wavy; }}"# + ) + .unwrap(); + } + if effects_in_use.contains(anstyle::Effects::DOTTED_UNDERLINE) { + writeln!( + buffer, + r#" .dotted-underline {{ text-decoration-line: underline; text-decoration-style: dotted; }}"# + ) + .unwrap(); + } + if effects_in_use.contains(anstyle::Effects::DASHED_UNDERLINE) { + writeln!( + buffer, + r#" .dashed-underline {{ text-decoration-line: underline; text-decoration-style: dashed; }}"# + ) + .unwrap(); + } + if effects_in_use.contains(anstyle::Effects::STRIKETHROUGH) { + writeln!( + buffer, + r#" .strikethrough {{ text-decoration-line: line-through; }}"# + ) + .unwrap(); + } + if effects_in_use.contains(anstyle::Effects::DIMMED) { + writeln!(buffer, r#" .dimmed {{ opacity: 0.7; }}"#).unwrap(); + } + if effects_in_use.contains(anstyle::Effects::HIDDEN) { + writeln!(buffer, r#" .hidden {{ opacity: 0; }}"#).unwrap(); + } +} + +fn write_fg_span(buffer: &mut String, span: &str, element: &adapter::Element, fragment: &str) { use std::fmt::Write as _; let style = element.style; let fg_color = style.get_fg_color().map(|c| color_name(FG_PREFIX, c)); @@ -329,7 +445,7 @@ fn write_fg_span(buffer: &mut String, element: &adapter::Element, fragment: &str let mut need_closing_a = false; - write!(buffer, r#""#).unwrap(); } - write!(buffer, r#""#).unwrap(); + write!(buffer, r#""#).unwrap(); } -fn write_bg_span(buffer: &mut String, style: &anstyle::Style, fragment: &str) { +fn write_bg_span(buffer: &mut String, span: &str, style: &anstyle::Style, fragment: &str) { use std::fmt::Write as _; use unicode_width::UnicodeWidthStr; @@ -361,14 +477,14 @@ fn write_bg_span(buffer: &mut String, style: &anstyle::Style, fragment: &str) { if let Some(class) = bg_color.as_deref() { classes.push(class); } - write!(buffer, r#""#).unwrap(); write!(buffer, "{fragment}").unwrap(); - write!(buffer, r#""#).unwrap(); + write!(buffer, r#""#).unwrap(); } impl Default for Term { @@ -449,6 +565,23 @@ fn color_styles( colors.into_iter() } +fn preprocess_invert_style( + elements: &mut [adapter::Element], + bg_color: anstyle::Color, + fg_color: anstyle::Color, +) { + for element in elements { + let style = &mut element.style; + // Pre-process INVERT to make fg/bg calculations easier + if style.get_effects().contains(anstyle::Effects::INVERT) { + *style = style + .fg_color(Some(style.get_bg_color().unwrap_or(bg_color))) + .bg_color(Some(style.get_fg_color().unwrap_or(fg_color))) + .effects(style.get_effects().remove(anstyle::Effects::INVERT)); + } + } +} + fn split_lines(styled: &[adapter::Element]) -> Vec> { let mut lines = Vec::new(); let mut current_line = Vec::new(); diff --git a/crates/anstyle-svg/tests/hyperlink-demo.html b/crates/anstyle-svg/tests/hyperlink-demo.html new file mode 100644 index 00000000..35919680 --- /dev/null +++ b/crates/anstyle-svg/tests/hyperlink-demo.html @@ -0,0 +1,142 @@ + + + + + + + + + + + +
+Link to original file
+
+Tests for gnome-terminal #779734 and iTerm2 #5158
+═════════════════════════════════════════════════
+
+commit a9b0b4c75a6dc7282f7cfcaef71413d69f7f0731
+Author: Egmont Koblinger <egmont@gmail.com>
+Date: Sat Oct 24 00:12:22 2015 +0200
+
+ widget: Implement smooth scrolling
+
+ Bug #746690
+
+commit 6a74baeaabb0a1ce54444611b324338f94721a5c
+Merge: 3fac446 56ea581
+Author: Christian Persch <chpe@gnome.org>
+Date: Mon Apr 27 13:48:52 2015 +0200
+
+ Merge branch 'work-html' into merge-html
+
+A file with a % sign in its name (escaped as %25)
+Icons: Theme Graphics Star Exit Terminal
+Backgrounds: Bokeh Chmiri Ivy Flower Iceland Icescape Mirror Road Sandstone Stones Waterfalls Waves
+
+Wiki page of Á (unescaped raw UTF-8)
+Wiki page of Á (escaped as %C3%81)
+Wiki page of % (escaped as %25)
+http://المغرب.icom.museum (with URI-escaped domain name)
+http://xn--4wa8awb4637h.org (Παν語.org)
+
+Two adjacent links pointing to the same URL: foofoo
+Two adjacent links pointing to different URLs: foobar
+
+The same two without closing the first link: foofoo foobar
+
+A URL wrapping to the next line, and a trailing whitespace: foo
+bar
+
+
+Multi-colour link also tests that "\e[m" or "\e[0m" does not terminate the link
+
+Soft reset "\e[!p" resets attributes and terminates link: foobar
+
+Some CJK and combining accents: 䀀䀁䀂ćĝm̃n̄o̅
+
+(Introducing the "under_score" character for even more fun)
+
+Explicit and implicit link: http://example.com/under_score
+Explicit and implicit link with different targets: http://example.com/implicit_under_score
+Explicit and implicit link, broken into two lines: http://examp
+le.com/under_score
+
+Explicitly underlined links ("\e[4m"):
+Explicit link only: I'm an explicit link with under_score
+Implicit link only: http://example.com/under_score
+Both: http://example.com/under_score
+
+Conflicting explicit and implicit links: http://example.com/foobar-explicit-rest
+
+Invisible explicit link: «»
+Invisible implicit link: «»
+
+Explicit link with stupid target
+
+URL of 100 bytes
+URL of 200 bytes
+URL of 500 bytes
+URL of 1000 bytes
+URL of 1500 bytes
+URL of 2000 bytes
+URL of 2083 bytes
+URL of 2084 bytes
+
+ID of 250 bytes once, twice
+ID of 251 bytes once, twice
+
+ID of 250 bytes + URL of 2083 bytes
+ID of 251 bytes + URL of 2083 bytes
+ID of 250 bytes + URL of 2084 bytes
+ID of 251 bytes + URL of 2084 bytes
+
+BEL instead of ST (not standard)
+8;;http://example.com/C1œC1 (U+009D [UTF-8: 0xC2 0x9D] as OSC and U+009C [UTF-8: 0xC2 0x9C] as ST)8;;œ (note: not all terminal emulators support C1 in UTF-8)
+
+Cursor movement within the same OSC 8 run: moveright
+
+Alternating URIs, all with the same ID. Either all foos or all bars should be underlined on hover:
+foobarfoobarfoobarfoo
+
+Screenshot from an imaginary text editor:
+╔═ file1 ════╗
+║ ╔═ file2 ═══╗
+http://exa║Lorem ipsum║
+le.com ║ dolor sit ║
+║ ║amet, conse║
+╚══════════║ctetur adip║
+ ╚═══════════╝
+
+
+ + + diff --git a/crates/anstyle-svg/tests/rainbow.html b/crates/anstyle-svg/tests/rainbow.html new file mode 100644 index 00000000..65cff278 --- /dev/null +++ b/crates/anstyle-svg/tests/rainbow.html @@ -0,0 +1,1018 @@ + + + + + + + + + + + +
+color: foreground
+ 0 1 2 3 4 5 6 7
+ 8 9 A B C D E F
+
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+color: background
+████████████████████████
+ 0 1 2 3 4 5 6 7
+████████████████████████
+ 8 9 A B C D E F
+
+████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+████████████████████████████████████████████████████████████████████████
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+color: underline
+ 0 1 2 3 4 5 6 7
+ 8 9 A B C D E F
+
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+italic
+ 0 1 2 3 4 5 6 7
+ 8 9 A B C D E F
+
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+bold
+ 0 1 2 3 4 5 6 7
+ 8 9 A B C D E F
+
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+dimmed
+ 0 1 2 3 4 5 6 7
+ 8 9 A B C D E F
+
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+underline
+ 0 1 2 3 4 5 6 7
+ 8 9 A B C D E F
+
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+double_underline
+ 0 1 2 3 4 5 6 7
+ 8 9 A B C D E F
+
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+curly_underline
+ 0 1 2 3 4 5 6 7
+ 8 9 A B C D E F
+
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+dotted_underline
+ 0 1 2 3 4 5 6 7
+ 8 9 A B C D E F
+
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+dashed_underline
+ 0 1 2 3 4 5 6 7
+ 8 9 A B C D E F
+
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+blink
+ 0 1 2 3 4 5 6 7
+ 8 9 A B C D E F
+
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+invert
+████████████████████████
+ 0 1 2 3 4 5 6 7
+████████████████████████
+ 8 9 A B C D E F
+
+████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+████████████████████████████████████████████████████████████████████████
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+hidden
+
+
+
+
+
+
+
+
+
+
+
+
+strikethrough
+ 0 1 2 3 4 5 6 7
+ 8 9 A B C D E F
+
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33
+ 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57
+ 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
+ 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3
+ C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7
+
+ E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+
+
+ + + diff --git a/crates/anstyle-svg/tests/rg_linus.html b/crates/anstyle-svg/tests/rg_linus.html new file mode 100644 index 00000000..4455b6eb --- /dev/null +++ b/crates/anstyle-svg/tests/rg_linus.html @@ -0,0 +1,1190 @@ + + + + + + + + + + + +
+kernel/sys.c: * Copyright (C) 1991, 1992 Linus Torvalds
+kernel/fork.c: * Copyright (C) 1991, 1992 Linus Torvalds
+kernel/exit.c: * Copyright (C) 1991, 1992 Linus Torvalds
+kernel/time/timer.c: * Copyright (C) 1991, 1992 Linus Torvalds
+kernel/time/time.c: * Copyright (C) 1991, 1992 Linus Torvalds
+kernel/user.c: * (C) Copyright 1991-2000 Linus Torvalds
+kernel/ptrace.c: * (C) Copyright 1999 Linus Torvalds
+kernel/irq/irqdesc.c: * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar
+kernel/irq/spurious.c: * Copyright (C) 1992, 1998-2004 Linus Torvalds, Ingo Molnar
+kernel/irq/autoprobe.c: * Copyright (C) 1992, 1998-2004 Linus Torvalds, Ingo Molnar
+kernel/irq/chip.c: * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar
+kernel/irq/proc.c: * Copyright (C) 1992, 1998-2004 Linus Torvalds, Ingo Molnar
+kernel/irq/dummychip.c: * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar
+kernel/irq/handle.c: * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar
+kernel/irq/resend.c: * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar
+kernel/irq/manage.c: * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar
+kernel/signal.c: * Copyright (C) 1991, 1992 Linus Torvalds
+kernel/futex/core.c: * enough at me, Linus for the original (flawed) idea, Matthew
+kernel/resource.c: * Copyright (C) 1999 Linus Torvalds
+kernel/softirq.c: * Copyright (C) 1992 Linus Torvalds
+kernel/printk/printk.c: * Copyright (C) 1991, 1992 Linus Torvalds
+kernel/sched/core.c: * Copyright (C) 1991-2002 Linus Torvalds
+kernel/panic.c: * Copyright (C) 1991, 1992 Linus Torvalds
+kernel/locking/spinlock.c: * Copyright (2004) Linus Torvalds
+kernel/reboot.c: * Copyright (C) 2013 Linus Torvalds
+LICENSES/exceptions/Linux-syscall-note: Linus Torvalds
+tools/build/Build.include:# Copyright (C) Linus Torvalds <torvalds@linux-foundation.org>, 2015
+tools/build/Makefile.build:# Copyright (C) Linus Torvalds <torvalds@linux-foundation.org>, 2015
+tools/perf/CREDITS: Linus Torvalds
+tools/perf/util/config.c: * Copyright (C) Linus Torvalds, 2005
+tools/testing/selftests/vm/charge_reserved_hugetlb.sh: # On linus/master, the above process gets SIGBUS'd on oomkill, with
+tools/perf/util/usage.c: * Copyright (C) Linus Torvalds, 2005
+tools/testing/selftests/powerpc/stringloops/string.c: * Copyright (C) 1991, 1992 Linus Torvalds
+tools/lib/string.c: * Copyright (C) 1991, 1992 Linus Torvalds
+tools/lib/ctype.c: * Copyright (C) 1991, 1992 Linus Torvalds
+tools/scripts/Makefile.include:# that takes into account Linus's comments (search for Wshadow) for the reasoning about
+tools/gpio/gpio-utils.h: * Copyright (C) 2015 Linus Walleij
+tools/gpio/gpio-utils.c: * Copyright (C) 2015 Linus Walleij
+tools/gpio/gpio-event-mon.c: * Copyright (C) 2016 Linus Walleij
+tools/gpio/gpio-hammer.c: * Copyright (C) 2016 Linus Walleij
+tools/gpio/lsgpio.c: * Copyright (C) 2015 Linus Walleij
+tools/power/cpupower/utils/idle_monitor/mperf_monitor.c: * Compare with Linus kernel git commit: acf01734b1747b1ec4
+tools/power/cpupower/utils/cpupower.c: * Ideas taken over from the perf userspace tool (included in the Linus
+init/calibrate.c: * Copyright (C) 1991, 1992 Linus Torvalds
+security/Kconfig.hardening: https://git.kernel.org/linus/b9e146d8eb3b9eca
+security/Kconfig.hardening: https://git.kernel.org/linus/06e7e776ca4d3654
+block/partitions/efi.c: * - Ported to 2.5.2-pre11 + library crc32 patch Linus applied
+block/bdev.c: * Copyright (C) 1991, 1992 Linus Torvalds
+block/fops.c: * Copyright (C) 1991, 1992 Linus Torvalds
+block/blk-core.c: * Copyright (C) 1991, 1992 Linus Torvalds
+block/partitions/osf.c: * Copyright (C) 1991-1998 Linus Torvalds
+block/partitions/amiga.c: * Copyright (C) 1991-1998 Linus Torvalds
+block/partitions/sun.c: * Copyright (C) 1991-1998 Linus Torvalds
+block/partitions/msdos.c: * Copyright (C) 1991-1998 Linus Torvalds
+block/partitions/mac.c: * Copyright (C) 1991-1998 Linus Torvalds
+block/partitions/atari.c: * Copyright (C) 1991-1998 Linus Torvalds
+block/partitions/core.c: * Copyright (C) 1991-1998 Linus Torvalds
+init/main.c: * Copyright (C) 1991, 1992 Linus Torvalds
+MAINTAINERS: job the maintainers (and especially Linus) do is to keep things
+MAINTAINERS: your changes in a branch derived from Linus' latest git tree.
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linusw@kernel.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Walleij <linus.walleij@linaro.org>
+MAINTAINERS:M: Linus Torvalds <torvalds@linux-foundation.org>
+CREDITS: Linus
+CREDITS:N: Linus Torvalds
+scripts/Makefile.build:# Linus' kernel sanity checking tool
+Documentation/networking/netdev-FAQ.rst:mainline tree from Linus, and ``net-next`` is where the new code goes
+Documentation/networking/netdev-FAQ.rst:How often do changes from these trees make it to the mainline Linus tree?
+Documentation/networking/netdev-FAQ.rst:to Linus for merging into the mainline tree. After the two weeks, the
+Documentation/networking/netdev-FAQ.rst:mainline/Linus via a pull request for vX.Y -- at the same time, the
+Documentation/networking/netdev-FAQ.rst:fed back to Linus at regular (~weekly) intervals. Meaning that the
+Documentation/networking/netdev-FAQ.rst:Load the mainline (Linus) page here:
+lib/vsprintf.c: * Copyright (C) 1991, 1992 Linus Torvalds
+lib/vsprintf.c:/* vsprintf.c -- Lars Wirzenius & Linus Torvalds. */
+drivers/dma/s3c24xx-dma.c: * Author: Linus Walleij <linus.walleij@stericsson.com>
+lib/string.c: * Copyright (C) 1991, 1992 Linus Torvalds
+lib/kasprintf.c: * Copyright (C) 1991, 1992 Linus Torvalds
+lib/iomap.c: * (C) Copyright 2004 Linus Torvalds
+drivers/dma/amba-pl08x.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/thermal/db8500_thermal.c: * Authors: Hongbo Zhang, Linus Walleij
+drivers/auxdisplay/arm-charlcd.c: * Author: Linus Walleij <triad@df.lth.se>
+drivers/gpu/drm/tve200/tve200_drm.h: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/gpu/drm/tve200/tve200_display.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/gpu/drm/tve200/tve200_drv.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/gpu/drm/tve200/tve200_drv.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/gpu/drm/mcde/mcde_display.c: * Copyright (C) 2018 Linus Walleij <linus.walleij@linaro.org>
+drivers/gpu/drm/mcde/mcde_drm.h: * Copyright (C) 2018 Linus Walleij <linus.walleij@linaro.org>
+drivers/gpu/drm/mcde/mcde_drv.c: * Copyright (C) 2018 Linus Walleij <linus.walleij@linaro.org>
+drivers/gpu/drm/mcde/mcde_drv.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/gpu/drm/panel/panel-sony-acx424akp.c: * Author: Linus Walleij
+drivers/gpu/drm/panel/panel-sony-acx424akp.c:MODULE_AUTHOR("Linus Wallei <linus.walleij@linaro.org>");
+drivers/gpu/drm/panel/panel-ilitek-ili9341.c: * the reuse of DBI abstraction part referred from Linus's patch
+drivers/gpu/drm/panel/panel-ilitek-ili9322.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/gpu/drm/panel/panel-ilitek-ili9322.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/gpu/drm/panel/panel-arm-versatile.c: * Linus Walleij <linus.wallei@linaro.org>
+drivers/gpu/drm/panel/panel-arm-versatile.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/gpu/drm/panel/panel-novatek-nt35510.c: * Copyright (C) 2020 Linus Walleij <linus.walleij@linaro.org>
+drivers/gpu/drm/panel/panel-novatek-nt35510.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/gpu/drm/panel/panel-samsung-db7430.c: * Linus Walleij <linus.walleij@linaro.org>
+drivers/gpu/drm/panel/panel-samsung-db7430.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/gpu/drm/panel/panel-samsung-s6d16d0.c:MODULE_AUTHOR("Linus Wallei <linus.walleij@linaro.org>");
+drivers/bus/arm-integrator-lm.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/bus/arm-integrator-lm.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/gpu/drm/panel/panel-widechips-ws2401.c: * Linus Walleij <linus.walleij@linaro.org>
+drivers/gpu/drm/panel/panel-widechips-ws2401.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/gpu/drm/panel/panel-samsung-s6e63m0-dsi.c: * (C) 2019 Linus Walleij
+drivers/gpu/drm/panel/panel-samsung-s6e63m0-dsi.c:MODULE_AUTHOR("Linus Walleij <linusw@kernel.org>");
+drivers/bus/qcom-ebi2.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/bus/qcom-ebi2.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/gpu/drm/panel/panel-tpo-tpg110.c: * Linus Walleij <linus.walleij@linaro.org>
+drivers/gpu/drm/panel/panel-tpo-tpg110.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/spi/spi-pl022.c: * Author: Linus Walleij <linus.walleij@stericsson.com>
+drivers/spi/spi-pl022.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@stericsson.com>");
+drivers/spi/spi-gpio.c: * Copyright (C) 2017 Linus Walleij
+drivers/bus/intel-ixp4xx-eb.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/bus/intel-ixp4xx-eb.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/char/mem.c: * Copyright (C) 1991, 1992 Linus Torvalds
+drivers/char/lp.c: * Copyright (C) 1992 by Jim Weigand and Linus Torvalds
+drivers/char/misc.c: * Based on code from Linus
+drivers/char/misc.c: * of the misc drivers, as they are now completely independent. Linus.
+drivers/char/agp/efficeon-agp.c: * Based upon a diff by Linus around November '02.
+drivers/mfd/ipaq-micro.c: * Author : Linus Walleij <linus.walleij@linaro.org>
+drivers/mfd/stw481x.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/mfd/stw481x.c:MODULE_AUTHOR("Linus Walleij");
+drivers/irqchip/irq-xtensa-pic.c: * Copyright (C) 1992, 1998 Linus Torvalds, Ingo Molnar
+drivers/pinctrl/pinconf.h: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/irqchip/irq-i8259.c: * Copyright (C) 1992 Linus Torvalds
+drivers/pinctrl/pinmux.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/pinctrl/pinctrl-gemini.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/pinctrl/core.h: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/pinctrl/pinconf.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/pinctrl/nomadik/pinctrl-nomadik.c: * Copyright (C) 2011-2013 Linus Walleij <linus.walleij@linaro.org>
+drivers/pinctrl/pinconf-generic.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/pinctrl/pinmux.h: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/irqchip/irq-ftintc010.c: * irqchip for the Faraday Technology FTINTC010 Copyright (C) 2017 Linus
+drivers/irqchip/irq-ftintc010.c: * Walleij <linus.walleij@linaro.org>
+drivers/irqchip/irq-gic-realview.c: * Copyright (C) 2015 Linus Walleij
+drivers/mfd/tps6105x.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/mfd/tps6105x.c:MODULE_AUTHOR("Linus Walleij");
+drivers/pinctrl/core.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/irqchip/irq-ixp4xx.c: * Copyright (C) 2019 Linus Walleij <linus.walleij@linaro.org>
+Documentation/networking/device_drivers/hamradio/z8530drv.rst:Many thanks to Linus Torvalds and Alan Cox for including the driver
+drivers/pcmcia/cardbus.c: * Linus, Jan 2000
+drivers/mtd/maps/physmap-gemini.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/mtd/maps/physmap-versatile.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/pcmcia/yenta_socket.c: * (C) Copyright 1999, 2000 Linus Torvalds
+drivers/mtd/parsers/afs.c: Copyright (C) 2019 Linus Walleij
+drivers/mtd/maps/physmap-ixp4xx.c: * Copyright (C) 2019 Linus Walleij <linus.walleij@linaro.org>
+lib/ctype.c: * Copyright (C) 1991, 1992 Linus Torvalds
+lib/pci_iomap.c: * (C) Copyright 2004 Linus Torvalds
+drivers/block/floppy.c: * Copyright (C) 1991, 1992 Linus Torvalds
+drivers/block/floppy.c: * by entropy@wintermute.wpi.edu (Lawrence Foard). Linus.
+drivers/block/floppy.c: * 1993/4/29 -- Linus -- cleaned up the timer handling in the kernel, and
+drivers/usb/core/hub.h: * Copyright (C) 1999 Linus Torvalds
+drivers/usb/core/generic.c: * (C) Copyright Linus Torvalds 1999
+drivers/usb/core/hcd.c: * (C) Copyright Linus Torvalds 1999
+drivers/usb/misc/sisusbvga/sisusb_con.c: * based on code Copyright (C) 1991, 1992 Linus Torvalds
+drivers/usb/core/usb.c: * (C) Copyright Linus Torvalds 1999
+drivers/usb/core/driver.c: * (C) Copyright Linus Torvalds 1999
+drivers/usb/core/hub.c: * (C) Copyright 1999 Linus Torvalds
+drivers/usb/core/file.c: * (C) Copyright Linus Torvalds 1999
+Documentation/arm/tcm.rst:Written by Linus Walleij <linus.walleij@stericsson.com>
+drivers/usb/mon/mon_bin.c:/* #2 used to be MON_IOCX_URB, removed before it got into Linus tree */
+Documentation/locking/spinlocks.rst: Linus
+Documentation/spi/spi-summary.rst:- Linus Walleij
+drivers/usb/host/bcma-hcd.c: * Copyright 1999 Linus Torvalds
+drivers/usb/host/ehci-platform.c: * Copyright 1999 Linus Torvalds
+drivers/usb/host/uhci-grlib.c: * (C) Copyright 1999 Linus Torvalds
+drivers/usb/host/ohci-hcd.c: * [ Initialisation is based on Linus' ]
+drivers/usb/host/ohci-hcd.c: * [ (C) Copyright 1999 Linus Torvalds ]
+drivers/usb/host/ssb-hcd.c: * Copyright 1999 Linus Torvalds
+drivers/usb/host/uhci-hub.c: * (C) Copyright 1999 Linus Torvalds
+drivers/usb/host/uhci-pci.c: * (C) Copyright 1999 Linus Torvalds
+drivers/usb/host/ohci.h: * a subset of what the full implementation needs. (Linus)
+drivers/usb/host/uhci-debug.c: * (C) Copyright 1999 Linus Torvalds
+drivers/usb/host/ohci-pci.c: * [ Initialisation is based on Linus' ]
+drivers/usb/host/ohci-pci.c: * [ (C) Copyright 1999 Linus Torvalds ]
+drivers/usb/host/ohci-platform.c: * Copyright 1999 Linus Torvalds
+drivers/usb/host/uhci-hcd.c: * (C) Copyright 1999 Linus Torvalds
+drivers/usb/host/uhci-hcd.c: "Linus 'Frodo Rabbit' Torvalds, Johannes Erdfelt, " \
+drivers/usb/host/uhci-q.c: * (C) Copyright 1999 Linus Torvalds
+scripts/patch-kernel:# directory above to the latest Linus kernel
+scripts/patch-kernel:# Note: It uses the patches relative to the Linus kernels, not the
+scripts/get_maintainer.pl:push(@penguin_chief, "Linus Torvalds:torvalds\@linux-foundation.org");
+scripts/get_maintainer.pl: warn("Try Linus Torvalds' latest git repository using:\n");
+Documentation/RCU/rcu_dereference.rst: rcu_dereference() against non-NULL values. As Linus Torvalds
+Documentation/RCU/RTFP.txt:[LinusTorvalds2011Linux2:6:38:rc1:NPigginVFS], an RCU-protected red-black
+Documentation/RCU/RTFP.txt:@unpublished{LinusTorvalds2001a
+Documentation/RCU/RTFP.txt:,Author="Linus Torvalds"
+Documentation/RCU/RTFP.txt:@unpublished{LinusTorvalds2003a
+Documentation/RCU/RTFP.txt:,Author="Linus Torvalds"
+Documentation/RCU/RTFP.txt: Linus suggests replacing brlock with RCU and/or seqlocks:
+Documentation/RCU/RTFP.txt:@unpublished{LinusTorvalds2011Linux2:6:38:rc1:NPigginVFS
+Documentation/RCU/RTFP.txt:,Author="Linus Torvalds"
+Documentation/cdrom/cdrom-standard.rst:of course, I want to thank Linus Torvalds for making this possible in
+Documentation/RCU/Design/Requirements/Requirements.rst:This all should be quite obvious, but the fact remains that Linus
+Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.rst:Linux is a registered trademark of Linus Torvalds.
+Documentation/RCU/Design/Data-Structures/Data-Structures.rst:Linux is a registered trademark of Linus Torvalds.
+Documentation/security/lsm.rst:In response to the NSA presentation, Linus Torvalds made a set of
+Documentation/security/lsm.rst:desired model of security. Linus also suggested the possibility of
+scripts/package/mkdebian:Copyright: 1991 - 2018 Linus Torvalds and others.
+drivers/hwmon/drivetemp.c: * (C) 2018 Linus Walleij
+drivers/hwmon/drivetemp.c:MODULE_AUTHOR("Guenter Roeck <linus@roeck-us.net>");
+scripts/checkstack.pl:# Inspired by Linus Torvalds
+Documentation/vm/active_mm.rst: From: Linus Torvalds <torvalds () transmeta ! com>
+Documentation/block/biodoc.rst:Larry McVoy (and subsequent discussions on lkml, and Linus' comments - Jan 2001
+Documentation/block/biodoc.rst:On lkml between sct, linus, alan et al - Feb-March 2001 (many of the
+Documentation/usb/CREDITS: Linus Torvalds <torvalds@linux-foundation.org>
+Documentation/usb/CREDITS: - Linus Torvalds, for starting, developing and managing Linux.
+Documentation/ABI/obsolete/sysfs-gpio:Contact: Linus Walleij <linusw@kernel.org>
+Documentation/userspace-api/ioctl/ioctl-number.rst:patch to Linus Torvalds. Or you can e-mail me at <mec@shout.net> and
+Documentation/sound/hd-audio/notes.rst:and next kernels are found in for-linus and for-next branches,
+Documentation/process/maintainer-pgp-guide.rst:auto-retrieve the keys for Linus Torvalds and Greg Kroah-Hartman (if you
+Documentation/process/maintainer-pgp-guide.rst:``C94035C21B4F2AEB``. Now display the key of Linus Torvalds that you
+Documentation/process/maintainer-pgp-guide.rst: uid [ unknown] Linus Torvalds <torvalds@kernel.org>
+Documentation/process/maintainer-pgp-guide.rst:Next, find a trust path from Linus Torvalds to the key-id you found via ``gpg
+Documentation/process/deprecated.rst:<https://git.kernel.org/linus/771c035372a036f83353eef46dbb829780330234>`_
+Documentation/process/deprecated.rst:to debug or even get viable crash reports. Linus has `very strong
+Documentation/process/deprecated.rst:<https://git.kernel.org/linus/d4689846881d160a4d12a514e991a740bcb5d65a>`_.)
+Documentation/process/deprecated.rst:Paraphrasing Linus's current `guidance <https://lore.kernel.org/lkml/CA+55aFwQEd_d40g4mUCSsVRZzrFPUJt74vc6PPpb675hYNXcKw@mail.gmail.com/>`_:
+Documentation/process/deprecated.rst: up to Linus's scrutiny, maybe you can use "%px", along with making sure
+Documentation/process/deprecated.rst:<https://git.kernel.org/linus/5ead723a20e0447bc7db33dc3070b420e5f80aa6>`_".
+Documentation/process/deprecated.rst:<https://git.kernel.org/linus/02361bc77888>`_ are reason enough to
+Documentation/process/deprecated.rst:<https://git.kernel.org/linus/76497732932f15e7323dc805e8ea8dc11bb587cf>`_
+Documentation/process/deprecated.rst:<https://git.kernel.org/linus/f2cd32a443da694ac4e28fbf4ac6f9d5cc63a539>`_,
+Documentation/process/deprecated.rst:<https://git.kernel.org/linus/ab91c2a89f86be2898cee208d492816ec238b2cf>`_.
+Documentation/process/2.Process.rst:time, Linus Torvalds will declare that the window is closed and release the
+Documentation/process/2.Process.rst:time. Linus releases new -rc kernels about once a week; a normal series
+Documentation/process/2.Process.rst: merged into the mainline repository managed by Linus Torvalds. More
+Documentation/process/2.Process.rst:repository: Linus Torvalds. But, for example, of the over 9,500 patches
+Documentation/process/2.Process.rst:chosen by Linus himself. The kernel project has long since grown to a size
+Documentation/process/2.Process.rst:When the merge window opens, top-level maintainers will ask Linus to "pull"
+Documentation/process/2.Process.rst:Linus agrees, the stream of patches will flow up into his repository,
+Documentation/process/2.Process.rst:becoming part of the mainline kernel. The amount of attention that Linus
+Documentation/process/2.Process.rst:that, sometimes, he looks quite closely. But, as a general rule, Linus
+Documentation/process/2.Process.rst:finding the right maintainer. Sending patches directly to Linus is not
+Documentation/process/2.Process.rst:an appropriate subsystem tree or be sent directly to Linus. In a typical
+Documentation/process/4.Coding.rst:breaks? The best answer to this question was expressed by Linus in July,
+Documentation/process/kernel-enforcement-statement.rst: - Linus Torvalds
+Documentation/process/kernel-enforcement-statement.rst: - Linus Walleij
+Documentation/process/7.AdvancedTopics.rst:when Linus first started playing with the proprietary BitKeeper
+Documentation/process/7.AdvancedTopics.rst:can affect your ability to get trees pulled in the future. Quoting Linus:
+Documentation/process/adding-syscalls.rst: - Collated emails from Linus Torvalds discussing the problems with ``ioctl()``:
+Documentation/process/adding-syscalls.rst: - Recommendation from Linus Torvalds that x32 system calls should prefer
+Documentation/process/embargoed-hardware-issues.rst: - Linus Torvalds (Linux Foundation Fellow)
+Documentation/process/howto.rst: - Linus's mainline tree
+Documentation/process/howto.rst:The mainline tree is maintained by Linus Torvalds, and can be found at
+Documentation/process/howto.rst: Linus, usually the patches that have already been included in the
+Documentation/process/howto.rst: patches to Linus after -rc1 is released, but the patches need to also be
+Documentation/process/howto.rst: - A new -rc is released whenever Linus deems the current git tree to
+Documentation/process/stable-kernel-rules.rst: - It or an equivalent fix must already exist in Linus' tree (upstream).
+Documentation/process/stable-kernel-rules.rst:After the patch has been merged to Linus' tree, send an email to
+Documentation/process/1.Intro.rst:mainline kernel (the "mainline" being the kernel maintained by Linus
+Documentation/process/applying-patches.rst:These are the base stable releases released by Linus. The highest numbered
+Documentation/process/applying-patches.rst:by Linus whenever he deems the current git (the kernel's source management
+Documentation/process/applying-patches.rst:and, during the merge window, sends them directly to Linus.
+Documentation/process/applying-patches.rst:it on to Linus for inclusion in mainline.
+Documentation/process/applying-patches.rst:the more stable mainline Linus tree.
+Documentation/process/applying-patches.rst:Thank you's to Randy Dunlap, Rolf Eike Beer, Linus Torvalds, Bodo Eggert,
+Documentation/process/5.Posting.rst:Linus's git tree. When basing on mainline, start with a well-known release
+Documentation/process/5.Posting.rst:is possible to send patches directly to Linus Torvalds and have him merge
+Documentation/process/5.Posting.rst:them, things are not normally done that way. Linus is busy, and there are
+Documentation/process/6.Followthrough.rst:kernel, nobody has absolute veto power over any code. Except maybe Linus.
+Documentation/process/submitting-patches.rst:Linus Torvalds is the final arbiter of all changes accepted into the
+Documentation/process/submitting-patches.rst:Linus directly, so typically you should do your best to -avoid-
+Documentation/process/submitting-patches.rst:Linus and other kernel developers need to be able to read and comment
+Documentation/process/submitting-patches.rst:code. A MIME attachment also takes Linus a bit more time to process,
+Documentation/process/submitting-patches.rst:Due to high e-mail traffic to Linus, and to linux-kernel, it is common
+Documentation/process/submitting-patches.rst:convention to prefix your subject line with [PATCH]. This lets Linus
+Documentation/process/submitting-patches.rst:as it was propagated to the maintainers and ultimately to Linus, with
+Documentation/process/submitting-patches.rst:Linus Torvalds's mail on the canonical patch format:
+Documentation/process/volatile-considered-harmful.rst: to be a "stupid legacy" issue (Linus's words) in this regard; fixing it
+Documentation/core-api/bus-virt-phys-mapping.rst::Author: Linus
+Documentation/driver-api/usb/dwc3.rst: 1. You're running latest tag from `Linus' tree`_
+Documentation/driver-api/usb/dwc3.rst:.. _Linus' tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
+drivers/ata/sata_gemini.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/ata/sata_gemini.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/ata/pata_opti.c: * Copyright (C) 1996-1998 Linus Torvalds & authors (see below)
+drivers/ata/pata_ftide010.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/ata/pata_ftide010.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/ata/pata_cmd640.c: * Copyright (C) 1995-1996 Linus Torvalds & authors (see driver)
+drivers/ata/pata_rz1000.c: * Copyright (C) 1995-1998 Linus Torvalds & author (see below)
+drivers/base/pinctrl.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/base/power/trace.c: * Copyright (C) 2006 Linus Torvalds
+Documentation/scsi/scsi_mid_low_api.rst:First, Linus Torvalds's thoughts on C coding style can be found in the
+drivers/scsi/qla1280.c: Rev 3.23.19 Beta April 11, 2002, Linus Torvalds
+drivers/video/fbdev/via/via-core.c: * -- Linus Torvalds, Dec. 7, 2009
+drivers/video/console/vgacon.c: * Copyright (C) 1991, 1992 Linus Torvalds
+drivers/video/console/sticon.c: * Copyright (C) 1991, 1992 Linus Torvalds
+drivers/video/backlight/ipaq_micro_bl.c: * Author : Linus Walleij <linus.walleij@linaro.org>
+drivers/video/console/mdacon.c: * Copyright (C) 1991, 1992 Linus Torvalds
+drivers/video/backlight/ktd253-backlight.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/rtc/rtc-ab8500.c: * Linus Walleij <linus.walleij@stericsson.com>
+drivers/gpio/gpio-gw-pld.c:// Copyright (C) 2019 Linus Walleij <linus.walleij@linaro.org>
+drivers/gpio/gpio-gw-pld.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/gpio/gpio-max732x.c: * Copyright (C) 2015 Linus Walleij <linus.walleij@linaro.org>
+drivers/gpio/gpio-ftgpio010.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/gpio/gpio-ixp4xx.c:// Copyright (C) 2019 Linus Walleij <linus.walleij@linaro.org>
+drivers/watchdog/ftwdt010_wdt.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/watchdog/ftwdt010_wdt.c:MODULE_AUTHOR("Linus Walleij");
+drivers/watchdog/ixp4xx_wdt.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/mmc/core/host.c: * Copyright (C) 2010 Linus Walleij
+drivers/iio/light/cm3605.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/iio/light/cm3605.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/iio/light/bh1780.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/iio/light/bh1780.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/iio/light/gp2ap002.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/iio/light/gp2ap002.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/iio/gyro/mpu3050-i2c.c:MODULE_AUTHOR("Linus Walleij");
+drivers/iio/gyro/mpu3050-core.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/iio/gyro/mpu3050-core.c:MODULE_AUTHOR("Linus Walleij");
+drivers/iio/pressure/bmp280-core.c: * Copyright (c) 2016 Linus Walleij <linus.walleij@linaro.org>
+drivers/iio/adc/qcom-pm8xxx-xoadc.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/iio/adc/ab8500-gpadc.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/iio/magnetometer/ak8974.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/iio/magnetometer/ak8974.c:MODULE_AUTHOR("Linus Walleij");
+drivers/iio/magnetometer/yamaha-yas530.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/iio/magnetometer/yamaha-yas530.c:MODULE_AUTHOR("Linus Walleij");
+drivers/pwm/pwm-stmpe.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/firmware/efi/libstub/string.c: * Copyright (C) 1991, 1992 Linus Torvalds
+drivers/firmware/efi/libstub/vsprintf.c: * Copyright (C) 1991, 1992 Linus Torvalds
+drivers/power/supply/ipaq_micro_battery.c: * Author : Linus Walleij <linus.walleij@linaro.org>
+drivers/power/reset/arm-versatile-reboot.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/power/reset/gemini-poweroff.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/leds/leds-syscon.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/leds/flash/leds-rt8515.c: * Linus Walleij <linus.walleij@linaro.org>
+drivers/leds/flash/leds-rt8515.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/leds/leds-ipaq-micro.c: * Author : Linus Walleij <linus.walleij@linaro.org>
+drivers/leds/trigger/ledtrig-cpu.c: * Copyright 2011 Linus Walleij <linus.walleij@linaro.org>
+drivers/regulator/stw481x-vmmc.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/regulator/tps6105x-regulator.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/regulator/tps6105x-regulator.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/of/irq.c: * Copyright (C) 1992 Linus Torvalds
+Documentation/kernel-hacking/locking.rst:- ``Documentation/locking/spinlocks.rst``: Linus Torvalds' spinlocking
+Documentation/kernel-hacking/hacking.rst:Linus.
+Documentation/kernel-hacking/hacking.rst:Linus and the other developers sometimes change function or structure
+Documentation/kernel-hacking/hacking.rst: /* Uh, actually Linus it is I who cannot spell. Too much murky
+Documentation/maintainer/pull-requests.rst:and Linus Torvalds on LKML. Suggestions and fixes by Jonathan Corbet and
+Documentation/maintainer/pull-requests.rst:Linus will only accept pull requests based on a signed tag. Other
+Documentation/maintainer/pull-requests.rst:As said by Linus::
+Documentation/maintainer/pull-requests.rst: Linus
+Documentation/maintainer/pull-requests.rst: branch (which in my case points to the last location in Linus's
+Documentation/maintainer/pull-requests.rst:Linus responded that he tends to prefer the ``git://`` protocol. Other
+Documentation/maintainer/pull-requests.rst:lists if required. Pull requests to Linus typically have a subject line
+Documentation/maintainer/rebasing-and-merging.rst:A frequent cause of merge-window trouble is when Linus is presented with a
+Documentation/maintainer/rebasing-and-merging.rst:for the final pull request: Linus is adamant that he would much rather see
+Documentation/maintainer/rebasing-and-merging.rst:Linus in the pull request that the conflict will happen; if nothing else,
+drivers/tty/n_tty.c: * This file also contains code originally written by Linus Torvalds,
+drivers/pci/controller/pci-v3-semi.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/pci/controller/pci-ftpci100.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/pci/controller/pci-ixp4xx.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/tty/tty_jobctrl.c: * Copyright (C) 1991, 1992 Linus Torvalds
+drivers/tty/tty_ioctl.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+drivers/tty/tty_baudrate.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+drivers/tty/amiserial.c: * Copyright (C) 1991, 1992 Linus Torvalds
+drivers/tty/pty.c: * Copyright (C) 1991, 1992 Linus Torvalds
+drivers/tty/mxser.c: * Linux serial driver, written by Linus Torvalds, Theodore T'so and
+drivers/tty/serial/8250/8250.h: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/8250/8250_port.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/8250/8250_core.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/8250/8250_pnp.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/mux.c: * rmk has already submitted a patch to linus, should be available for
+drivers/tty/serial/8250/8250_pci.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/atmel_serial.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/sa1100.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/imx.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/amba-pl011.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/ar933x_uart.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/amba-pl010.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/clps711x.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/lantiq.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/serial/serial_core.c: * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
+drivers/tty/moxa.c: * Linus Torvalds, Theodore T'so and others.
+drivers/tty/tty_io.c: * Copyright (C) 1991, 1992 Linus Torvalds
+drivers/tty/vt/keyboard.c: * the assembly version by Linus (with diacriticals added)
+drivers/tty/vt/vt.c: * Copyright (C) 1991, 1992 Linus Torvalds
+Documentation/x86/exception-tables.rst:To overcome this situation, Linus decided to let the virtual memory
+Documentation/bpf/bpf_devel_QA.rst:into the kernel mainline tree run by Linus Torvalds. To read up on the
+Documentation/bpf/bpf_devel_QA.rst:your patch series once bpf-next is open again. Once Linus released
+drivers/input/mouse/amimouse.c: * Nathan Laredo Linus Torvalds
+drivers/input/mouse/gpio_mouse.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/input/mouse/logibm.c: * Linus Torvalds Johan Myreen
+drivers/input/keyboard/ipaq-micro-keys.c: * Author : Linus Walleij <linus.walleij@linaro.org>
+drivers/input/keyboard/dlink-dir685-touchkeys.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/input/keyboard/dlink-dir685-touchkeys.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+Documentation/admin-guide/README.rst: Linus Torvalds with assistance from a loosely-knit team of hackers across
+Documentation/admin-guide/bug-hunting.rst:In order to help Linus and the other kernel developers there has been
+Documentation/admin-guide/reporting-issues.rst:Linus Torvalds and the leading Linux kernel developers want to see some issues
+Documentation/admin-guide/reporting-issues.rst:Linux lead developer Linus Torvalds insists that the Linux kernel never
+Documentation/admin-guide/reporting-issues.rst:it's okay to get Linus Torvalds involved.
+Documentation/admin-guide/reporting-issues.rst:to get resolved. The maintainers or if all else fails Linus Torvalds himself
+drivers/input/touchscreen/ipaq-micro-ts.c: * Author : Linus Walleij <linus.walleij@linaro.org>
+drivers/input/touchscreen/cy8ctma140.c: * (C) 2020 Linus Walleij <linus.walleij@linaro.org>
+drivers/input/touchscreen/cy8ctma140.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+Documentation/power/s2ram.rst:2006 Linus Torvalds
+Documentation/power/s2ram.rst:3) You can use Linus' TRACE_RESUME infrastructure, described below.
+Documentation/power/freezing-of-tasks.rst:Although Linus Torvalds doesn't like the freezing of tasks, he said this in one
+Documentation/power/freezing-of-tasks.rst:Linus: In many ways, 'at all'.
+Documentation/dev-tools/sparse.rst:.. Copyright 2004 Linus Torvalds
+Documentation/crypto/api-intro.rst: - Linus Torvalds (i586)
+Documentation/devicetree/bindings/hwmon/ntc-thermistor.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/misc/intel,ixp4xx-ahb-queue-manager.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/mtd/partitions/redboot-fis.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/arm/arm,versatile.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/arm/intel-ixp4xx.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/bus/arm,integrator-ap-lm.yaml: - Linus Walleij <linusw@kernel.org>
+Documentation/devicetree/bindings/bus/intel,ixp4xx-expansion-bus-controller.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/arm/arm,integrator.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/spi/spi-pl022.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/arm/arm,scu.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/arm/gemini.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/arm/arm,realview.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/arm/ux500.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/hwmon/winbond,w83781d.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/mfd/stericsson,db8500-prcmu.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/pinctrl/pinmux-node.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/pci/intel,ixp4xx-pci.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/ata/pata-common.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/ata/intel,ixp4xx-compact-flash.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/ata/sata-common.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/ata/faraday,ftide010.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/pinctrl/pinctrl.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/rtc/faraday,ftrtc010.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/mmc/arm,pl18x.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/iio/light/sharp,gp2ap002.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/iio/light/capella,cm3605.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/iio/st,st-sensors.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/gpio/mrvl-gpio.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/interrupt-controller/intel,ixp4xx-interrupt.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/gpio/pl061-gpio.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/watchdog/maxim,max63xx.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/iio/magnetometer/yamaha,yas530.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8974.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/extcon/fcs,fsa880.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/clock/stericsson,u8500-clks.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/iio/adc/qcom,pm8018-adc.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/filesystems/path-lookup.rst:The second reason was `outlined recently`_ by Linus:
+Documentation/filesystems/dlmfs.rst:Some code taken from ramfs which is Copyright |copy| 2000 Linus Torvalds
+Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml: - Linus Walleij <linusw@kernel.org>
+Documentation/devicetree/bindings/pci/faraday,ftpci100.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/firmware/intel,ixp4xx-network-processing-engine.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/leds/richtek,rt8515.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/leds/register-bit-led.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/auxdisplay/arm,versatile-lcd.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/leds/backlight/kinetic,ktd253.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/power/supply/samsung,battery.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/rng/intel,ixp46x-rng.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/it_IT/process/1.Intro.rst:s'intende quello mantenuto da Linus Torvalds e usato come base dai
+Documentation/translations/it_IT/process/maintainer-pgp-guide.rst:potrete auto-recuperare le chiavi di Linus Torvalds e Greg Kroah-Hartman
+Documentation/translations/it_IT/process/maintainer-pgp-guide.rst:``C94035C21B4F2AEB``. Ora visualizzate le chiavi di Linus Torvalds
+Documentation/translations/it_IT/process/maintainer-pgp-guide.rst: uid [ unknown] Linus Torvalds <torvalds@kernel.org>
+Documentation/translations/it_IT/process/maintainer-pgp-guide.rst:digitale della chiave di Linus Torvalds che si vede nell'output qui sopra.
+Documentation/translations/it_IT/process/maintainer-pgp-guide.rst:- `Finding paths to Linus`_
+Documentation/translations/it_IT/process/maintainer-pgp-guide.rst:.. _`Finding paths to Linus`: https://pgp.cs.uu.nl/paths/79BE3E4300411886/to/C94035C21B4F2AEB.html
+Documentation/translations/it_IT/process/2.Process.rst:Al termine di questo periodo, Linus Torvald dichiarerà che la finestra è
+Documentation/translations/it_IT/process/2.Process.rst:il ritmo delle modifiche rallenta col tempo. Linus rilascia un nuovo
+Documentation/translations/it_IT/process/2.Process.rst: Linus Torvalds. In questa fase potrebbero emergere nuovi problemi e/o
+Documentation/translations/it_IT/process/2.Process.rst:del kernel: Linus Torvalds. Ma, per esempio, di tutte le 9500 patch
+Documentation/translations/it_IT/process/2.Process.rst:l'1,3%) furono scelte direttamente da Linus in persona. Il progetto
+Documentation/translations/it_IT/process/2.Process.rst:chiederanno a Linus di "prendere" dai loro repositori le modifiche che hanno
+Documentation/translations/it_IT/process/2.Process.rst:selezionato per l'inclusione. Se Linus acconsente, il flusso di patch si
+Documentation/translations/it_IT/process/2.Process.rst:principale del kernel. La quantità d'attenzione che Linus presta alle
+Documentation/translations/it_IT/process/2.Process.rst:generale, Linus confida nel fatto che i manutentori di sottosistema non
+Documentation/translations/it_IT/process/2.Process.rst:patch direttamente a Linus non è la via giusta.
+Documentation/translations/it_IT/process/2.Process.rst:direttamente a Linus. In un tipico ciclo di sviluppo, circa il 5-10% delle
+Documentation/translations/it_IT/process/volatile-considered-harmful.rst: (parole di Linus) in questo contesto; correggerla non ne varrebbe la pena e
+Documentation/translations/it_IT/process/deprecated.rst:<https://git.kernel.org/linus/771c035372a036f83353eef46dbb829780330234>`_
+Documentation/translations/it_IT/process/deprecated.rst:circa l'errore. Linus ha un'opinione molto critica al riguardo:
+Documentation/translations/it_IT/process/deprecated.rst:<https://git.kernel.org/linus/d4689846881d160a4d12a514e991a740bcb5d65a>`_)
+Documentation/translations/it_IT/process/deprecated.rst:di Linus:
+Documentation/translations/it_IT/process/deprecated.rst: affrontare il giudizio di Linus, allora forse potrai usare "%px",
+Documentation/translations/it_IT/process/deprecated.rst:<https://git.kernel.org/linus/5ead723a20e0447bc7db33dc3070b420e5f80aa6>`_" alla
+Documentation/translations/it_IT/process/deprecated.rst:vettori a dimensione fissa. Questi `problemi di prestazioni <https://git.kernel.org/linus/02361bc77888>`_,
+Documentation/translations/it_IT/process/deprecated.rst:<https://git.kernel.org/linus/76497732932f15e7323dc805e8ea8dc11bb587cf>`_.
+Documentation/translations/it_IT/process/deprecated.rst:<https://git.kernel.org/linus/f2cd32a443da694ac4e28fbf4ac6f9d5cc63a539>`_,
+Documentation/translations/it_IT/process/deprecated.rst:<https://git.kernel.org/linus/ab91c2a89f86be2898cee208d492816ec238b2cf>`_.
+Documentation/translations/it_IT/process/6.Followthrough.rst:fatta per Linus, forse.
+Documentation/devicetree/bindings/input/atmel,maxtouch.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/it_IT/process/5.Posting.rst:così come lo si trova nei sorgenti git di Linus. Quando vi basate sul ramo
+Documentation/translations/it_IT/process/5.Posting.rst:Linus Torvalds, e lasciare che sia lui ad integrarle,solitamente non è la
+Documentation/translations/it_IT/process/5.Posting.rst:strada migliore da seguire. Linus è occupato, e ci sono dei manutentori di
+Documentation/devicetree/bindings/crypto/intel,ixp4xx-crypto.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/input/touchscreen/cypress,cy8ctma140.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/input/touchscreen/cypress,cy8ctma340.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/it_IT/process/kernel-enforcement-statement.rst: - Linus Torvalds
+Documentation/translations/it_IT/process/kernel-enforcement-statement.rst: - Linus Walleij
+Documentation/translations/it_IT/process/howto.rst:I kernel 4.x sono amministrati da Linus Torvald, e possono essere trovati
+Documentation/translations/it_IT/process/howto.rst: settimane. Durante questo periodo i manutentori possono proporre a Linus
+Documentation/translations/it_IT/process/howto.rst: aggiunto. git può essere utilizzato per inviare le patch a Linus dopo che
+Documentation/translations/it_IT/process/howto.rst: - Una nuova -rc viene rilasciata ogni volta che Linus reputa che gli attuali
+Documentation/translations/it_IT/process/submitting-patches.rst:Linus e gli altri sviluppatori del kernel devono poter commentare
+Documentation/translations/it_IT/process/submitting-patches.rst:Inoltre, un allegato MIME rende l'attività di Linus più laboriosa, diminuendo
+Documentation/translations/it_IT/process/submitting-patches.rst:Dato l'alto volume di e-mail per Linus, e la lista linux-kernel, è prassi
+Documentation/translations/it_IT/process/submitting-patches.rst:prefiggere il vostro oggetto con [PATCH]. Questo permette a Linus e agli
+Documentation/translations/it_IT/process/submitting-patches.rst:manutentore, per poi giungere a Linus.
+Documentation/translations/it_IT/process/submitting-patches.rst:E-mail di Linus Torvalds sul formato canonico di una patch:
+Documentation/translations/it_IT/process/adding-syscalls.rst: - Raccomandazioni da Linus Torvalds che le chiamate di sistema x32 dovrebbero
+Documentation/devicetree/bindings/display/ste,mcde.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/display/faraday,tve200.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/it_IT/process/7.AdvancedTopics.rst:vostri rami. Citando Linus
+Documentation/devicetree/bindings/net/intel,ixp4xx-hss.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/net/intel,ixp46x-ptp-timer.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/display/panel/sony,acx424akp.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/input/touchscreen/melfas,mms114.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/display/panel/ti,nspire.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/it_IT/process/4.Coding.rst:domanda ci è stata fornita da Linus nel luglio 2007:
+Documentation/devicetree/bindings/input/touchscreen/zinitix,bt400.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/display/panel/novatek,nt35510.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/display/panel/arm,versatile-tft-panel.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/display/panel/samsung,lms397kf04.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/display/dsi-controller.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/it_IT/kernel-hacking/hacking.rst:che questo venga accettato da Linus.
+Documentation/translations/it_IT/kernel-hacking/hacking.rst:Linus e gli altri sviluppatori a volte cambiano i nomi delle funzioni e
+Documentation/translations/it_IT/kernel-hacking/hacking.rst: /* Uh, actually Linus it is I who cannot spell. Too much murky
+Documentation/devicetree/bindings/display/panel/ilitek,ili9322.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/devicetree/bindings/display/panel/samsung,s6d16d0.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/ja_JP/stable_kernel_rules.txt: - パッチ自体か同等の修正が Linus のツリーに既に存在しなければならない。
+Documentation/translations/ja_JP/stable_kernel_rules.txt:  Linus のツリーでのコミットID を -stable へのパッチ投稿の際に引用す
+Documentation/translations/ja_JP/stable_kernel_rules.txt: が Linus のツリーに入る時に自動的に stable チームに email される。
+Documentation/translations/ko_KR/howto.rst:메인라인 트리는 Linus Torvalds가 관리하며 https://kernel.org 또는 소스
+Documentation/translations/ko_KR/howto.rst: 메인테이너들은 큰 diff들을 Linus에게 제출할 수 있다. 대개 이 패치들은
+Documentation/translations/ko_KR/howto.rst: 있지 않기 때문이다. -rc1이 배포된 이후에 git를 사용하여 패치들을 Linus에게
+Documentation/translations/ko_KR/howto.rst: - 새로운 -rc는 Linus가 현재 git tree가 테스트 하기에 충분히 안정된 상태에
+Documentation/translations/zh_TW/gpio.txt: Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/zh_TW/gpio.txt: Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/zh_TW/admin-guide/bug-hunting.rst:爲了幫助Linus和其他內核開發人員, ``klogd`` 對保護故障的處理提供了大量支持。
+Documentation/devicetree/bindings/display/panel/samsung,lms380kf01.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/it_IT/kernel-hacking/locking.rst:- ``Documentation/locking/spinlocks.rst``: la guida di Linus Torvalds agli
+Documentation/translations/zh_TW/process/4.Coding.rst:Linus對這個問題給出了最佳答案:
+Documentation/translations/zh_TW/process/volatile-considered-harmful.rst: (Linus的話)因爲解決這個問題比保持現狀要麻煩的多。
+Documentation/devicetree/bindings/display/panel/tpo,tpg110.yaml: - Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/zh_TW/process/7.AdvancedTopics.rst:內核使用分布式版本控制始於2002年初,當時Linus首次開始使用專有的Bitkeeper應用
+Documentation/translations/zh_TW/process/7.AdvancedTopics.rst:主題外的補丁可能會影響您將來讓樹被拉取的能力。引用Linus的話:
+Documentation/translations/zh_TW/process/kernel-enforcement-statement.rst: - Linus Torvalds
+Documentation/translations/zh_TW/process/kernel-enforcement-statement.rst: - Linus Walleij
+Documentation/translations/zh_TW/process/howto.rst: - Linus 的內核源碼樹
+Documentation/translations/zh_TW/process/howto.rst:主線樹是由Linus Torvalds 維護的。你可以在https://kernel.org 網站或者代碼
+Documentation/translations/zh_TW/process/howto.rst: 維護者可以向Linus提交大段的修改,通常這些修改已經被放到-mm內核中幾個
+Documentation/translations/zh_TW/process/howto.rst: 沒有造成內核退步的風險。在-rc1以後也可以用git向Linus提交補丁,不過所
+Documentation/translations/zh_TW/process/howto.rst: - 當Linus認爲當前的git源碼樹已經達到一個合理健全的狀態足以發布供人測試
+Documentation/translations/zh_TW/sparse.txt:Copyright 2004 Linus Torvalds
+Documentation/translations/zh_TW/process/embargoed-hardware-issues.rst: - Linus Torvalds(Linux基金會院士)
+Documentation/translations/ja_JP/SubmittingPatches: かの Linus Torvalds の取り扱い説明書
+Documentation/translations/ja_JP/SubmittingPatches:Linus Torvalds は Linux カーネルに入る全ての変更に対する最終的な意思決定者
+Documentation/translations/ja_JP/SubmittingPatches:必要としないパッチは Linus へ電子メールを送るか CC しなければなりません。
+Documentation/translations/ja_JP/SubmittingPatches:Linus へ送るべきです。
+Documentation/translations/ja_JP/SubmittingPatches:Linus 以外のカーネル開発者は変更に気づく必要があり、その結果、彼らはそ
+Documentation/translations/ja_JP/SubmittingPatches:Linus や他のカーネル開発者はあなたが投稿した変更を読んで、コメントでき
+Documentation/translations/ja_JP/SubmittingPatches:MIME 形式の添付ファイルは Linus に手間を取らせることになり、その変更を
+Documentation/translations/ja_JP/SubmittingPatches:パッチを Linus へ送るときは常に #7 の手順に従ってください。
+Documentation/translations/ja_JP/SubmittingPatches:パッチが最新バージョンのカーネルに正しく適用できなければ、Linus
+Documentation/translations/ja_JP/SubmittingPatches:パッチを投稿した後は、辛抱強く待っていてください。Linus があなたのパッ
+Documentation/translations/ja_JP/SubmittingPatches:チを気に入って採用すれば、Linus がリリースする次のバージョンのカーネル
+Documentation/translations/ja_JP/SubmittingPatches:Linus があなたのパッチに対して何のコメントもなく不採用にすることは極め
+Documentation/translations/ja_JP/SubmittingPatches:て普通のことです。それは自然な姿です。もし、Linus があなたのパッチを受
+Documentation/translations/ja_JP/SubmittingPatches:* Linus はたくさんの電子メールを受け取っているので、どさくさに紛れて見
+Documentation/translations/ja_JP/SubmittingPatches:Linus や LKML への大量の電子メールのために、サブジェクトのプレフィックスに
+Documentation/translations/ja_JP/SubmittingPatches:「 [PATCH] 」を付けることが慣習となっています。これによって Linus や他の
+Documentation/translations/ja_JP/SubmittingPatches:16) 「git pull」要求の送り方(Linus の電子メールから)
+Documentation/translations/ja_JP/SubmittingPatches: git://jdelvare.pck.nerim.net/jdelvare-2.6 i2c-for-linus
+Documentation/translations/ja_JP/SubmittingPatches:セクションを Linus のコンピュータ・サイエンス101と呼ぶでしょう。
+Documentation/translations/ja_JP/SubmittingPatches:Linus Torvalds's mail on the canonical patch format:
+Documentation/translations/zh_CN/process/1.Intro.rst:放入主线内核(“主线”是由Linus Torvalds维护的内核,Linux发行商将其用作基础)。
+Documentation/translations/zh_CN/process/2.Process.rst:合并窗口持续大约两周。在这段时间结束时,Linus Torvalds将声明窗口已关闭,并
+Documentation/translations/zh_CN/process/2.Process.rst:随着修复程序进入主线,补丁速度将随着时间的推移而变慢。Linus大约每周发布一次
+Documentation/translations/zh_CN/process/2.Process.rst:- 合并到主线。最终,一个成功的补丁将被合并到由LinusTorvalds管理的主线存储库
+Documentation/translations/zh_CN/process/2.Process.rst:只有一个人可以将补丁合并到主线内核存储库中:Linus Torvalds。但是,在进入
+Documentation/translations/zh_CN/process/2.Process.rst:2.6.38内核的9500多个补丁中,只有112个(大约1.3%)是由Linus自己直接选择的。
+Documentation/translations/zh_CN/process/2.Process.rst:当合并窗口打开时,顶级维护人员将要求Linus从存储库中“拉出”他们为合并选择
+Documentation/translations/zh_CN/process/2.Process.rst:的补丁。如果Linus同意,补丁流将流向他的存储库,成为主线内核的一部分。
+Documentation/translations/zh_CN/process/2.Process.rst:Linus对拉取中接收到的特定补丁的关注程度各不相同。很明显,有时他看起来很
+Documentation/translations/zh_CN/process/2.Process.rst:关注。但是一般来说,Linus相信子系统维护人员不会向上游发送坏补丁。
+Documentation/translations/zh_CN/process/2.Process.rst:显然,在这样的系统中,获取内核补丁取决于找到正确的维护者。直接向Linus发送
+Documentation/translations/zh_CN/process/2.Process.rst:发送到Linus。在典型的开发周期中,大约5-10%的补丁通过-mm 进入主线。
+Documentation/translations/zh_TW/process/submitting-patches.rst:Linus Torvalds 是決定改動能否進入 Linux 內核的最終裁決者。他的 e-mail
+Documentation/translations/zh_TW/process/submitting-patches.rst:Linus 和其他的內核開發者需要閱讀和評論你提交的改動。對於內核開發者來說
+Documentation/translations/zh_TW/process/submitting-patches.rst:代碼中加評論。另外,MIME 編碼的附件會讓 Linus 多花一點時間來處理,這就
+Documentation/translations/zh_TW/process/submitting-patches.rst:由於到linus和linux內核的電子郵件流量很高,通常會在主題行前面加上[PATCH]
+Documentation/translations/zh_TW/process/submitting-patches.rst:前綴. 這使Linus和其他內核開發人員更容易將補丁與其他電子郵件討論區分開。
+Documentation/translations/zh_TW/process/submitting-patches.rst: git://jdelvare.pck.nerim.net/jdelvare-2.6 i2c-for-linus
+Documentation/translations/zh_TW/process/submitting-patches.rst:一些維護人員(包括Linus)希望看到來自已簽名提交的請求;這增加了他們對你的
+Documentation/translations/zh_TW/process/submitting-patches.rst:請求信心。特別是,在沒有簽名標籤的情況下,Linus 不會從像 Github 這樣的公共
+Documentation/translations/zh_TW/process/submitting-patches.rst:Linus Torvalds's mail on the canonical patch format:
+Documentation/translations/zh_CN/process/6.Followthrough.rst:了Linus
+Documentation/translations/zh_CN/process/7.AdvancedTopics.rst:内核使用分布式版本控制始于2002年初,当时Linus首次开始使用专有的Bitkeeper应用
+Documentation/translations/zh_CN/process/7.AdvancedTopics.rst:主题外的补丁可能会影响您将来让树被拉取的能力。引用Linus的话:
+Documentation/translations/zh_CN/process/5.Posting.rst:必须针对内核的特定版本准备补丁。一般来说,补丁应该基于Linus的Git树中的当前
+Documentation/translations/zh_CN/process/5.Posting.rst:可以将补丁直接发给Linus Torvalds并让他合并,但通常情况下不会这样做。Linus
+Documentation/translations/zh_TW/process/5.Posting.rst:必須針對內核的特定版本準備補丁。一般來說,補丁應該基於Linus的Git樹中的當前
+Documentation/translations/zh_TW/process/5.Posting.rst:可以將補丁直接發給Linus Torvalds並讓他合併,但通常情況下不會這樣做。Linus
+Documentation/translations/zh_TW/process/stable-api-nonsense.rst:你這個吸血鬼<把Andrew和Linus對吸血鬼的定義連結到這裡>)。當你的代碼加入
+Documentation/translations/zh_TW/admin-guide/README.rst: Linux是Unix作業系統的克隆版本,由Linus Torvalds在一個鬆散的網絡黑客
+Documentation/translations/zh_CN/process/volatile-considered-harmful.rst: (Linus的话)因为解决这个问题比保持现状要麻烦的多。
+Documentation/translations/zh_CN/process/4.Coding.rst:Linus对这个问题给出了最佳答案:
+Documentation/translations/zh_TW/process/2.Process.rst:合併窗口持續大約兩周。在這段時間結束時,LinusTorvalds將聲明窗口已關閉,並
+Documentation/translations/zh_TW/process/2.Process.rst:隨著修復程序進入主線,補丁速度將隨著時間的推移而變慢。Linus大約每周發布一次
+Documentation/translations/zh_TW/process/2.Process.rst:- 合併到主線。最終,一個成功的補丁將被合併到由LinusTorvalds管理的主線存儲庫
+Documentation/translations/zh_TW/process/2.Process.rst:只有一個人可以將補丁合併到主線內核存儲庫中:LinusTorvalds。但是,在進入
+Documentation/translations/zh_TW/process/2.Process.rst:2.6.38內核的9500多個補丁中,只有112個(大約1.3%)是由Linus自己直接選擇的。
+Documentation/translations/zh_TW/process/2.Process.rst:當合併窗口打開時,頂級維護人員將要求Linus從存儲庫中「拉出」他們爲合併選擇
+Documentation/translations/zh_TW/process/2.Process.rst:的補丁。如果Linus同意,補丁流將流向他的存儲庫,成爲主線內核的一部分。
+Documentation/translations/zh_TW/process/2.Process.rst:Linus對拉取中接收到的特定補丁的關注程度各不相同。很明顯,有時他看起來很
+Documentation/translations/zh_TW/process/2.Process.rst:關注。但是一般來說,Linus相信子系統維護人員不會向上游發送壞補丁。
+Documentation/translations/zh_TW/process/2.Process.rst:顯然,在這樣的系統中,獲取內核補丁取決於找到正確的維護者。直接向Linus發送
+Documentation/translations/zh_TW/process/2.Process.rst:發送到Linus。在典型的開發周期中,大約5-10%的補丁通過-mm 進入主線。
+Documentation/translations/zh_CN/process/stable-api-nonsense.rst:你这个吸血鬼<把Andrew和Linus对吸血鬼的定义链接到这里>)。当你的代码加入
+Documentation/translations/zh_CN/process/kernel-enforcement-statement.rst: - Linus Torvalds
+Documentation/translations/zh_CN/process/kernel-enforcement-statement.rst: - Linus Walleij
+Documentation/translations/zh_CN/process/submitting-patches.rst:Linus Torvalds 是决定改动能否进入 Linux 内核的最终裁决者。他的 e-mail
+Documentation/translations/zh_CN/process/submitting-patches.rst:Linus 和其他的内核开发者需要阅读和评论你提交的改动。对于内核开发者来说
+Documentation/translations/zh_CN/process/submitting-patches.rst:代码中加评论。另外,MIME 编码的附件会让 Linus 多花一点时间来处理,这就
+Documentation/translations/zh_CN/process/submitting-patches.rst:由于到linus和linux内核的电子邮件流量很高,通常会在主题行前面加上[PATCH]
+Documentation/translations/zh_CN/process/submitting-patches.rst:前缀. 这使Linus和其他内核开发人员更容易将补丁与其他电子邮件讨论区分开。
+Documentation/translations/zh_CN/process/submitting-patches.rst: git://jdelvare.pck.nerim.net/jdelvare-2.6 i2c-for-linus
+Documentation/translations/zh_CN/process/submitting-patches.rst:一些维护人员(包括Linus)希望看到来自已签名提交的请求;这增加了他们对你的
+Documentation/translations/zh_CN/process/submitting-patches.rst:请求信心。特别是,在没有签名标签的情况下,Linus 不会从像 Github 这样的公共
+Documentation/translations/zh_CN/process/submitting-patches.rst:Linus Torvalds's mail on the canonical patch format:
+Documentation/translations/zh_CN/process/howto.rst: - Linus 的内核源码树
+Documentation/translations/zh_CN/process/howto.rst:主线树是由Linus Torvalds 维护的。你可以在https://kernel.org 网站或者代码
+Documentation/translations/zh_CN/process/howto.rst: 维护者可以向Linus提交大段的修改,通常这些修改已经被放到-mm内核中几个
+Documentation/translations/zh_CN/process/howto.rst: 没有造成内核退步的风险。在-rc1以后也可以用git向Linus提交补丁,不过所
+Documentation/translations/zh_CN/process/howto.rst: - 当Linus认为当前的git源码树已经达到一个合理健全的状态足以发布供人测试
+Documentation/translations/zh_TW/process/1.Intro.rst:放入主線內核(「主線」是由Linus Torvalds維護的內核,Linux發行商將其用作基礎)。
+Documentation/translations/zh_CN/process/embargoed-hardware-issues.rst: - Linus Torvalds(Linux基金会院士)
+Documentation/translations/zh_CN/kernel-hacking/hacking.rst:``include/asm/unistd.h`` 和 ``arch/kernel/entry.S`` 文件里,而且更容易被Linus
+Documentation/translations/zh_CN/kernel-hacking/hacking.rst:Linus和其他开发人员有时会更改开发内核中的函数或结构体名称;这样做不仅是为了
+Documentation/translations/zh_CN/kernel-hacking/hacking.rst: /* Uh, actually Linus it is I who cannot spell. Too much murky
+Documentation/translations/zh_TW/process/6.Followthrough.rst:了Linus
+Documentation/translations/zh_CN/oops-tracing.txt:注意:以下来自于Linus的邮件适用于2.4内核。 我因为历史原因保留了它,并且因为其中
+Documentation/translations/zh_CN/oops-tracing.txt:From: Linus Torvalds <torvalds@osdl.org>
+Documentation/translations/zh_CN/oops-tracing.txt: Linus
+Documentation/translations/zh_CN/oops-tracing.txt:为了帮助Linus和其它内核开发者,klogd纳入了大量的支持来处理保护错误。为了拥有对
+Documentation/translations/zh_TW/admin-guide/reporting-issues.rst:Linus Torvalds和主要的Linux內核開發人員希望看到一些問題儘快得到解決,因此在
+Documentation/translations/zh_TW/admin-guide/reporting-issues.rst:Linux 首席開發者 Linus Torvalds 認爲 Linux 內核永遠不應惡化,這就是爲什麼他
+Documentation/translations/zh_TW/admin-guide/reporting-issues.rst:這可能是一種罕見的、可以讓 Linus Torvalds 參與進來的情況。
+Documentation/translations/zh_TW/admin-guide/reporting-issues.rst:重問題)才一定會得到解決。如果維護者或其他人都失敗了,Linus Torvalds 他自己
+Documentation/translations/zh_CN/admin-guide/README.rst: Linux是Unix操作系统的克隆版本,由Linus Torvalds在一个松散的网络黑客
+Documentation/translations/zh_CN/gpio.txt: Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/zh_CN/gpio.txt: Linus Walleij <linus.walleij@linaro.org>
+Documentation/translations/ja_JP/howto.rst:4.x カーネルは Linus Torvalds によってメンテナンスされ、
+Documentation/translations/ja_JP/howto.rst: この期間中に、メンテナ達は Linus に大きな差分を送ることができます。
+Documentation/translations/ja_JP/howto.rst: Linus へパッチを送付するのに git を使うこともできますが、パッチは
+Documentation/translations/ja_JP/howto.rst: - 新しい -rc は Linus が、最新の git ツリーがテスト目的であれば十分
+Documentation/translations/zh_CN/maintainer/pull-requests.rst:来自Greg Kroah Hartman和Linus Torvalds在LKML上的评论。Jonathan Corbet和Mauro
+Documentation/translations/zh_CN/maintainer/pull-requests.rst:Linus只接受基于签名过的标记的拉取请求。其他维护者可能会有所不同。
+Documentation/translations/zh_CN/maintainer/pull-requests.rst:正如Linus所说::
+Documentation/translations/zh_CN/maintainer/pull-requests.rst: Linus
+Documentation/translations/zh_CN/maintainer/pull-requests.rst: 例子中指向了我从Linus的树分叉的地方,通常是-rc发布)的差异,并去使用
+Documentation/translations/zh_CN/maintainer/pull-requests.rst:Linus回复说他倾向于 ``git://`` 协议。其他维护者可能有不同的偏好。另外,请注意
+Documentation/translations/zh_CN/maintainer/pull-requests.rst:任何必要特定子系统的列表。对Linus的拉取请求通常有如下主题行::
+Documentation/translations/zh_CN/maintainer/rebasing-and-merging.rst:合并窗口麻烦的一个常见原因是,Linus收到了一个明显在拉取请求发送之前不久才变根
+Documentation/translations/zh_CN/maintainer/rebasing-and-merging.rst:尤其如此:Linus坚信他更愿意看到合并冲突,而不是不必要的反向合并。看到冲突
+Documentation/translations/zh_CN/maintainer/rebasing-and-merging.rst:的一步是在拉取请求中提示Linus会发生冲突;如果啥都没说则表明您的分支可以正常
+Documentation/translations/zh_TW/oops-tracing.txt:注意:以下來自於Linus的郵件適用於2.4內核。 我因爲歷史原因保留了它,並且因爲其中
+Documentation/translations/zh_TW/oops-tracing.txt:From: Linus Torvalds <torvalds@osdl.org>
+Documentation/translations/zh_TW/oops-tracing.txt: Linus
+Documentation/translations/zh_TW/oops-tracing.txt:爲了幫助Linus和其它內核開發者,klogd納入了大量的支持來處理保護錯誤。爲了擁有對
+Documentation/translations/zh_CN/dev-tools/sparse.rst:Copyright 2004 Linus Torvalds
+Documentation/translations/zh_CN/admin-guide/reporting-issues.rst:Linus Torvalds和主要的Linux内核开发人员希望看到一些问题尽快得到解决,因此在
+Documentation/translations/zh_CN/admin-guide/reporting-issues.rst:Linux 首席开发者 Linus Torvalds 认为 Linux 内核永远不应恶化,这就是为什么他
+Documentation/translations/zh_CN/admin-guide/reporting-issues.rst:这可能是一种罕见的、可以让 Linus Torvalds 参与进来的情况。
+Documentation/translations/zh_CN/admin-guide/reporting-issues.rst:重问题)才一定会得到解决。如果维护者或其他人都失败了,Linus Torvalds 他自己
+Documentation/translations/ja_JP/stable_api_nonsense.txt:と Linus からのコメント<Andrew と Linus のコメントへのリンクをこ
+Documentation/translations/zh_CN/admin-guide/bug-hunting.rst:为了帮助Linus和其他内核开发人员, ``klogd`` 对保护故障的处理提供了大量支持。
+drivers/clk/clk-gemini.c: * Copyright (c) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/clk/clk-nomadik.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/net/ethernet/cortina/gemini.h: * Copytight (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/net/ethernet/cortina/gemini.c: * Linus Walleij <linus.walleij@linaro.org>
+drivers/net/ethernet/cortina/gemini.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/net/dsa/vitesse-vsc73xx-spi.c: * Copyright (C) 2018 Linus Wallej <linus.walleij@linaro.org>
+drivers/net/dsa/vitesse-vsc73xx-spi.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/net/dsa/vitesse-vsc73xx-platform.c: * Copyright (C) 2018 Linus Wallej <linus.walleij@linaro.org>
+drivers/net/dsa/realtek-smi-core.h: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/net/dsa/realtek-smi-core.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/net/dsa/rtl8366.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/net/dsa/vitesse-vsc73xx-core.c: * Copyright (C) 2018 Linus Wallej <linus.walleij@linaro.org>
+drivers/net/dsa/vitesse-vsc73xx-core.c:MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+drivers/clk/versatile/clk-impd1.c: * Copyright (C) 2012-2013 Linus Walleij
+drivers/clk/versatile/clk-impd1.c:MODULE_AUTHOR("Linus Walleij <linusw@kernel.org>");
+drivers/clk/versatile/clk-versatile.c: * Copyright (C) 2012 Linus Walleij
+drivers/net/dsa/rtl8366rb.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/clk/versatile/clk-icst.c: * Copyright (C) 2012-2015 Linus Walleij
+drivers/net/hamradio/baycom_ser_fdx.c: * 0.7 03.08.1999 adapt to Linus' new __setup/__initcall
+drivers/net/hamradio/baycom_epp.c: * 0.5 03.08.1999 adapt to Linus' new __setup/__initcall
+drivers/net/hamradio/baycom_ser_hdx.c: * 0.7 03.08.1999 adapt to Linus' new __setup/__initcall
+drivers/net/hamradio/baycom_par.c: * 0.6 03.08.1999 adapt to Linus' new __setup/__initcall
+drivers/net/sb1000.c: Linus changed the timer interface. Should work on all recent
+drivers/clk/ux500/reset-prcc.c: * Copyright (C) 2021 Linus Walleij <linus.walleij@linaro.org>
+drivers/soc/versatile/soc-realview.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/soc/versatile/soc-integrator.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/soc/gemini/soc-gemini.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+drivers/clocksource/nomadik-mtu.c: * Copyright (C) 2010 Linus Walleij for ST-Ericsson
+include/asm-generic/tlb.h: * Based on code from mm/memory.c Copyright Linus Torvalds and others.
+drivers/clocksource/timer-fttmr010.c: * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org>
+drivers/clocksource/timer-ixp4xx.c: * Copyright (C) 2019 Linus Walleij <linus.walleij@linaro.org>
+drivers/clocksource/clksrc-dbx500-prcmu.c: * plat-nomadik/timer.c Linus Walleij <linus.walleij@stericsson.com>
+fs/bfs/inode.c: * From fs/minix, Copyright (C) 1991, 1992 Linus Torvalds.
+fs/ext2/inode.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext2/inode.c: * Linus?
+fs/hugetlbfs/inode.c: * Copyright (C) 2002 Linus Torvalds.
+arch/x86/kernel/irq_64.c: * Copyright (C) 1992, 1998 Linus Torvalds, Ingo Molnar
+arch/x86/kernel/irq_32.c: * Copyright (C) 1992, 1998 Linus Torvalds, Ingo Molnar
+arch/x86/kernel/dumpstack_32.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/kernel/setup.c: * Copyright (C) 1995 Linus Torvalds
+arch/x86/kernel/process_64.c: * Copyright (C) 1995 Linus Torvalds
+arch/x86/kernel/dumpstack.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/kernel/dumpstack.c: * There are a couple of reasons for the 2/3rd prologue, courtesy of Linus:
+arch/x86/kernel/process_32.c: * Copyright (C) 1995 Linus Torvalds
+arch/x86/kernel/head_32.S: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/kernel/time.c: * Copyright (c) 1991,1992,1995 Linus Torvalds
+arch/x86/kernel/vm86_32.c: * Copyright (C) 1994 Linus Torvalds
+arch/x86/kernel/fpu/core.c: * Copyright (C) 1994 Linus Torvalds
+arch/x86/kernel/signal.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/kernel/cpu/bugs.c: * Copyright (C) 1994 Linus Torvalds
+arch/x86/kernel/ioport.c: * by Linus. 32/64 bits code unification by Miguel Botón.
+arch/x86/kernel/nmi.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/kernel/dumpstack_64.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/kernel/ldt.c: * Copyright (C) 1992 Krishna Balasubramanian and Linus Torvalds
+arch/x86/kernel/traps.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/math-emu/README:the original Linux math emulator by Linus Torvalds.
+arch/x86/math-emu/README: [ Linus' note: I changed look-ahead to be the default under linux, as
+arch/x86/math-emu/README:Linus Torvalds
+arch/x86/math-emu/fpu_entry.c: Changes to support them provided by Linus Torvalds. */
+net/batman-adv/bat_v.h: * Marek Lindner, Linus Lüssing
+net/batman-adv/bat_v.c: * Linus Lüssing, Marek Lindner
+net/batman-adv/multicast.h: * Linus Lüssing
+net/batman-adv/multicast.c: * Linus Lüssing
+net/batman-adv/bat_v_elp.h: * Linus Lüssing, Marek Lindner
+net/batman-adv/bat_v_elp.c: * Linus Lüssing, Marek Lindner
+net/batman-adv/bat_algo.h: * Marek Lindner, Linus Lüssing
+fs/ext2/symlink.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext2/dir.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext2/file.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext2/namei.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext2/ext2.h: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext2/super.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/boot.h: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/tty.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/string.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/video-bios.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/main.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/Makefile:# Copyright (C) 1994 by Linus Torvalds
+arch/x86/boot/a20.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/tools/build.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/install.sh:# Copyright (C) 1995 by Linus Torvalds
+arch/x86/boot/video.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/header.S: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/video-vesa.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/video-mode.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/printf.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/bitops.h: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/pmjump.S: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/memory.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/video-vga.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/version.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/copy.S: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/cpu.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/video.h: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/pm.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/cpucheck.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/edd.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/apm.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/cmdline.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/boot/compressed/head_32.S: * Copyright (C) 1991, 1992, 1993 Linus Torvalds
+arch/x86/boot/compressed/head_64.S: * Copyright (C) 1991, 1992, 1993 Linus Torvalds
+arch/x86/lib/usercopy_64.c: * Copyright 1997 Linus Torvalds
+arch/x86/lib/delay.c: * Copyright (C) 1993 Linus Torvalds
+arch/x86/lib/getuser.S: * (C) Copyright 1998 Linus Torvalds
+arch/x86/lib/usercopy_32.c: * Copyright 1997 Linus Torvalds
+arch/x86/lib/putuser.S: * (C) Copyright 2005 Linus Torvalds
+arch/x86/ia32/ia32_aout.c: * Copyright (C) 1991, 1992, 1996 Linus Torvalds
+arch/x86/ia32/ia32_signal.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/entry/entry_32.S: * Copyright (C) 1991,1992 Linus Torvalds
+arch/x86/entry/entry_64.S: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/include/asm/hw_irq.h: * (C) 1992, 1993 Linus Torvalds, (C) 1997 Ingo Molnar
+arch/x86/include/asm/bitops.h: * Copyright 1992, Linus Torvalds.
+arch/x86/include/asm/io.h: * Linus
+arch/x86/include/asm/sync_bitops.h: * Copyright 1992, Linus Torvalds.
+arch/x86/include/asm/thread_info.h: * - Incorporating suggestions made by Linus Torvalds and Dave Miller
+arch/x86/include/asm/irq.h: * (C) 1992, 1993 Linus Torvalds, (C) 1997 Ingo Molnar
+arch/x86/include/asm/stacktrace.h: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/x86/include/asm/fpu/api.h: * Copyright (C) 1994 Linus Torvalds
+arch/x86/include/uapi/asm/vm86.h: * Linus
+arch/x86/realmode/rm/trampoline_64.S: * Trampoline.S Derived from Setup.S by Linus Torvalds
+arch/x86/realmode/rm/trampoline_32.S: * Trampoline.S Derived from Setup.S by Linus Torvalds
+arch/x86/entry/vdso/vdso32-setup.c: * (C) Copyright 2002 Linus Torvalds
+arch/x86/mm/init_64.c: * Copyright (C) 1995 Linus Torvalds
+arch/x86/mm/tlb.c: * c/o Linus Torvalds.
+arch/x86/mm/init_32.c: * Copyright (C) 1995 Linus Torvalds
+arch/x86/mm/fault.c: * Copyright (C) 1995 Linus Torvalds
+arch/x86/mm/ioremap.c: * (C) Copyright 1995 1996 Linus Torvalds
+fs/hfs/inode.c: * Based on the minix file system code, (C) 1991, 1992 by Linus Torvalds
+fs/hfs/catalog.c: * linux/fs/inode.c Copyright (C) 1991, 1992 Linus Torvalds
+fs/hfs/catalog.c: * re-shamelessly stolen Copyright (C) 1997 Linus Torvalds
+fs/hfs/super.c: * Based on the minix file system code, (C) 1991, 1992 by Linus Torvalds
+fs/hfs/dir.c: * Based on the minix file system code, (C) 1991, 1992 by Linus Torvalds
+fs/buffer.c: * Copyright (C) 1991, 1992, 2002 Linus Torvalds
+fs/open.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/nfs/dir.c: * Following Linus comments on my original hack, this version
+fs/nfs/read.c: * Partial copy of Linus' read cache modifications to fs/nfs/file.c
+fs/nfs/file.c: * Total rewrite of read side for new NFS buffer cache.. Linus.
+fs/nfs/nfsroot.c: * Linus so that I don' always have to cleanup
+fs/char_dev.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/proc/inode.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/proc/kmsg.c: * Copyright (C) 1992 by Linus Torvalds
+fs/proc/generic.c: * Copyright (C) 1991, 1992 Linus Torvalds.
+fs/proc/root.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/proc/base.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/jfs/acl.c: * Copyright (C) Linus Torvalds, 1991, 1992
+fs/proc/array.c: * Copyright (C) 1992 by Linus Torvalds
+fs/inode.c: * (C) 1997 Linus Torvalds
+fs/splice.c: * Named by Larry McVoy, original implementation from Linus, extended by
+fs/splice.c: * Copyright (C) 2005-2006 Linus Torvalds <torvalds@osdl.org>
+fs/mpage.c: * Copyright (C) 2002, Linus Torvalds.
+fs/readdir.c: * Copyright (C) 1995 Linus Torvalds
+mm/vmscan.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+fs/affs/inode.c: * (C) 1991 Linus Torvalds - minix filesystem
+fs/affs/symlink.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/minix/inode.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/affs/dir.c: * (C) 1991 Linus Torvalds - minix filesystem
+fs/affs/super.c: * (C) 1991 Linus Torvalds - minix filesystem
+fs/minix/dir.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/affs/namei.c: * (C) 1991 Linus Torvalds - minix filesystem
+fs/minix/file.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/minix/bitmap.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/minix/namei.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/affs/file.c: * (C) 1991 Linus Torvalds - minix filesystem
+mm/fadvise.c: * Copyright (C) 2002, Linus Torvalds
+fs/attr.c: * Copyright (C) 1991, 1992 Linus Torvalds
+mm/readahead.c: * Copyright (C) 2002, Linus Torvalds
+fs/ioctl.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/befs/ChangeLog:* Anton Altaparmakov figured out (by asking Linus :) ) what was causing the
+fs/exec.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext4/symlink.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext4/indirect.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext4/indirect.c: * Linus?
+fs/ext4/fsync.c: * linux/fs/minix/truncate.c Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext4/inode.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext4/ext4.h: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext4/dir.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext4/readpage.c: * Copyright (C) 2002, Linus Torvalds.
+fs/ext4/file.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext4/super.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ext4/namei.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ocfs2/dlmfs/dlmfs.c: * Copyright (C) 2000 Linus Torvalds.
+fs/ocfs2/dir.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/direct-io.c: * Copyright (C) 2002, Linus Torvalds.
+fs/sysv/ialloc.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/sysv/inode.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/super.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/sysv/balloc.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/sysv/dir.c: * Copyright (C) 1991, 1992 Linus Torvalds
+mm/swapfile.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+mm/truncate.c: * Copyright (C) 2002, Linus Torvalds
+fs/sysv/super.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/sysv/file.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/sysv/namei.c: * Copyright (C) 1991, 1992 Linus Torvalds
+mm/vmalloc.c: * Copyright (C) 1993 Linus Torvalds
+fs/read_write.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/romfs/super.c: * Copyright © 1991, 1992 Linus Torvalds
+fs/isofs/inode.c: * (C) 1991 Linus Torvalds - minix filesystem
+fs/isofs/namei.c: * (C) 1991 Linus Torvalds - minix filesystem
+fs/isofs/dir.c: * (C) 1991 Linus Torvalds - minix filesystem
+fs/file_table.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/cramfs/uncompress.c: * (C) Copyright 1999 Linus Torvalds
+fs/cramfs/inode.c: * Copyright (C) 1999 Linus Torvalds.
+mm/msync.c: * Copyright (C) 1994-1999 Linus Torvalds
+fs/pipe.c: * Copyright (C) 1991, 1992, 1999 Linus Torvalds
+fs/fs-writeback.c: * Copyright (C) 2002, Linus Torvalds.
+mm/mlock.c: * (C) Copyright 1995 Linus Torvalds
+fs/namespace.c: * Based on code from fs/super.c, copyright Linus Torvalds and others.
+mm/mremap.c: * (C) Copyright 1996 Linus Torvalds
+fs/signalfd.c: * Copyright (C) 2003 Linus Torvalds
+mm/highmem.c: * based on Linus' idea.
+fs/select.c: * patches by Peter MacDonald. Heavily edited by Linus.
+mm/vmstat.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+fs/nilfs2/super.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/nilfs2/dir.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/nilfs2/namei.c: * Copyright (C) 1991, 1992 Linus Torvalds
+mm/page_io.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+mm/memory.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+mm/memory.c: * things wanted, and it should be easy to implement. - Linus
+mm/memory.c: * pages started 02.12.91, seems to work. - Linus.
+mm/filemap.c: * Copyright (C) 1994-1999 Linus Torvalds
+mm/page-writeback.c: * Copyright (C) 2002, Linus Torvalds.
+net/ipv6/mcast_snoop.c: * Copyright (C) 2015: Linus Lüssing <linus.luessing@c0d3.blue>
+mm/mincore.c: * Copyright (C) 1994-2006 Linus Torvalds
+mm/shmem.c: * Copyright (C) 2000 Linus Torvalds.
+net/core/skbuff.c: * Linus Torvalds : Better skb_clone.
+net/core/skbuff.c: * Alan Cox : Added all the changed routines Linus
+mm/pgtable-generic.c: * Copyright (C) 2010 Linus Torvalds
+net/core/datagram.c: * Linus Torvalds : BSD semantic fixes.
+mm/ioremap.c: * (C) Copyright 1995 1996 Linus Torvalds
+net/dsa/tag_rtl4_a.c: * Copyright (c) 2020 Linus Walleij <linus.walleij@linaro.org>
+mm/madvise.c: * Copyright (C) 1999 Linus Torvalds
+mm/mprotect.c: * (C) Copyright 1994 Linus Torvalds
+mm/swap_state.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+mm/swap.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+mm/page_alloc.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+net/unix/af_unix.c: * Linus Torvalds : Assorted bug cures.
+mm/early_ioremap.c: * (C) Copyright 1995 1996, 2014 Linus Torvalds
+fs/stat.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/adfs/file.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/dcache.c: * with heavy changes by Linus Torvalds
+fs/namei.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/binfmt_aout.c: * Copyright (C) 1991, 1992, 1996 Linus Torvalds
+net/ipv4/tcp_input.c: * Linus Torvalds, <torvalds@cs.helsinki.fi>
+net/ipv4/arp.c: * Ack spit, Linus how did you allow that
+net/ipv4/ip_input.c: * Linus Torvalds : More robustness checks
+net/ipv4/ip_input.c: * Linus Torvalds/ : Memory leakage on fragmentation
+net/ipv4/tcp_minisocks.c: * Linus Torvalds, <torvalds@cs.helsinki.fi>
+net/ipv4/tcp_output.c: * Linus Torvalds, <torvalds@cs.helsinki.fi>
+net/ipv4/tcp_output.c: * Linus Torvalds : send_delayed_ack
+net/ipv4/tcp.c: * Linus Torvalds, <torvalds@cs.helsinki.fi>
+net/ipv4/tcp.c: * Linus : Rewrote tcp_read() and URG handling
+net/ipv4/tcp.c: * Linus Torvalds : Fin/Shutdown & copied_seq changes.
+net/ipv4/tcp.c: * Linus Torvalds : Fixed BSD port reuse to work first syn
+net/ipv4/route.c: * Linus Torvalds, <Linus.Torvalds@helsinki.fi>
+net/ipv4/route.c: * Linus Torvalds : Rewrote bits to be sensible
+net/ipv4/tcp_timer.c: * Linus Torvalds, <torvalds@cs.helsinki.fi>
+fs/filesystems.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/powerpc/Makefile:# Copyright (C) 1994 by Linus Torvalds
+arch/powerpc/boot/install.sh:# Copyright (C) 1995 by Linus Torvalds
+arch/powerpc/kernel/ptrace/ptrace32.c: * linux/kernel/ptrace.c is by Ross Biro 1/23/92, edited by Linus Torvalds
+arch/powerpc/kernel/ptrace/ptrace.c: * linux/kernel/ptrace.c is by Ross Biro 1/23/92, edited by Linus Torvalds
+arch/powerpc/kernel/irq.c: * Copyright (C) 1992 Linus Torvalds
+arch/powerpc/kernel/iomap.c: * (C) Copyright 2004 Linus Torvalds
+arch/powerpc/kernel/signal_32.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/powerpc/kernel/process.c: * Copyright (C) 1995 Linus Torvalds
+arch/powerpc/kernel/signal_64.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ramfs/inode.c: * Copyright (C) 2000 Linus Torvalds.
+fs/ufs/inode.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/powerpc/platforms/cell/setup.c: * Copyright (C) 1995 Linus Torvalds
+fs/ramfs/file-mmu.c: * Copyright (C) 2000 Linus Torvalds.
+fs/ufs/super.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/ufs/file.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/powerpc/platforms/pseries/setup.c: * Copyright (C) 1995 Linus Torvalds
+arch/powerpc/platforms/pseries/firmware.c: * Copyright (C) 1995 Linus Torvalds
+fs/ufs/namei.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/powerpc/platforms/8xx/m8xx_setup.c: * Copyright (C) 1995 Linus Torvalds
+arch/powerpc/platforms/powermac/setup.c: * Copyright (C) 1995 Linus Torvalds
+arch/powerpc/platforms/chrp/time.c: * Copyright (C) 1991, 1992, 1995 Linus Torvalds
+arch/powerpc/platforms/chrp/setup.c: * Copyright (C) 1995 Linus Torvalds
+fs/fcntl.c: * Copyright (C) 1991, 1992 Linus Torvalds
+fs/binfmt_flat.c: * Copyright (C) 1991, 1992, 1996 Linus Torvalds
+arch/alpha/lib/divide.S: * (C) 1995 Linus Torvalds
+net/socket.c: * Linus : Argh. removed all the socket allocation
+arch/mips/kernel/signal-common.h: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/mips/kernel/irq.c: * Copyright (C) 1992 Linus Torvalds
+arch/mips/kernel/ptrace32.c: * Copyright (C) Linus Torvalds
+arch/mips/kernel/signal_o32.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/mips/kernel/setup.c: * Copyright (C) 1995 Linus Torvalds
+arch/mips/kernel/signal32.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/mips/kernel/ptrace.c: * Copyright (C) Linus Torvalds
+arch/mips/kernel/signal.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/alpha/lib/csum_partial_copy.c: * (C) Copyright 1996 Linus Torvalds
+arch/alpha/lib/udelay.c: * Copyright (C) 1993, 2000 Linus Torvalds
+arch/mips/boot/compressed/Makefile:# Copyright (C) 1994 by Linus Torvalds
+arch/alpha/lib/memcpy.c: * Copyright (C) 1995 Linus Torvalds
+arch/alpha/lib/memset.S: * (C) Copyright 1996 Linus Torvalds
+arch/alpha/Makefile:# Copyright (C) 1994 by Linus Torvalds
+arch/alpha/kernel/process.c: * Copyright (C) 1995 Linus Torvalds
+arch/mips/jazz/irq.c: * Copyright (C) 1992 Linus Torvalds
+arch/alpha/kernel/sys_jensen.c: * Copyright (C) 1995 Linus Torvalds
+arch/alpha/kernel/rtc.c: * Copyright (C) 1991, 1992, 1995, 1999, 2000 Linus Torvalds
+arch/alpha/kernel/irq.c: * Copyright (C) 1995 Linus Torvalds
+arch/alpha/kernel/setup.c: * Copyright (C) 1995 Linus Torvalds
+arch/alpha/kernel/time.c: * Copyright (C) 1991, 1992, 1995, 1999, 2000 Linus Torvalds
+arch/alpha/kernel/osf_sys.c: * Copyright (C) 1995 Linus Torvalds
+arch/mips/lib/iomap-pci.c: * (C) Copyright 2004 Linus Torvalds
+arch/alpha/kernel/irq_impl.h: * Copyright (C) 1995 Linus Torvalds
+arch/alpha/kernel/ptrace.c:/* edited by Linus Torvalds */
+arch/alpha/kernel/signal.c: * Copyright (C) 1995 Linus Torvalds
+arch/alpha/kernel/traps.c: * (C) Copyright 1994 Linus Torvalds
+arch/alpha/lib/fpreg.c: * (C) Copyright 1998 Linus Torvalds
+arch/alpha/boot/Makefile:# Copyright (C) 1994 by Linus Torvalds
+arch/alpha/boot/bootpz.c: * based significantly on the arch/alpha/boot/main.c of Linus Torvalds
+arch/alpha/boot/main.c: * Copyright (C) 1994, 1995 Linus Torvalds
+arch/mips/dec/time.c: * Copyright (C) 1991, 1992, 1995 Linus Torvalds
+arch/alpha/boot/bootp.c: * based significantly on the arch/alpha/boot/main.c of Linus Torvalds
+arch/mips/include/asm/mach-generic/ide.h: * Copyright (C) 1994-1996 Linus Torvalds & authors
+arch/mips/include/asm/thread_info.h: * - Incorporating suggestions made by Linus Torvalds and Dave Miller
+arch/mips/mm/ioremap.c: * (C) Copyright 1995 1996 Linus Torvalds
+arch/mips/sni/irq.c: * Copyright (C) 1992 Linus Torvalds
+arch/alpha/include/asm/bitops.h: * Copyright 1994, Linus Torvalds.
+arch/alpha/include/asm/mmu_context.h: * Copyright (C) 1996, Linus Torvalds
+arch/alpha/include/asm/irq.h: * (C) 1994 Linus Torvalds
+arch/alpha/include/asm/bugs.h: * Copyright (C) 1994 Linus Torvalds
+arch/alpha/include/asm/processor.h: * Copyright (C) 1994 Linus Torvalds
+arch/alpha/mm/fault.c: * Copyright (C) 1995 Linus Torvalds
+arch/arm/kernel/tcm.c: * Author: Linus Walleij <linus.walleij@stericsson.com>
+arch/arm/kernel/irq.c: * Copyright (C) 1992 Linus Torvalds
+arch/arm/kernel/time.c: * Copyright (C) 1991, 1992, 1995 Linus Torvalds
+arch/arm/kernel/ptrace.c: * edited by Linus Torvalds
+arch/arm/kernel/process.c: * Original Copyright (C) 1995 Linus Torvalds
+arch/arm/kernel/reboot.c: * Original Copyright (C) 1995 Linus Torvalds
+arch/arm/kernel/traps.c: * Fragments that appear the same as linux/arch/i386/kernel/traps.c (C) Linus Torvalds
+arch/arm/boot/install.sh:# Copyright (C) 1995 by Linus Torvalds
+arch/arm/boot/dts/kirkwood-pogoplug-series-4.dts: * Copyright (C) 2015 Linus Walleij <linus.walleij@linaro.org>
+arch/arm/lib/getuser.S: * Idea from x86 version, (C) Copyright 1998 Linus Torvalds
+arch/arm/lib/putuser.S: * Idea from x86 version, (C) Copyright 1998 Linus Torvalds
+arch/arm/mach-realview/realview-dt.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+arch/arm/mach-realview/platsmp-dt.c: * Copyright (C) 2015 Linus Walleij
+arch/arm/mm/fault.c: * Copyright (C) 1995 Linus Torvalds
+arch/arm/mm/fault-armv.c: * Copyright (C) 1995 Linus Torvalds
+arch/arm/mm/kasan_init.c: * Author: Linus Walleij <linus.walleij@linaro.org>
+arch/arm/mm/ioremap.c: * (C) Copyright 1995 1996 Linus Torvalds
+arch/arm/mm/tcm.h: * Author: Linus Walleij <linus.walleij@stericsson.com>
+arch/arm/mm/alignment.c: * Copyright (C) 1995 Linus Torvalds
+arch/arm/include/asm/tcm.h: * Author: Linus Walleij <linus.walleij@stericsson.com>
+arch/arm/include/asm/bitops.h: * Linus Torvalds (test_bit).
+arch/arm/include/asm/ide.h: * Copyright (C) 1994-1996 Linus Torvalds & authors
+arch/alpha/mm/init.c: * Copyright (C) 1995 Linus Torvalds
+arch/ia64/install.sh:# Copyright (C) 1995 by Linus Torvalds
+arch/ia64/kernel/irq.c: * Copyright (C) 1992, 1998 Linus Torvalds, Ingo Molnar
+arch/ia64/include/asm/elf.h: * place to do this, but we should discuss this with Linus once we can
+arch/powerpc/include/asm/ide.h: * Copyright (C) 1994-1996 Linus Torvalds & authors
+arch/powerpc/include/asm/thread_info.h: * - Incorporating suggestions made by Linus Torvalds and Dave Miller
+arch/powerpc/mm/pgtable_64.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/init_64.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/book3s32/mmu_context.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/book3s32/tlb.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/fault.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/um/kernel/irq.c: * Copyright (C) 1992, 1998 Linus Torvalds, Ingo Molnar
+arch/powerpc/mm/book3s32/mmu.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/mmu_decl.h: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/mem.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/init_32.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/init-common.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/book3s64/hash_tlb.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/pgtable_32.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/pgtable.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/nohash/fsl_book3e.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/nohash/40x.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/nohash/44x.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/powerpc/mm/nohash/tlb.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/sh/kernel/process_32.c: * Copyright (C) 1995 Linus Torvalds
+arch/sh/kernel/dumpstack.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/sh/kernel/irq.c: * Copyright (C) 1992, 1998 Linus Torvalds, Ingo Molnar
+arch/sh/kernel/signal_32.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/xtensa/kernel/setup.c: * Copyright (C) 1995 Linus Torvalds
+arch/xtensa/kernel/irq.c: * Copyright (C) 1992, 1998 Linus Torvalds, Ingo Molnar
+arch/xtensa/kernel/signal.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/sh/mm/fault.c: * Copyright (C) 1995 Linus Torvalds
+arch/sh/mm/init.c: * Copyright (C) 1995 Linus Torvalds
+arch/sh/mm/ioremap.c: * (C) Copyright 1995 1996 Linus Torvalds
+arch/sh/include/asm/thread_info.h: * - Incorporating suggestions made by Linus Torvalds and Dave Miller
+arch/microblaze/kernel/ptrace.c: * Copyright (C) Linus Torvalds
+arch/microblaze/kernel/signal.c: * Copyright (C) 1991,1992 Linus Torvalds
+arch/microblaze/mm/fault.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/microblaze/mm/mmu_context.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/h8300/include/asm/bitops.h: * Copyright 1992, Linus Torvalds.
+arch/h8300/include/asm/thread_info.h: * - Incorporating suggestions made by Linus Torvalds and Dave Miller
+arch/microblaze/mm/pgtable.c: * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
+arch/microblaze/pci/iomap.c: * (C) Copyright 2004 Linus Torvalds
+arch/h8300/kernel/signal.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/nios2/kernel/signal.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/nios2/boot/install.sh:# Copyright (C) 1995 by Linus Torvalds
+arch/arm64/mm/fault.c: * Copyright (C) 1995 Linus Torvalds
+arch/arm64/mm/ioremap.c: * (C) Copyright 1995 1996 Linus Torvalds
+arch/sparc/boot/install.sh:# Copyright (C) 1995 by Linus Torvalds
+arch/sparc/kernel/ptrace_64.c: * Based upon code written by Ross Biro, Linus Torvalds, Bob Manson,
+arch/sparc/kernel/signal_32.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/sparc/kernel/wof.S: * to see what happens. I can hear Linus now
+arch/sparc/kernel/ptrace_32.c: * Based upon code written by Ross Biro, Linus Torvalds, Bob Manson,
+arch/sparc/kernel/signal32.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/sparc/kernel/signal_64.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/sparc/lib/memcpy.S: * Copyright (C) 1995 Linus Torvalds (Linus.Torvalds@helsinki.fi)
+arch/sparc/lib/checksum_32.S: * Copyright(C) 1995 Linus Torvalds
+arch/sparc/lib/copy_user.S: * Copyright(C) 1995 Linus Torvalds
+arch/sparc/lib/checksum_64.S: * Copyright(C) 1995 Linus Torvalds
+arch/sparc/include/asm/uaccess_64.h: * "For historical reasons, these macros are grossly misnamed." -Linus
+arch/sparc/include/asm/checksum_64.h: * Copyright(C) 1995 Linus Torvalds
+arch/sparc/include/asm/thread_info_32.h: * - Incorporating suggestions made by Linus Torvalds and Dave Miller
+arch/sparc/include/asm/mmu_context_64.h:/* Derived heavily from Linus's Alpha/AXP ASN code... */
+arch/sparc/include/asm/checksum_32.h: * Copyright(C) 1995 Linus Torvalds
+arch/sparc/include/asm/uaccess_32.h: * "For historical reasons, these macros are grossly misnamed." -Linus
+arch/openrisc/Makefile:# Copyright (C) 1994 by Linus Torvalds
+arch/arm64/boot/install.sh:# Copyright (C) 1995 by Linus Torvalds
+arch/arm64/kernel/irq.c: * Copyright (C) 1992 Linus Torvalds
+arch/arm64/kernel/time.c: * Copyright (C) 1991, 1992, 1995 Linus Torvalds
+arch/arm64/kernel/ptrace.c: * edited by Linus Torvalds
+arch/arm64/kernel/process.c: * Original Copyright (C) 1995 Linus Torvalds
+arch/parisc/install.sh:# Copyright (C) 1995 by Linus Torvalds
+arch/s390/Makefile:# Copyright (C) 1994 by Linus Torvalds
+arch/s390/boot/install.sh:# Copyright (C) 1995 by Linus Torvalds
+arch/s390/kernel/setup.c: * Copyright (C) 1995, Linus Torvalds
+arch/s390/kernel/time.c: * Copyright (C) 1991, 1992, 1995 Linus Torvalds
+arch/s390/kernel/signal.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/s390/kernel/traps.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/s390/kernel/compat_signal.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/s390/include/asm/pgalloc.h: * Copyright (C) 1994 Linus Torvalds
+arch/s390/include/asm/timex.h: * Copyright (C) 1992, Linus Torvalds
+arch/s390/include/asm/delay.h: * Copyright (C) 1993 Linus Torvalds
+arch/s390/include/asm/bugs.h: * Copyright (C) 1994 Linus Torvalds
+arch/s390/include/asm/cache.h: * Copyright (C) 1992, Linus Torvalds
+arch/s390/include/asm/processor.h: * Copyright (C) 1994, Linus Torvalds
+arch/s390/mm/init.c: * Copyright (C) 1995 Linus Torvalds
+arch/s390/mm/fault.c: * Copyright (C) 1995 Linus Torvalds
+arch/riscv/boot/install.sh:# Copyright (C) 1995 by Linus Torvalds
+arch/parisc/kernel/time.c: * Copyright (C) 1991, 1992, 1995 Linus Torvalds
+arch/parisc/kernel/irq.c: * Copyright (C) 1992 Linus Torvalds
+arch/parisc/kernel/setup.c: * Copyright (C) 1991, 1992, 1995 Linus Torvalds
+arch/parisc/kernel/processor.c: * Copyright (C) 1991, 1992, 1995 Linus Torvalds
+arch/parisc/kernel/traps.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/parisc/Makefile:# Copyright (C) 1994 by Linus Torvalds
+arch/parisc/mm/init.c: * Copyright (C) 1995 Linus Torvalds
+arch/parisc/include/asm/ide.h: * Copyright (C) 1994-1996 Linus Torvalds & authors
+arch/parisc/include/asm/processor.h: * Copyright (C) 1994 Linus Torvalds
+arch/parisc/lib/delay.c: * Copyright (C) 1993 Linus Torvalds
+arch/parisc/mm/ioremap.c: * (C) Copyright 1995 1996 Linus Torvalds
+.mailmap:Linus Lüssing <linus.luessing@c0d3.blue> <linus.luessing@ascom.ch>
+.mailmap:Linus Lüssing <linus.luessing@c0d3.blue> <linus.luessing@web.de>
+arch/m68k/install.sh:# Copyright (C) 1995 by Linus Torvalds
+arch/m68k/68000/entry.S: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/m68k/kernel/entry.S: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/m68k/kernel/time.c: * Copyright (C) 1991, 1992, 1995 Linus Torvalds
+arch/m68k/kernel/ptrace.c: * linux/kernel/ptrace.c is by Ross Biro 1/23/92, edited by Linus Torvalds
+arch/m68k/kernel/signal.c: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/m68k/kernel/syscalltable.S: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/m68k/coldfire/entry.S: * Copyright (C) 1991, 1992 Linus Torvalds
+arch/m68k/include/asm/bitops.h: * Copyright 1992, Linus Torvalds.
+arch/m68k/include/asm/ide.h: * Copyright (C) 1994-1996 Linus Torvalds & authors
+arch/m68k/include/asm/bugs.h: * Copyright (C) 1994 Linus Torvalds
+
+
+ + + diff --git a/crates/anstyle-svg/tests/term.rs b/crates/anstyle-svg/tests/term.rs index 787f6d6a..930b54e9 100644 --- a/crates/anstyle-svg/tests/term.rs +++ b/crates/anstyle-svg/tests/term.rs @@ -20,3 +20,26 @@ fn hyperlink_demo() { let actual = anstyle_svg::Term::new().render_svg(&input); snapbox::assert_data_eq!(actual, snapbox::file!["hyperlink-demo.svg": Text].raw()); } + +#[test] +fn rainbow_html() { + let input = std::fs::read_to_string("tests/rainbow.vte").unwrap(); + let actual = anstyle_svg::Term::new().render_html(&input); + snapbox::assert_data_eq!(actual, snapbox::file!["rainbow.html": Text].raw()); +} + +#[test] +fn rg_linus_html() { + let input = std::fs::read_to_string("tests/rg_linus.vte").unwrap(); + let actual = anstyle_svg::Term::new().render_html(&input); + snapbox::assert_data_eq!(actual, snapbox::file!["rg_linus.html": Text].raw()); +} + +#[test] +fn hyperlink_demo_html() { + let bytes = std::fs::read("tests/hyperlink-demo.vte").unwrap(); + String::from_utf8(bytes).unwrap(); + let input = std::fs::read_to_string("tests/hyperlink-demo.vte").unwrap(); + let actual = anstyle_svg::Term::new().render_html(&input); + snapbox::assert_data_eq!(actual, snapbox::file!["hyperlink-demo.html": Text].raw()); +} diff --git a/typos.toml b/typos.toml index 8b09460d..9522e604 100644 --- a/typos.toml +++ b/typos.toml @@ -4,3 +4,6 @@ check-file = false [type.svg] check-file = false + +[type.html] +check-file = false