aerc/widgets
Andreas Rammhold aed847f9eb Ensure we aren't selecting negative directories
When the list of directories is empty trying to navigate in the
directory list did previously lead to a crash. With this change we
instead return early before trying to change the directory.

Example backtrace:

> panic: runtime error: index out of range [-1]
>
> goroutine 1 [running]:
> git.sr.ht/~sircmpwn/aerc/widgets.(*DirectoryList).NextPrev(0xc000160680, 0xffffffffffffffff)
> 	source/aerc/widgets/dirlist.go:285 +0xd4
> git.sr.ht/~sircmpwn/aerc/commands/account.NextPrevFolder.Execute(0xc000191040, 0xc00025c210, 0x1, 0x1, 0x0, 0xc00016f420)
> 	source/aerc/commands/account/next-folder.go:44 +0xe0
> git.sr.ht/~sircmpwn/aerc/commands.(*Commands).ExecuteCommand(0xc0000101a8, 0xc000191040, 0xc00025c210, 0x1, 0x1, 0xc000020070, 0xb46d01)
> 	source/aerc/commands/commands.go:66 +0xa7
> main.execCommand(0xc000191040, 0xc0001ca190, 0xc00025c210, 0x1, 0x1, 0xc00025c210, 0xc0003fb080)
> 	source/aerc/aerc.go:60 +0xc7
> main.main.func3(0xc00025c210, 0x1, 0x1, 0x1, 0x1)
> 	source/aerc/aerc.go:162 +0x57
> git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).BeginExCommand.func1(0xc000201db0, 0xb)
> 	source/aerc/widgets/aerc.go:382 +0x83
> git.sr.ht/~sircmpwn/aerc/widgets.(*ExLine).Event(0xc0003be100, 0xb475a0, 0xc00023cba0, 0xc00023cba0)
> 	source/aerc/widgets/exline.go:79 +0x131
> git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).Event(0xc000191040, 0xb475a0, 0xc00023cba0, 0x99ee01)
> 	source/aerc/widgets/aerc.go:202 +0x4c1
> git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).simulate(0xc000191040, 0xc000036f00, 0xd, 0x10)
> 	source/aerc/widgets/aerc.go:195 +0x8d
> git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).Event(0xc000191040, 0xb475a0, 0xc00023c9c0, 0x9c5a60)
> 	source/aerc/widgets/aerc.go:218 +0x3e8
> git.sr.ht/~sircmpwn/aerc/lib/ui.(*UI).Tick(0xc0001ca190, 0xa99d00)
> 	source/aerc/lib/ui/ui.go:92 +0x190
> main.main()
> 	source/aerc/aerc.go:192 +0x5f2
2020-02-07 10:40:37 -05:00
..
account-wizard.go Add UI options to save/pipe messages with unsupported mimetypes 2019-11-17 13:19:13 -05:00
account.go dirlist: adapt to dynamic UIconfig 2020-01-28 10:36:01 -05:00
aerc.go create OriginalMail struct 2020-01-09 14:31:19 -05:00
common.go widgets: add msgInfoFromUids helper 2019-12-21 09:27:47 -05:00
compose.go Correct spelling 2020-01-16 07:21:01 +01:00
dirlist.go Ensure we aren't selecting negative directories 2020-02-07 10:40:37 -05:00
exline.go Show textinput completions in popovers 2019-12-21 09:23:21 -05:00
headerlayout.go msgviewer: Add Labels as a virtual header 2019-12-27 10:20:30 -07:00
msglist.go config: Strongly type context type 2020-01-24 12:25:59 -05:00
msgviewer.go Contextual UI Configuration 2020-01-24 10:50:21 -05:00
providesmessage.go add ProvidesMessages interface 2019-12-21 09:27:47 -05:00
selecter.go Add UI options to save/pipe messages with unsupported mimetypes 2019-11-17 13:19:13 -05:00
spinner.go Add modify-labels command 2019-09-12 16:17:24 -04:00
status.go Show currently pressed keys in statusline 2019-07-17 17:12:52 -04:00
tabhost.go Add UI options to save/pipe messages with unsupported mimetypes 2019-11-17 13:19:13 -05:00
terminal.go Switch back to upstream pty library 2020-01-16 13:45:27 -05:00