fixes compiler.lists.bringToFront

This commit is contained in:
fowlmouth 2013-12-02 23:47:56 -06:00
commit 4f0eeaa55e

View file

@ -91,13 +91,17 @@ proc Remove*(list: var TLinkedList, entry: PListEntry) =
if entry.prev != nil: entry.prev.next = entry.next if entry.prev != nil: entry.prev.next = entry.next
proc bringToFront*(list: var TLinkedList, entry: PListEntry) = proc bringToFront*(list: var TLinkedList, entry: PListEntry) =
if entry == list.head: return when true:
if entry == list.tail: list.tail = entry.prev list.remove entry
if entry.next != nil: entry.next.prev = entry.prev list.prepend entry
if entry.prev != nil: entry.prev.next = entry.next else:
entry.prev = nil if entry == list.head: return
entry.next = list.head if entry == list.tail: list.tail = entry.prev
list.head = entry if entry.next != nil: entry.next.prev = entry.prev
if entry.prev != nil: entry.prev.next = entry.next
entry.prev = nil
entry.next = list.head
list.head = entry
proc ExcludeStr*(list: var TLinkedList, data: string) = proc ExcludeStr*(list: var TLinkedList, data: string) =
var it = list.head var it = list.head