nixpkgs/pkgs/by-name/cb/cbrowser/backslashes-quotes.diff
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

50 lines
1.5 KiB
Diff

Based on this:
http://sourceforge.net/tracker/?func=detail&aid=1493886&group_id=5152&atid=305152
fix the infinite loops in quote highlight - ID: 1493886
--- cbrowser-0.8-2/ftcllib.tcl 2000-07-04 01:17:43.000000000 +0200
+++ cbrowser-0.8/ftcllib.tcl 2006-05-24 00:39:18.833762522 +0200
@@ -1290,13 +1290,39 @@
foreach {start end} [concat 1.0 [$widget tag ranges comment] end] {
while {[set temp [$widget search -regexp -- $pattern $start $end]] != ""} {
+ set startquote [$widget index "$temp + 1chars"]
- set endquote [$widget search -regexp -- {[^\\]\"} "$temp + 1chars" $end]
+ set temp [$widget index "$startquote + 1chars"]
+ while {1==1} {
+ set endquote [$widget search -regexp -- {\"} $temp $end]
+
+ # The program will not break if a /*C comment*/ is between C quotes.
+ if { $endquote == "" } {
+ set endquote $startquote
+ break
+ }
+
+ # look for double backslashes
+ if {[set temp2 [$widget search -regexp -- {\\\\} $temp $endquote]] != ""} {
+ set temp "$temp2 + 2chars"
+ continue
+ }
+
+ # look for \"
+ if {[set temp2 [$widget search -regexp -- {\\\"} $temp $endquote]] != ""} {
+ set temp "$temp2 + 2chars"
+ continue
+ }
+
+ break
+ }
if {[strlen $endquote] > 0} {
- set start [$widget index "$endquote + 2chars"]
+ set start [$widget index "$endquote + 1chars"]
- $widget tag add quote "$temp + 1chars" $start
+ $widget tag add quote $startquote $start
+ } else {
+ set start [$widget index "$start + 1chars"]
}
}
}