[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
PC-completion and trailing dashes.
From: |
Michaël Cadilhac |
Subject: |
PC-completion and trailing dashes. |
Date: |
Fri, 14 Apr 2006 18:30:49 +0200 |
Here's the problem:
emacs -Q
M-x partial-completion-mode RET
M-x set- RET then click a choice, you'll have the error message
`Symbol function definition is void: set-yourchoice-'
M-x set-s- RET then select one and your choice will be suffixed with
`-s-'.
The smallest change I can propose is the following:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.9401
diff -b -c -w -r1.9401 ChangeLog
*** ChangeLog 14 Apr 2006 11:30:20 -0000 1.9401
--- ChangeLog 14 Apr 2006 16:22:47 -0000
***************
*** 1,3 ****
--- 1,11 ----
+ 2006-04-14 Michaël Cadilhac <address@hidden> (tiny change)
+
+ * complete.el (PC-goto-eob-and-ret-nil): Function to go to the
+ end of buffer and that returns `nil'.
+ (partial-completion-mode): Use it as a function of
+ `choose-completion-string-functions' to be sure that the whole
+ buffer will be erased before choice insertion.
+
2006-04-14 Stefan Monnier <address@hidden>
* progmodes/cc-langs.el (c-mode-menu):
Index: complete.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/complete.el,v
retrieving revision 1.45
diff -b -c -w -r1.45 complete.el
*** complete.el 6 Aug 2005 22:13:42 -0000 1.45
--- complete.el 14 Apr 2006 16:22:47 -0000
***************
*** 1,7 ****
;;; complete.el --- partial completion mechanism plus other goodies
;; Copyright (C) 1990, 1991, 1992, 1993, 1999, 2000, 2002, 2003, 2004,
! ;; 2005 Free Software Foundation, Inc.
;; Author: Dave Gillespie <address@hidden>
;; Keywords: abbrev convenience
--- 1,7 ----
;;; complete.el --- partial completion mechanism plus other goodies
;; Copyright (C) 1990, 1991, 1992, 1993, 1999, 2000, 2002, 2003, 2004,
! ;; 2005, 2006 Free Software Foundation, Inc.
;; Author: Dave Gillespie <address@hidden>
;; Keywords: abbrev convenience
***************
*** 221,226 ****
--- 221,230 ----
(symbol-function 'read-file-name-internal))
(fset 'read-file-name-internal
'PC-read-include-file-name-internal)))
+ ;; Fix for completion-list selections.
+ (if partial-completion-mode
+ (add-hook 'choose-completion-string-functions 'PC-goto-eob-and-ret-nil)
+ (remove-hook 'choose-completion-string-functions
'PC-goto-eob-and-ret-nil))
(when (and partial-completion-mode (null PC-env-vars-alist))
(setq PC-env-vars-alist
(mapcar (lambda (string)
***************
*** 941,946 ****
--- 945,958 ----
(funcall PC-old-read-file-name-internal string dir action)))
+ ;; Hack to be sure that on validation in the completion list, everything
+ ;; will be erased before the choice is inserted.
+ (defun PC-goto-eob-and-ret-nil (&rest args)
+ (goto-char (point-max))
+ nil)
+
+
+
(provide 'complete)
;; arch-tag: fc7e2768-ff44-4e22-b579-4d825b968458
The aim is that `choose-completion-string' will `delete-region'
everything from (+ base-size (point-min)) to (point-max).
The added function could also directly erase the region, I don't
know what's the best here. I don't even know if this way is ok ;-)
Thanks in advance, however.
--
| Michaël `Micha' Cadilhac | Un certain Blaise Pascal |
| Epita/LRDE Promo 2007 | etc... etc... |
| http://www.lrde.org/~cadilh_m | -- Prévert (Les paris stupides) |
`-- - JID: address@hidden --' - --'
pgpkdV2J4XBdi.pgp
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- PC-completion and trailing dashes.,
Michaël Cadilhac <=