Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package fzf for openSUSE:Factory checked in 
at 2023-06-11 19:54:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fzf (Old)
 and      /work/SRC/openSUSE:Factory/.fzf.new.15902 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fzf"

Sun Jun 11 19:54:36 2023 rev:35 rq:1091832 version:0.41.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/fzf/fzf.changes  2023-05-27 00:51:15.298920470 
+0200
+++ /work/SRC/openSUSE:Factory/.fzf.new.15902/fzf.changes       2023-06-11 
19:57:25.899938136 +0200
@@ -1,0 +2,9 @@
+Fri Jun  9 03:32:26 UTC 2023 - Joshua Smith <jsmith...@gmail.com>
+
+- Update to version 0.41.1:
+  * Fixed a bug where preview window is not updated when
+    --disabled is set and a reload is triggered by change:reload
+    binding
+  * Added fix-go-test.patch to make test cases work on 0.41.1
+
+-------------------------------------------------------------------

Old:
----
  fzf-0.41.0.tar.gz

New:
----
  fix-go-test.patch
  fzf-0.41.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fzf.spec ++++++
--- /var/tmp/diff_new_pack.ZASY66/_old  2023-06-11 19:57:26.507941803 +0200
+++ /var/tmp/diff_new_pack.ZASY66/_new  2023-06-11 19:57:26.515941851 +0200
@@ -18,7 +18,7 @@
 
 %global _lto_cflags %{nil}
 Name:           fzf
-Version:        0.41.0
+Version:        0.41.1
 Release:        0
 Summary:        A command-line fuzzy finder
 License:        MIT
@@ -26,6 +26,7 @@
 URL:            https://github.com/junegunn/fzf
 Source0:        
https://github.com/junegunn/fzf/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Source1:        vendor.tar.zst
+Patch0:         fix-go-test.patch
 BuildRequires:  zstd
 BuildRequires:  golang(API) >= 1.19
 

++++++ fix-go-test.patch ++++++
>From 448d7e0c5a717128d499f6a09a978b7addd1d925 Mon Sep 17 00:00:00 2001
From: Junegunn Choi <junegun...@gmail.com>
Date: Sat, 27 May 2023 16:01:30 +0900
Subject: [PATCH] Update test case

---
 src/merger_test.go | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/merger_test.go b/src/merger_test.go
index 5894bea015..5fd1576fd7 100644
--- a/src/merger_test.go
+++ b/src/merger_test.go
@@ -23,10 +23,10 @@ func randResult() Result {
 }
 
 func TestEmptyMerger(t *testing.T) {
-       assert(t, EmptyMerger.Length() == 0, "Not empty")
-       assert(t, EmptyMerger.count == 0, "Invalid count")
-       assert(t, len(EmptyMerger.lists) == 0, "Invalid lists")
-       assert(t, len(EmptyMerger.merged) == 0, "Invalid merged list")
+       assert(t, EmptyMerger(0).Length() == 0, "Not empty")
+       assert(t, EmptyMerger(0).count == 0, "Invalid count")
+       assert(t, len(EmptyMerger(0).lists) == 0, "Invalid lists")
+       assert(t, len(EmptyMerger(0).merged) == 0, "Invalid merged list")
 }
 
 func buildLists(partiallySorted bool) ([][]Result, []Result) {

++++++ fzf-0.41.0.tar.gz -> fzf-0.41.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fzf-0.41.0/CHANGELOG.md new/fzf-0.41.1/CHANGELOG.md
--- old/fzf-0.41.0/CHANGELOG.md 2023-05-25 17:25:09.000000000 +0200
+++ new/fzf-0.41.1/CHANGELOG.md 2023-05-27 08:54:22.000000000 +0200
@@ -1,6 +1,11 @@
 CHANGELOG
 =========
 
+0.41.1
+------
+- Fixed a bug where preview window is not updated when `--disabled` is set and
+  a reload is triggered by `change:reload` binding
+
 0.41.0
 ------
 - Added color name `preview-border` and `preview-scrollbar`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fzf-0.41.0/install new/fzf-0.41.1/install
--- old/fzf-0.41.0/install      2023-05-25 17:25:09.000000000 +0200
+++ new/fzf-0.41.1/install      2023-05-27 08:54:22.000000000 +0200
@@ -2,7 +2,7 @@
 
 set -u
 
-version=0.41.0
+version=0.41.1
 auto_completion=
 key_bindings=
 update_config=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fzf-0.41.0/install.ps1 new/fzf-0.41.1/install.ps1
--- old/fzf-0.41.0/install.ps1  2023-05-25 17:25:09.000000000 +0200
+++ new/fzf-0.41.1/install.ps1  2023-05-27 08:54:22.000000000 +0200
@@ -1,4 +1,4 @@
-$version="0.41.0"
+$version="0.41.1"
 
 $fzf_base=Split-Path -Parent $MyInvocation.MyCommand.Definition
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fzf-0.41.0/man/man1/fzf-tmux.1 
new/fzf-0.41.1/man/man1/fzf-tmux.1
--- old/fzf-0.41.0/man/man1/fzf-tmux.1  2023-05-25 17:25:09.000000000 +0200
+++ new/fzf-0.41.1/man/man1/fzf-tmux.1  2023-05-27 08:54:22.000000000 +0200
@@ -21,7 +21,7 @@
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 ..
-.TH fzf-tmux 1 "May 2023" "fzf 0.41.0" "fzf-tmux - open fzf in tmux split pane"
+.TH fzf-tmux 1 "May 2023" "fzf 0.41.1" "fzf-tmux - open fzf in tmux split pane"
 
 .SH NAME
 fzf-tmux - open fzf in tmux split pane
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fzf-0.41.0/man/man1/fzf.1 
new/fzf-0.41.1/man/man1/fzf.1
--- old/fzf-0.41.0/man/man1/fzf.1       2023-05-25 17:25:09.000000000 +0200
+++ new/fzf-0.41.1/man/man1/fzf.1       2023-05-27 08:54:22.000000000 +0200
@@ -21,7 +21,7 @@
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 ..
-.TH fzf 1 "May 2023" "fzf 0.41.0" "fzf - a command-line fuzzy finder"
+.TH fzf 1 "May 2023" "fzf 0.41.1" "fzf - a command-line fuzzy finder"
 
 .SH NAME
 fzf - a command-line fuzzy finder
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fzf-0.41.0/src/core.go new/fzf-0.41.1/src/core.go
--- old/fzf-0.41.0/src/core.go  2023-05-25 17:25:09.000000000 +0200
+++ new/fzf-0.41.1/src/core.go  2023-05-27 08:54:22.000000000 +0200
@@ -138,7 +138,9 @@
                        opts.Fuzzy, opts.FuzzyAlgo, opts.Extended, opts.Case, 
opts.Normalize, forward, withPos,
                        opts.Filter == nil, opts.Nth, opts.Delimiter, runes)
        }
-       matcher := NewMatcher(patternBuilder, sort, opts.Tac, eventBox)
+       inputRevision := 0
+       snapshotRevision := 0
+       matcher := NewMatcher(patternBuilder, sort, opts.Tac, eventBox, 
inputRevision)
 
        // Filtering mode
        if opts.Filter != nil {
@@ -209,8 +211,6 @@
 
        // Event coordination
        reading := true
-       clearCache := util.Once(false)
-       clearSelection := util.Once(false)
        ticks := 0
        var nextCommand *string
        eventBox.Watch(EvtReadNew)
@@ -231,26 +231,20 @@
 
        useSnapshot := false
        var snapshot []*Chunk
-       var prevSnapshot []*Chunk
        var count int
        restart := func(command string) {
                reading = true
-               clearCache = util.Once(true)
-               clearSelection = util.Once(true)
-               // We should not update snapshot if reload is triggered again 
while
-               // the previous reload is in progress
-               if useSnapshot && prevSnapshot != nil {
-                       snapshot, count = chunkList.Snapshot()
-               }
                chunkList.Clear()
                itemIndex = 0
+               inputRevision++
                header = make([]string, 0, opts.HeaderLines)
                go reader.restart(command)
        }
        for {
                delay := true
                ticks++
-               input := func(reloaded bool) []rune {
+               input := func() []rune {
+                       reloaded := snapshotRevision != inputRevision
                        paused, input := terminal.Input()
                        if reloaded && paused {
                                query = []rune{}
@@ -280,22 +274,21 @@
                                        }
                                        if useSnapshot && evt == EvtReadFin {
                                                useSnapshot = false
-                                               prevSnapshot = nil
                                        }
                                        if !useSnapshot {
                                                snapshot, count = 
chunkList.Snapshot()
+                                               snapshotRevision = inputRevision
                                        }
                                        total = count
                                        terminal.UpdateCount(total, !reading, 
value.(*string))
                                        if opts.Sync {
                                                opts.Sync = false
-                                               
terminal.UpdateList(PassMerger(&snapshot, opts.Tac), false)
+                                               
terminal.UpdateList(PassMerger(&snapshot, opts.Tac, snapshotRevision))
                                        }
                                        if heightUnknown && !deferred {
                                                determine(!reading)
                                        }
-                                       reset := !useSnapshot && clearCache()
-                                       matcher.Reset(snapshot, input(reset), 
false, !reading, sort, reset)
+                                       matcher.Reset(snapshot, input(), false, 
!reading, sort, snapshotRevision)
 
                                case EvtSearchNew:
                                        var command *string
@@ -320,17 +313,16 @@
                                        if !changed {
                                                break
                                        }
-                                       reset := false
                                        if !useSnapshot {
                                                newSnapshot, _ := 
chunkList.Snapshot()
                                                // We want to avoid showing 
empty list when reload is triggered
                                                // and the query string is 
changed at the same time i.e. command != nil && changed
                                                if command == nil || 
len(newSnapshot) > 0 {
                                                        snapshot = newSnapshot
-                                                       reset = clearCache()
+                                                       snapshotRevision = 
inputRevision
                                                }
                                        }
-                                       matcher.Reset(snapshot, input(reset), 
true, !reading, sort, reset)
+                                       matcher.Reset(snapshot, input(), true, 
!reading, sort, snapshotRevision)
                                        delay = false
 
                                case EvtSearchProgress:
@@ -370,7 +362,7 @@
                                                                
determine(val.final)
                                                        }
                                                }
-                                               terminal.UpdateList(val, 
clearSelection())
+                                               terminal.UpdateList(val)
                                        }
                                }
                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fzf-0.41.0/src/matcher.go 
new/fzf-0.41.1/src/matcher.go
--- old/fzf-0.41.0/src/matcher.go       2023-05-25 17:25:09.000000000 +0200
+++ new/fzf-0.41.1/src/matcher.go       2023-05-27 08:54:22.000000000 +0200
@@ -12,11 +12,11 @@
 
 // MatchRequest represents a search request
 type MatchRequest struct {
-       chunks     []*Chunk
-       pattern    *Pattern
-       final      bool
-       sort       bool
-       clearCache bool
+       chunks   []*Chunk
+       pattern  *Pattern
+       final    bool
+       sort     bool
+       revision int
 }
 
 // Matcher is responsible for performing search
@@ -29,6 +29,7 @@
        partitions     int
        slab           []*util.Slab
        mergerCache    map[string]*Merger
+       revision       int
 }
 
 const (
@@ -38,7 +39,7 @@
 
 // NewMatcher returns a new Matcher
 func NewMatcher(patternBuilder func([]rune) *Pattern,
-       sort bool, tac bool, eventBox *util.EventBox) *Matcher {
+       sort bool, tac bool, eventBox *util.EventBox, revision int) *Matcher {
        partitions := util.Min(numPartitionsMultiplier*runtime.NumCPU(), 
maxPartitions)
        return &Matcher{
                patternBuilder: patternBuilder,
@@ -48,7 +49,8 @@
                reqBox:         util.NewEventBox(),
                partitions:     partitions,
                slab:           make([]*util.Slab, partitions),
-               mergerCache:    make(map[string]*Merger)}
+               mergerCache:    make(map[string]*Merger),
+               revision:       revision}
 }
 
 // Loop puts Matcher in action
@@ -70,8 +72,9 @@
                        events.Clear()
                })
 
-               if request.sort != m.sort || request.clearCache {
+               if request.sort != m.sort || request.revision != m.revision {
                        m.sort = request.sort
+                       m.revision = request.revision
                        m.mergerCache = make(map[string]*Merger)
                        clearChunkCache()
                }
@@ -140,11 +143,11 @@
 
        numChunks := len(request.chunks)
        if numChunks == 0 {
-               return EmptyMerger, false
+               return EmptyMerger(request.revision), false
        }
        pattern := request.pattern
        if pattern.IsEmpty() {
-               return PassMerger(&request.chunks, m.tac), false
+               return PassMerger(&request.chunks, m.tac, request.revision), 
false
        }
 
        cancelled := util.NewAtomicBool(false)
@@ -218,11 +221,11 @@
                partialResult := <-resultChan
                partialResults[partialResult.index] = partialResult.matches
        }
-       return NewMerger(pattern, partialResults, m.sort, m.tac), false
+       return NewMerger(pattern, partialResults, m.sort, m.tac, 
request.revision), false
 }
 
 // Reset is called to interrupt/signal the ongoing search
-func (m *Matcher) Reset(chunks []*Chunk, patternRunes []rune, cancel bool, 
final bool, sort bool, clearCache bool) {
+func (m *Matcher) Reset(chunks []*Chunk, patternRunes []rune, cancel bool, 
final bool, sort bool, revision int) {
        pattern := m.patternBuilder(patternRunes)
 
        var event util.EventType
@@ -231,5 +234,5 @@
        } else {
                event = reqRetry
        }
-       m.reqBox.Set(event, MatchRequest{chunks, pattern, final, sort && 
pattern.sortable, clearCache})
+       m.reqBox.Set(event, MatchRequest{chunks, pattern, final, sort && 
pattern.sortable, revision})
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fzf-0.41.0/src/merger.go new/fzf-0.41.1/src/merger.go
--- old/fzf-0.41.0/src/merger.go        2023-05-25 17:25:09.000000000 +0200
+++ new/fzf-0.41.1/src/merger.go        2023-05-27 08:54:22.000000000 +0200
@@ -3,32 +3,36 @@
 import "fmt"
 
 // EmptyMerger is a Merger with no data
-var EmptyMerger = NewMerger(nil, [][]Result{}, false, false)
+func EmptyMerger(revision int) *Merger {
+       return NewMerger(nil, [][]Result{}, false, false, revision)
+}
 
 // Merger holds a set of locally sorted lists of items and provides the view of
 // a single, globally-sorted list
 type Merger struct {
-       pattern *Pattern
-       lists   [][]Result
-       merged  []Result
-       chunks  *[]*Chunk
-       cursors []int
-       sorted  bool
-       tac     bool
-       final   bool
-       count   int
-       pass    bool
+       pattern  *Pattern
+       lists    [][]Result
+       merged   []Result
+       chunks   *[]*Chunk
+       cursors  []int
+       sorted   bool
+       tac      bool
+       final    bool
+       count    int
+       pass     bool
+       revision int
 }
 
 // PassMerger returns a new Merger that simply returns the items in the
 // original order
-func PassMerger(chunks *[]*Chunk, tac bool) *Merger {
+func PassMerger(chunks *[]*Chunk, tac bool, revision int) *Merger {
        mg := Merger{
-               pattern: nil,
-               chunks:  chunks,
-               tac:     tac,
-               count:   0,
-               pass:    true}
+               pattern:  nil,
+               chunks:   chunks,
+               tac:      tac,
+               count:    0,
+               pass:     true,
+               revision: revision}
 
        for _, chunk := range *mg.chunks {
                mg.count += chunk.count
@@ -37,17 +41,18 @@
 }
 
 // NewMerger returns a new Merger
-func NewMerger(pattern *Pattern, lists [][]Result, sorted bool, tac bool) 
*Merger {
+func NewMerger(pattern *Pattern, lists [][]Result, sorted bool, tac bool, 
revision int) *Merger {
        mg := Merger{
-               pattern: pattern,
-               lists:   lists,
-               merged:  []Result{},
-               chunks:  nil,
-               cursors: make([]int, len(lists)),
-               sorted:  sorted,
-               tac:     tac,
-               final:   false,
-               count:   0}
+               pattern:  pattern,
+               lists:    lists,
+               merged:   []Result{},
+               chunks:   nil,
+               cursors:  make([]int, len(lists)),
+               sorted:   sorted,
+               tac:      tac,
+               final:    false,
+               count:    0,
+               revision: revision}
 
        for _, list := range mg.lists {
                mg.count += len(list)
@@ -55,6 +60,11 @@
        return &mg
 }
 
+// Revision returns revision number
+func (mg *Merger) Revision() int {
+       return mg.revision
+}
+
 // Length returns the number of items
 func (mg *Merger) Length() int {
        return mg.count
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fzf-0.41.0/src/merger_test.go 
new/fzf-0.41.1/src/merger_test.go
--- old/fzf-0.41.0/src/merger_test.go   2023-05-25 17:25:09.000000000 +0200
+++ new/fzf-0.41.1/src/merger_test.go   2023-05-27 08:54:22.000000000 +0200
@@ -57,7 +57,7 @@
        cnt := len(items)
 
        // Not sorted: same order
-       mg := NewMerger(nil, lists, false, false)
+       mg := NewMerger(nil, lists, false, false, 0)
        assert(t, cnt == mg.Length(), "Invalid Length")
        for i := 0; i < cnt; i++ {
                assert(t, items[i] == mg.Get(i), "Invalid Get")
@@ -69,7 +69,7 @@
        cnt := len(items)
 
        // Sorted sorted order
-       mg := NewMerger(nil, lists, true, false)
+       mg := NewMerger(nil, lists, true, false, 0)
        assert(t, cnt == mg.Length(), "Invalid Length")
        sort.Sort(ByRelevance(items))
        for i := 0; i < cnt; i++ {
@@ -79,7 +79,7 @@
        }
 
        // Inverse order
-       mg2 := NewMerger(nil, lists, true, false)
+       mg2 := NewMerger(nil, lists, true, false, 0)
        for i := cnt - 1; i >= 0; i-- {
                if items[i] != mg2.Get(i) {
                        t.Error("Not sorted", items[i], mg2.Get(i))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fzf-0.41.0/src/terminal.go 
new/fzf-0.41.1/src/terminal.go
--- old/fzf-0.41.0/src/terminal.go      2023-05-25 17:25:09.000000000 +0200
+++ new/fzf-0.41.1/src/terminal.go      2023-05-27 08:54:22.000000000 +0200
@@ -228,6 +228,7 @@
        merger             *Merger
        selected           map[int32]selectedItem
        version            int64
+       revision           int
        reqBox             *util.EventBox
        initialPreviewOpts previewOpts
        previewOpts        previewOpts
@@ -644,7 +645,7 @@
                jumpLabels:         opts.JumpLabels,
                printer:            opts.Printer,
                printsep:           opts.PrintSep,
-               merger:             EmptyMerger,
+               merger:             EmptyMerger(0),
                selected:           make(map[int32]selectedItem),
                reqBox:             util.NewEventBox(),
                initialPreviewOpts: opts.Preview,
@@ -930,9 +931,10 @@
 }
 
 // UpdateList updates Merger to display the list
-func (t *Terminal) UpdateList(merger *Merger, reset bool) {
+func (t *Terminal) UpdateList(merger *Merger) {
        t.mutex.Lock()
        var prevIndex int32 = -1
+       reset := t.revision != merger.Revision()
        if !reset && t.track != trackDisabled {
                if t.merger.Length() > 0 {
                        prevIndex = t.merger.Get(t.cy).item.Index()
@@ -944,6 +946,7 @@
        t.merger = merger
        if reset {
                t.selected = make(map[int32]selectedItem)
+               t.revision = merger.Revision()
                t.version++
        }
        if t.triggerLoad {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fzf-0.41.0/test/test_go.rb 
new/fzf-0.41.1/test/test_go.rb
--- old/fzf-0.41.0/test/test_go.rb      2023-05-25 17:25:09.000000000 +0200
+++ new/fzf-0.41.1/test/test_go.rb      2023-05-27 08:54:22.000000000 +0200
@@ -2935,6 +2935,14 @@
     tmux.send_keys "sleep 0.5 | #{FZF} --bind 'start:reload:ls' --bind 
'load:become:tty'", :Enter
     tmux.until { |lines| assert_includes lines, '/dev/tty' }
   end
+
+  def test_disabled_preview_update
+    tmux.send_keys "echo bar | #{FZF} --disabled --bind 'change:reload:echo 
foo' --preview 'echo [{q}-{}]'", :Enter
+    tmux.until { |lines| assert_equal 1, lines.match_count }
+    tmux.until { |lines| assert(lines.any? { |line| line.include?('[-bar]') }) 
}
+    tmux.send_keys :x
+    tmux.until { |lines| assert(lines.any? { |line| line.include?('[x-foo]') 
}) }
+  end
 end
 
 module TestShell

++++++ vendor.tar.zst ++++++
Binary files /var/tmp/diff_new_pack.ZASY66/_old and 
/var/tmp/diff_new_pack.ZASY66/_new differ

Reply via email to