;;; guix-location.el --- Package locations ;; Copyright © 2016 Alex Kost ;; This file is part of GNU Guix. ;; GNU Guix is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public Location as published by ;; the Free Software Foundation, either version 3 of the Location, or ;; (at your option) any later version. ;; GNU Guix is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public Location for more details. ;; You should have received a copy of the GNU General Public Location ;; along with this program. If not, see . ;;; Commentary: ;; This file provides the code to work with locations of Guix packages. ;;; Code: (require 'cl-lib) (require 'guix-backend) (require 'guix-read) (require 'guix-guile) (defun guix-package-location (id-or-name) "Return location of a package with ID-OR-NAME. For the meaning of location, see `guix-find-location'." (guix-eval-read (guix-make-guile-expression 'package-location-string id-or-name))) ;;;###autoload (defun guix-find-location (location &optional directory) "Go to LOCATION of a package. LOCATION is a string of the form: \"FILE:LINE:COLUMN\" If FILE is relative, it is considered to be relative to DIRECTORY (`guix-directory' by default). Interactively, prompt for LOCATION. With prefix argument, prompt for DIRECTORY as well." (interactive (list (guix-read-package-location) (guix-read-directory))) (cl-multiple-value-bind (file line column) (split-string location ":") (find-file (expand-file-name file (or directory guix-directory))) (when (and line column) (let ((line (string-to-number line)) (column (string-to-number column))) (goto-char (point-min)) (forward-line (- line 1)) (move-to-column column) (recenter 1))))) ;;;###autoload (defun guix-edit (id-or-name &optional directory) "Edit (go to location of) package with ID-OR-NAME. See `guix-find-location' for the meaning of package location and DIRECTORY. Interactively, with prefix argument, prompt for DIRECTORY." (interactive (list (guix-read-package-name) (guix-read-directory))) (let ((loc (guix-package-location id-or-name))) (if loc (guix-find-location loc directory) (message "Couldn't find package location.")))) (provide 'guix-location) ;;; guix-location.el ends here :26 +0100'>2019-03-01nls: Update 'fr' translation of the manual.Julien Lepiller 2018-12-02nls: Update 'fr' translation.Julien Lepiller 2018-08-26nls: Update 'fr' translation.Julien Lepiller 2018-08-15nls: Update 'fr' translation.Julien Lepiller 2018-06-23nls: Update 'fr' translation.Julien Lepiller 2018-06-08nls: Update 'fr' translation.Julien Lepiller 2018-06-08doc: Regenerate *.fr.texi.Ludovic Courtès 2018-04-19gnu: doc: Add French documentation....* doc/contributing.fr.texi: New file. * doc/guix.fr.texi: New file. * doc/local.mk (TRANSLATED_INFO): Add them. (info_TEXINFOS): Add guix.fr.texi. * po/doc/contributing.fr.po: New file. * po/doc/guix.fr.po: New file. * po/doc/local.mk (EXTRA_DIST): Add them. Julien Lepiller