{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":389042235,"defaultBranch":"master","name":"edward","ownerLogin":"nmeum","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-07-24T08:22:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2326560?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1725470760.0","currentOid":""},"activityList":{"items":[{"before":"76c979ec2fae3d4bdecfe0eb192a4023a287f571","after":"3d7b0ff9d425a6eb39397eb9cab3df70b83eaab8","ref":"refs/heads/master","pushedAt":"2024-09-04T17:26:00.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"Bump version to 1.1.0","shortMessageHtmlLink":"Bump version to 1.1.0"}},{"before":"b861a1310cea4fc2645da589f247ed64eceed4a6","after":"76c979ec2fae3d4bdecfe0eb192a4023a287f571","ref":"refs/heads/master","pushedAt":"2024-08-18T22:00:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"parse: use qualified imports for chicken libraries\n\nSee c8a5bb6de944ac9f1dd510d120c29f09d2fdc76d","shortMessageHtmlLink":"parse: use qualified imports for chicken libraries"}},{"before":"e3975639b868d3b47699fe5eb01be1756070bc86","after":"b861a1310cea4fc2645da589f247ed64eceed4a6","ref":"refs/heads/master","pushedAt":"2024-08-18T14:22:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"posix: Fix line numbers for replacements during multi-line substitutions\n\nIf a substitute command inserted additional lines through performed\nreplacements, then the line number count was not updated correctly.\nThis is fixed in this commit by tracking an additional line number\noffset in the fold which represents the amount of new lines inserted.","shortMessageHtmlLink":"posix: Fix line numbers for replacements during multi-line substitutions"}},{"before":"96504191f86b275309a03deff1cf8620204a2d0c","after":"912c1375b467b966ed29609e0d6e5c83d04d9ae3","ref":"refs/heads/buffer-ref","pushedAt":"2024-08-17T22:00:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"util: remove for-each-index procedure\n\nNow unused.","shortMessageHtmlLink":"util: remove for-each-index procedure"}},{"before":"72084b843fcfeb5118348ee74abda5dc1d0d9ee5","after":"e3975639b868d3b47699fe5eb01be1756070bc86","ref":"refs/heads/master","pushedAt":"2024-08-17T22:00:23.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"util: Avoid another string to bytevector conversion\n\nSee also: ba0d6c14bb7a460594af5b608e230b7ab111d7e3","shortMessageHtmlLink":"util: Avoid another string to bytevector conversion"}},{"before":null,"after":"96504191f86b275309a03deff1cf8620204a2d0c","ref":"refs/heads/buffer-ref","pushedAt":"2024-08-14T22:00:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"editor: rewrite match-line using buffer-ref","shortMessageHtmlLink":"editor: rewrite match-line using buffer-ref"}},{"before":"cb66efac086a35100ab397e83903cfd78af47534","after":null,"ref":"refs/heads/srfi-214","pushedAt":"2024-08-12T22:00:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"}},{"before":"a7cdb931a4fc82141120997d9af0d9f904cad682","after":"72084b843fcfeb5118348ee74abda5dc1d0d9ee5","ref":"refs/heads/master","pushedAt":"2024-08-12T22:00:24.000Z","pushType":"push","commitsCount":17,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"Merge branch 'srfi-214'\n\nThis refactors the buffer implementation to use flexvectors (SRFI 241)\ninternally instead of a list. This significantly improves performance of\nall operations which modify the buffer (append, remove, …). However, it\nslightly slows down operations which build a list from the buffer as\nthey now have to convert the internal flexvector representation to a\nlist. However, considering the major increase in append and remove\nperformance, I think this is acceptable for now.\n\nIn the future, performance could be improved further by avoiding the\nconversion to a list and refactoring editor functions to operate on a\nflexvector instead of a list.\n\nBenchmarks before:\n\nbuffer-append-single-at-end: 11.693s +/- 2.537s\nbuffer-append-multi-at-end: 83.992s +/- 8.062s\nbuffer-append-single-randomly: 3.803s +/- 0.074s\nbuffer-remove-from-front: 13.844s +/- 0.063s\nbuffer-remove-from-back: 26.293s +/- 0.992s\nbuffer-remove-entire-content: 4.997s +/- 0.082s\nbuffer-join-entire-content: 1.471s +/- 0.002s\neditor-regex-match-line: 5.522s +/- 0.163s\neditor-get-lines-partial: 4.854s +/- 0.018s\neditor-get-line-number-last: 4.849s +/- 0.005s\n\nBenchmarks after:\n\nbuffer-append-single-at-end: 0.529s +/- 0.006s\nbuffer-append-multi-at-end: 2.261s +/- 0.001s\nbuffer-append-single-randomly: 1.036s +/- 0.003s\nbuffer-remove-from-front: 5.485s +/- 0.024s\nbuffer-remove-from-back: 3.209s +/- 0.014s\nbuffer-remove-entire-content: 5.321s +/- 0.593s\nbuffer-join-entire-content: 1.725s +/- 0.414s\neditor-regex-match-line: 5.56s +/- 0.085s\neditor-get-lines-partial: 5.084s +/- 0.277s\neditor-get-line-number-last: 5.65s +/- 0.338s","shortMessageHtmlLink":"Merge branch 'srfi-214'"}},{"before":"d6964723334a1928933a8b022dbd60347706dcd5","after":"cb66efac086a35100ab397e83903cfd78af47534","ref":"refs/heads/srfi-214","pushedAt":"2024-08-10T22:00:20.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"TODO.md: Remove notes on the buffer refactoring\n\nThe buffer now uses flexvectors internally so this has been resolved.","shortMessageHtmlLink":"TODO.md: Remove notes on the buffer refactoring"}},{"before":"fe63bfd695203f4ee2d3555c4c7d318daf1c43e6","after":"d6964723334a1928933a8b022dbd60347706dcd5","ref":"refs/heads/srfi-214","pushedAt":"2024-08-09T18:54:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"Add comments regarding flexvector->list conversions","shortMessageHtmlLink":"Add comments regarding flexvector->list conversions"}},{"before":"25091cda5d2302e935e12954560697c57de9feb3","after":"fe63bfd695203f4ee2d3555c4c7d318daf1c43e6","ref":"refs/heads/srfi-214","pushedAt":"2024-08-09T15:51:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"buffer: Significantly improve performance of the join operation\n\nBefore:\n\n\tbuffer-join-entire-content: 55.929s +/- 1.06s\n\nAfter:\n\n\tbuffer-join-entire-content: 1.525s +/- 0.013s","shortMessageHtmlLink":"buffer: Significantly improve performance of the join operation"}},{"before":null,"after":"25091cda5d2302e935e12954560697c57de9feb3","ref":"refs/heads/srfi-214","pushedAt":"2024-08-08T22:00:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"GNUmakefile: add phony bench target","shortMessageHtmlLink":"GNUmakefile: add phony bench target"}},{"before":"747b4408296cff8a31e009079a072228c2569cb4","after":"a7cdb931a4fc82141120997d9af0d9f904cad682","ref":"refs/heads/master","pushedAt":"2024-08-01T22:00:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"TODO.md: Collect notes on refactoring the buffer.scm implementation\n\nThis summarizes what I learned while trying to refactor and improve the\nperformance of the buffer implementation. For now, I believe the way\nforward here is to rewrite the `(edward buffer)` library in a way that it\nuses an SRFI 214 flexvector internally.","shortMessageHtmlLink":"TODO.md: Collect notes on refactoring the buffer.scm implementation"}},{"before":"7703c0e7691bbe2239e9b6f6510ceb17174963ae","after":"747b4408296cff8a31e009079a072228c2569cb4","ref":"refs/heads/master","pushedAt":"2024-07-31T22:00:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"util: Remove lines->string\n\nThis procedure is very slow on large files (see previous commit).\nInstead, write to a given port linewise using the newly added\nlines->port procedure.","shortMessageHtmlLink":"util: Remove lines->string"}},{"before":null,"after":"bdfb62779e6e75ebf32e529ea9b176ec49c52bf5","ref":"refs/heads/fast-paths","pushedAt":"2024-07-31T22:00:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"buffer: Add fast paths for removing items from the buffer\n\nBefore:\n\n\tbuffer-remove-from-front: 5.027s +/- 0.014s\n\tbuffer-remove-from-back: 8.638s +/- 0.02s\n\tbuffer-remove-entire-content: 2.152s +/- 0.033s\n\nNow:\n\n\tbuffer-remove-from-front: 1.016s +/- 0.167s\n\tbuffer-remove-from-back: 4.734s +/- 0.018s\n\tbuffer-remove-entire-content: 2.122s +/- 0.035s","shortMessageHtmlLink":"buffer: Add fast paths for removing items from the buffer"}},{"before":"e5b9c15ae1305f113aa436d3841fb52365c2a80a","after":"05c2d55f436aade823ad7fb6c5ee20f5e817a9f2","ref":"refs/heads/buffer-refactor","pushedAt":"2024-07-30T22:00:20.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"fixup! benchmarks: Start working on editor benchmarks","shortMessageHtmlLink":"fixup! benchmarks: Start working on editor benchmarks"}},{"before":"61c84bd03055b865fc6e9bd1ff79614bcffcebc4","after":"e5b9c15ae1305f113aa436d3841fb52365c2a80a","ref":"refs/heads/buffer-refactor","pushedAt":"2024-07-28T22:00:19.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"util: Remove sublist procedure, use subvector instead","shortMessageHtmlLink":"util: Remove sublist procedure, use subvector instead"}},{"before":"898b1a2125239a2a37a4b08aeb4fd3153971247d","after":"61c84bd03055b865fc6e9bd1ff79614bcffcebc4","ref":"refs/heads/buffer-refactor","pushedAt":"2024-07-27T22:00:20.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"GNUmakefile: add phony bench target","shortMessageHtmlLink":"GNUmakefile: add phony bench target"}},{"before":null,"after":"898b1a2125239a2a37a4b08aeb4fd3153971247d","ref":"refs/heads/buffer-refactor","pushedAt":"2024-07-25T22:00:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"buffer: Use a vector instead of a list as the underlying data structure\n\nThis should allow for more efficient operations on the buffer (e.g.\nvector-copy should be more efficient than sublist). Furthermore, this\nallows using (chicken locative) in the future to create ed text marks\n(thereby replacing the current editor-get-lnum hack).\n\nFor now, the API does not change in a backwards incompatible way and\nit is still possible to add text (represented as a list) to the buffer.","shortMessageHtmlLink":"buffer: Use a vector instead of a list as the underlying data structure"}},{"before":"66979c7d506ab89555cdc281c6ea6f89f92ee87e","after":"7703c0e7691bbe2239e9b6f6510ceb17174963ae","ref":"refs/heads/master","pushedAt":"2024-05-21T22:00:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"tests: add test case for substitute bug fixed in GNU ed 1.20.2\n\nedward was itself never subject to this bug, but good to have a test\ncase for it to detect future regressions in either GNU ed or edward.\n\nSee: https://lists.gnu.org/archive/html/bug-ed/2024-04/msg00003.html","shortMessageHtmlLink":"tests: add test case for substitute bug fixed in GNU ed 1.20.2"}},{"before":"7f85285e784002921f22db29f6724f10bbea1182","after":"66979c7d506ab89555cdc281c6ea6f89f92ee87e","ref":"refs/heads/master","pushedAt":"2023-12-09T23:00:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"editor: Fix discarding of addrs for cmds expecting a single addr\n\nPreviously, the second address was discarded. That is, the first\nwas passed to the command. This is, however, incorrect as addresses\nmust be discarded starting at the beginning of an address list.\n\nFrom POSIX:\n\n\tIf more than the required number of addresses are provided\n\tto a command, the addresses specified first shall be\n\tevaluated and then discarded until the maximum number of\n\tvalid addresses remain, for the specified command.\n\nThe addrlst->lpair function also correctly implements this algorithm, it\nis just incorrectly implemented in the editor-xexec function. The\neditor-exec function is fixed in this commit.","shortMessageHtmlLink":"editor: Fix discarding of addrs for cmds expecting a single addr"}},{"before":"3784b5c65c04320dee7308c723c23bc9b9d6fe57","after":"7f85285e784002921f22db29f6724f10bbea1182","ref":"refs/heads/master","pushedAt":"2023-08-17T22:00:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"editor: fix current address when moving a single line\n\nWhen moving a single line, we only want to return the destination line.","shortMessageHtmlLink":"editor: fix current address when moving a single line"}},{"before":"775c5c95df666dfb218cf4e0b24dad2386511792","after":"3784b5c65c04320dee7308c723c23bc9b9d6fe57","ref":"refs/heads/master","pushedAt":"2023-07-11T20:00:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"Bump version to 1.0.1\n\nThis version only includes fixes of the CHICKEN metadata. This new\npatch release enables packaging of edward in the CHICKEN Egg index.","shortMessageHtmlLink":"Bump version to 1.0.1"}},{"before":"cbf342f14c7f127a3bf11fa4846b72d27f8b1fdb","after":"775c5c95df666dfb218cf4e0b24dad2386511792","ref":"refs/heads/master","pushedAt":"2023-07-11T18:22:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"Prepare for packaging as part of the CHICKEN egg index\n\n* Specify a category in the eggs file (fixes test-new-egg warning)\n* Include a release info file\n* Adjust version metadata information\n\nSee https://wiki.call-cc.org/releasing-your-egg","shortMessageHtmlLink":"Prepare for packaging as part of the CHICKEN egg index"}},{"before":"05c8eca35237230af766a8825caa6827efae1e66","after":"cbf342f14c7f127a3bf11fa4846b72d27f8b1fdb","ref":"refs/heads/master","pushedAt":"2023-07-11T17:40:56.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"Improve error message if integration tests can't find ed(1)\n\nIf REF_IMPL is empty then the error is somewhat confusing.","shortMessageHtmlLink":"Improve error message if integration tests can't find ed(1)"}},{"before":"45d30d9693f556eded675c977d431d3fb1de130b","after":"05c8eca35237230af766a8825caa6827efae1e66","ref":"refs/heads/master","pushedAt":"2023-07-08T22:00:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"Fix handling of backslash character in list command","shortMessageHtmlLink":"Fix handling of backslash character in list command"}},{"before":"833e7ef50d801b07e5fe36e6694c1a563e781c69","after":"45d30d9693f556eded675c977d431d3fb1de130b","ref":"refs/heads/master","pushedAt":"2023-07-02T22:00:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"Update URL for API documentation","shortMessageHtmlLink":"Update URL for API documentation"}},{"before":"3a5418b95f4a7e90103e716c5969b3df25e39577","after":"833e7ef50d801b07e5fe36e6694c1a563e781c69","ref":"refs/heads/master","pushedAt":"2023-06-26T22:00:24.239Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"Significantly speed-up loading of large files\n\nPreviously, port->lines just called read-line from the r7rs egg which\ndoesn't perform any sort of buffering. This commit switches the\nimplementation to read-lines from (chicken io) which reads multiple\nchunks of data at once and buffers them internally. This results in\na significant speed-up for files consisting of several ten thousand\nlines.","shortMessageHtmlLink":"Significantly speed-up loading of large files"}},{"before":"71f44f3734b78927a053f11794fce00421445081","after":"3a5418b95f4a7e90103e716c5969b3df25e39577","ref":"refs/heads/master","pushedAt":"2023-04-16T22:00:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"README.md: Reference edward-contrib","shortMessageHtmlLink":"README.md: Reference edward-contrib"}},{"before":null,"after":"8870a36ddab66b7bc6b5ef8ab355f01141318fa7","ref":"refs/heads/r7rs-library-names","pushedAt":"2023-04-09T22:00:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nmeum","name":"Sören Tempel","path":"/nmeum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2326560?s=80&v=4"},"commit":{"message":"Use ' ' instead of '.' as a delimiter in the library names\n\nFrom https://api.call-cc.org/5/doc/chicken/modules\n\n\tNAME and FUNCTORNAME should be symbols or lists of symbols and\n\tintegers, where (foo bar baz) is equivalent to foo.bar.baz.o","shortMessageHtmlLink":"Use ' ' instead of '.' as a delimiter in the library names"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAErP2NuAA","startCursor":null,"endCursor":null}},"title":"Activity · nmeum/edward"}