diff --git a/lib/search.tcl b/lib/search.tcl index ef3486f083..461c66d1a0 100644 --- a/lib/search.tcl +++ b/lib/search.tcl @@ -7,7 +7,8 @@ field w field ctext field searchstring {} -field casesensitive 1 +field casesensitive +field default_casesensitive field searchdirn -forwards field smarktop @@ -18,6 +19,12 @@ constructor new {i_w i_text args} { set w $i_w set ctext $i_text + if {[is_config_true gui.search.smartcase]} { + set default_casesensitive 0 + } else { + set default_casesensitive 1 + } + ${NS}::frame $w ${NS}::label $w.l -text [mc Find:] entry $w.ent -textvariable ${__this}::searchstring -background lightgreen @@ -45,6 +52,7 @@ constructor new {i_w i_text args} { method show {} { if {![visible $this]} { grid $w + set casesensitive $default_casesensitive } focus -force $w.ent } @@ -125,6 +133,9 @@ method _incrsearch {} { if {[catch {$ctext index anchor}]} { $ctext mark set anchor [_get_new_anchor $this] } + if {[regexp {[[:upper:]]} $searchstring]} { + set casesensitive 1 + } if {$searchstring ne {}} { set here [_do_search $this anchor mlen] if {$here ne {}} {