Skip to content
Snippets Groups Projects
  1. Jan 04, 2016
    • Ludovic Courtès's avatar
      ui: Update copyright year in '--version' output. · d28ef439
      Ludovic Courtès authored
      * guix/ui.scm (show-version-and-exit): Increment copyright year.
      d28ef439
    • Ludovic Courtès's avatar
      git-download: Correctly implement recursive checkouts. · 35a6dabc
      Ludovic Courtès authored
      Previously, the 'git checkout' invocation would remove sub-modules that
      had been initialized by 'git clone --recursive'.
      
      * guix/build/git.scm (git-fetch): Never use "git clone --recursive".
      Invoke "git submodule update --init --recursive" after "git checkout".
      Remove '.git' directories as the last step.
      35a6dabc
    • Ricardo Wurmus's avatar
      gnu: gtk+: Add patch to support GUIX_GTK3_PATH. · 4828ff91
      Ricardo Wurmus authored
      * gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH: New file.
      * gnu-system.am (dist_patch_DATA): Add it.
      * gnu/packages/gtk.scm (gtk+) [source]: Add patch.
      [native-search-paths]: Add search path for GUIX_GTK3_PATH.
      4828ff91
    • Ricardo Wurmus's avatar
      gnu: gtk+-2: Add patch to support GUIX_GTK2_PATH. · 2a6afac9
      Ricardo Wurmus authored
      * gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH: New file.
      * gnu-system.am (dist_patch_DATA): Add it.
      * gnu/packages/gtk.scm (gtk+-2) [source]: Add patch.
      [native-search-paths]: Add search path for GUIX_GTK2_PATH.
      2a6afac9
    • Ricardo Wurmus's avatar
      gnu: julia: Update to 0.4.2. · c2e87caa
      Ricardo Wurmus authored
      * gnu/packages/patches/julia-0.3.10-fix-empty-array.patch: Remove file.
      * gnu-system.am (dist_patch_DATA): Remove it.
      * gnu/packages/julia.scm (julia): Update to 0.4.2.
      [arguments]: Remove phase "fix-building-with-mcjit-llvm"; replace phase
      "patch-include-path" with "fix-include-and-link-paths"; add phase
      "hardcode-paths"; add missing make-flags.
      [inputs]: Replace "pcre" with "pcre2"; replace "git" with "libgit2"; add
      "coreutils"; add "libuv-julia"; add "wget"; add "which".
      [native-inputs]: Remove "which".
      c2e87caa
    • Ricardo Wurmus's avatar
      gnu: Add libuv-julia. · 50b40d07
      Ricardo Wurmus authored
      * gnu/packages/julia.scm (libuv-julia): New variable.
      50b40d07
    • Ricardo Wurmus's avatar
      gnu: utf8proc: Update to 1.3.1. · f1e3a8ae
      Ricardo Wurmus authored
      * gnu/packages/textutils.scm (utf8proc): Update to 1.3.1.
      [arguments]: Remove custom "install" phase.
      f1e3a8ae
  2. Jan 03, 2016
  3. Jan 02, 2016
    • Eric Bavier's avatar
      gnu: Add Asymptote. · 20977871
      Eric Bavier authored
      * gnu/packages/bdw-gc.scm (libgc-for-c++): New variable.
      * gnu/packages/plotutils.scm (asymptote): New variable.
      * gnu/packages/patches/asymptote-gsl2.patch: New file.
      * gnu-system.am (dist_patch_DATA): Add it.
      20977871
    • Ludovic Courtès's avatar
      graph: %BAG-WITH-ORIGINS-NODE-TYPE includes the origin's guile. · 51385362
      Ludovic Courtès authored
      Before that it would include #f for most origins since that the default
      value of 'origin-patch-guile'.
      
      * guix/scripts/graph.scm (bag-node-edges): When 'origin-patch-guile'
      returns #f, use (default-guile).
      * tests/graph.scm ("bag DAG, including origins"): Check for an edge from
      O to (default-guile).
      51385362
    • Ludovic Courtès's avatar
      graph: %BAG-EMERGED-NODE-TYPE filters out origins. · f88282af
      Ludovic Courtès authored
      Fixes <http://bugs.gnu.org/22280>.
      Reported by Leo Famulari <leo@famulari.name>.
      
      * guix/scripts/graph.scm (%bag-emerged-node-type)[edges]: Mimic
      %BAG-NODE-TYPE.  This is a followup to 38b92daa.
      f88282af
    • Alex Kost's avatar
      Update NEWS. · 1ae858f3
      Alex Kost authored
      * NEWS: Mention Emacs interface for Hydra and changes in variables.
      1ae858f3
    • Alex Kost's avatar
      emacs: Use "B" key in "Package List" to display latest builds. · 5c8994d9
      Alex Kost authored
      * emacs/guix-ui-package.el (guix-package-list-latest-builds): New
        procedure.
        (guix-package-list-mode-map): Bind "B" key to it.
        (guix-output-list-mode-map): Likewise.
      * doc/emacs.texi (Emacs List buffer): Document it.
      5c8994d9
    • Alex Kost's avatar
      emacs: Add Hydra interface. · 32950fc8
      Alex Kost authored
      * emacs/guix-utils.el (guix-hexify, guix-number->bool): New procedures.
        (guix-while-null): New macro.
      * emacs/guix-hydra.el: New file.
      * emacs/guix-hydra-build.el: New file.
      * emacs/guix-hydra-jobset.el: New file.
      * emacs.am (ELFILES): Add them.
      * doc/emacs.texi (Emacs Hydra): New node.
        (Emacs Interface): Add it.
      * doc/guix.texi (Top): Add it.
        (Substitutes): Mention Emacs interface.
      32950fc8
    • Alex Kost's avatar
      emacs: Add 'guix-ui-read-profile'. · 494a62f2
      Alex Kost authored
      * 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.
      494a62f2
    • Alex Kost's avatar
      emacs: Add hierarchy of customization groups. · 8ed2c92e
      Alex Kost authored
      * 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.
      8ed2c92e
    • Alex Kost's avatar
      emacs: Return nil instead of "" in completing readers. · dc690c44
      Alex Kost authored
      * emacs/guix-utils.el (guix-completing-read): New procedure.
        (guix-define-readers): Use it.
      dc690c44
    • Alex Kost's avatar
      emacs: Add 'guix-list-get-display-entries'. · ddf6948b
      Alex Kost authored
      * emacs/guix-list.el (guix-list-get-display-entries): New procedure.
      * emacs/guix-ui-generation.el (guix-generation-get-display): Use it.
      ddf6948b
    • Alex Kost's avatar
      emacs: Add 'list-single' variables. · e29d1924
      Alex Kost authored
      * emacs/guix-list.el (guix-list-single-entry?): New procedure.
        (guix-list-define-interface): Add ':list-single?' key and generate
        'guix-ENTRY-TYPE-list-single' variables.
      * emacs/guix-ui-package.el (guix-package-list-single): Remove.
      e29d1924
    • Alex Kost's avatar
      emacs: Reorganize package/generation UI code. · c80ce104
      Alex Kost authored
      Move the code for packages/generations interface from "guix-info.el",
      "guix-list.el", "guix-base.el" and "guix.el" to "guix-ui-package.el" and
      "guix-ui-generation.el".
      
      * emacs/guix-base.el (guix-package-entry->name-specification)
        (guix-package-entries->name-specifications)
        (guix-package-id-and-output-by-output-id)
        (guix-package-installed-outputs, guix-process-package-actions)
        (guix-package-list-type, guix-package-info-type)
        (guix-continue-package-operation-p, guix-get-package-strings)
        (guix-insert-package-strings): Move to "guix-ui-package.el".
        (guix-generation-packages-buffer-name-function, guix-output-name-width)
        (guix-generation-packages-update-buffer, guix-generation-packages)
        (guix-generation-packages-buffer-name-default)
        (guix-generation-packages-buffer-name-long)
        (guix-generation-packages-buffer-name, guix-generation-packages-buffer)
        (guix-generation-insert-packages, guix-generation-insert-package)
        (guix-profile-generation-manifest-file, guix-delete-generations)
        (guix-profile-generation-packages-buffer, guix-switch-to-generation):
        Move to "guix-ui-generation.el".
      * emacs/guix-info.el (guix-package-location, guix-package-name)
        (guix-package-source, guix-package-info-source)
        (guix-package-info-heading, guix-package-info-license)
        (guix-package-info-name, guix-package-info-name-button)
        (guix-package-info-version, guix-package-info-location)
        (guix-package-info-synopsis, guix-package-info-description)
        (guix-package-info-obsolete, guix-package-info-installed-outputs)
        (guix-package-info-uninstalled-outputs)
        (guix-package-info-insert-heading)
        (guix-package-info-define-insert-inputs)
        (guix-package-info-obsolete-string)
        (guix-package-info-insert-obsolete-text)
        (guix-package-info-insert-non-unique-text)
        (guix-package-info-insert-outputs, guix-package-info-insert-output)
        (guix-package-info-insert-action-button)
        (guix-package-info-auto-find-source)
        (guix-package-info-auto-download-source)
        (guix-package-info-download-buffer, guix-package-info-show-source)
        (guix-package-info-download-source, guix-package-info-insert-source)
        (guix-package-info-redisplay-after-download)
        (guix-output-info-insert-version, guix-output-info-insert-output):
        Move to "guix-ui-package.el".
        (guix-generation-info-number, guix-generation-info-current)
        (guix-generation-not-current, guix-generation-info-insert-number)
        (guix-generation-info-insert-current): Move to "guix-ui-generation.el".
      * emacs/guix-list.el (guix-package-list-generation-marking-enabled)
        (guix-package-list-installed, guix-package-list-obsolete)
        (guix-package-list-get-name, guix-package-list-get-installed-outputs)
        (guix-package-list-marking-check, guix-package-list-mark-outputs)
        (guix-package-list-mark-install, guix-package-list-mark-delete)
        (guix-package-list-mark-upgrade, guix-package-list-mark-upgrades)
        (guix-list-mark-package-upgrades, guix-list-execute-package-actions)
        (guix-package-list-execute, guix-package-list-make-action)
        (guix-package-list-edit, guix-output-list-mark-install)
        (guix-output-list-mark-delete, guix-output-list-mark-upgrade)
        (guix-output-list-mark-upgrades, guix-output-list-make-action)
        (guix-output-list-describe, guix-output-list-edit): Move to
        "guix-ui-package.el".
        (guix-generation-list-get-current, guix-generation-list-switch)
        (guix-generation-list-generations-to-compare)
        (guix-generation-list-compare, guix-generation-list-show-packages)
        (guix-generation-list-show-added-packages)
        (guix-generation-list-show-removed-packages)
        (guix-generation-list-diff, guix-generation-list-diff-manifests)
        (guix-generation-list-ediff, guix-generation-list-ediff-manifests)
        (guix-generation-list-diff-packages)
        (guix-generation-list-ediff-packages)
        (guix-generation-list-mark-delete, guix-generation-list-execute): Move
        to "guix-ui-generation.el".
      * emacs/guix.el: Remove.
        (guix, guix-faces, guix-edit): Move to "guix-base.el".
        (guix-list-single-package, guix-search-params, guix-search-history)
        (guix-get-show-packages, guix-search-by-name, guix-search-by-regexp)
        (guix-installed-packages, guix-obsolete-packages)
        (guix-all-available-packages, guix-newest-available-packages): Move
        to "guix-ui-package.el".
        (guix-get-show-generations, guix-generations, guix-last-generations)
        (guix-generations-by-time): Move to "guix-ui-generation.el".
      * emacs.am (ELFILES): Remove "guix.el".  Add "guix-ui-package.el" and
        "guix-ui-generation.el".
      * doc/emacs.texi (Emacs Appearance): Adjust accordingly.
      c80ce104
    • Alex Kost's avatar
      emacs: Reorganize 'readers' code. · b1990426
      Alex Kost authored
      * emacs/guix-base.el (guix-graph-type-names, guix-refresh-updater-names)
        (guix-lint-checker-names, guix-package-names): Move to...
      * emacs/guix-read.el: ... here.
        (guix-read-file-name, guix-define-reader, guix-define-readers): Move to...
      * emacs/guix-utils.el: ... here.
      b1990426
    • Alex Kost's avatar
      emacs: Generalize buffer interface. · 6c40b7b7
      Alex Kost authored
      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.
      6c40b7b7
    • Alex Kost's avatar
      emacs: info: Get rid of syntactic fontification. · 8103c22f
      Alex Kost authored
      * emacs/guix-info.el (guix-info-mode-initialize): New procedure.  Set
        'font-lock-defaults' to avoid syntactic fontification.
        (guix-info-define-interface): Use it.
      8103c22f
    • Alex Kost's avatar
      emacs: Generalize buffer naming. · 8bff0c79
      Alex Kost authored
      * 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.
      8bff0c79
    • Alex Kost's avatar
      emacs: info: Buttonize package name heading. · 7171d824
      Alex Kost authored
      * emacs/guix-info.el (guix-package-info-insert-heading): Insert
        buttonized name specification.
      7171d824
    • Alex Kost's avatar
      emacs: Improve messages for packages found by ID. · fc7a2889
      Alex Kost authored
      * emacs/guix-messages.el (guix-message-packages-by-id): New procedure.
        (guix-messages): Use it.
      fc7a2889
    • Alex Kost's avatar
      emacs: Generalize buffer reverting. · 87fe9eca
      Alex Kost authored
      This is a partial revert of commit d2b299a9.
      
      * emacs/guix-base.el (guix-revert-buffer): Make it more general by
        removing the code specific to a particular search (a search for
        packages/outputs by ID).  Rename to...
        (guix-buffer-revert): ... this.
      87fe9eca
    • Alex Kost's avatar
      emacs: Generalize buffer redisplaying. · 819518d1
      Alex Kost authored
      * emacs/guix-base.el (guix-buffer-after-redisplay-hook): New variable.
        (guix-redisplay-buffer): Use it.  Remove all arguments and the code
        for moving point to the next button.  Rename to...
        (guix-buffer-redisplay): ... this.
        (guix-buffer-redisplay-goto-button): New procedure.
      * emacs/guix-info.el (guix-package-info-show-source): Use it.  Adjust
        accordingly.
        (guix-package-info-redisplay-after-download): Likewise.
      819518d1
    • Alex Kost's avatar
      emacs: Split 'guix-root-map' keymap. · e40b3c33
      Alex Kost authored
      * 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.
      e40b3c33
    • Alex Kost's avatar
      emacs: Add wrappers for 'history-size' and 'revert-confirm'. · c8e2666a
      Alex Kost authored
      * emacs/guix-base.el (guix-buffer-history-size): New procedure.
        (guix-buffer-define-interface): Use it in the mode definition.
        (guix-buffer-revert-confirm?): New procedure.
        (guix-revert-buffer): Use it.
      c8e2666a
    • Alex Kost's avatar
      emacs: Split 'guix-param-titles' variable. · 574f6727
      Alex Kost authored
      Generate 'guix-ENTRY-TYPE-BUFFER-TYPE-titles' variables for each
      ENTRY-TYPE and BUFFER-TYPE instead.
      
      * emacs/guix-base.el (guix-param-titles): Remove.
        (guix-buffer-data): New variable.
        (guix-buffer-value, guix-buffer-param-title): New procedures.
        (guix-buffer-define-interface): Add ':titles' keyword.
      * emacs/guix-info.el (guix-info-param-title): Adjust accordingly.
      * emacs/guix-list.el (guix-list-param-title): Likewise.
        (guix-list-column-titles): Remove.
      * doc/emacs.texi (Emacs Appearance): Adjust accordingly.
      574f6727
    • Alex Kost's avatar
      emacs: info: Split 'guix-info-format' variable. · 9193fb7c
      Alex Kost authored
      * emacs/guix-info.el: Generate 'guix-ENTRY-TYPE-info-format' variables
        for 'package', 'installed-output', 'output' and 'generation' entry
        types.
        (guix-info-format): Remove.
        (guix-info-data): New variable.
        (guix-info-value): New procedure.
        (guix-info-define-interface): Add ':format' keyword.
      * emacs/guix-base.el (guix-buffer-define-interface): Add ':reduced?'
        keyword.
      * doc/emacs.texi (Emacs Appearance): Adjust accordingly.
      9193fb7c
    • Alex Kost's avatar
      emacs: Factorize macros for defining interfaces. · 7735c503
      Alex Kost authored
      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"
      7735c503
    • Alex Kost's avatar
      emacs: info: Generalize inserting and formatting. · 2c7ed388
      Alex Kost authored
      * emacs/guix-info.el: Use a more flexible format for inserting any data.
        (guix-info-ignore-empty-vals): Rename to...
        (guix-info-ignore-empty-values): ... this.
        (guix-info-insert-methods): Merge this and...
        (guix-info-displayed-params): ... this into...
        (guix-info-format): ... this.  Change format specifications.
        (guix-info-title-aliases, guix-info-value-aliases): New variables.
        (guix-info-displayed-params): Adjust for the new format.
        (guix-info-insert-entry): Likewise.
        (guix-package-info-fill-heading): Replace with...
        (guix-info-fill): ... this.
        (guix-info-insert-param): Replace with...
        (guix-info-insert-entry-unit): ... this.
        (guix-info-insert-title-default): Replace with...
        (guix-info-insert-title-format): ... this.
        (guix-info-insert-val-default): Replace with...
        (guix-info-insert-value-format): ... this.
        (guix-info-insert-val-simple): Replace with...
        (guix-info-insert-value-indent): ... this.
        (guix-package-info-insert-source): Adjust accordingly.
        (guix-package-info-insert-heading): Insert only name and version.
        (guix-package-info-define-insert-inputs): Do not generate
        'guix-package-info-insert-ENTRY-TYPE-inputs' procedures.
        (guix-info-fill-column, guix-info-insert-entry-default)
        (guix-info-method-funcall, guix-info-insert-file-path)
        (guix-info-insert-url, guix-info-insert-package-function)
        (guix-info-insert-installed-function)
        (guix-info-insert-output-function)
        (guix-info-insert-generation-function)
        (guix-package-info-heading-params)
        (guix-package-info-insert-with-heading)
        (guix-package-info-insert-description)
        (guix-package-info-insert-location)
        (guix-package-info-insert-full-names)
        (guix-package-info-insert-source-url): Remove.
        (guix-info-fill-column, guix-info-param-title)
        (guix-info-title-function, guix-info-value-function)
        (guix-info-title-method->function)
        (guix-info-value-method->function)
        (guix-info-insert-value-simple): New procedures.
      * emacs/guix-utils.el (guix-buttonize, guix-button-type?): New
        procedures.
        (guix-split-string): Split multi-line strings and ignore empty lines.
      * doc/emacs.texi (Emacs Appearance): Adjust accordingly.
      2c7ed388
    • Alex Kost's avatar
      emacs: list: Factorize "edit package" commands. · 25d2fe8b
      Alex Kost authored
      * emacs/guix-list.el: Use separate edit commands instead of a single one.
        (guix-list-for-each-line, guix-list-edit-package): Remove.
        (guix-package-list-edit, guix-output-list-edit): New procedures.
        (guix-package-list-mode-map, guix-output-list-mode-map): Use them.
      25d2fe8b
    • Alex Kost's avatar
      emacs: list: Split 'guix-list-format' variable. · cf910cef
      Alex Kost authored
      * emacs/guix-list.el: Generate 'guix-ENTRY-TYPE-list-format' variables
        for 'package', 'output' and 'generation' entry types.
        (guix-list-format): Remove.
        (guix-list-define-entry-type): Add ':format' keyword.
      * doc/emacs.texi (Emacs Appearance): Adjust accordingly.
      cf910cef
    • Alex Kost's avatar
      emacs: list: Add 'guix-list-mode-initialize'. · 78fdbdc0
      Alex Kost authored
      * emacs/guix-list.el (guix-list-mode-initialize): New procedure.
        (guix-list-define-entry-type): Use it.
      78fdbdc0
    • Alex Kost's avatar
      emacs: list: Generalize 'sort-key' code. · 649df667
      Alex Kost authored
      * emacs/guix-list.el (guix-list-sort-key): New procedure.
        (guix-list-tabulated-sort-key): Use it.
        (guix-list-define-entry-type): Generate
        'guix-ENTRY-TYPE-list-sort-key' variables.
      649df667
    • Alex Kost's avatar
      emacs: list: Generalize 'describe' code. · 7b31510f
      Alex Kost authored
      * emacs/guix-list.el (guix-list-describe-warning-count): Remove variable.
        (guix-list-define-entry-type): Generate
        'guix-ENTRY-TYPE-list-describe-warning-count' and
        'guix-ENTRY-TYPE-list-describe-function' variables.
        (guix-list-describe-maybe): Remove.  Move the code...
        (guix-list-describe): ... here.
        (guix-list-describe-warning-count, guix-list-describe-entries)
        (guix-list-describe-ids): New procedures.
        (guix-output-list-describe): Adjust accordingly.
        (guix-list-mode-map): Bind "i" key to 'guix-list-describe'.
        (guix-generation-list-mode-map): Remove "i" key.
      7b31510f
Loading