summaryrefslogtreecommitdiff
path: root/sc/source/ui/view/tabvwsh4.cxx
AgeCommit message (Collapse)AuthorFilesLines
2018-02-16ofz#6311 still problems with SdrEdgeObj listening to same obj at start as endCaolán McNamara1-3/+3
Change-Id: Ibd80b484788779b73943b28a5f36e51ebcacec30 Reviewed-on: https://gerrit.libreoffice.org/49824 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-02-14it does not make sense to check for nullptr and then access anywayMarkus Mohrhard1-3/+5
Seems to be related to the crashreports with the signatures: http://crashreport.libreoffice.org/stats/signature/ScTabViewShell::~ScTabViewShell() http://crashreport.libreoffice.org/stats/signature/ScInputHandler::EnterHandler(ScEnterMode) Change-Id: Iff22db3988687a52a7596f01facd5bdd12ce4140 Reviewed-on: https://gerrit.libreoffice.org/49694 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit 2fd7c18f42710bdaaf3262f4be9f1a706b33d38d) Reviewed-on: https://gerrit.libreoffice.org/49700 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-01-16handle ocWebservice similarly to ocDdeCaolán McNamara1-1/+1
might have too much in here seeing as we don't need to worry about ocWebservice calling into itself Change-Id: I0145f38cc1c1f9ff514a496f7101d81cde9e7c67 Reviewed-on: https://gerrit.libreoffice.org/47816 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2018-01-16Better handle ScDde formulas with missing dde-link entriesCaolán McNamara1-1/+1
typically each ScDde formula has a matching table:dde-link which results in a ScDdeLink getting inserted during the load. If that dde-link is missing then no ScDdeLink exists and ScDde() will create a new one without cached content. So detect that ScDde is used in the freshing loaded ods and defer fetching new content until the right time. only call GetHasMacroFunc to set SetHasMacroFunc and bHasMacroFunc is not accessed any other way, so this is an oxbow Change-Id: I016b53288076d83dd49e92e245346a5f7f560522 Reviewed-on: https://gerrit.libreoffice.org/47757 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit b0597ba5d745974fce752e1b677451a19350d351) Reviewed-on: https://gerrit.libreoffice.org/47815 Reviewed-by: Eike Rathke <erack@redhat.com>
2017-11-04lok: temporary workaround: disable formula mode for onlineMarco Cecchetti1-0/+26
- Start empty spreadsheet, open it with two users (let's call them A & B). - Type "=" with user A. - Start moving around to different cells with user B. => Cell name of user B's selected cell is entered in user A's formula. This is due to the fact that ScModel::GetInputHandler() returns always the input handler which is handling the edited formula and not the input handler of the current view. That really messes up collaborative editing, so better to disable it, until we implement an alternative solution. Change-Id: I6e779cba3f377d12b7a4a19a6ee53c924fc9ba20 Reviewed-on: https://gerrit.libreoffice.org/43035 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-10-26vcl: make MapMode constructor explicitMichael Stahl1-2/+2
Insert constructor everywhere, except a couple places that apparently want to compare GetMapUnit(). Change-Id: I1910deb60562e5e949203435e827057f70a3f988
2017-10-23loplugin:includeform: scStephan Bergmann1-48/+48
Change-Id: I2ed763e0584a188032c80fde60890de3c6985cbd
2017-10-21coverity#1401307 document checked 'Uncaught exception'Caolán McNamara1-2/+1
markup std::unique_ptr where coverity warns a dtor might throw exceptions which won't throw in practice, or where std::terminate is an acceptable response if they do Change-Id: Icc99cdecf8d8b011e599574f0a05b59efd1c65c2 Reviewed-on: https://gerrit.libreoffice.org/41561 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-02lok: sc: overlays and edit view misplaced by other view actionsMarco Cecchetti1-5/+8
The edit view, the cell cursor and the cell selection overlays become misplaced when another user inserts, deletes or resizes a row. The same is true for columns. The solution takes care of the current tab each view is displaying and of undo/redo actions. Change-Id: I24c94f774f3b18028c9356a904e1b14b07c5c61a Reviewed-on: https://gerrit.libreoffice.org/40016 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
2017-08-26loplugin:constparam in sc part7Noel Grandin1-1/+1
Change-Id: Ica5421ddc343ce18a08f993778f42183b571ed0e Reviewed-on: https://gerrit.libreoffice.org/41578 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-17Fix typosAndrea Gelmini1-1/+1
Change-Id: Iaa9c0aea3ea1a239e378bd714ba335f91bb1faf3 Reviewed-on: https://gerrit.libreoffice.org/41194 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2017-07-25loplugin:unusedfields in scNoel Grandin1-8/+0
The *chart* fields in ScTabViewShell in sc/source/ui/inc/tabvwsh.hxx are unused since: commit 5021f298418f6efa7bb7b6540113b712599778fe Author: Marcos Paulo de Souza <marcos.souza.org@gmail.com> Date: Mon Jul 28 12:11:08 2014 -0300 Remove some unused code The bEveryoneButMe field in ScChangeViewSettings is unused since commit 90e8ad7ab779740c7381d26ffe7d08acc3a9ff96 Author: Noel Grandin <noel@peralex.com> Date: Tue Jul 21 15:39:17 2015 +0200 loplugin:unusedmethods scripting,sc Change-Id: Ie9fbdf8f5e9177449316aaeb40ca3bd26df78a95 Reviewed-on: https://gerrit.libreoffice.org/40264 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-21migrate to boost::gettextCaolán McNamara1-0/+1
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl * all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string") * ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching MODULE .mo files * UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui goes from l10n target to normal one, so the res/lang.zips of UI files go away * translation via Translation::get(hrc-define-key, imbued-std::locale) * python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there to keep finding the .hrc file uniform) so magic numbers can go away there * java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation mechanism * en-US res files go away, their strings are now the .hrc keys in the source code * remaining .res files are replaced by .mo files * in .res/.ui-lang-zip files, the old scheme missing translations of strings results in inserting the english original so something can be found, now the standard fallback of using the english original from the source key is used, so partial translations shrink dramatically in size * extract .hrc strings with hrcex which backs onto xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap * extract .ui strings with uiex which backs onto xgettext --add-comments --no-wrap * qtz for gettext translations is generated at runtime as ascii-ified crc32 of content + "|" + msgid * [API CHANGE] remove deprecated binary .res resouce loader related uno apis com::sun::star::resource::OfficeResourceLoader com::sun::star::resource::XResourceBundleLoader com::sun::star::resource::XResourceBundle when translating strings via uno apis com.sun.star.resource.StringResourceWithLocation can continue to be used Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
2017-06-28loplugin:unusedfields in sc part1Noel Grandin1-6/+0
in ScNavigatorDlg::ScNavigatorDlg, we replace the assignment of nAreaId with an assignment to nDataId instead, which is never initialized but used, whereas nAreaId was initialized but never used. Change-Id: I9681af7f7d515d4891c9b52d3809e88e3d5e8256 Reviewed-on: https://gerrit.libreoffice.org/39062 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-10loplugin:checkunusedparams in sc(part1)Noel Grandin1-1/+1
Change-Id: I8c4fca704fe8ed6f861728cc3f3782c676aba67c Reviewed-on: https://gerrit.libreoffice.org/37435 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-04-10tdf#39468 Translate German commentsJens Carl1-1/+1
Last German comments in sc/ found with "./bin/find-german-comments sc" Change-Id: I88274904c55d5ac4d7057f2ae4de5650815dae2f Reviewed-on: https://gerrit.libreoffice.org/36248 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2017-04-05teach constantparam plugin to find always on and always off bitmask valuesNoel Grandin1-1/+1
Change-Id: If56a483494bd3d7feb3fa67c01000dddd0d34421 Reviewed-on: https://gerrit.libreoffice.org/36085 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-31tdf#82580 tools: rename Rectangle to tools::RectangleMiklos Vajna1-4/+4
Mostly generated using make check COMPILER_EXTERNAL_TOOL=1 CCACHE_PREFIX=clang-rename-wrapper RENAME_ARGS="-qualified-name=Rectangle -new-name=tools::Rectangle" Except some modules have their own foo::tools namespace, so there have to use ::tools::Rectangle. This commit just moves the class from the global namespace, it does not update pre/postwin.h yet. Change-Id: I42b2de3c6f769fcf28cfe086f98eb31e42a305f2 Reviewed-on: https://gerrit.libreoffice.org/35923 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-03-23remove unused helpid in SfxShellNoel Grandin1-1/+0
Unused since commit 2c8fe2e737b84ecd3dbac36a4fe6bd061bbd3bae "update unusedmethods plugin to deal with constructors" where I removed a unused SfxDockingWindow constructor. And in that case, the helpid was only being used to assign the window a UniqueId. Change-Id: I148e424424fcf08449440b83a8600071b39d7a07 Reviewed-on: https://gerrit.libreoffice.org/35554 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-17convert SvxBorderStyle to scoped enumNoel Grandin1-2/+1
and rename to SvxBorderLineStyle Change-Id: I19e530f162e4ca6290a0ad076e7fe3d5775ae6bc Reviewed-on: https://gerrit.libreoffice.org/35265 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-16replace RID_SCPAGE_PRINT with RID_SC_TP_PRINTCaolán McNamara1-1/+1
Change-Id: Ie12f9489290dd9bfce925eff4586f22489cff96a
2017-02-06OpenGLWindow typeinfo unavailable without HAVE_FEATURE_OPENGLCaolán McNamara1-1/+0
Change-Id: Ie06c1121502db9b1a869f657f70d3b45db610e2f
2017-01-09New loplugin:externvar: scStephan Bergmann1-2/+0
Change-Id: I6f9df997a957a1fa49161add2adafe228d036a30
2016-12-21convert EnumContext::Context to scoped enumNoel Grandin1-1/+1
Change-Id: I16ec63beb801073e5d604d852892c2fd6e8d8fc3 Reviewed-on: https://gerrit.libreoffice.org/32272 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-12-19sc: Drop empty olkactTakeshi Abe1-1/+0
Change-Id: Idc23fd32fb5b3f411e874252c312ef73fa70698f Reviewed-on: https://gerrit.libreoffice.org/32131 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2016-12-08convert SFX_HINT to scoped enumNoel Grandin1-1/+1
Notes (*) In SC, BULK_DATACHANGED was or'ed into the hint id. Replaced with a dynamic_cast check. (*) In SC, removed the hint id field from ScIndexHint, no point in storing the hint id twice (*) Fold the SfxStyleSheetHintId enum into the new SfxHintId enum, no point in storing two different hint ids (*) In some cases, multiple #define's used to map to the same SFX_HINT value (notably the SFX_HINT_USER* values). I made all of those separate values. Change-Id: I990e2fb587335ebc51c9005588c6a44f768d9de5 Reviewed-on: https://gerrit.libreoffice.org/31751 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-12-05convert DecodeMechanism to scoped enumNoel Grandin1-2/+2
Change-Id: I5c56634b1bca8e37fa73d02d2428645301b6c547
2016-11-30ScTabViewShell::InnerResizePixel must not mark document as modified...Stephan Bergmann1-2/+5
...when merely toggling the edit mode of a Calc document embedded in another document (via "Insert - Object - OLE Object... - LibreOffice 5.4 Spreadsheet"). Interestingly, none of the other document kinds seem to have this problem. (Maybe it's even unhelpful that ScTabViewShell::InnerResizePixel calls SetDocumentModified() at all?) Anyway, pass this inplaceEditModeChange information down there. Change-Id: Iffb24b068419e3608c9f4b5e9645e44e1716aafe
2016-11-24Use std::unique_ptr for the input handler instance here.Kohei Yoshida1-7/+8
Change-Id: I73024b4d49bc99fa2110f5f0f0b80f950ad57baa Reviewed-on: https://gerrit.libreoffice.org/31137 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
2016-11-11tdf#46200 Use the Scroll Lock key as a toggling lock key like ExcelAbhilash Singh1-1/+1
Change-Id: I153522a90674f3f3c4db4ff300ef5cf4075704e3 Reviewed-on: https://gerrit.libreoffice.org/30117 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-10-14LOK: Calc: parallel cell editing: small code improvementsMarco Cecchetti1-9/+3
- A single instance of ScExtraEditViewManager is created per ScTabView; - On destruction a counter is checked in order to be sure that all created edit views have been destroyed. - BoolLock has been replaced by comphelper::FlagRestorationGuard Change-Id: I6b0293c4d2e9151dff8b13601d0074c4b2567b25 Reviewed-on: https://gerrit.libreoffice.org/29582 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/29657
2016-10-05convert MapUnit to scoped enumNoel Grandin1-2/+2
I left a prefix on the names "Map" so that I would not have to re-arrange each name too much, since I can't start identifiers with digits like "100thMM" And remove RSC_EXTRAMAPUNIT, which doesn't seem to be doing anything anymore. Change-Id: I5187824aa87e30caf5357b51b5384b5ab919d224 Reviewed-on: https://gerrit.libreoffice.org/29096 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-05Remove _TYPED suffix from tools/link.hxx macrosStephan Bergmann1-5/+5
...which was introduced with 3ead3ad52f9bb2f9d1d6cf8dfc73a0a25e6778ed "Gradually typed Link" to distinguish the new, typed versions from the old, untyped ones, but is no longer necessary since 382eb1a23c390154619c385414bdbe6f6e461173 "remove untyped Link<>" removed the old versions. Change-Id: I494025df486a16a45861fcd8192dfe0275b1103c
2016-10-03LOK - when a view is enabled, the existing edit views are killedMarco Cecchetti1-3/+19
A view is notified about killing its own edit view, if any, in 4 cases: - before being deactivated - soon after being activated - when a 'cursor position changed' event occurs in any view - when a 'selection changed' event occurs in any view Now these notifications are skipped when LOK is active. Change-Id: I94020987a35b1450ec41e2fa5fcce8cfa7e92130 Reviewed-on: https://gerrit.libreoffice.org/28948 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
2016-09-23perf: eliminate SfxSimpleHint and move to SfxHint, tdf#87101 relatedEike Rathke1-1/+1
There were over 150 places in *::Notify() functions that did some dynamic_cast<SfxSimpleHint*> of which ~98% were unnecessary because the base class SfxHint passed was an SfxSimpleHint anyway. dynamic_cast operations come with quite some cost, so avoid if possible. Specifically for ScFormulaCell::Notify() that created a bottleneck in scenarios where cells were notified that already handled a previous notification. In mass operations doing the dynamic_cast before it could be decided whether having to act on it or not this made 2/3 of all time spent in the Notify() call. To get rid of that rename/move SfxSimpleHint to SfxHint and let classes derive from SfxHint instead of SfxSimpleHint. This comes only with a slight cost that an additional sal_uInt32 is transported in such hints, initialized to 0, but this is neglectable compared to the huge gain. For the rare cases where a Notify() actually expects both, an SfxHint (formerly SfxSimpleHint) and a derived hint, this changed order of the dynamic_cast involved so the simple SfxHint::GetId() is handled last. Modules using such combinations can further optimize by treating the simple SfxHint::GetId() first once verified that none of the other derived hints use an ID not equal to zero respectively none of the ID values the simple hint uses. Change-Id: I9fcf723e3a4487ceb92336189d23a62c344cf0ce Reviewed-on: https://gerrit.libreoffice.org/29205 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-09-15disable generation of ole previews in ODF format until after loadCaolán McNamara1-1/+1
so the user update links dialog can control their generation SdrEmbedObjectLink becomes exposed to calc so it can detect if the link dialog needs to be used to update ole links. Change-Id: Id1dd7ea17342140eab9307d546528747e3a98090 Reviewed-on: https://gerrit.libreoffice.org/28879 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-08-19loplugin:countusersofdefaultparams in scNoel Grandin1-1/+1
Change-Id: I4052af7a19616d33c3c5fda9650d8fc4dff32256
2016-07-15lok::Document::destroyView: clean up view cursors/selectionsMiklos Vajna1-0/+8
Change-Id: Icd3f96a922e7d1aec0d52e90df87ec45790c9807
2016-07-13loplugin:singlevalfields in sc(part1)Noel Grandin1-2/+1
Change-Id: I25760def2c12e4ca87843c2f3ce1a60b5a9b2e44 Reviewed-on: https://gerrit.libreoffice.org/26680 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-07-05Resolves: tdf#100761 after insert note, focus cannot return to inputbarCaolán McNamara1-1/+1
suspected regression from. commit 11d605cc5a0c221d2423b6e63f502db660d085d2 Date: Mon Feb 1 18:39:51 2016 +0200 tdf#84843 Stop using PseudoSlots for drawing slots Change-Id: I64aba363f7562c6b16ae1d679968149fea1ba763 Reviewed-on: https://gerrit.libreoffice.org/26909 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-06-27GSoC notebookbar: switching tabs depending on contextSzymon Kłos1-1/+1
+ sfx2::sidebar::EnumContext moved to the vcl module + TabPage contains vector with context values + vcl builder reads control's contexts from the "class" mark + ContextTabControl shows tabs depending on context Change-Id: I661b0d3f35d46ace2a2e8eb1d374148f0c60017d Reviewed-on: https://gerrit.libreoffice.org/26447 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2016-06-01Resolves: tdf#53899 if there is no CurrentController, use the ScTabViewObjCaolán McNamara1-3/+22
as the CurrentController for the duration of the first recalculation. That way any StarBasic has a CurrentController available to it during initial load. Change-Id: I8aa85562a44b49192dd8729c9da57392470b9106 Reviewed-on: https://gerrit.libreoffice.org/25514 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-03-17loplugin:constantparam in sfx2Noel Grandin1-2/+2
Change-Id: I53e690ab8d50fb3ce43ba633fc018e7b66e591cd Reviewed-on: https://gerrit.libreoffice.org/23321 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-02loplugin:unuseddefaultparam in sfx2Noel Grandin1-2/+2
Change-Id: I37afde801a6468c79259fe51acbdea0614c2c8c5
2015-11-23loplugin:unusedfields in scNoel Grandin1-4/+0
Change-Id: If5123e676a27302f3e11475309bc748977c6f430
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann1-33/+33
Change-Id: I765d2a600f9c57da50c85354688e3ae796750d94
2015-11-06loplugin:stringconstant: elide explicit ctor usage (automatic rewrite)Stephan Bergmann1-1/+1
Change-Id: Ief66447f04245b8ab0a4acbf097eb7283529d45d
2015-11-04tdf#39468 translated german comments in tabvwsh4.cxxAlbert Thuswaldner1-91/+83
Change-Id: I18b1c0384d996fc9a8637c86a439185ae3964fd0 Reviewed-on: https://gerrit.libreoffice.org/19416 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2015-10-06 tdf#94559: 4th step to remove rtti.hxxOliver Specht1-6/+4
replaced use of PTR_CAST, IS_TYPE, ISA in idl, editeng, sc, sd, sw, sfx2, sot, starmath Change-Id: I4a5bba4fdc4829099618c09b690c83f876a3d653 Reviewed-on: https://gerrit.libreoffice.org/19132 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-10-01remove old standalone Sun bug numbersNoel Grandin1-1/+0
Sun bug numbers without any accompanying text are completely useless. Fixed with git grep -lP '//\s*#\d+#\s*$' | xargs perl -i -ne'/\/\/\s*#\d+#\s*$/d or print' And then hand-checking the result to restore places where it deleted code. And then some more grepping and hand-editing to kill the others. Change-Id: Ia96ce4466db8bb8da363ebf41f0ae7f45f28bf29 Reviewed-on: https://gerrit.libreoffice.org/19023 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>