X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/c64c05511ba5619898078fda33a7d61c44ed89f9..0c129bca32a03adc6f12b088ba4132b52d5dcf94:/lisp/pcvs-util.el diff --git a/lisp/pcvs-util.el b/lisp/pcvs-util.el index 2d41a51aaf..849bbd69f4 100644 --- a/lisp/pcvs-util.el +++ b/lisp/pcvs-util.el @@ -1,10 +1,11 @@ -;;; pcvs-util.el --- Utility functions for PCL-CVS -*- byte-compile-dynamic: t -*- +;;; pcvs-util.el --- utility functions for PCL-CVS -*- byte-compile-dynamic: t -*- -;; Copyright (C) 1991,92,93,94,95,96,97,98,99,2000 Free Software Foundation, Inc. +;; Copyright (C) 1991,92,93,94,95,96,97,98,99,2000, 2001 +;; Free Software Foundation, Inc. ;; Author: Stefan Monnier ;; Keywords: pcl-cvs -;; Revision: $Id: pcvs-util.el,v 1.7 2000/12/10 21:18:03 monnier Exp $ +;; Revision: $Id: pcvs-util.el,v 1.16 2001/12/02 07:41:47 monnier Exp $ ;; This file is part of GNU Emacs. @@ -122,7 +123,10 @@ BUF is assumed to be a temporary buffer used from the buffer MAINBUF." (delete-window win) (error (iconify-frame (window-frame win)))) (if (and mainbuf (get-buffer-window mainbuf)) - (delete-window win))))) + ;; FIXME: if the buffer popped into a pre-existing window, + ;; we don't want to delete that window. + t ;;(delete-window win) + )))) (with-current-buffer buf (bury-buffer (unless (and (eq buf (window-buffer (selected-window))) (not (window-dedicated-p (selected-window)))) @@ -163,8 +167,10 @@ Uses columns to keep the listing readable but compact." ;; At least 2 columns; at least 2 spaces between columns. (max 2 (/ wwidth (+ 2 length))) ;; Don't allocate more columns than we can fill. + ;; Windows can't show less than 3 lines anyway. (max 1 (/ (length strings) 2)))) (colwidth (/ wwidth columns))) + ;; Use tab-width rather than indent-to. (setq tab-width colwidth) ;; The insertion should be "sensible" no matter what choices were made. (dolist (str strings) @@ -179,18 +185,16 @@ Uses columns to keep the listing readable but compact." If ONELINE is t, only the first line (no \\n) will be returned. If ARGS is non-nil, the file will be executed with ARGS as its arguments. If ARGS is not a list, no argument will be passed." - (with-temp-buffer - (condition-case nil - (progn - (if args - (apply 'call-process - file nil t nil (when (listp args) args)) - (insert-file-contents file)) - (buffer-substring (point-min) - (if oneline - (progn (goto-char (point-min)) (end-of-line) (point)) - (point-max)))) - (file-error nil)))) + (condition-case nil + (with-temp-buffer + (if args + (apply 'call-process + file nil t nil (when (listp args) args)) + (insert-file-contents file)) + (goto-char (point-min)) + (buffer-substring (point) + (if oneline (line-end-position) (point-max)))) + (file-error nil))) (defun cvs-string-prefix-p (str1 str2) "Tell whether STR1 is a prefix of STR2." @@ -224,7 +228,8 @@ The SEPARATOR regexp defaults to \"\\s-+\"." (append (unless (eq i 0) (split-string (substring string 0 i) sep)) (let ((rfs (read-from-string string i))) (cons (car rfs) - (cvs-string->strings (substring string (cdr rfs)) sep))))))) + (cvs-string->strings (substring string (cdr rfs)) + sep))))))) ;;;; ;;;; file names @@ -315,7 +320,7 @@ If it is \\[universal-argument] \\[universal-argument], behave just ;; sanity check (unless (< (abs numarg) (length defaults)) - (error "There is no %sth default." (abs numarg))) + (error "There is no %sth default" (abs numarg))) (if permstr (let* ((prompt (format "%s%s: " desc permstr)) @@ -342,9 +347,9 @@ If it is \\[universal-argument] \\[universal-argument], behave just &optional qtypedesc hist-sym) (let ((cps (cvs-prefix-sym sym))) `(progn - (defvar ,sym nil ,(cons (or docstring "") " + (defvar ,sym nil ,(concat (or docstring "") " See `cvs-prefix-set' for further description of the behavior.")) - (defconst ,cps + (defvar ,cps (let ((defaults ,defaults)) ;; sanity ensurance (unless (>= (length defaults) cvs-prefix-number) @@ -367,7 +372,7 @@ If ARG is negative (or \\[universal-argument] which corresponds to negative 0), it queries the user and sets the -ARG'th default. If ARG is greater than 9 (or \\[universal-argument] \\[universal-argument]), the (ARG mod 10)'th prefix is made persistent. -If ARG is NIL toggle the PREFIX's value between its 0th default and NIL +If ARG is nil toggle the PREFIX's value between its 0th default and nil and reset the persistence." (let* ((prefix (symbol-value (cvs-prefix-sym sym))) (numarg (if (integerp arg) arg 0)) @@ -405,4 +410,4 @@ and reset it unless READ-ONLY is non-nil." (provide 'pcvs-util) -;;; pcl-cvs-util.el ends here +;;; pcvs-util.el ends here