summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* Update version to 0.3.1v0.3.1Alex Kost2017-05-052-2/+2
* Update NEWSAlex Kost2017-05-051-0/+9
* elisp/pcomplete: Add support for "guix potluck"•••* elisp/guix-pcomplete.el (guix-pcomplete-complete-option-arg): Complete directories for some options. Alex Kost2017-05-051-0/+6
* elisp/command: Add support for "guix potluck"•••This is sort of a preliminary support as "guix potluck" is being developed and it is not merged to Guix yet. * elisp/guix-command.el (guix-command-improve-action-argument): Use "L" for "potluck" command ("p" is for "package"). (guix-command-complex-with-shared-arguments): Add "potluck". (guix-command-improve-potluck-argument): New variable. Complete directories for some options. (guix-command-argument-improvers): Add it. (guix-command-rest-argument): Complete rest arguments. Alex Kost2017-05-051-1/+13
* build: Do not unset Guile load paths•••* scheme/Makefile.am: Always leave GUILE_LOAD_[COMPILED_]PATH during compilation. Alex Kost2017-05-051-6/+12
* build: Rearrange some guile modules•••* scheme/Makefile.am (MODULES): Build "graph" and "lint" modules after "packages", as they depend on it. Alex Kost2017-05-051-2/+2
* Add 'guix-services-from-system-config-file' command•••* scheme/emacs-guix/services.scm: New file. * scheme/Makefile.am (MODULES): Add it. * scheme/emacs-guix.scm: Autoload 'service-sexps'. * elisp/guix-ui-service.el: New file. * elisp/local.mk (ELFILES): Add it. * elisp/guix-help.el (guix-help-specifications): Add 'guix-services-from-system-config-file' command. Alex Kost2017-05-056-1/+202
* build-env.el: Remove unneeded variable•••* build-aux/build-env.el (guix-env): Do not set 'guix-package-enable-at-startup'. This is not needed since <http://git.savannah.gnu.org/cgit/guix.git/commit/?id=9bd94544be43b7d028e1aaeb4069b07bdb24610f>. Alex Kost2017-05-041-3/+0
* README: Update link to the latest manualAlex Kost2017-04-201-1/+1
* doc: Put @key tag inside @kbd•••* doc/emacs-guix.texi: Put @key tag inside @kbd everywhere to make the html version of the manual prettier; besides that's what Texinfo manual says to do. Alex Kost2017-04-201-30/+30
* README: Add link to the html version of the manualAlex Kost2017-04-201-1/+1
* build: Add target to build "html" documentation•••To facilitate "make manual" for "gh-pages" branch. * Makefile.am (manual, doc/emacs-guix.html, doc/html_node): New targets. * .gitignore: Ignore "manual" directory. Alex Kost2017-04-202-0/+18
* doc: Describe how to use the manual from git•••Suggested by George Clemmer <myglc2@gmail.com>. * doc/emacs-guix.texi (Using the Manual from Git): New section. Alex Kost2017-04-131-0/+43
* build: Add target to build info "dir" file•••* Makefile.am (doc/dir): New target to generate the "dir" file. * .gitignore: Ignore it. Alex Kost2017-04-132-0/+4
* scheme/packages: Support texinfo markup in synopses•••This feature is available since <http://git.savannah.gnu.org/cgit/guix.git/commit/?id=689db38e3467f66725e8841eac72225110a75a17>. * scheme/emacs-guix/packages.scm (%package-param-alist): Use 'package-synopsis-string' instead of 'package-synopsis'. Alex Kost2017-04-121-1/+1
* elisp/help: Add 'guix-info' command•••Suggested by George Clemmer <myglc2@gmail.com>. * elisp/guix-help.el (guix-info): New command. (guix-help-specifications): Add it. * doc/emacs-guix.texi (Help): Document it. Alex Kost2017-04-122-0/+13
* elisp/command: Disambiguate "pack" options•••* elisp/guix-command.el (guix-command-argument-improvers): Add 'guix-command-improve-target-argument' for "pack" command to use "T" for "--target" ("t" is for "timeout"). Alex Kost2017-03-221-0/+1
* elisp/command: Complete user name for "guix publish --user"•••* elisp/guix-utils.el (guix-read-user-name): New procedure. * elisp/guix-command.el (guix-command-improve-publish-argument): Use it. Alex Kost2017-03-222-1/+11
* elisp: Add support for "--{public/private}-key" options of "guix publish" com...•••Follow the changes introduced by <http://git.savannah.gnu.org/cgit/guix.git/commit/?id=46f58390cb5a01d6cb59070e8e76e9a78e9b933e>. * elisp/guix-command.el (guix-command-improve-publish-argument): New variable and function. (guix-command-argument-improvers): Add it. * elisp/guix-pcomplete.el (guix-pcomplete-complete-option-arg): Complete file names for "--public-key" and "private-key" options. Alex Kost2017-03-222-3/+13
* elisp: Add support for "--format" option of "guix pack" command•••Follow the changes introduced by <http://git.savannah.gnu.org/cgit/guix.git/commit/?id=b1edfbc37f2f008188d91f594b046c5986485e47>. * scheme/emacs-guix/pack.scm (pack-format-names): New procedure. * scheme/emacs-guix.scm: Autoload it. * elisp/guix-read.el (guix-pack-format-names) (guix-read-pack-format-name): New procedures. * elisp/guix-command.el (guix-command-improve-pack-argument): Complete "--format" option. * elisp/guix-pcomplete.el (guix-pcomplete-complete-option-arg): Likewise. Alex Kost2017-03-185-2/+26
* elisp: Add support for "--symlink" option of "guix pack" command•••Follow the changes introduced by <http://git.savannah.gnu.org/cgit/guix.git/commit/?id=5895ec8aa234ec9a4ce68ab8f94e795807630168>. * elisp/guix-command.el (guix-command-improve-pack-argument): Complete file name for "--symlink". * elisp/guix-pcomplete.el (guix-pcomplete-complete-option-arg): Do not complete a file name, as unlike shell command (where you can write anything), various completing engines (ido, ivy, helm or the default one) may allow you to complete only the file name and nothing more after that. Alex Kost2017-03-162-4/+13
* elisp/pcomplete: Add support for "guix pack"•••* elisp/guix-pcomplete.el (guix-pcomplete-complete-command-arg): Complete package names for "pack" command. * elisp/guix-pcomplete.el (guix-pcomplete-complete-option-arg): Complete compressor names for "--compression" option. Alex Kost2017-03-131-1/+5
* elisp/command: Add support for "guix pack"•••* elisp/guix-command.el (guix-command-improve-action-argument): Use "k" for "pack" command ("p" is for "package"). (guix-command-improve-pack-argument): New variable. Use 'guix-read-compressor-name' to complete "--compression" option. (guix-command-argument-improvers): Add "pack" improvers. (guix-command-rest-argument): Complete package names for "pack" command. Alex Kost2017-03-131-1/+10
* elisp: Add minibuffer reader for compressor name•••* scheme/emacs-guix/pack.scm: New file. (compressor-names): New procedure. * scheme/emacs-guix.scm: Autoload it. * elisp/guix-read.el (guix-compressor-names, guix-read-compressor-name): New procedures. * scheme/Makefile.am (MODULES): Add "pack.scm" Alex Kost2017-03-134-0/+42
* elisp/pcomplete: Complete package names for "guix copy"•••* elisp/guix-pcomplete.el (guix-pcomplete-complete-command-arg): Complete package names for "copy" command. Alex Kost2017-03-131-1/+1
* elisp/command: Add "rest" argument for "guix copy"•••This is a followup to commit ebcf5c26cdb29b6c16b92fee41ab672f1b0001c0. * elisp/guix-command.el (guix-command-rest-argument): Complete package names for "guix copy". Alex Kost2017-03-131-1/+1
* elisp/ui-license: Use 'cons' instead of 'cl-list*'•••* elisp/guix-ui-license.el (guix-license-list-describe): 'cl-list*' is redundant here, use 'cons' instead. Alex Kost2017-03-081-1/+1
* guix: Replace some code with 'git-predicate'•••This became possible after <http://git.savannah.gnu.org/cgit/guix.git/commit/?id=6554be68b43d5b240c8075cdbb479c66a9780f59>. * guix.scm (git-files, git-file?): Remove. (emacs-guix-devel): Use 'git-predicate'. Alex Kost2017-02-271-22/+3
* Update version to 0.3v0.3Alex Kost2017-02-272-2/+2
* Update NEWSAlex Kost2017-02-271-0/+40
* build: Rename default silent rules•••* elisp/local.mk: Use "ELC" name to compile .el files. * scheme/Makefile.am: Use "GUILEC" name to compile .scm files. Alex Kost2017-02-272-3/+12
* elisp/utils: Do not truncate lines during pretty-printing•••* elisp/guix-utils.el (guix-pretty-print-buffer): Do not call 'toggle-truncate-lines' as truncated lines may be really distracting. Alex Kost2017-02-271-2/+1
* elisp/utils: Indent all sexps during pretty-printing•••* elisp/guix-utils.el (guix-show-pretty-print-buffer): Use 'indent-pp-sexp' on each top-level sexp as 'pp-buffer' prettifies only a single sexp! Alex Kost2017-02-271-1/+8
* elisp/ui-system-generation: Improve pretty printing•••Put service names and file names on the new lines. * elisp/guix-utils.el (guix-show-pretty-print): Split into... (guix-show-pretty-print-buffer, guix-show-pretty-print-file): ... these. * elisp/guix-ui-system-generation.el (guix-system-generation-pretty-print): New procedure. (guix-system-generation-info-insert-shepherd): Use it. Alex Kost2017-02-272-7/+36
* doc: Adjust shell completions documentation•••* doc/emacs-guix.texi (Requirements): Remove a mention that Geiser is not needed for shell completions as it is needed since commit c128a5b8ded9608bba92b5f9f33f07e60ae44a17. (Completions): Add 'shell' concept index. Add an example of completing 'guix graph --backend='. Alex Kost2017-02-151-2/+3
* doc: Fix typo•••This fixes a regression introduced by commit 2048f5c8a4c876dfb8a10b49d8c819d627349247. * doc/emacs-guix.texi (Miscellaneous Commands): Add table item for 'guix-lint'. Alex Kost2017-02-151-0/+1
* elisp: Add 'guix-packages-from-system-config-file' command•••* scheme/emacs-guix/packages.scm (packages-from-system-config-file): New procedure. (%patterns-makers): Use it for the new 'from-os-file' search type. (package/output-sexps): Adjust the docstring. * elisp/guix-ui-package.el (guix-packages-from-system-config-file): New command. * elisp/guix-ui.el (guix-ui-get-entries): Adjust the docstring. * elisp/guix-ui-messages.el (guix-messages): Add messages for 'from-os-file' search type. (guix-message-packages-by-id): Mention that canonical packages can't be displayed. * elisp/guix-help.el (guix-help-specifications): Add the new command. * doc/emacs-guix.texi (Package Commands): Document it. Alex Kost2017-02-156-5/+66
* elisp: Expand file names after 'read-file-name'•••* elisp/guix-misc.el (guix-apply-manifest): Use 'guix-read-file-name' instead of 'read-file-name'. * elisp/guix-profiles.el (guix-read-profile): Likewise. * elisp/guix-ui-package.el (guix-package-from-file): Likewise. * elisp/guix-ui-profile.el (guix-profile-list-apply-manifest): Likewise. Alex Kost2017-02-144-8/+10
* README: Add "Installation" sectionAlex Kost2017-02-041-0/+32
* elisp/pcomplete: Update some completions•••* elisp/guix-pcomplete.el (guix-pcomplete-complete-option-arg): Add proper completions for "environment --system=", "archive --extract=" and "graph --backend=". Alex Kost2017-01-311-4/+16
* elisp/command: Disambiguate "archive" options•••* elisp/guix-command.el (guix-command-improve-common-build-argument): Use "X" for "--max-silent-time" ("x" is for "--extract" archive option). (guix-command-improve-archive-argument): Remove "--generate-key" as "g" will be used for it by default anyway. Use 'read-directory-name' to complete "--extract". Alex Kost2017-01-311-2/+2
* elisp/pcomplete: Use Guix REPL to find completions•••As it is much faster than calling "guix" shell commands all the time. Suggested-by Ludovic Courtès <ludo@gnu.org>: <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00088.html>. * elisp/guix-pcomplete.el (guix-pcomplete-guix-program) (guix-pcomplete-run-guix): Remove. (guix-pcomplete-run-guix-and-search): Rename to... (guix-pcomplete-search-in-help): Adjust to use Guix REPL instead of the shell command. (guix-pcomplete-define-options-finder): Adjust accordingly. (guix-pcomplete-all-packages, guix-pcomplete-lint-checkers) (guix-pcomplete-graph-node-types, guix-pcomplete-refresh-updaters): Remove. (guix-pcomplete-complete-option-arg): Use 'guix-package-names', 'guix-lint-checker-names', 'guix-graph-node-type-names' and 'guix-refresh-updater-names' instead. Alex Kost2017-01-311-67/+26
* elisp/guile: Strip string from properties in guile expression•••* elisp/guix-guile.el (guix-make-guile-expression): If expression is a string, make sure it is taken without properties, otherwise the properties will be printed as is into a resulting guile expression, thus will break it. Alex Kost2017-01-301-1/+3
* elisp/devel: Add highlighting/indentation for 'call-with-gzip-...'•••Follow the changes introduced by <http://git.savannah.gnu.org/cgit/guix.git/commit/?id=721539026dda02e58addbb618f2102b31a2927f8>. * elisp/guix-devel.el: Add highlighting and indentation rules for 'call-with-gzip-{input/output}-port'. Alex Kost2017-01-301-0/+4
* scheme: Use 'mlambda' instead of 'memoize'•••* scheme/emacs-guix/licenses.scm (lookup-license): Use (mlambda ...) instead of (memoize (lambda ...) ...). * scheme/emacs-guix/system-generations.scm (system-generation-boot-parameters): Likewise. Alex Kost2017-01-292-12/+10
* Updates for adding (guix memoization) module•••This is to follow the changes introduced by <http://git.savannah.gnu.org/cgit/guix.git/commit/?id=f9704f179a5160013c4a401dce3761714bba8e72>. * elisp/guix-devel.el: Add highlighting and indentation rules for 'mlambda' and 'mlambdaq'. * scheme/emacs-guix/licenses.scm: Use (guix memoization) instead of (guix combinators). * scheme/emacs-guix/system-generations.scm: Likewise. Alex Kost2017-01-293-5/+9
* elisp/pcomplete: Simplify completing "--remove" option•••Since profile may be changed, memoizing its packages is not correct, but re-fetching profile's packages all the time is not efficient, so just complete all package names as it is done for "--install" option. * elisp/guix-pcomplete.el (guix-pcomplete-installed-packages): Remove function. (guix-pcomplete-complete-option-arg): Adjust to complete all package names. Alex Kost2017-01-281-20/+2
* scheme/lint: Fix missing guix-warning-port•••This is a workaround for the same old problem: <https://github.com/jaor/geiser/issues/83>. * scheme/emacs-guix/lint.scm: Set 'guix-warning-port' to 'current-warning-port' in the top-level. Alex Kost2017-01-281-0/+5
* elisp/ui-package: Add "L" (lint) key to Package List•••* elisp/guix-ui-package.el (guix-package-list-lint): New command. (guix-package-list-mode-map): Bind "L" to it. (guix-package-list-default-hint): Add it. (guix-output-list-lint): New command. (guix-output-list-mode-map): Bind "L" to it. (guix-output-list-default-hint): Add it. * doc/emacs-guix.texi (Package Keys): Mention "L" key. Alex Kost2017-01-262-2/+30
* elisp/ui-package: Add "Lint" button to Package Info•••* elisp/guix-ui-package.el (guix-package-info-insert-lint-button): New procedure. (guix-package-info-button-functions): Add it. Alex Kost2017-01-261-1/+13