<p dir="auto">On macOS, typing option-shift-9 in the REPL (this types the interpunct character <code class="notranslate">·</code>, see also <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="282837784" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/25157" data-hovercard-type="pull_request" data-hovercard-url="/JuliaLang/julia/pull/25157/hovercard" href="https://github.com/JuliaLang/julia/pull/25157">#25157</a>) gives an error:</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="julia&gt; ERROR: MethodError: no method matching position(::Base.Terminals.TTYTerminal)
Closest candidates are:
  position(::Base.Filesystem.File) at filesystem.jl:222
  position(::Base.Libc.FILE) at libc.jl:94
  position(::IOStream) at iostream.jl:188
  ...
Stacktrace:
 [1] mark(::Base.Terminals.TTYTerminal) at ./io.jl:861
 [2] peek at ./iostream.jl:462 [inlined]
 [3] read(::Base.Terminals.TTYTerminal, ::Type{Char}) at ./io.jl:608
 [4] match_input(::Dict{Char,Any}, ::Base.LineEdit.MIState, ::Base.Terminals.TTYTerminal, ::Array{Char,1}, ::Dict{Char,Any}) at ./repl/LineEdit.jl:1288
 [5] match_input at ./repl/LineEdit.jl:1287 [inlined]
 [6] prompt!(::Base.Terminals.TTYTerminal, ::Base.LineEdit.ModalInterface, ::Base.LineEdit.MIState) at ./repl/LineEdit.jl:2314
 [7] run_interface(::Base.Terminals.TTYTerminal, ::Base.LineEdit.ModalInterface, ::Base.LineEdit.MIState) at ./repl/LineEdit.jl:2223
 [8] run_frontend(::Base.REPL.LineEditREPL, ::Base.REPL.REPLBackendRef) at ./repl/REPL.jl:1024
 [9] run_repl(::Base.REPL.LineEditREPL, ::getfield(Base, Symbol(&quot;##605#607&quot;))) at ./repl/REPL.jl:183
 [10] _start() at ./client.jl:420"><pre class="notranslate">julia<span class="pl-k">&gt;</span> ERROR<span class="pl-k">:</span> MethodError<span class="pl-k">:</span> no method matching <span class="pl-c1">position</span>(<span class="pl-k">::</span><span class="pl-c1">Base.Terminals.TTYTerminal</span>)
Closest candidates are<span class="pl-k">:</span>
  <span class="pl-c1">position</span>(<span class="pl-k">::</span><span class="pl-c1">Base.Filesystem.File</span>) at filesystem<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">222</span>
  <span class="pl-c1">position</span>(<span class="pl-k">::</span><span class="pl-c1">Base.Libc.FILE</span>) at libc<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">94</span>
  <span class="pl-c1">position</span>(<span class="pl-k">::</span><span class="pl-c1">IOStream</span>) at iostream<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">188</span>
  <span class="pl-k">...</span>
Stacktrace<span class="pl-k">:</span>
 [<span class="pl-c1">1</span>] <span class="pl-c1">mark</span>(<span class="pl-k">::</span><span class="pl-c1">Base.Terminals.TTYTerminal</span>) at <span class="pl-k">./</span>io<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">861</span>
 [<span class="pl-c1">2</span>] peek at <span class="pl-k">./</span>iostream<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">462</span> [inlined]
 [<span class="pl-c1">3</span>] <span class="pl-c1">read</span>(<span class="pl-k">::</span><span class="pl-c1">Base.Terminals.TTYTerminal</span>, <span class="pl-k">::</span><span class="pl-c1">Type{Char}</span>) at <span class="pl-k">./</span>io<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">608</span>
 [<span class="pl-c1">4</span>] <span class="pl-c1">match_input</span>(<span class="pl-k">::</span><span class="pl-c1">Dict{Char,Any}</span>, <span class="pl-k">::</span><span class="pl-c1">Base.LineEdit.MIState</span>, <span class="pl-k">::</span><span class="pl-c1">Base.Terminals.TTYTerminal</span>, <span class="pl-k">::</span><span class="pl-c1">Array{Char,1}</span>, <span class="pl-k">::</span><span class="pl-c1">Dict{Char,Any}</span>) at <span class="pl-k">./</span>repl<span class="pl-k">/</span>LineEdit<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">1288</span>
 [<span class="pl-c1">5</span>] match_input at <span class="pl-k">./</span>repl<span class="pl-k">/</span>LineEdit<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">1287</span> [inlined]
 [<span class="pl-c1">6</span>] <span class="pl-c1">prompt!</span>(<span class="pl-k">::</span><span class="pl-c1">Base.Terminals.TTYTerminal</span>, <span class="pl-k">::</span><span class="pl-c1">Base.LineEdit.ModalInterface</span>, <span class="pl-k">::</span><span class="pl-c1">Base.LineEdit.MIState</span>) at <span class="pl-k">./</span>repl<span class="pl-k">/</span>LineEdit<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">2314</span>
 [<span class="pl-c1">7</span>] <span class="pl-c1">run_interface</span>(<span class="pl-k">::</span><span class="pl-c1">Base.Terminals.TTYTerminal</span>, <span class="pl-k">::</span><span class="pl-c1">Base.LineEdit.ModalInterface</span>, <span class="pl-k">::</span><span class="pl-c1">Base.LineEdit.MIState</span>) at <span class="pl-k">./</span>repl<span class="pl-k">/</span>LineEdit<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">2223</span>
 [<span class="pl-c1">8</span>] <span class="pl-c1">run_frontend</span>(<span class="pl-k">::</span><span class="pl-c1">Base.REPL.LineEditREPL</span>, <span class="pl-k">::</span><span class="pl-c1">Base.REPL.REPLBackendRef</span>) at <span class="pl-k">./</span>repl<span class="pl-k">/</span>REPL<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">1024</span>
 [<span class="pl-c1">9</span>] <span class="pl-c1">run_repl</span>(<span class="pl-k">::</span><span class="pl-c1">Base.REPL.LineEditREPL</span>, <span class="pl-k">::</span><span class="pl-c1">getfield</span>(Base, <span class="pl-c1">Symbol</span>(<span class="pl-s"><span class="pl-pds">"</span>##605#607<span class="pl-pds">"</span></span>))) at <span class="pl-k">./</span>repl<span class="pl-k">/</span>REPL<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">183</span>
 [<span class="pl-c1">10</span>] <span class="pl-c1">_start</span>() at <span class="pl-k">./</span>client<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">420</span></pre></div>
<p dir="auto">It worked fine in 0.6.</p>
<p dir="auto">I found by accident this issue, in master Julia. Whenever I try to type "·" (U+00b7) in the REPL, Julia crashes. This doesn't happen in v0.6.2. On the other hand, I can type <code class="notranslate">\cdotp [TAB]</code> to avoid the issue.</p>
<p dir="auto">Note that the middot is typed as SHIFT+3 in the spanish keyboard layout, and I don't have direct access to the other middot (U+22c5) apart from typing <code class="notranslate">\cdot [TAB]</code>. I would prefer to make them equivalent for the whole Julia, since it is easy to type in my case.</p>
<p dir="auto">Here it is the version information</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="Julia Version 0.7.0-DEV.2959
Commit df2616e (2017-12-14 14:05 UTC)
Platform Info:
  OS: Linux (x86_64-redhat-linux)
  CPU: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT NO_AFFINITY HASWELL)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, skylake)
Environment:"><pre class="notranslate">Julia Version <span class="pl-c1">0.7</span>.<span class="pl-c1">0</span><span class="pl-k">-</span>DEV.<span class="pl-c1">2959</span>
Commit df2616e (<span class="pl-c1">2017</span><span class="pl-k">-</span><span class="pl-c1">12</span><span class="pl-k">-</span><span class="pl-c1">14</span> <span class="pl-c1">14</span><span class="pl-k">:</span><span class="pl-c1">05</span> UTC)
Platform Info<span class="pl-k">:</span>
  OS<span class="pl-k">:</span> Linux (x86_64<span class="pl-k">-</span>redhat<span class="pl-k">-</span>linux)
  CPU<span class="pl-k">:</span> <span class="pl-c1">Intel</span>(R) <span class="pl-c1">Core</span>(TM) i7<span class="pl-k">-</span><span class="pl-c1">7500</span>U CPU @ <span class="pl-c1">2.70</span>GHz
  WORD_SIZE<span class="pl-k">:</span> <span class="pl-c1">64</span>
  BLAS<span class="pl-k">:</span> libopenblas (USE64BITINT NO_AFFINITY HASWELL)
  LAPACK<span class="pl-k">:</span> libopenblas64_
  LIBM<span class="pl-k">:</span> libopenlibm
  LLVM<span class="pl-k">:</span> libLLVM<span class="pl-k">-</span><span class="pl-c1">3.9</span>.<span class="pl-c1">1</span> (ORCJIT, skylake)
Environment<span class="pl-k">:</span></pre></div>
<p dir="auto">the error message</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="ERROR: MethodError: no method matching position(::Base.Terminals.TTYTerminal)"><pre class="notranslate">ERROR<span class="pl-k">:</span> MethodError<span class="pl-k">:</span> no method matching <span class="pl-c1">position</span>(<span class="pl-k">::</span><span class="pl-c1">Base.Terminals.TTYTerminal</span>)</pre></div>
<p dir="auto">and the stacktrace</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="Stacktrace:
 [1] ·mark(::Base.Terminals.TTYTerminal) at ./io.jl:847
 [2] peek at ./iostream.jl:462 [inlined]
 [3] read(::Base.Terminals.TTYTerminal, ::Type{Char}) at ./io.jl:594
 [4] match_input(::Dict{Char,Any}, ::Base.LineEdit.MIState, ::Base.Terminals.TTYTerminal, ::Array{Char,1}, ::Dict{Char,Any}) at ./repl/LineEdit.jl:1288
 [5] match_input at ./repl/LineEdit.jl:1287 [inlined]
 [6] prompt!(::Base.Terminals.TTYTerminal, ::Base.LineEdit.ModalInterface, ::Base.LineEdit.MIState) at ./repl/LineEdit.jl:2314
 [7] run_interface(::Base.Terminals.TTYTerminal, ::Base.LineEdit.ModalInterface, ::Base.LineEdit.MIState) at ./repl/LineEdit.jl:2223
 [8] run_frontend(::Base.REPL.LineEditREPL, ::Base.REPL.REPLBackendRef) at ./repl/REPL.jl:1025
 [9] run_repl(::Base.REPL.LineEditREPL, ::getfield(Base, Symbol(&quot;##602#603&quot;))) at ./repl/REPL.jl:183
 [10] _start() at ./client.jl:426"><pre class="notranslate">Stacktrace<span class="pl-k">:</span>
 [<span class="pl-c1">1</span>] ·<span class="pl-c1">mark</span>(<span class="pl-k">::</span><span class="pl-c1">Base.Terminals.TTYTerminal</span>) at <span class="pl-k">./</span>io<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">847</span>
 [<span class="pl-c1">2</span>] peek at <span class="pl-k">./</span>iostream<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">462</span> [inlined]
 [<span class="pl-c1">3</span>] <span class="pl-c1">read</span>(<span class="pl-k">::</span><span class="pl-c1">Base.Terminals.TTYTerminal</span>, <span class="pl-k">::</span><span class="pl-c1">Type{Char}</span>) at <span class="pl-k">./</span>io<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">594</span>
 [<span class="pl-c1">4</span>] <span class="pl-c1">match_input</span>(<span class="pl-k">::</span><span class="pl-c1">Dict{Char,Any}</span>, <span class="pl-k">::</span><span class="pl-c1">Base.LineEdit.MIState</span>, <span class="pl-k">::</span><span class="pl-c1">Base.Terminals.TTYTerminal</span>, <span class="pl-k">::</span><span class="pl-c1">Array{Char,1}</span>, <span class="pl-k">::</span><span class="pl-c1">Dict{Char,Any}</span>) at <span class="pl-k">./</span>repl<span class="pl-k">/</span>LineEdit<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">1288</span>
 [<span class="pl-c1">5</span>] match_input at <span class="pl-k">./</span>repl<span class="pl-k">/</span>LineEdit<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">1287</span> [inlined]
 [<span class="pl-c1">6</span>] <span class="pl-c1">prompt!</span>(<span class="pl-k">::</span><span class="pl-c1">Base.Terminals.TTYTerminal</span>, <span class="pl-k">::</span><span class="pl-c1">Base.LineEdit.ModalInterface</span>, <span class="pl-k">::</span><span class="pl-c1">Base.LineEdit.MIState</span>) at <span class="pl-k">./</span>repl<span class="pl-k">/</span>LineEdit<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">2314</span>
 [<span class="pl-c1">7</span>] <span class="pl-c1">run_interface</span>(<span class="pl-k">::</span><span class="pl-c1">Base.Terminals.TTYTerminal</span>, <span class="pl-k">::</span><span class="pl-c1">Base.LineEdit.ModalInterface</span>, <span class="pl-k">::</span><span class="pl-c1">Base.LineEdit.MIState</span>) at <span class="pl-k">./</span>repl<span class="pl-k">/</span>LineEdit<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">2223</span>
 [<span class="pl-c1">8</span>] <span class="pl-c1">run_frontend</span>(<span class="pl-k">::</span><span class="pl-c1">Base.REPL.LineEditREPL</span>, <span class="pl-k">::</span><span class="pl-c1">Base.REPL.REPLBackendRef</span>) at <span class="pl-k">./</span>repl<span class="pl-k">/</span>REPL<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">1025</span>
 [<span class="pl-c1">9</span>] <span class="pl-c1">run_repl</span>(<span class="pl-k">::</span><span class="pl-c1">Base.REPL.LineEditREPL</span>, <span class="pl-k">::</span><span class="pl-c1">getfield</span>(Base, <span class="pl-c1">Symbol</span>(<span class="pl-s"><span class="pl-pds">"</span>##602#603<span class="pl-pds">"</span></span>))) at <span class="pl-k">./</span>repl<span class="pl-k">/</span>REPL<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">183</span>
 [<span class="pl-c1">10</span>] <span class="pl-c1">_start</span>() at <span class="pl-k">./</span>client<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">426</span></pre></div>
<p dir="auto">Thanks!</p>
<p dir="auto">Interpunct, interpoint, middle dot, middot, centered dot, centred dot</p>