~cnx/guix/emacs/guix-ui.el, branch version-0.14.0 Personal Guix development branches http://trong.loang.net/~cnx/guix/atom?h=version-0.14.0 2016-12-29T20:40:24+00:00 Remove Emacs interface. 2016-12-29T20:40:24+00:00 Alex Kost alezost@gmail.com 2016-12-22T09:47:28+00:00 urn:sha1:deb6276dda81a69da38e842d269c5370a28fa5cf * emacs/guix-about.el: Remove file. * emacs/guix-backend.el: Likewise. * emacs/guix-base.el: Likewise. * emacs/guix-buffer.el: Likewise. * emacs/guix-build-log.el: Likewise. * emacs/guix-command.el: Likewise. * emacs/guix-config.el.in: Likewise. * emacs/guix-devel.el: Likewise. * emacs/guix-entry.el: Likewise. * emacs/guix-external.el: Likewise. * emacs/guix-geiser.el: Likewise. * emacs/guix-guile.el: Likewise. * emacs/guix-help-vars.el: Likewise. * emacs/guix-helper.scm.in: Likewise. * emacs/guix-history.el: Likewise. * emacs/guix-hydra-build.el: Likewise. * emacs/guix-hydra-jobset.el: Likewise. * emacs/guix-hydra.el: Likewise. * emacs/guix-info.el: Likewise. * emacs/guix-init.el: Likewise. * emacs/guix-license.el: Likewise. * emacs/guix-list.el: Likewise. * emacs/guix-location.el: Likewise. * emacs/guix-main.scm: Likewise. * emacs/guix-messages.el: Likewise. * emacs/guix-pcomplete.el: Likewise. * emacs/guix-popup.el: Likewise. * emacs/guix-prettify.el: Likewise. * emacs/guix-profiles.el: Likewise. * emacs/guix-read.el: Likewise. * emacs/guix-ui-generation.el: Likewise. * emacs/guix-ui-license.el: Likewise. * emacs/guix-ui-location.el: Likewise. * emacs/guix-ui-package.el: Likewise. * emacs/guix-ui-system-generation.el: Likewise. * emacs/guix-ui.el: Likewise. * emacs/guix-utils.el: Likewise. * emacs/local.mk: Likewise. * doc/emacs.texi: Likewise. * doc/guix.texi: Remove cross-references to Emacs nodes. (Package Management): Mention 'emacs-guix' package. * doc/contributing.texi (The Perfect Setup): Remove the reference. * doc/htmlxref.cnf: Add 'emacs-guix' URL. * Makefile.am: Remove Emacs stuff. * configure.ac: Likewise. * gnu/packages/package-management.scm (guix-0.12.0)[native-inputs]: Remove "emacs". [propagated-inputs]: Remove "geiser" and "emacs-magit-popup". Co-authored-by: Ludovic Courtès <ludo@gnu.org> emacs: Use full profile name in Guix buffer names. 2016-04-15T08:32:37+00:00 Alex Kost alezost@gmail.com 2016-04-02T18:19:13+00:00 urn:sha1:117195c28d945e27ce47b0f52821e61284abb1d0 * emacs/guix-ui.el (guix-ui-buffer-name-default): Rename to... (guix-ui-buffer-name-short): ... this. (guix-ui-buffer-name-full): New procedure. (guix-ui-buffer-name-function): Set it as default. emacs: Factorize code for buffer names. 2016-04-15T08:32:36+00:00 Alex Kost alezost@gmail.com 2016-04-02T18:07:09+00:00 urn:sha1:6ea80938aedd3ec4d7f5d7fd80b7da9b1993c577 * emacs/guix-ui.el (guix-ui-buffer-name-default): Extract the code to compose buffer name and move to... * emacs/guix-utils.el (guix-compose-buffer-name): ... here. New procedure. emacs: Add missing (require 'guix-profiles). 2016-02-04T12:31:43+00:00 Alex Kost alezost@gmail.com 2016-02-04T11:50:37+00:00 urn:sha1:e20f051ec45719631bdc5ea4fad9ab1787bb0c18 Reported by Christopher Allan Webber <cwebber@dustycloud.org> on #guix. Several modules use the code from 'guix-profiles' without requiring it. It was never noticed before commits e4e2154644ecf76ea02a50304c1405c00c9ffdd1 and 13fe4891fa247d306e203ee14c6886513bd86b52, because 'guix-emacs' required this module. But now, when 'site-start.el' loads 'guix-emacs', 'guix-profiles' may not exist yet, so it may not be required. This will lead to an error when some of "M-x guix-..." commands will be used. See <https://gnunet.org/bot/log/guix/2016-02-03#T898859>. * emacs/guix-base.el: Require 'guix-profiles'. * emacs/guix-ui.el: Likewise. * emacs/guix-ui-generation.el: Likewise. * emacs/guix-ui-package.el: Likewise. emacs: Add 'guix-ui-read-profile'. 2016-01-02T14:25:35+00:00 Alex Kost alezost@gmail.com 2015-12-18T08:34:48+00:00 urn:sha1:494a62f215c9b6dc66737f6a46f4c538715a56ec * emacs/guix-ui.el (guix-ui-read-profile): New procedure. * emacs/guix-ui-package.el (guix-search-by-name) (guix-search-by-regexp, guix-installed-packages) (guix-obsolete-packages, guix-all-available-packages) (guix-newest-available-packages): Use it. * emacs/guix-ui-generation.el (guix-generations) (guix-last-generations, guix-generations-by-time): Use it. emacs: Add hierarchy of customization groups. 2016-01-02T14:25:35+00:00 Alex Kost alezost@gmail.com 2015-12-18T08:19:12+00:00 urn:sha1:8ed2c92eb12b894e03cc634d92d3c78636f44020 * emacs/guix-buffer.el (guix-define-groups, guix-define-entry-type) (guix-define-buffer-type): New macros. (guix-buffer-define-interface): Add parent groups for the generated custom groups. * emacs/guix-info.el: Use 'guix-define-buffer-type' to generate custom groups. * emacs/guix-list.el: Likewise. * emacs/guix-ui.el: Use 'guix-define-groups' to generate custom groups. (guix-ui-define-entry-type): New macro. * emacs/guix-ui-package.el: Use it. * emacs/guix-ui-generation.el: Use it. emacs: Generalize buffer interface. 2016-01-02T14:25:35+00:00 Alex Kost alezost@gmail.com 2015-12-02T12:24:07+00:00 urn:sha1:6c40b7b703424f757ff2e1fbb7503a525f9acfd8 Extract the code for defining buffer interface from "guix-base.el", generalize it and move to "guix-buffer.el". * emacs.am (ELFILES): Add "emacs/guix-buffer.el". * emacs/guix-base.el (guix-profile, guix-entries, guix-buffer-type) (guix-entry-type, guix-search-type, guix-search-vals, guix-set-vars) (guix-get-symbol, guix-show-entries, guix-get-show-entries) (guix-set-buffer, guix-history-call, guix-make-history-item) (guix-get-params-for-receiving): Remove. (guix-switch-to-buffer): Rename to 'guix-buffer-display' and move to "guix-buffer.el". (guix-get-entries): Rename to 'guix-ui-get-entries' and move to "guix-ui.el". (guix-buffer-data, guix-buffer-value, guix-buffer-param-title) (guix-buffer-name, guix-buffer-history-size) (guix-buffer-revert-confirm?, guix-buffer-map, guix-buffer-revert) (guix-buffer-after-redisplay-hook, guix-buffer-redisplay) (guix-buffer-redisplay-goto-button): Move to... * emacs/guix-buffer.el: ... here. New file. (guix-buffer-item): New variable. (guix-buffer-with-item, guix-buffer-with-current-item) (guix-buffer-define-current-item-accessor) (guix-buffer-define-current-item-accessors) (guix-buffer-define-current-args-accessor) (guix-buffer-define-current-args-accessors): New macros. (guix-buffer-get-entries, guix-buffer-mode-enable) (guix-buffer-mode-initialize, guix-buffer-insert-entries) (guix-buffer-show-entries-default, guix-buffer-show-entries) (guix-buffer-message, guix-buffer-history-item, guix-buffer-set) (guix-buffer-display-entries-current) (guix-buffer-get-display-entries-current) (guix-buffer-display-entries, guix-buffer-get-display-entries): New procedures. * emacs/guix-info.el: Adjust for the procedures renaming. (guix-info-define-interface): Add ':show-entries-function' keyword. * emacs/guix-list.el: Likewise. * emacs/guix-ui.el (guix-ui-define-interface): Generate 'guix-ENTRY-TYPE-BUFFER-TYPE-get-entries' procedure based on 'guix-ui-get-entries'. * emacs/guix.el (guix-get-show-packages, guix-get-show-generations): Adjust for the procedures renaming. emacs: Generalize buffer naming. 2016-01-02T14:25:35+00:00 Alex Kost alezost@gmail.com 2015-11-23T13:41:58+00:00 urn:sha1:8bff0c796e0eea5dd26e5327238cf6def5b55027 * emacs/guix-base.el (guix-buffer-name): New procedure. (guix-buffer-define-interface): Make ':buffer-name' a required keyword. (guix-update-after-operation, guix-buffer-name-function) (guix-buffer-name-simple, guix-buffer-name-default, guix-buffer-name) (guix-buffer-p, guix-buffers, guix-update-buffer) (guix-update-buffers-maybe-after-operation): Adjust, move and rename to... * emacs/guix-ui.el (guix-ui-update-after-operation) (guix-ui-buffer-name-function, guix-ui-buffer-name-simple) (guix-ui-buffer-name-default, guix-ui-buffer-name) (guix-ui-buffer?, guix-ui-buffers, guix-ui-update-buffer) (guix-ui-update-buffers-after-operation): ... this. (guix-ui-define-interface): Generate 'guix-ENTRY-TYPE-BUFFER-TYPE-buffer-name' procedure and pass it as ':buffer-name' argument. (guix-ui): New custom group. * emacs/guix-info.el: Specify ':buffer-name' for the defined interfaces. * emacs/guix-list.el: Likewise. * doc/emacs.texi (Emacs Appearance): Adjust accordingly. emacs: Split 'guix-root-map' keymap. 2016-01-02T14:25:35+00:00 Alex Kost alezost@gmail.com 2015-11-21T09:25:19+00:00 urn:sha1:e40b3c33f4750dcbe83012eb4e5b8e786f9f71b1 * emacs/guix-base.el: (guix-root-map): Split into... (guix-buffer-map): ... this and... * emacs/guix-ui.el (guix-ui-map): ... this. (guix-ui-define-interface): Generate 'guix-ENTRY-TYPE-BUFFER-TYPE-mode-map' keymaps inheriting them from 'guix-ui-map' and 'guix-BUFFER-TYPE-mode-map'. * emacs/guix-info.el (guix-info-mode-map): Use 'guix-buffer-map'. * emacs/guix-list.el (guix-list-mode-map): Likewise. * doc/emacs.texi (Emacs Keymaps): Document new keymaps. emacs: Factorize macros for defining interfaces. 2016-01-02T14:25:35+00:00 Alex Kost alezost@gmail.com 2015-11-20T09:38:31+00:00 urn:sha1:7735c503b5b8dfe7d8963207f4f2cf0b7dfd3894 Make a root 'guix-buffer-define-interface' macro. It should generate a common code for any type of interface. Inherit 'guix-info-define-interface' and 'guix-list-define-interface' from it. They should provide a general 'info'/'list' interface for any data. Finally, make 'guix-ui-define-interface' for the common code for interfaces to Guix packages and generations, and inherit 'guix-ui-info-define-interface' and 'guix-ui-list-define-interface' from it. * emacs/guix-base.el (guix-define-buffer-type): Rename to... (guix-buffer-define-interface): ... this. Rename internal variables ('buf-' -> 'buffer-'). Move ':required' keyword to 'guix-ui-define-interface'. * emacs/guix-info.el (guix-info-define-interface): New macro. (guix-info-font-lock-keywords): New variable. * emacs/guix-list.el (guix-list-define-entry-type): Rename to... (guix-list-define-interface): ... this. (guix-list-font-lock-keywords): New variable. (guix-list-describe-ids): Move and rename to... * emacs/guix-ui.el: New file. (guix-ui-list-describe): ... this. (guix-ui-define-interface, guix-ui-info-define-interface) (guix-ui-list-define-interface): New macros. (guix-ui-font-lock-keywords): New variable. * emacs.am (ELFILES): Add "emacs/guix-ui.el"
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<feed xmlns="http://www.w3.org/2005/Atom">
<title>~cnx/guix/emacs/guix-ui.el, branch version-0.14.0</title>
<subtitle>Personal Guix development branches </subtitle>
<id>http://trong.loang.net/~cnx/guix/atom?h=version-0.14.0</id>
<link rel="self" href="http://trong.loang.net/~cnx/guix/atom?h=version-0.14.0"/>
<link rel="alternate" type="text/html" href="http://trong.loang.net/~cnx/guix/"/>
<updated>2016-12-29T20:40:24+00:00</updated>
<entry>
<title>Remove Emacs interface.</title>
<updated>2016-12-29T20:40:24+00:00</updated>
<author>
<name>Alex Kost</name>
<email>alezost@gmail.com</email>
</author>
<published>2016-12-22T09:47:28+00:00</published>
<link rel="alternate" type="text/html" href="http://trong.loang.net/~cnx/guix/commit/?id=deb6276dda81a69da38e842d269c5370a28fa5cf"/>
<id>urn:sha1:deb6276dda81a69da38e842d269c5370a28fa5cf</id>
<content type="text"> * emacs/guix-about.el: Remove file. * emacs/guix-backend.el: Likewise. * emacs/guix-base.el: Likewise. * emacs/guix-buffer.el: Likewise. * emacs/guix-build-log.el: Likewise. * emacs/guix-command.el: Likewise. * emacs/guix-config.el.in: Likewise. * emacs/guix-devel.el: Likewise. * emacs/guix-entry.el: Likewise. * emacs/guix-external.el: Likewise. * emacs/guix-geiser.el: Likewise. * emacs/guix-guile.el: Likewise. * emacs/guix-help-vars.el: Likewise. * emacs/guix-helper.scm.in: Likewise. * emacs/guix-history.el: Likewise. * emacs/guix-hydra-build.el: Likewise. * emacs/guix-hydra-jobset.el: Likewise. * emacs/guix-hydra.el: Likewise. * emacs/guix-info.el: Likewise. * emacs/guix-init.el: Likewise. * emacs/guix-license.el: Likewise. * emacs/guix-list.el: Likewise. * emacs/guix-location.el: Likewise. * emacs/guix-main.scm: Likewise. * emacs/guix-messages.el: Likewise. * emacs/guix-pcomplete.el: Likewise. * emacs/guix-popup.el: Likewise. * emacs/guix-prettify.el: Likewise. * emacs/guix-profiles.el: Likewise. * emacs/guix-read.el: Likewise. * emacs/guix-ui-generation.el: Likewise. * emacs/guix-ui-license.el: Likewise. * emacs/guix-ui-location.el: Likewise. * emacs/guix-ui-package.el: Likewise. * emacs/guix-ui-system-generation.el: Likewise. * emacs/guix-ui.el: Likewise. * emacs/guix-utils.el: Likewise. * emacs/local.mk: Likewise. * doc/emacs.texi: Likewise. * doc/guix.texi: Remove cross-references to Emacs nodes. (Package Management): Mention 'emacs-guix' package. * doc/contributing.texi (The Perfect Setup): Remove the reference. * doc/htmlxref.cnf: Add 'emacs-guix' URL. * Makefile.am: Remove Emacs stuff. * configure.ac: Likewise. * gnu/packages/package-management.scm (guix-0.12.0)[native-inputs]: Remove "emacs". [propagated-inputs]: Remove "geiser" and "emacs-magit-popup". Co-authored-by: Ludovic Courtès <ludo@gnu.org> </content>
</entry>
<entry>
<title>emacs: Use full profile name in Guix buffer names.</title>
<updated>2016-04-15T08:32:37+00:00</updated>
<author>
<name>Alex Kost</name>
<email>alezost@gmail.com</email>
</author>
<published>2016-04-02T18:19:13+00:00</published>
<link rel="alternate" type="text/html" href="http://trong.loang.net/~cnx/guix/commit/?id=117195c28d945e27ce47b0f52821e61284abb1d0"/>
<id>urn:sha1:117195c28d945e27ce47b0f52821e61284abb1d0</id>
<content type="text"> * emacs/guix-ui.el (guix-ui-buffer-name-default): Rename to... (guix-ui-buffer-name-short): ... this. (guix-ui-buffer-name-full): New procedure. (guix-ui-buffer-name-function): Set it as default. </content>
</entry>
<entry>
<title>emacs: Factorize code for buffer names.</title>
<updated>2016-04-15T08:32:36+00:00</updated>
<author>
<name>Alex Kost</name>
<email>alezost@gmail.com</email>
</author>
<published>2016-04-02T18:07:09+00:00</published>
<link rel="alternate" type="text/html" href="http://trong.loang.net/~cnx/guix/commit/?id=6ea80938aedd3ec4d7f5d7fd80b7da9b1993c577"/>
<id>urn:sha1:6ea80938aedd3ec4d7f5d7fd80b7da9b1993c577</id>
<content type="text"> * emacs/guix-ui.el (guix-ui-buffer-name-default): Extract the code to compose buffer name and move to... * emacs/guix-utils.el (guix-compose-buffer-name): ... here. New procedure. </content>
</entry>
<entry>
<title>emacs: Add missing (require 'guix-profiles).</title>
<updated>2016-02-04T12:31:43+00:00</updated>
<author>
<name>Alex Kost</name>
<email>alezost@gmail.com</email>
</author>
<published>2016-02-04T11:50:37+00:00</published>
<link rel="alternate" type="text/html" href="http://trong.loang.net/~cnx/guix/commit/?id=e20f051ec45719631bdc5ea4fad9ab1787bb0c18"/>
<id>urn:sha1:e20f051ec45719631bdc5ea4fad9ab1787bb0c18</id>
<content type="text"> Reported by Christopher Allan Webber <cwebber@dustycloud.org> on #guix. Several modules use the code from 'guix-profiles' without requiring it. It was never noticed before commits e4e2154644ecf76ea02a50304c1405c00c9ffdd1 and 13fe4891fa247d306e203ee14c6886513bd86b52, because 'guix-emacs' required this module. But now, when 'site-start.el' loads 'guix-emacs', 'guix-profiles' may not exist yet, so it may not be required. This will lead to an error when some of "M-x guix-..." commands will be used. See <https://gnunet.org/bot/log/guix/2016-02-03#T898859>. * emacs/guix-base.el: Require 'guix-profiles'. * emacs/guix-ui.el: Likewise. * emacs/guix-ui-generation.el: Likewise. * emacs/guix-ui-package.el: Likewise. </content>
</entry>
<entry>
<title>emacs: Add 'guix-ui-read-profile'.</title>
<updated>2016-01-02T14:25:35+00:00</updated>
<author>
<name>Alex Kost</name>
<email>alezost@gmail.com</email>
</author>
<published>2015-12-18T08:34:48+00:00</published>
<link rel="alternate" type="text/html" href="http://trong.loang.net/~cnx/guix/commit/?id=494a62f215c9b6dc66737f6a46f4c538715a56ec"/>
<id>urn:sha1:494a62f215c9b6dc66737f6a46f4c538715a56ec</id>
<content type="text"> * emacs/guix-ui.el (guix-ui-read-profile): New procedure. * emacs/guix-ui-package.el (guix-search-by-name) (guix-search-by-regexp, guix-installed-packages) (guix-obsolete-packages, guix-all-available-packages) (guix-newest-available-packages): Use it. * emacs/guix-ui-generation.el (guix-generations) (guix-last-generations, guix-generations-by-time): Use it. </content>
</entry>
<entry>
<title>emacs: Add hierarchy of customization groups.</title>
<updated>2016-01-02T14:25:35+00:00</updated>
<author>
<name>Alex Kost</name>
<email>alezost@gmail.com</email>
</author>
<published>2015-12-18T08:19:12+00:00</published>
<link rel="alternate" type="text/html" href="http://trong.loang.net/~cnx/guix/commit/?id=8ed2c92eb12b894e03cc634d92d3c78636f44020"/>
<id>urn:sha1:8ed2c92eb12b894e03cc634d92d3c78636f44020</id>
<content type="text"> * emacs/guix-buffer.el (guix-define-groups, guix-define-entry-type) (guix-define-buffer-type): New macros. (guix-buffer-define-interface): Add parent groups for the generated custom groups. * emacs/guix-info.el: Use 'guix-define-buffer-type' to generate custom groups. * emacs/guix-list.el: Likewise. * emacs/guix-ui.el: Use 'guix-define-groups' to generate custom groups. (guix-ui-define-entry-type): New macro. * emacs/guix-ui-package.el: Use it. * emacs/guix-ui-generation.el: Use it. </content>
</entry>
<entry>
<title>emacs: Generalize buffer interface.</title>
<updated>2016-01-02T14:25:35+00:00</updated>
<author>
<name>Alex Kost</name>
<email>alezost@gmail.com</email>
</author>
<published>2015-12-02T12:24:07+00:00</published>
<link rel="alternate" type="text/html" href="http://trong.loang.net/~cnx/guix/commit/?id=6c40b7b703424f757ff2e1fbb7503a525f9acfd8"/>
<id>urn:sha1:6c40b7b703424f757ff2e1fbb7503a525f9acfd8</id>
<content type="text"> Extract the code for defining buffer interface from "guix-base.el", generalize it and move to "guix-buffer.el". * emacs.am (ELFILES): Add "emacs/guix-buffer.el". * emacs/guix-base.el (guix-profile, guix-entries, guix-buffer-type) (guix-entry-type, guix-search-type, guix-search-vals, guix-set-vars) (guix-get-symbol, guix-show-entries, guix-get-show-entries) (guix-set-buffer, guix-history-call, guix-make-history-item) (guix-get-params-for-receiving): Remove. (guix-switch-to-buffer): Rename to 'guix-buffer-display' and move to "guix-buffer.el". (guix-get-entries): Rename to 'guix-ui-get-entries' and move to "guix-ui.el". (guix-buffer-data, guix-buffer-value, guix-buffer-param-title) (guix-buffer-name, guix-buffer-history-size) (guix-buffer-revert-confirm?, guix-buffer-map, guix-buffer-revert) (guix-buffer-after-redisplay-hook, guix-buffer-redisplay) (guix-buffer-redisplay-goto-button): Move to... * emacs/guix-buffer.el: ... here. New file. (guix-buffer-item): New variable. (guix-buffer-with-item, guix-buffer-with-current-item) (guix-buffer-define-current-item-accessor) (guix-buffer-define-current-item-accessors) (guix-buffer-define-current-args-accessor) (guix-buffer-define-current-args-accessors): New macros. (guix-buffer-get-entries, guix-buffer-mode-enable) (guix-buffer-mode-initialize, guix-buffer-insert-entries) (guix-buffer-show-entries-default, guix-buffer-show-entries) (guix-buffer-message, guix-buffer-history-item, guix-buffer-set) (guix-buffer-display-entries-current) (guix-buffer-get-display-entries-current) (guix-buffer-display-entries, guix-buffer-get-display-entries): New procedures. * emacs/guix-info.el: Adjust for the procedures renaming. (guix-info-define-interface): Add ':show-entries-function' keyword. * emacs/guix-list.el: Likewise. * emacs/guix-ui.el (guix-ui-define-interface): Generate 'guix-ENTRY-TYPE-BUFFER-TYPE-get-entries' procedure based on 'guix-ui-get-entries'. * emacs/guix.el (guix-get-show-packages, guix-get-show-generations): Adjust for the procedures renaming. </content>
</entry>
<entry>
<title>emacs: Generalize buffer naming.</title>
<updated>2016-01-02T14:25:35+00:00</updated>
<author>
<name>Alex Kost</name>
<email>alezost@gmail.com</email>
</author>
<published>2015-11-23T13:41:58+00:00</published>
<link rel="alternate" type="text/html" href="http://trong.loang.net/~cnx/guix/commit/?id=8bff0c796e0eea5dd26e5327238cf6def5b55027"/>
<id>urn:sha1:8bff0c796e0eea5dd26e5327238cf6def5b55027</id>
<content type="text"> * emacs/guix-base.el (guix-buffer-name): New procedure. (guix-buffer-define-interface): Make ':buffer-name' a required keyword. (guix-update-after-operation, guix-buffer-name-function) (guix-buffer-name-simple, guix-buffer-name-default, guix-buffer-name) (guix-buffer-p, guix-buffers, guix-update-buffer) (guix-update-buffers-maybe-after-operation): Adjust, move and rename to... * emacs/guix-ui.el (guix-ui-update-after-operation) (guix-ui-buffer-name-function, guix-ui-buffer-name-simple) (guix-ui-buffer-name-default, guix-ui-buffer-name) (guix-ui-buffer?, guix-ui-buffers, guix-ui-update-buffer) (guix-ui-update-buffers-after-operation): ... this. (guix-ui-define-interface): Generate 'guix-ENTRY-TYPE-BUFFER-TYPE-buffer-name' procedure and pass it as ':buffer-name' argument. (guix-ui): New custom group. * emacs/guix-info.el: Specify ':buffer-name' for the defined interfaces. * emacs/guix-list.el: Likewise. * doc/emacs.texi (Emacs Appearance): Adjust accordingly. </content>
</entry>
<entry>
<title>emacs: Split 'guix-root-map' keymap.</title>
<updated>2016-01-02T14:25:35+00:00</updated>
<author>
<name>Alex Kost</name>
<email>alezost@gmail.com</email>
</author>
<published>2015-11-21T09:25:19+00:00</published>
<link rel="alternate" type="text/html" href="http://trong.loang.net/~cnx/guix/commit/?id=e40b3c33f4750dcbe83012eb4e5b8e786f9f71b1"/>
<id>urn:sha1:e40b3c33f4750dcbe83012eb4e5b8e786f9f71b1</id>
<content type="text"> * emacs/guix-base.el: (guix-root-map): Split into... (guix-buffer-map): ... this and... * emacs/guix-ui.el (guix-ui-map): ... this. (guix-ui-define-interface): Generate 'guix-ENTRY-TYPE-BUFFER-TYPE-mode-map' keymaps inheriting them from 'guix-ui-map' and 'guix-BUFFER-TYPE-mode-map'. * emacs/guix-info.el (guix-info-mode-map): Use 'guix-buffer-map'. * emacs/guix-list.el (guix-list-mode-map): Likewise. * doc/emacs.texi (Emacs Keymaps): Document new keymaps. </content>
</entry>
<entry>
<title>emacs: Factorize macros for defining interfaces.</title>
<updated>2016-01-02T14:25:35+00:00</updated>
<author>
<name>Alex Kost</name>
<email>alezost@gmail.com</email>
</author>
<published>2015-11-20T09:38:31+00:00</published>
<link rel="alternate" type="text/html" href="http://trong.loang.net/~cnx/guix/commit/?id=7735c503b5b8dfe7d8963207f4f2cf0b7dfd3894"/>
<id>urn:sha1:7735c503b5b8dfe7d8963207f4f2cf0b7dfd3894</id>
<content type="text"> Make a root 'guix-buffer-define-interface' macro. It should generate a common code for any type of interface. Inherit 'guix-info-define-interface' and 'guix-list-define-interface' from it. They should provide a general 'info'/'list' interface for any data. Finally, make 'guix-ui-define-interface' for the common code for interfaces to Guix packages and generations, and inherit 'guix-ui-info-define-interface' and 'guix-ui-list-define-interface' from it. * emacs/guix-base.el (guix-define-buffer-type): Rename to... (guix-buffer-define-interface): ... this. Rename internal variables ('buf-' -> 'buffer-'). Move ':required' keyword to 'guix-ui-define-interface'. * emacs/guix-info.el (guix-info-define-interface): New macro. (guix-info-font-lock-keywords): New variable. * emacs/guix-list.el (guix-list-define-entry-type): Rename to... (guix-list-define-interface): ... this. (guix-list-font-lock-keywords): New variable. (guix-list-describe-ids): Move and rename to... * emacs/guix-ui.el: New file. (guix-ui-list-describe): ... this. (guix-ui-define-interface, guix-ui-info-define-interface) (guix-ui-list-define-interface): New macros. (guix-ui-font-lock-keywords): New variable. * emacs.am (ELFILES): Add "emacs/guix-ui.el" </content>
</entry>
</feed>