diff options
Diffstat (limited to 'lisp/id-utils.el')
-rw-r--r-- | lisp/id-utils.el | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/lisp/id-utils.el b/lisp/id-utils.el new file mode 100644 index 0000000..09c7f9b --- /dev/null +++ b/lisp/id-utils.el @@ -0,0 +1,63 @@ +;;; id-utils.el -- emacs interface to `lid -R grep', a.k.a. `gid' +;;; Copyright (C) 1995, 1996 Free Software Foundation, Inc. +;;; Greg McGary <gkm@gnu.ai.mit.edu>. + +;; This file is part of GNU id-utils. + +;; GNU id-utils is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; GNU id-utils 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 License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, 59 Temple Place - Suite 330, Boston, +;; MA 02111-1307, USA. + +;;; This package provides the tools meant to help editing PO files, +;;; as documented in the GNU id-utils user's manual. See this manual +;;; for user documentation, which is not repeated here. + +;;; To install, merely put this file somewhere GNU Emacs will find it, +;;; then add the following lines to your .emacs file: +;;; +;;; (autoload 'gid "id-utils") +;;; +;;; You may also adjust some customizations variables, below, by defining +;;; them in your .emacs file. + +(require 'compile) +(provide 'id-utils) + +(defvar gid-command "gid" "The command run by the gid function.") + +(defun gid (args) + "Run gid, with user-specified ARGS, and collect output in a buffer. +While gid runs asynchronously, you can use the \\[next-error] command to +find the text that gid hits refer to. The command actually run is +defined by the gid-command variable." + (interactive (list (read-input + (concat "Run " gid-command " (with args): ") (word-around-point)))) + (let (compile-command + (compilation-error-regexp-alist grep-regexp-alist) + (compilation-buffer-name-function '(lambda (mode) + (concat "*" gid-command " " args "*")))) + ;; For portability to v19, use compile rather than compile-internal. + (compile (concat gid-command " " args)))) + +(defun word-around-point () + "Return the word around the point as a string." + (save-excursion + (if (not (eobp)) + (forward-char 1)) + (forward-word -1) + (forward-word 1) + (forward-sexp -1) + (buffer-substring (point) (progn + (forward-sexp 1) + (point))))) |