help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: vc-checkin (RCS) always. Problem with vc-checkin


From: Pierre Lorenzon
Subject: Re: vc-checkin (RCS) always. Problem with vc-checkin
Date: Mon, 07 Sep 2015 05:49:04 +0200 (CEST)

Hi



From: Uwe Brauer <oub@mat.ucm.es>
Subject: vc-checkin (RCS) always. Problem with vc-checkin 
Date: Sun, 06 Sep 2015 21:04:29 +0200

> Hello
> 
> The following code can be found in
> 
> http://www.emacswiki.org/emacs/VersionControlAlways
> 
> (defun ensure-in-vc-or-check-in ()
>   "Automatically checkin file ,v can be in the same directory or in the
> subdirectory RCS. The idea is  to call that function only for files
> not for buffers. See the function ensure-in-vc-or-check-in-modes  
> which could be use in an apropriate HOOK."
>   (interactive)
>   (when (buffer-file-name)   
>       (if (or (and (file-exists-p (format "%s,v" (buffer-file-name))))
>                       (and (file-exists-p (format "RCS/%s,v" 
> (file-name-nondirectory buffer-file-name)))))
>   (let ((p (point)))
>               (progn
>                       (vc-checkin (buffer-file-name) nil "")
>                       (vc-toggle-read-only) 
>                       (message "Checked in"))
>                   (goto-char p))
>         (progn
>                 (message "You need to check this in! ")))))
> 
> I modified the original code
> by adding (format "RCS/%s,v" (file-name-nondirectory buffer-file-name)
> 
> 
> 
> The point is the code works for a old version of VC, however for GNU
> emacs 25
> (vc-checkin (buffer-file-name) nil "")
> 
> does not work any more.
> 
> The docstring for the old function said:
> (vc-checkin FILE &optional REV COMMENT INITIAL-CONTENTS)
> file for the new function:
> (vc-checkin FILES BACKEND &optional COMMENT INITIAL-CONTENTS)


  Ok that the form I know. backend is required. 



> so I thought
> 
> (vc-checkin (buffer-file-name) 'RCS nil "")
> or
> (vc-checkin (buffer-file-name) 'RCS  "")
> 
> Should work, it does not. The following error is given



  In fact it does not work. vc-checkin launches a very
  complicated process of interaction opening the log buffer to
  setup the check in message. In fact if you do not want this
  process to run interactively vc-checkin is maybe not the
  right method. You might replace your code by :

  (vc-call-backend 'RCS 'checkin (list (buffer-file-name)) "")

  Sure it won't accomplish certain tasks around check in
  performed by vc-checkin but if yuou only want to check in
  ....


  Regards

  Pierre

>  vc-delistify seems the culprit, but I am stack.
> 
> 
> Thanks
> 
> Uwe Brauer
> 
> 
> --8<---------------cut here---------------start------------->8---
> 
> Debugger entered--Lisp error: (wrong-type-argument sequencep 47)
>   mapconcat(identity
>   "/home/oub/emacs/site-lisp/versch/vc-ensure-checkin.el" " ")
>   vc-delistify("/home/oub/emacs/site-lisp/versch/vc-ensure-checkin.el")
>   #[514
>   "\303\304\305!\"\210\211\203
> 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]