diff options
Diffstat (limited to 'src/server/buffer.nim')
-rw-r--r-- | src/server/buffer.nim | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/buffer.nim b/src/server/buffer.nim index bbae50f2..501a5d94 100644 --- a/src/server/buffer.nim +++ b/src/server/buffer.nim @@ -715,6 +715,8 @@ proc gotoAnchor*(buffer: Buffer; anchor: string; autofocus: bool): if buffer.document == nil: return GotoAnchorResult(found: false) var anchor = buffer.document.findAnchor(anchor) + if anchor != nil: + buffer.document.setTarget(anchor) var focus: ReadLineResult = nil # Do not use buffer.config.autofocus when we just want to check if the # anchor can be found. @@ -1032,6 +1034,11 @@ proc clone*(buffer: Buffer; newurl: URL): int {.proxy.} = for it in connecting: # connecting: just reconnect buffer.loader.reconnect(it) + # Set target now, because it's convenient. + # (It is also possible that newurl has no hash, and then gotoAnchor + # isn't called at all.) + let target = buffer.document.findAnchor(newurl.hash) + buffer.document.setTarget(target) return 0 else: # parent discard close(pipefd[1]) # close write |