1 patch for repository http://code.haskell.org/yi:
Sun Oct 10 20:11:06 EDT 2010 gwe...@gmail.com
* IReader: rm dangerous concurrency
currently it's possible to corrupt an articles.db just by closing Yi while
the writing is still going on
in lieu of some way to stop Yi from closing (blocking on an MVar?) better to
just not risk it and be
really slow
--
Yi development mailing list
yi-devel@googlegroups.com
http://groups.google.com/group/yi-devel
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
New patches:
[IReader: rm dangerous concurrency
gwe...@gmail.com**20101011001106
Ignore-this: d9c95f716cda3b273ce6faca764022e3
currently it's possible to corrupt an articles.db just by closing Yi while the writing is still going on
in lieu of some way to stop Yi from closing (blocking on an MVar?) better to just not risk it and be
really slow
] hunk ./src/Yi/IReader.hs 9
-- \"incremental reading\", see <http://en.wikipedia.org/wiki/Incremental_reading>.
module Yi.IReader where
- -import Control.Concurrent (forkIO)
import Control.Monad.State (join)
import Data.Binary (decode, encodeFile)
import Data.Sequence as S
hunk ./src/Yi/IReader.hs 63
-- | In the background, serialize given 'ArticleDB' out.
writeDB :: ArticleDB -> YiM ()
- -writeDB adb = discard $ io . forkIO . join . fmap (flip encodeFile adb) $ dbLocation
+writeDB adb = discard $ io . join . fmap (flip encodeFile adb) $ dbLocation
-- | Read in database from 'dbLocation' and then parse it into an 'ArticleDB'.
readDB :: YiM ArticleDB
Context:
[add documentation and clean up
jw...@google.com**20101006205136
Ignore-this: 62d3c4a4707e0ed5fbbfd0967be5f40f
Document the rational for this change as well as clean up
some of the comments and todos.
]
[Scrolling - Store actual buffer lines displayed in a window.
jw...@google.com**20100918042058
Ignore-this: 832bc90350c820a84a56aab985a46f35
In order for scrolling to work we have to differentiate between the height
of the window in display lines and the number of actual buffer lines
displayed in a window. This patch stores that information in a window.
]
[fix scrolling so it no longer snaps to the middle.
jw...@google.com**20100916051742
Ignore-this: e80f848c675274b889129e20d4e9a5b6
scrolling off the top or bottom of the screen now just moves the viewport
the minimum # of lines necessary to keep the point in sight. This is a
much less disruptive scrolling experience.
]
[compilation fix
jeanphilippe.berna...@gmail.com**20100829162455
Ignore-this: d3533951084623ae2697a012d314f165
]
[Add Yi/File.hs-boot that I forgot
jeffwhee...@gmail.com**20100812064755
Ignore-this: 5348938d1f93a7615aad115fe7200dd7
]
[Restrict monads-fd version
Malte Sommerkorn <malte.sommerk...@gmail.com>**20100807175958
Ignore-this: 1461085ee6150364333a173040269203
Fixed compilation for me
]
[Remove some trailing whitespace
jeffwhee...@gmail.com**20100716053746
Ignore-this: fd303d5446fc978aa3f233c42accd97d
]
[Move Yi.Dired.fnewE to Yi.File.editFile
jeffwhee...@gmail.com**20100716053557
Ignore-this: 578136341ce60c89d8a7e97f9712d6bd
It can actually open dirs too. Thought about the name a lot, and this is the most intuitive I can think of. Open to suggestions, though.
]
[-Wall in dired
jeffwhee...@gmail.com**20100715071636
Ignore-this: 218351628f93cbb2278ad1a89211e149
]
[Begin to clean up fnewE, which opens buffers new buffers based on a filename
jeffwhee...@gmail.com**20100715071435
Ignore-this: a9430b3d156311402fa32a49e26f2178
The behavior right now hasn't changed. I think some behavior should change, but
I have left that for the future (tomorrow?). Creating the parent directories
here seems especially broken.
]
[TAG 0.6.2.4
jeffwhee...@gmail.com**20100715044543
Ignore-this: a03d48b597790a46cb899c354b5a97d1
]
Patch bundle hash:
d607ffc85f2d7401a5bfd2f884857d55c2e2689e
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEAREKAAYFAkyzMcgACgkQvpDo5Pfl1oIdPgCeL3Hx79iaV0drLOSNt1Hov4cr
LMQAmgIvKILykYfWxOPu52tg2gGAlz3V
=+hlk
-----END PGP SIGNATURE-----