Download it now!
Bug 124129 - sheet names containing a dot and are used in conditional formatting formulas cause an non existent external link to the "documents" user folder in Windows
Summary: sheet names containing a dot and are used in conditional formatting formulas ...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
(earliest affected)
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Not Assigned
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Conditional-Formatting
  Show dependency treegraph
Reported: 2019-03-17 16:00 UTC by software_bug
Modified: 2019-03-20 17:24 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:

demo sheet name with dot (8.00 KB, application/vnd.oasis.opendocument.spreadsheet)
2019-03-17 16:58 UTC, Oliver Brinzing

Note You need to log in before you can comment on or make changes to this bug.
Description software_bug 2019-03-17 16:00:16 UTC
Spreadsheet names that contains a dot and are therefore enclosed in quotation marks, creates a non-existent link to the "Documents" folder of the Windows user directory, if they are used in conditional formatting formulas.

The link cannot be removed permanently and removing the link even deletes the formula of the field that is to be affected by the conditional formatting, so that the last result is then shown as static.

Steps to Reproduce:
New spreadsheet with two sheets, the second of them must contain a dot in its name (test1 and test.2).

Enter the following formula in A1 of the "test1" sheet:
IF($'test.2'.$A$1>=5; "yes"; "no")

Enter a value in A1 of the "test.2" sheet.

For A1 of the "test1" sheet, enter the following conditional formatting:

Condition 1: Formula is IF($'test.2'.$A$1>=5) with template "good"
Condition 2: Formula is IF($'test.2'.$A$1<5) with template "error"

Save and close the spreadsheet.

Actual Results:
Open the spreadsheet and now LibreOffice versions 6.1.x.x and above show the yellow warning bar for external links. If you delete the link and save the spreadsheet, the formula in A1 of "test1" is deleted after reopening. The link is back again, but A1 of the sheet1 shows no more its formula but the last value as static.

Expected Results:
Same as with version <= (no external link).

Reproducible: Always

User Profile Reset: Yes

Additional Info:
Test-Spreadsheet for the english version:

The bug is confirmed by Harald Köster for the german version:
Comment 1 Oliver Brinzing 2019-03-17 16:57:45 UTC
reproducible with

Version: (x64)
Build ID: 90f8dcf33c87b3705e78202e3df5142b201bd805
CPU threads: 4; OS: Windows 10.0; UI render: default; 
Locale: de-DE (de_DE); Calc: 

but not with LO 6.07.3
Comment 2 Oliver Brinzing 2019-03-17 16:58:19 UTC
Created attachment 150025 [details]
demo sheet name with dot
Comment 3 Oliver Brinzing 2019-03-17 17:11:11 UTC
seems to have started with:

commit	ea55492a6e55290d92a59324b3cb31ed958981ab[log]
author	Tor Lillqvist <>	Sun Nov 26 23:28:05 2017 +0200
committer Tor Lillqvist <>	Thu Nov 30 06:34:59 2017 +0100
tree	58263fb7ad37f07f93739bfac67ea25ae674127e
parent	42dafb5c7bd218f4d368fbd1113fa4a0fcd7f0cb [diff]

Deduplicate conditional formats loaded from .ods

If there are several separate conditional format elements that can be
represented as just one (with several ranges), try to do that.

A particular customer document used to take 3 minutes 20 seconds to
load, and it contained so many (tens of thousands) conditional formats
that the Format> Conditional Formatting> Manage... dialog was
practically impossible to use.

Now loading that document takes 15 seconds and there are just a
handful of separate conditional formats.

Also add a simple unit test to verify the deduplication.

Change-Id: I7c468af99956d4646ee5507390f1476caff52325
Tested-by: Jenkins <>
Reviewed-by: Tor Lillqvist <>

$ git bisect bad
0fda7e3500a8258a0d83720dca8dbcfe13b31cc2 is the first bad commit
commit 0fda7e3500a8258a0d83720dca8dbcfe13b31cc2
Author: Norbert Thiebaud <>
Date:   Mon Dec 11 22:14:31 2017 -0800
    source sha:ea55492a6e55290d92a59324b3cb31ed958981ab
    source sha:ea55492a6e55290d92a59324b3cb31ed958981ab
:040000 040000 0b7fe810368ec0f61edc24f3f07720bc28d28974 177abea0453db92fab009be20f402792cda9ba6b M      instdir

$ git bisect log
# bad: [1d66cc00ca6fd2e562cbed88704051b2f5d989e3] source sha:8d2abb388b0a2423c9b7e1f52373e1b06dd9786f
# good: [29d08f54c2f71ffee4fe12dbb24c5f5cbedecfd2] source sha:6eeac3539ea4cac32d126c5e24141f262eb5a4d9
git bisect start 'master' 'oldest'
# bad: [3ac46f6c41b5044f162a451b10af0dc5afdcc113] source sha:22c7c3f54dbb93f856190c561b2540064c5a767d
git bisect bad 3ac46f6c41b5044f162a451b10af0dc5afdcc113
# bad: [aa87e2b4fca257b364e56d731159caf9884e32dd] source sha:7970cca95027cca9847202c6e8263124a4eb30a6
git bisect bad aa87e2b4fca257b364e56d731159caf9884e32dd
# bad: [c76d72527c9591f94ec82f87130c10fe600502f0] source sha:a5be07d6b627a18f104e2feed063ff9020e8c610
git bisect bad c76d72527c9591f94ec82f87130c10fe600502f0
# bad: [29511c6b4a1b32ee7152a65c936b19264d5fb0ed] source sha:7cbedaa94f23a1f7676ff649ee6c19eb3a42dfb0
git bisect bad 29511c6b4a1b32ee7152a65c936b19264d5fb0ed
# bad: [224b94ee3b8bda787708897c9ad0f3fadb2d09be] source sha:035fad219e1729c9e4fe8a54fd85f23c065de616
git bisect bad 224b94ee3b8bda787708897c9ad0f3fadb2d09be
# good: [d9bc9c7692ac60857e334bfe41694bd720283e6c] source sha:76f28863e7974da5a7280b3efa8a157c114ca03c
git bisect good d9bc9c7692ac60857e334bfe41694bd720283e6c
# bad: [14ca7444370534bbe43c1be3d8e38d1c5d72f1a7] source sha:c26f644db80e10f755911d277aac0e1d42731d29
git bisect bad 14ca7444370534bbe43c1be3d8e38d1c5d72f1a7
# good: [4d5c7b5d342e388a98be7247197b3e43dd473023] source sha:209f48daebfebb6391282a1096e12b0f149ee1ce
git bisect good 4d5c7b5d342e388a98be7247197b3e43dd473023
# good: [45d12d231d66a443cdd9f252543fc88b8d56704b] source sha:76a9f10a08ddaea6edb7d4c01ccdd56aa7695a96
git bisect good 45d12d231d66a443cdd9f252543fc88b8d56704b
# good: [d35649f04bf0ed73b376512dc218ed1e5e0f1010] source sha:9e5e92c4a1415aac8b0107950f577d1679499e62
git bisect good d35649f04bf0ed73b376512dc218ed1e5e0f1010
# bad: [d043424029a9da9446ff76aeda16af6129dede9c] source sha:0025fa723afb9f6a0d94b9b3185ea14da18f1bd5
git bisect bad d043424029a9da9446ff76aeda16af6129dede9c
# good: [e9676060282c03b8e1fe2a56ac938c3e4861f1a4] source sha:42dafb5c7bd218f4d368fbd1113fa4a0fcd7f0cb
git bisect good e9676060282c03b8e1fe2a56ac938c3e4861f1a4
# bad: [0fda7e3500a8258a0d83720dca8dbcfe13b31cc2] source sha:ea55492a6e55290d92a59324b3cb31ed958981ab
git bisect bad 0fda7e3500a8258a0d83720dca8dbcfe13b31cc2
# first bad commit: [0fda7e3500a8258a0d83720dca8dbcfe13b31cc2] source sha:ea55492a6e55290d92a59324b3cb31ed958981ab
Comment 4 Roman Kuznetsov 2019-03-17 19:22:24 UTC
(In reply to Oliver Brinzing from comment #3)
> seems to have started with:
> commit	ea55492a6e55290d92a59324b3cb31ed958981ab[log]
> author	Tor Lillqvist <>	Sun Nov 26 23:28:05 2017 +0200
> committer Tor Lillqvist <>	Thu Nov 30 06:34:59 2017 +0100

Olivier, please CC regression author to bug yourself, it's easy