]> git.sur5r.net Git - i3/i3/log
i3/i3
11 years agodebug message for window focus: include window ID
Michael Stapelberg [Thu, 27 Dec 2012 15:58:46 +0000 (16:58 +0100)]
debug message for window focus: include window ID

11 years agot/132-move-workspace: add missing sync_with_i3
Michael Stapelberg [Thu, 27 Dec 2012 15:55:22 +0000 (16:55 +0100)]
t/132-move-workspace: add missing sync_with_i3

11 years agounregister as window manager before restarting (fixes a race condition)
Michael Stapelberg [Thu, 27 Dec 2012 15:54:54 +0000 (16:54 +0100)]
unregister as window manager before restarting (fixes a race condition)

11 years agouse xcb_aux_sync to make sure our changes reach the X server, flushing is not enough
Michael Stapelberg [Thu, 27 Dec 2012 15:54:36 +0000 (16:54 +0100)]
use xcb_aux_sync to make sure our changes reach the X server, flushing is not enough

11 years agot/166-assign: sync after mapping the window
Michael Stapelberg [Wed, 26 Dec 2012 21:04:35 +0000 (22:04 +0100)]
t/166-assign: sync after mapping the window

11 years agot/173-regress-focus-assign: sync after mapping the window
Michael Stapelberg [Wed, 26 Dec 2012 21:04:15 +0000 (22:04 +0100)]
t/173-regress-focus-assign: sync after mapping the window

11 years agot/189-floating-constraints: sync before getting window rects
Michael Stapelberg [Wed, 26 Dec 2012 21:03:37 +0000 (22:03 +0100)]
t/189-floating-constraints: sync before getting window rects

11 years agot/510-focus-across-outputs: fix sync order
Michael Stapelberg [Wed, 26 Dec 2012 21:03:02 +0000 (22:03 +0100)]
t/510-focus-across-outputs: fix sync order

syncing _after_ fresh_workspace makes no change, but we need to wait for
the WarpPointer request to be processed.

11 years agot/503-workspace: sync after switching focus to a different output
Michael Stapelberg [Wed, 26 Dec 2012 21:02:43 +0000 (22:02 +0100)]
t/503-workspace: sync after switching focus to a different output

11 years agouserguide: fix typo: s/11x/11px/
Michael Stapelberg [Wed, 26 Dec 2012 17:32:13 +0000 (18:32 +0100)]
userguide: fix typo: s/11x/11px/

11 years agoi3-dmenu-desktop: skip broken files (no/empty Exec=) but warn about them
Michael Stapelberg [Wed, 26 Dec 2012 17:31:33 +0000 (18:31 +0100)]
i3-dmenu-desktop: skip broken files (no/empty Exec=) but warn about them

11 years agoi3-dmenu-desktop: skip files with broken utf8 but warn about it
Michael Stapelberg [Wed, 26 Dec 2012 17:31:21 +0000 (18:31 +0100)]
i3-dmenu-desktop: skip files with broken utf8 but warn about it

11 years agoi3-config-wizard: clean all traces of the old config parser (Thanks cradle)
Michael Stapelberg [Wed, 26 Dec 2012 13:23:47 +0000 (14:23 +0100)]
i3-config-wizard: clean all traces of the old config parser (Thanks cradle)

11 years agodrop the flex/bison dependency \o/
Michael Stapelberg [Tue, 25 Dec 2012 13:20:21 +0000 (14:20 +0100)]
drop the flex/bison dependency \o/

11 years agoi3-config-wizard: switch away from bison/flex to hand-written parser
Michael Stapelberg [Tue, 25 Dec 2012 13:15:06 +0000 (14:15 +0100)]
i3-config-wizard: switch away from bison/flex to hand-written parser

This adds some code duplication which we might remove in a future
refactoring or not. Depends on whether unifying the parsers actually
makes the code better or not. I suspect it doesn’t :-).

11 years agoi3-dmenu-desktop: strip newlines from dmenu ≥ 4.4 (Thanks saurabhgeek92)
Michael Stapelberg [Tue, 25 Dec 2012 11:41:00 +0000 (12:41 +0100)]
i3-dmenu-desktop: strip newlines from dmenu ≥ 4.4 (Thanks saurabhgeek92)

fixes #891

11 years agomove visible scratchpad window to focused workspace
Simon Elsbrock [Fri, 21 Dec 2012 21:13:31 +0000 (22:13 +0100)]
move visible scratchpad window to focused workspace

If there is a visible scratchpad on another (non-internal) workspace,
bring it to the focused workspace instead of doing nothing.

closes #784

11 years agomove scratchpad test to separate file, otherwise it is non-conclusive
Michael Stapelberg [Mon, 24 Dec 2012 18:19:32 +0000 (19:19 +0100)]
move scratchpad test to separate file, otherwise it is non-conclusive

11 years agofix formatting in get_process_filename.c
Michael Stapelberg [Mon, 24 Dec 2012 15:57:30 +0000 (16:57 +0100)]
fix formatting in get_process_filename.c

11 years agoi3-nagbar: don’t quote the -e argument for i3-sensible-terminal
Michael Stapelberg [Mon, 24 Dec 2012 15:56:20 +0000 (16:56 +0100)]
i3-nagbar: don’t quote the -e argument for i3-sensible-terminal

…not all terminals support it

11 years agorefactor both i3-nagbar starts into src/util.c
Michael Stapelberg [Mon, 24 Dec 2012 15:53:20 +0000 (16:53 +0100)]
refactor both i3-nagbar starts into src/util.c

With this change, libev >= 4 is a hard dependency. It should be present
in all major linux distributions (even the latest ubuntu LTS).

11 years agoremove all references to the old cfgparse
Michael Stapelberg [Mon, 24 Dec 2012 14:57:02 +0000 (15:57 +0100)]
remove all references to the old cfgparse

11 years agoremove old cfgparse.{l,y}
Michael Stapelberg [Mon, 24 Dec 2012 14:46:57 +0000 (15:46 +0100)]
remove old cfgparse.{l,y}

11 years agorender_con: initialize int sizes[children]
Sascha Kruse [Mon, 10 Dec 2012 18:13:05 +0000 (19:13 +0100)]
render_con: initialize int sizes[children]

This fixes a clang-analyzer warning

11 years agoRevert "initialize array to fix clang-analyze warning"
Michael Stapelberg [Mon, 24 Dec 2012 14:28:08 +0000 (15:28 +0100)]
Revert "initialize array to fix clang-analyze warning"

This reverts commit 56e0ceb44e0745b1670952be8f324783abdb28c5.

11 years agopod2html: remove "(testsuite)" from title, it’s also for i3-dmenu-desktop
Michael Stapelberg [Mon, 24 Dec 2012 14:27:09 +0000 (15:27 +0100)]
pod2html: remove "(testsuite)" from title, it’s also for i3-dmenu-desktop

11 years agoinitialize array to fix clang-analyze warning
Michael Stapelberg [Mon, 24 Dec 2012 14:19:20 +0000 (15:19 +0100)]
initialize array to fix clang-analyze warning

11 years agofix possibly uninitialized variable (Thanks knopwob)
Michael Stapelberg [Mon, 24 Dec 2012 14:13:47 +0000 (15:13 +0100)]
fix possibly uninitialized variable (Thanks knopwob)

11 years agoi3-dump-log/main.c: error handling for write(...)
Sascha Kruse [Mon, 10 Dec 2012 16:45:14 +0000 (17:45 +0100)]
i3-dump-log/main.c: error handling for write(...)

11 years agoMerge branch 'master' into next
Michael Stapelberg [Mon, 24 Dec 2012 13:50:15 +0000 (14:50 +0100)]
Merge branch 'master' into next

11 years agoMerge branch 'fix-mapreq'
Michael Stapelberg [Mon, 24 Dec 2012 13:50:11 +0000 (14:50 +0100)]
Merge branch 'fix-mapreq'

11 years agoBugfix: handle MapRequests sent between i3 registering as a wm and handling events
Michael Stapelberg [Mon, 24 Dec 2012 13:49:19 +0000 (14:49 +0100)]
Bugfix: handle MapRequests sent between i3 registering as a wm and handling events

This fixes the problem where i3-nagbar does not come up because its
MapRequest is ignored.

fixes #892

11 years agoBugfix: Correctly close floating windows (Thanks eeemsi)
Michael Stapelberg [Sun, 23 Dec 2012 17:51:17 +0000 (18:51 +0100)]
Bugfix: Correctly close floating windows (Thanks eeemsi)

11 years agoRender tree before destroying X11 containers upon unmap (Thanks Merovius)
Michael Stapelberg [Sun, 23 Dec 2012 14:54:49 +0000 (15:54 +0100)]
Render tree before destroying X11 containers upon unmap (Thanks Merovius)

When an X11 window is closed (say, urxvt), i3 gets an UnmapNotify event
and destroys (DestroyWindow) the window decorations. Before this commit,
the DestroyWindow call was sent immediately.

This lead to a situation where — due to the DestroyNotify — EnterNotify
events were generated that would cause the focus to be set to the
underlying window.

With this commit, i3 first renders the tree and pushes changes to X11
before calling DestroyWindow. Therefore, the surrounding containers will
take up any space that was freed by the window which was closed and no
EnterNotify will be generated.

fixes #660

11 years agoDraw 1px tab separators left/right instead of 2px on the right only
Joep van Delft [Thu, 20 Dec 2012 17:32:11 +0000 (18:32 +0100)]
Draw 1px tab separators left/right instead of 2px on the right only

fixes #894

11 years agonew-test: add launch_with_config to multi-monitor template
Michael Stapelberg [Sat, 22 Dec 2012 13:08:25 +0000 (14:08 +0100)]
new-test: add launch_with_config to multi-monitor template

11 years agoMerge branch 'fix-scratch-confreq'
Michael Stapelberg [Sat, 22 Dec 2012 13:08:14 +0000 (14:08 +0100)]
Merge branch 'fix-scratch-confreq'

11 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 22 Dec 2012 13:08:14 +0000 (14:08 +0100)]
Merge branch 'master' into next

11 years agoBugfix: Ignore ConfigureRequests for scratchpad windows (Thanks MeanEYE)
Michael Stapelberg [Sat, 22 Dec 2012 13:06:38 +0000 (14:06 +0100)]
Bugfix: Ignore ConfigureRequests for scratchpad windows (Thanks MeanEYE)

fixes #898

11 years agoi3-dmenu-desktop: don’t add “geany” if “Geany” is already present (Thanks Tai-Lin...
Michael Stapelberg [Thu, 20 Dec 2012 23:04:29 +0000 (00:04 +0100)]
i3-dmenu-desktop: don’t add “geany” if “Geany” is already present (Thanks Tai-Lin Chu)

11 years agohacking-howto: clarify where to send patches to (Thanks Vivien)
Michael Stapelberg [Thu, 20 Dec 2012 22:56:17 +0000 (23:56 +0100)]
hacking-howto: clarify where to send patches to (Thanks Vivien)

11 years agouserguide: s/mailclient/mail client/g (Thanks joepd)
Michael Stapelberg [Thu, 20 Dec 2012 22:54:48 +0000 (23:54 +0100)]
userguide: s/mailclient/mail client/g (Thanks joepd)

11 years agocomplete-run: clarify the message about missing ../i3 (Thanks Marcos)
Michael Stapelberg [Thu, 20 Dec 2012 22:50:50 +0000 (23:50 +0100)]
complete-run: clarify the message about missing ../i3 (Thanks Marcos)

11 years agoMerge branch 'master' into next
Michael Stapelberg [Wed, 19 Dec 2012 20:40:53 +0000 (21:40 +0100)]
Merge branch 'master' into next

11 years agoMerge branch 'fix-scroll-split'
Michael Stapelberg [Wed, 19 Dec 2012 20:40:48 +0000 (21:40 +0100)]
Merge branch 'fix-scroll-split'

11 years agoFix scrolling on a tabbed titlebar which contains split cons (Thanks f8l)
Michael Stapelberg [Wed, 19 Dec 2012 20:40:26 +0000 (21:40 +0100)]
Fix scrolling on a tabbed titlebar which contains split cons (Thanks f8l)

fixes #708

11 years agoMerge branch 'master' into next
Michael Stapelberg [Wed, 19 Dec 2012 20:13:12 +0000 (21:13 +0100)]
Merge branch 'master' into next

11 years agoMerge branch 'fix-tab-border'
Michael Stapelberg [Wed, 19 Dec 2012 20:13:08 +0000 (21:13 +0100)]
Merge branch 'fix-tab-border'

11 years agoAlso draw right tab border for split containers (Thanks alex)
Michael Stapelberg [Wed, 19 Dec 2012 20:12:38 +0000 (21:12 +0100)]
Also draw right tab border for split containers (Thanks alex)

fixes #696

11 years agoMerge branch 'master' into next
Michael Stapelberg [Wed, 19 Dec 2012 17:22:37 +0000 (18:22 +0100)]
Merge branch 'master' into next

11 years agoMerge branch 'i3-input-focus'
Michael Stapelberg [Wed, 19 Dec 2012 17:22:33 +0000 (18:22 +0100)]
Merge branch 'i3-input-focus'

11 years agoi3-input: restore input focus on exit() (Thanks f8l)
Michael Stapelberg [Wed, 19 Dec 2012 17:22:03 +0000 (18:22 +0100)]
i3-input: restore input focus on exit() (Thanks f8l)

fixes #641

11 years agoMerge branch 'master' into next
Michael Stapelberg [Mon, 17 Dec 2012 09:24:46 +0000 (10:24 +0100)]
Merge branch 'master' into next

11 years agoMerge branch 'fix-ar'
Michael Stapelberg [Mon, 17 Dec 2012 09:24:46 +0000 (10:24 +0100)]
Merge branch 'fix-ar'

11 years agoRepect AR environment variable
Kacper Kowalik (Xarthisius) [Sun, 16 Dec 2012 17:40:56 +0000 (18:40 +0100)]
Repect AR environment variable

11 years agoMerge branch 'master' into next
Michael Stapelberg [Fri, 14 Dec 2012 20:50:15 +0000 (21:50 +0100)]
Merge branch 'master' into next

11 years agoMerge branch 'remove-atom-include'
Michael Stapelberg [Fri, 14 Dec 2012 20:50:10 +0000 (21:50 +0100)]
Merge branch 'remove-atom-include'

11 years agoBugfix: remove superfluous #include <xcb/xcb_atom.h> (Thanks pnutzh4x0r)
Michael Stapelberg [Fri, 14 Dec 2012 20:49:31 +0000 (21:49 +0100)]
Bugfix: remove superfluous #include <xcb/xcb_atom.h> (Thanks pnutzh4x0r)

This fixes the build on CentOS 6.

fixes #889

11 years agoi3-dump-log: Correct comment to reflect truth
Axel Wagner [Fri, 14 Dec 2012 00:27:34 +0000 (01:27 +0100)]
i3-dump-log: Correct comment to reflect truth

11 years agoRevert "don't use con_is_internal"
Michael Stapelberg [Fri, 14 Dec 2012 20:44:20 +0000 (21:44 +0100)]
Revert "don't use con_is_internal"

This reverts commit c6948c59f592aa5ca0c2d81ff7ac1368a253c353.

Given that master and next now both contain con_is_internal, we can use
it again.

11 years agoMerge branch 'master' into next
Michael Stapelberg [Fri, 14 Dec 2012 20:42:33 +0000 (21:42 +0100)]
Merge branch 'master' into next

11 years agoMerge branch 'fix-release'
Michael Stapelberg [Fri, 14 Dec 2012 20:42:21 +0000 (21:42 +0100)]
Merge branch 'fix-release'

11 years agofix bind[code|sym] --release (Thanks paolo)
Michael Stapelberg [Fri, 14 Dec 2012 20:41:56 +0000 (21:41 +0100)]
fix bind[code|sym] --release (Thanks paolo)

fixes #890

11 years agodebian/changelog: add dummy entry for the next version
Michael Stapelberg [Tue, 11 Dec 2012 23:23:35 +0000 (00:23 +0100)]
debian/changelog: add dummy entry for the next version

11 years agoMerge branch 'next'
Michael Stapelberg [Tue, 11 Dec 2012 23:18:23 +0000 (00:18 +0100)]
Merge branch 'next'

11 years agoMerge branch 'release-4.4' into next
Michael Stapelberg [Tue, 11 Dec 2012 23:18:17 +0000 (00:18 +0100)]
Merge branch 'release-4.4' into next

11 years agoupdate debian packaging for 4.4 4.4
Michael Stapelberg [Tue, 11 Dec 2012 23:05:51 +0000 (00:05 +0100)]
update debian packaging for 4.4

11 years agodrop debugging-release-version from docs makefile
Michael Stapelberg [Tue, 11 Dec 2012 21:46:35 +0000 (22:46 +0100)]
drop debugging-release-version from docs makefile

11 years agoadd release notes for v4.4
Michael Stapelberg [Tue, 11 Dec 2012 21:45:34 +0000 (22:45 +0100)]
add release notes for v4.4

11 years agoi3-dmenu-desktop: skip .desktop files with Type != Application
Michael Stapelberg [Tue, 11 Dec 2012 21:43:06 +0000 (22:43 +0100)]
i3-dmenu-desktop: skip .desktop files with Type != Application

11 years agorecommend i3-dmenu-desktop in the default config
Michael Stapelberg [Tue, 11 Dec 2012 21:36:29 +0000 (22:36 +0100)]
recommend i3-dmenu-desktop in the default config

We might replace dmenu_run in v4.5, depending on the feedback we get for
v4.4.

11 years agodrop docs/debugging-release-version, it was integrated into docs/debugging
Michael Stapelberg [Tue, 11 Dec 2012 21:32:14 +0000 (22:32 +0100)]
drop docs/debugging-release-version, it was integrated into docs/debugging

11 years agoinstall i3-dmenu-desktop
Michael Stapelberg [Tue, 11 Dec 2012 21:31:44 +0000 (22:31 +0100)]
install i3-dmenu-desktop

11 years agomove i3-dmenu-desktop from contrib to /
Michael Stapelberg [Tue, 11 Dec 2012 21:10:22 +0000 (22:10 +0100)]
move i3-dmenu-desktop from contrib to /

11 years agoi3-dmenu-desktop: add --entry-type=[name|command|both]
Michael Stapelberg [Sun, 9 Dec 2012 23:28:32 +0000 (00:28 +0100)]
i3-dmenu-desktop: add --entry-type=[name|command|both]

The new default is 'both' to add "GNU Image Manipulation Program" as
well as "gimp-2.8" to the menu.

11 years agodocs/debugging: grammar improvements (Thanks cian)
Michael Stapelberg [Sun, 9 Dec 2012 16:56:55 +0000 (17:56 +0100)]
docs/debugging: grammar improvements (Thanks cian)

11 years agoadd contrib/i3-dmenu-desktop, a script which runs .desktop files via dmenu
Michael Stapelberg [Sun, 9 Dec 2012 16:04:01 +0000 (17:04 +0100)]
add contrib/i3-dmenu-desktop, a script which runs .desktop files via dmenu

See "pod2man --utf8 contrib/i3-dmenu-desktop | man /dev/stdin" for
documentation. Use a line like this in your i3 config file:

    bindsym Mod1+p exec --no-startup-id ~/i3/contrib/i3-dmenu-desktop

11 years agodocs/debugging: simplify, merge with release version instructions
Michael Stapelberg [Sun, 9 Dec 2012 11:07:25 +0000 (12:07 +0100)]
docs/debugging: simplify, merge with release version instructions

11 years agoOpenBSD has getline() now
David Coppa [Thu, 6 Dec 2012 11:30:14 +0000 (12:30 +0100)]
OpenBSD has getline() now

11 years agoi3bar: add min_width and align keys to blocks
Antoine Millet [Sun, 2 Dec 2012 12:20:06 +0000 (13:20 +0100)]
i3bar: add min_width and align keys to blocks

11 years agodocs/i3bar-protocol: fix example formatting
Michael Stapelberg [Sun, 2 Dec 2012 16:58:59 +0000 (17:58 +0100)]
docs/i3bar-protocol: fix example formatting

11 years agouserguide: document new_float option (like new_window)
Michael Stapelberg [Sun, 2 Dec 2012 16:57:24 +0000 (17:57 +0100)]
userguide: document new_float option (like new_window)

11 years agodump-asy: implement filtering by name, present nodes better
Michael Stapelberg [Fri, 23 Nov 2012 19:29:52 +0000 (20:29 +0100)]
dump-asy: implement filtering by name, present nodes better

where "better" means that we no longer use (name, orientation,
window-id), but "name" (leaf) or "name" (horizontal-split) for example.

11 years agodump-asy: start gv without widgets and fit the drawing to window
Michael Stapelberg [Fri, 23 Nov 2012 19:29:08 +0000 (20:29 +0100)]
dump-asy: start gv without widgets and fit the drawing to window

11 years agodump-asy: let AnyEvent::I3 figure out the socket path
Michael Stapelberg [Fri, 23 Nov 2012 19:28:38 +0000 (20:28 +0100)]
dump-asy: let AnyEvent::I3 figure out the socket path

12 years agoBugfix: Don’t move floating windows when their size constraints forbid resizing ...
Michael Stapelberg [Tue, 27 Nov 2012 08:26:31 +0000 (09:26 +0100)]
Bugfix: Don’t move floating windows when their size constraints forbid resizing (Thanks aksr)

fixes #883

12 years agocode style fixes for the previous commit
Michael Stapelberg [Sun, 25 Nov 2012 19:55:49 +0000 (20:55 +0100)]
code style fixes for the previous commit

• our function names use underscores
• rewrote the function’s comment
• function comments must be in the source _and_ in the header
• no blank lines after function signatures

12 years agoThe command to resize a floating window now checks the minimum and maximum size.
Adrien \"schischi\" Schildknecht [Thu, 22 Nov 2012 04:15:49 +0000 (05:15 +0100)]
The command to resize a floating window now checks the minimum and maximum size.

12 years agoFix memory leaks in config_parser.
Emil Mikulic [Sat, 24 Nov 2012 05:02:20 +0000 (16:02 +1100)]
Fix memory leaks in config_parser.

push_token() doesn't take ownership of its str argument.

12 years agouserguide: add section with synonym "screen" for "RandR output"
Michael Stapelberg [Tue, 20 Nov 2012 16:11:54 +0000 (17:11 +0100)]
userguide: add section with synonym "screen" for "RandR output"

While the docs describe the feature, plenty of people ask for it on IRC.
Let’s see if this makes it easier to find.

12 years agoconfig parser: recover after invalid input
Michael Stapelberg [Tue, 20 Nov 2012 16:09:03 +0000 (17:09 +0100)]
config parser: recover after invalid input

This is done by ignoring the rest of the current line and jumping to the
nearest <error> token.

fixes #879

12 years agoi3bar: Add current binding mode indicator
Pavel Löbl [Sat, 10 Nov 2012 12:41:39 +0000 (13:41 +0100)]
i3bar: Add current binding mode indicator

12 years agocomplete-run: run 000-load-deps as early as possible
Michael Stapelberg [Tue, 13 Nov 2012 20:04:13 +0000 (21:04 +0100)]
complete-run: run 000-load-deps as early as possible

12 years agotests: 000-load-deps: bail out when dependencies are not found, test more of them
Michael Stapelberg [Tue, 13 Nov 2012 20:03:44 +0000 (21:03 +0100)]
tests: 000-load-deps: bail out when dependencies are not found, test more of them

This should be a better hint for people who forgot to install the
testsuite dependencies :).

12 years agotests: 115-ipc-workspaces: ensure the i3 ipc socket is connected
Michael Stapelberg [Tue, 13 Nov 2012 20:03:25 +0000 (21:03 +0100)]
tests: 115-ipc-workspaces: ensure the i3 ipc socket is connected

12 years agoset LC_NUMERIC=C when dumping nodes in the workspace event
Michael Stapelberg [Tue, 13 Nov 2012 08:49:08 +0000 (09:49 +0100)]
set LC_NUMERIC=C when dumping nodes in the workspace event

Otherwise the resulting JSON might be invalid because it uses the
locale-specific comma separator, e.g. "16,666" instead of "16.666".

12 years agot/115: make the test a little shorter by using helper functions
Michael Stapelberg [Tue, 13 Nov 2012 08:39:42 +0000 (09:39 +0100)]
t/115: make the test a little shorter by using helper functions

12 years agoworkspace events test
Francesco Mazzoli [Sat, 3 Nov 2012 11:17:33 +0000 (11:17 +0000)]
workspace events test

12 years agobetter docs for the focus workspace ipc event
Francesco Mazzoli [Sat, 3 Nov 2012 11:17:32 +0000 (11:17 +0000)]
better docs for the focus workspace ipc event

12 years agorefactor, name changes
Francesco Mazzoli [Sat, 3 Nov 2012 11:17:31 +0000 (11:17 +0000)]
refactor, name changes

We need to send the workspace event earlier, because otherwise 'old'
might already be destroyed (if it was empty).