all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* completion-cycle-threshold and a suggestion
@ 2010-05-21 20:43 Leo
  2010-05-22  0:57 ` Stefan Monnier
  0 siblings, 1 reply; 7+ messages in thread
From: Leo @ 2010-05-21 20:43 UTC (permalink / raw)
  To: emacs-devel

Hello Stefan,

Thank you for adding more features to completion.

I have started using this completion-cycle-threshold. Incidentally I
have written a pcompletion for git and I have this function:

;; (pcmpl-git-string-lessp "word" "word-")  ; => nil
;; (pcmpl-git-string-lessp "words" "word-") ; => t
(defun pcmpl-git-string-lessp (s1 s2)
  "Compare strings S1 and S2 but treat '-' specially."
  (let ((res (compare-strings s1 0 nil s2 0 nil))
        c1 c2)
    (if (eq res t) (setq res 0))
    (ignore-errors
      ;; the following setq could trigger errors
      (setq c1 (aref s1 (1- (abs res)))
            c2 (aref s2 (1- (abs res))))
      (if (or (= c1 ?-) (= c2 ?-)) (setq res (- res))))
    (if (> res 0) nil t)))

to address the sorting of things like:

remote
remote-ftp
remote-ftps
remote-http
remote-https

i.e. when I 'git rem<TAB>' I want to see remote first before seeing the
rest.

The current completion cycle has this issue, for example, assume there
are two possible completions 'feature' and 'feature-old', feature-old is
seen first. This is counter-intuitive to the behaviour without
completion cycle.

Best wishes,

Leo




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-05-24  3:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-21 20:43 completion-cycle-threshold and a suggestion Leo
2010-05-22  0:57 ` Stefan Monnier
2010-05-22  1:34   ` Leo
2010-05-22 12:59     ` Stefan Monnier
2010-05-22 20:19       ` Leo
2010-05-23 13:16         ` Stefan Monnier
2011-05-24  3:04     ` Stefan Monnier

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.