)]}'
{"id":"depot~9147","triplet_id":"depot~canon~I08be0da0863d06c9a930e5efaf916719655db90e","project":"depot","branch":"canon","hashtags":[],"change_id":"I08be0da0863d06c9a930e5efaf916719655db90e","subject":"feat(tazjin/emacs): implement reliably-switch-buffer","status":"MERGED","created":"2023-08-23 20:06:21.000000000","updated":"2023-08-23 20:22:25.000000000","submitted":"2023-08-23 20:22:25.000000000","submitter":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"9149","meta_rev_id":"5dd3ccde15ad8f1286470535e847df55d752bedd","_number":9147,"virtual_id_number":9147,"owner":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"all":[{"tag":"autogenerated:gerrit:merged","value":2,"date":"2023-08-23 20:22:25.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0},"Verified":{"approved":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2023-08-23 20:22:25.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Autosubmit":{"all":[{"value":0,"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{" 0":"Submit manually","+1":"Submit automatically"},"description":"","default_value":0,"optional":true},"All-Comments-Resolved":{"approved":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"all":[{"value":0,"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]},"Conformant-Commit-Message":{"approved":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"all":[{"value":0,"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-08-23 20:06:22.000000000","updated_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2023-08-23 20:09:15.000000000","updated_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"cd41deec18acfd98ac985a824bc094bb9229f277","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"date":"2023-08-23 20:06:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"aadb38db26d8ac1132c5a3010fa692d539c97a4f","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-08-23 20:06:22.000000000","message":"Patch Set 1:\n\nStarted build for patchset #1 on: https://buildkite.com/tvl/depot/builds/26199","accounts_in_message":[],"_revision_number":1},{"id":"c018c0add0ef4b4b7de063171c457a366957b2f6","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-08-23 20:09:15.000000000","message":"Patch Set 1: Verified+1\n\nBuild of patchset 1 passed: https://buildkite.com/tvl/depot/builds/26199","accounts_in_message":[],"_revision_number":1},{"id":"8600d7316937f932ecb892fb32bba3cf4d10c4a5","author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"date":"2023-08-23 20:19:48.000000000","message":"Patch Set 1: Code-Review+2\n\nBy voting Code-Review+2 the following files are now explicitly code-owner approved by \u003cGERRIT_ACCOUNT_1000001\u003e:\n* users/tazjin/emacs/config/bindings.el\n* users/tazjin/emacs/config/functions.el\n","accounts_in_message":[{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"}],"_revision_number":1},{"id":"5dd3ccde15ad8f1286470535e847df55d752bedd","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"date":"2023-08-23 20:22:25.000000000","message":"Change has been successfully rebased and submitted as df4a09864af58468c5f54aa19cd90b27910910ce","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"df4a09864af58468c5f54aa19cd90b27910910ce","revisions":{"17088eef01e8845eef9abe125c9f735aeefe2305":{"kind":"REWORK","_number":1,"created":"2023-08-23 20:06:21.000000000","uploader":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"ref":"refs/changes/47/9147/1","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/9147/1","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9147/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9147/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9147/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/9147/1"}}},"commit":{"parents":[{"commit":"c3a7823f557e1c9062bb5d0f74cee83f5c61bb65","subject":"refactor(emacs-pkgs/term-switcher): un-dash term-switcher.el","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dc3a7823f557e1c9062bb5d0f74cee83f5c61bb65"}]}],"author":{"name":"Vincent Ambo","email":"mail@tazj.in","date":"2023-08-23 20:03:29.000000000","tz":180},"committer":{"name":"Vincent Ambo","email":"mail@tazj.in","date":"2023-08-23 20:03:29.000000000","tz":180},"subject":"feat(tazjin/emacs): implement reliably-switch-buffer","message":"feat(tazjin/emacs): implement reliably-switch-buffer\n\nAdds a completing-read function (defaulting to ivy for me, but it\ndoesn\u0027t matter) that offers a reliable alternative to standard\nbuffer-switching implementations.\n\nIn particular, this implementation retains a mapping of\nbuffer names to their buffer *objects*, so that the correct buffer is\nselected even if some renaming took place during the selection.\n\nI tried to account for a bunch of the common behaviours I could think\nof:\n\n* invisible buffers are ... invisible\n* entering a buffer name manually creates that buffer, if there is no\n  match\n* ... unless that buffer is an invisible buffer, in which case it is\n  selected and switched to\n* the first element is always `(other-buffer (current-buffer))`,\n  because of the ordering of #\u0027buffer-list\n\nYet, the entire code of my implementation is less than the *setup*\ncode of ivy-switch-buffers, so it\u0027s possible I missed something. Well,\nI\u0027ll find out ...\n\nChange-Id: I08be0da0863d06c9a930e5efaf916719655db90e\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d17088eef01e8845eef9abe125c9f735aeefe2305"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d17088eef01e8845eef9abe125c9f735aeefe2305"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"c3a7823f557e1c9062bb5d0f74cee83f5c61bb65","is_merged_in_target_branch":false,"change_id":"Ic8e5ac07d5214f36d77e9b577a3f805cdf89f220","change_number":9146,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"df4a09864af58468c5f54aa19cd90b27910910ce":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2023-08-23 20:22:25.000000000","uploader":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"ref":"refs/changes/47/9147/2","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/9147/2","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9147/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9147/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9147/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/9147/2"}}},"commit":{"parents":[{"commit":"561a9fa45b4fe35809b0bec17147e17c027092ac","subject":"refactor(emacs-pkgs/term-switcher): un-dash term-switcher.el","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d561a9fa45b4fe35809b0bec17147e17c027092ac"}]}],"author":{"name":"Vincent Ambo","email":"mail@tazj.in","date":"2023-08-23 20:03:29.000000000","tz":180},"committer":{"name":"tazjin","email":"tazjin@tvl.su","date":"2023-08-23 20:22:25.000000000","tz":0},"subject":"feat(tazjin/emacs): implement reliably-switch-buffer","message":"feat(tazjin/emacs): implement reliably-switch-buffer\n\nAdds a completing-read function (defaulting to ivy for me, but it\ndoesn\u0027t matter) that offers a reliable alternative to standard\nbuffer-switching implementations.\n\nIn particular, this implementation retains a mapping of\nbuffer names to their buffer *objects*, so that the correct buffer is\nselected even if some renaming took place during the selection.\n\nI tried to account for a bunch of the common behaviours I could think\nof:\n\n* invisible buffers are ... invisible\n* entering a buffer name manually creates that buffer, if there is no\n  match\n* ... unless that buffer is an invisible buffer, in which case it is\n  selected and switched to\n* the first element is always `(other-buffer (current-buffer))`,\n  because of the ordering of #\u0027buffer-list\n\nYet, the entire code of my implementation is less than the *setup*\ncode of ivy-switch-buffers, so it\u0027s possible I missed something. Well,\nI\u0027ll find out ...\n\nChange-Id: I08be0da0863d06c9a930e5efaf916719655db90e\nReviewed-on: https://cl.tvl.fyi/c/depot/+/9147\nReviewed-by: tazjin \u003ctazjin@tvl.su\u003e\nTested-by: BuildkiteCI\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003ddf4a09864af58468c5f54aa19cd90b27910910ce"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003ddf4a09864af58468c5f54aa19cd90b27910910ce"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"561a9fa45b4fe35809b0bec17147e17c027092ac","is_merged_in_target_branch":true,"change_id":"Ic8e5ac07d5214f36d77e9b577a3f805cdf89f220","change_number":9146,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/canon","description":"Rebase"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~PrologRule","status":"CLOSED","labels":[{"label":"Autosubmit","status":"MAY"},{"label":"Conformant-Commit-Message","status":"OK","applied_by":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"}},{"label":"All-Comments-Resolved","status":"OK","applied_by":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"}},{"label":"Verified","status":"OK","applied_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"}}]},{"rule_name":"Code-Owners","status":"CLOSED"}],"submit_requirements":[{"name":"All-Comments-Resolved","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:All-Comments-Resolved\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:All-Comments-Resolved\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Code-Owners","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"rule:Code-Owners","fulfilled":true,"status":"PASS","passing_atoms":["Code-Owners"],"failing_atoms":[]}},{"name":"Conformant-Commit-Message","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Conformant-Commit-Message\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Conformant-Commit-Message\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dgerrit~PrologRule"],"failing_atoms":[]}}]}
