From unknown Fri Jun 20 18:03:57 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#6261 <6261@debbugs.gnu.org> To: bug#6261 <6261@debbugs.gnu.org> Subject: Status: enable sorting by version in `ls-lisp-handle-switches' Reply-To: bug#6261 <6261@debbugs.gnu.org> Date: Sat, 21 Jun 2025 01:03:57 +0000 retitle 6261 enable sorting by version in `ls-lisp-handle-switches' reassign 6261 emacs submitter 6261 Toru TSUNEYOSHI severity 6261 wishlist tag 6261 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Mon May 24 15:11:01 2010 Received: (at quiet) by debbugs.gnu.org; 24 May 2010 19:11:02 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OGd3E-0003wV-Hp for submit@debbugs.gnu.org; Mon, 24 May 2010 15:11:01 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OGd3A-0003wO-Ro for quiet@debbugs.gnu.org; Mon, 24 May 2010 15:10:58 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.69) (envelope-from ) id 1OGd36-0001DZ-P4 for quiet@debbugs.gnu.org; Mon, 24 May 2010 15:10:52 -0400 X-From-Line: emacs-devel-bounces+rgm=gnu.org@gnu.org Sun Mar 7 00:12:16 2010 Received: from mx10.gnu.org ([199.232.76.166]:51243) by fencepost.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1No8mm-0000by-21 for rgm@gnu.org; Sun, 07 Mar 2010 00:12:16 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1No8mj-0004zA-7h for rgm@gnu.org; Sun, 07 Mar 2010 00:12:15 -0500 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on monty-python X-Spam-Level: * X-Spam-Status: No, score=1.8 required=5.0 tests=AWL,BAYES_00, FORGED_HOTMAIL_RCVD,MSGID_FROM_MTA_HEADER,RECEIVED_FROM_WINDOWS_HOST, UNPARSEABLE_RELAY autolearn=no version=3.1.0 Received: from lists.gnu.org ([199.232.76.165]:45651) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1No8mi-0004z2-TR for rgm@gnu.org; Sun, 07 Mar 2010 00:12:12 -0500 Received: from localhost ([127.0.0.1]:36687 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1No8mi-0001Qz-59 for rgm@gnu.org; Sun, 07 Mar 2010 00:12:12 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1No8m4-0001Qu-V8 for emacs-devel@gnu.org; Sun, 07 Mar 2010 00:11:33 -0500 Received: from [140.186.70.92] (port=54936 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1No8m2-0001Qm-Mw for emacs-devel@gnu.org; Sun, 07 Mar 2010 00:11:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1No8m1-0003IZ-O4 for emacs-devel@gnu.org; Sun, 07 Mar 2010 00:11:30 -0500 Received: from blu0-omc4-s18.blu0.hotmail.com ([65.55.111.157]:64632) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1No8m1-0003IU-Km for emacs-devel@gnu.org; Sun, 07 Mar 2010 00:11:29 -0500 Received: from BLU0-SMTP52 ([65.55.111.135]) by blu0-omc4-s18.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.3959); Sat, 6 Mar 2010 20:47:31 -0800 X-Originating-IP: [124.155.30.210] X-Originating-Email: [t_tuneyosi@hotmail.com] Received: from localhost ([124.155.30.210]) by BLU0-SMTP52.blu0.hotmail.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Sat, 6 Mar 2010 20:47:29 -0800 Date: Sun, 07 Mar 2010 13:46:49 +0900 To: quiet@debbugs.gnu.org X-Debbugs-No-Ack: yes From: Toru TSUNEYOSHI X-Mailer: Mew version 6.3 on Emacs 23.1 / Mule 6.0 (HANACHIRUSATO) X-OriginalArrivalTime: 07 Mar 2010 04:47:30.0460 (UTC) FILETIME=[4B5B0DC0:01CABDB1] X-detected-operating-system: by eggs.gnu.org: Windows 2000 SP4, XP SP1+ Subject: enable sorting by version in `ls-lisp-handle-switches' X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) Lines: 478 Message-ID: <728w79cdz7.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: quiet X-BeenThere: debbugs-submit@debbugs.gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.3 (-----) --=-=-= Package: emacs Severity: wishlist Tags: patch [ resent from http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg00206.html ] Hello. I made a function sorting by version in `ls-lisp-handle-switches', by setting `dired-listing-switches' to "-alv". At first, I made `string-version-lessp', by referring to `glibc-2.11.1/string/strverscmp.c'. But I was not satisfied with the spec. So I made another function `string-logical-lessp'. If no problems, please apply to `ls-lisp.el'. Example: (sort '( "abc-1.0051.tgz" "abc-1.00501.tgz" "abc-1.007.tgz" "abc-1.012b.tgz" "abc-1.01a.tgz" ) 'string-logical-lessp) => ("abc-1.01a.tgz" "abc-1.007.tgz" "abc-1.012b.tgz" "abc-1.0051.tgz" "abc-1.00501.tgz") (dired "d:/test/") => d:/test: total used in directory 0 available 20000000 drwxrwxrwx 1 Administrators none 0 Mar 7 12:03 . dr-xr-xr-x 1 Administrators none 0 Mar 7 12:23 .. -rw-rw-rw- 1 Administrators none 0 May 7 12:57 7 -rw-rw-rw- 1 Administrators none 0 May 7 12:57 8 -rw-rw-rw- 1 Administrators none 0 May 7 12:57 9 -rw-rw-rw- 1 Administrators none 0 May 7 12:57 10 -rw-rw-rw- 1 Administrators none 0 May 7 12:57 11 -rw-rw-rw- 1 Administrators none 0 May 7 12:57 12 -rw-rw-rw- 1 Administrators none 0 Mar 7 12:57 abc-1.01a.tgz -rw-rw-rw- 1 Administrators none 0 Mar 7 12:57 abc-1.007.tgz -rw-rw-rw- 1 Administrators none 0 Mar 7 12:57 abc-1.012b.tgz -rw-rw-rw- 1 Administrators none 0 Mar 7 12:57 abc-1.0051.tgz -rw-rw-rw- 1 Administrators none 0 Mar 7 12:57 abc-1.00501.tgz --=-=-= Content-Disposition: inline; filename=strcmp.el (defun string-version-lessp (s1 s2 &optional ignore-case) "Return t if first arg string is less than second in version order. Case is significant in this comparison if IGNORE-CASE is nil. Symbols are also allowed; their print names are used instead. See also `string-logical-lessp'. Example: (sort '(\"foo.zml-1.gz\" => (\"foo.zml-1.gz\" \"foo.zml-100.gz\" \"foo.zml-2.gz\" \"foo.zml-12.gz\" \"foo.zml-6.gz\" \"foo.zml-13.gz\" \"foo.zml-12.gz\" \"foo.zml-2.gz\" \"foo.zml-13.gz\" \"foo.zml-25.gz\" \"foo.zml-25.gz\" \"foo.zml-6.gz\") \"foo.zml-100.gz\") 'string-version-lessp) (sort '(\"abc-1.01a.tgz\" => (\"abc-1.007.tgz\" \"abc-1.007.tgz\" \"abc-1.012b.tgz\" \"abc-1.012b.tgz\") \"abc-1.01a.tgz\") 'string-version-lessp) (sort '(\"9.000001.10.tgz\" => (\"009.01.91.tgz\" \"009.01.91.tgz\") \"9.000001.10.tgz\") 'string-version-lessp) " (let* (;; states (S_N #x0) ; normal (S_I #x3) ; comparing integral part (S_F #x6) ; comparing fractionnal parts (S_Z #x9) ; idem but with leading Zeroes only ;; Symbol(s) 0 [1-9] others ;; Transition (10) 0 (01) d (00) x ;; ;; x d 0 ; state (next-state (vector S_N S_I S_Z ; S_N S_N S_I S_I ; S_I S_N S_F S_F ; S_F S_N S_F S_Z)) ; S_Z ;; result-type (CMP 2) ; return diff (LEN 3) ; compare using len_diff/diff ;; `glibc-2.11.1/string/strverscmp.c' ;; ;; *p1 *p1 ; pair ;; *p2 *p2 ; ;; *p3 *p3 ; ;; ;; x/x x/d x/0 d/x d/d d/0 0/x 0/d 0/0 ; state (result-type (vector CMP CMP CMP CMP LEN CMP CMP CMP CMP ; S_N CMP -1 -1 +1 LEN LEN +1 LEN LEN ; S_I CMP CMP CMP CMP CMP CMP CMP CMP CMP ; S_F CMP +1 +1 -1 CMP CMP -1 CMP CMP)) ; S_Z ;;; ;; like `coreutils-6.12/lib/strverscmp.c' ;;; ;; ;;; ;; x/x x/d x/0 d/x d/d d/0 0/x 0/d 0/0 ; state ;;; (result-type (vector CMP CMP CMP CMP LEN CMP CMP CMP CMP ; S_N ;;; CMP -1 -1 +1 LEN LEN +1 LEN LEN ; S_I ;;; CMP CMP CMP CMP LEN CMP CMP CMP CMP ; S_F ;;; CMP +1 +1 -1 CMP CMP -1 CMP CMP)) ; S_Z ret ; same style as return value of C language `strcmp' l1 l2 ; length of string s1, s2 (n 0) ; index of string s1, s2 c1 c2 ; character of string s1, s2 at index n state diff) (setq ret (catch 'end (if (eq s1 s2) (throw 'end 0)) (if (symbolp s1) (setq s1 (symbol-name s1))) (if (symbolp s2) (setq s2 (symbol-name s2))) (unless (stringp s1) (signal 'wrong-type-argument `(stringp ,s1))) (unless (stringp s2) (signal 'wrong-type-argument `(stringp ,s2))) (if ignore-case (setq s1 (upcase s1) s2 (upcase s2))) (setq l1 (length s1) l2 (length s2) c1 (if (< n l1) (elt s1 n) ?\0) ; ?\0: null terminator c2 (if (< n l2) (elt s2 n) ?\0) n (1+ n) ;; Hint: '0' is a digit too. state (+ S_N (if (= c1 ?0) 1 0) (if (and (<= ?0 c1) (<= c1 ?9)) 1 0))) ; (isdigit (c1) != 0) (while (= (setq diff (- c1 c2)) 0) (if (= c1 ?\0) (throw 'end diff)) (setq state (aref next-state state) c1 (if (< n l1) (elt s1 n) ?\0) c2 (if (< n l2) (elt s2 n) ?\0) n (1+ n) state (+ state (if (= c1 ?0) 1 0) (if (and (<= ?0 c1) (<= c1 ?9)) 1 0)))) (setq state (aref result-type (+ (* state 3) (if (= c2 ?0) 1 0) (if (and (<= ?0 c2) (<= c2 ?9)) 1 0)))) (cond ((= state CMP) (setq ret diff)) ((= state LEN) (while (progn (setq c1 (if (< n l1) (elt s1 n) ?\0) c2 (if (< n l2) (elt s2 n) ?\0) n (1+ n)) (and (<= ?0 c1) (<= c1 ?9))) (if (not (and (<= ?0 c2) (<= c2 ?9))) (throw 'end 1))) (setq ret (if (and (<= ?0 c2) (<= c2 ?9)) -1 diff))) (t (setq ret state))) ret)) ;; convert ret to the style of `string-lessp' (< ret 0))) (defalias 'string-version< 'string-version-lessp) (defun string-logical-lessp (s1 s2 &optional ignore-case) "Return t if first arg string is less than second in logical version order. Case is significant in this comparison if IGNORE-CASE is nil. Symbols are also allowed; their print names are used instead. See also `string-version-lessp'. Example: (sort '(\"foo.zml-1.gz\" => (\"foo.zml-1.gz\" \"foo.zml-100.gz\" \"foo.zml-2.gz\" \"foo.zml-12.gz\" \"foo.zml-6.gz\" \"foo.zml-13.gz\" \"foo.zml-12.gz\" \"foo.zml-2.gz\" \"foo.zml-13.gz\" \"foo.zml-25.gz\" \"foo.zml-25.gz\" \"foo.zml-6.gz\") \"foo.zml-100.gz\") 'string-logical-lessp) (sort '(\"abc-1.01a.tgz\" => (\"abc-1.01a.tgz\" \"abc-1.007.tgz\" \"abc-1.007.tgz\" \"abc-1.012b.tgz\") \"abc-1.012b.tgz\") 'string-logical-lessp) (sort '(\"9.000001.10.tgz\" => (\"9.000001.10.tgz\" \"009.01.91.tgz\") \"009.01.91.tgz\") 'string-logical-lessp) " (let (ret ; same style as return value of C language `strcmp' l1 l2 ; length of string s1, s2 (n1 0) ; index of string s1, s2 (n2 0) (c1 -1) ; character of string s1, s2 at index n1, n2 (c2 -1) ; (set dummy code as initial (and invalid as character) value) diff) (if (symbolp s1) (setq s1 (symbol-name s1))) (if (symbolp s2) (setq s2 (symbol-name s2))) (unless (stringp s1) (signal 'wrong-type-argument `(stringp ,s1))) (unless (stringp s2) (signal 'wrong-type-argument `(stringp ,s2))) (if ignore-case (setq s1 (upcase s1) s2 (upcase s2))) (setq l1 (length s1) l2 (length s2)) (setq ret (catch 'end (while (= (setq diff (- c1 c2)) 0) (if (or (= c1 ?\0) (= c2 ?\0)) (throw 'end diff)) (setq c1 (if (< n1 l1) (elt s1 n1) ?\0) ; ?\0: null terminator c2 (if (< n2 l2) (elt s2 n2) ?\0)) ;; encounter numbers ? (if (and (<= ?0 c1) (<= c1 ?9) (<= ?0 c2) (<= c2 ?9)) (let (sub-s1 sub-s2 sub-l1 sub-l2) ;; skip needless "0" ;; ;; example: ;; "00...0" => "0" ;; "010" => "10" ;; "000305" => "305" (string-match "0*\\([0-9]+\\)" s1 n1) (setq sub-s1 (match-string 1 s1) sub-l1 (length sub-s1) n1 (match-end 1)) (string-match "0*\\([0-9]+\\)" s2 n2) (setq sub-s2 (match-string 1 s2) sub-l2 (length sub-s2) n2 (match-end 1)) ;; number whose length is shorter is smaller than another (cond ((< sub-l1 sub-l2) (throw 'end -1)) ((> sub-l1 sub-l2) (throw 'end 1)) (t ;; don't use `number-to-string' because of overflow (setq ret (compare-strings sub-s1 0 nil sub-s2 0 nil)) (unless (eq ret t) (throw 'end ret)))) ;; as both numbers are equal, prepare for next step (setq c1 (if (< n1 l1) (elt s1 n1) ?\0) c2 (if (< n2 l2) (elt s2 n2) ?\0)))) (setq n1 (1+ n1) n2 (1+ n2))) diff)) ;; convert ret to the style of `string-lessp' (< ret 0))) (defalias 'string-logical< 'string-logical-lessp) --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=ls-lisp.el.diff --- ls-lisp.el.orig 2009-06-21 13:37:45.000000000 +0900 +++ ls-lisp.el 2010-03-07 11:09:33.595406400 +0900 @@ -196,6 +196,9 @@ (or (featurep 'ls-lisp) ; FJW: unless this file is being reloaded! (setq original-insert-directory (symbol-function 'insert-directory))) +;;(defalias 'ls-lisp-version-lessp 'string-version-lessp) +(defalias 'ls-lisp-version-lessp 'string-logical-lessp) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -493,6 +496,32 @@ (error (message "Unsorted (ls-lisp sorting error) - %s" (error-message-string err)) (ding) (sit-for 2)))) ; to show user the message! + ;; Should execute `ls-lisp-version-lessp' + ;; after sorting by `ls-lisp-string-lessp' or others + ;; + ;; The reason: + ;; See the following numbers. + ;; "1.5" + ;; "1.05" + ;; + ;; `ls-lisp-string-lessp' *may* eval that both numbers are equal. + ;; So the function returns `nil'. In other words, the order is unchanged. + ;; But it is clear that these numbers shoud be sorted + ;; in lexicographic order before. + (if (and (not (memq ?U switches)) ; unsorted + (memq ?v switches)) + ;; Catch and ignore unexpected sorting errors + (condition-case err + (setq file-alist + (let (index) + ;; Copy file-alist in case of error + (sort (copy-sequence file-alist) ; modifies its argument! + (lambda (x y) ; sorted on version + (ls-lisp-version-lessp (car x) (car y) + ls-lisp-ignore-case))))) + (error (message "Unsorted (ls-lisp sorting error) - %s" + (error-message-string err)) + (ding) (sit-for 2)))) ; to show user the message! (if (memq ?F switches) ; classify switch (setq file-alist (mapcar 'ls-lisp-classify file-alist))) (if ls-lisp-dirs-first --=-=-= Content-Disposition: inline; filename=test.el ;; (query-replace "string-version-lessp" "string-logical-lessp") ;; (query-replace "string-logical-lessp" "string-version-lessp") (sort '( "foo.zml-1.gz" "foo.zml-100.gz" "foo.zml-12.gz" "foo.zml-13.gz" "foo.zml-2.gz" "foo.zml-25.gz" "foo.zml-6.gz" ) 'string-version-lessp) (sort '( "foo.zml-1 gz" "foo.zml-100 gz" "foo.zml-12 gz" "foo.zml-13 gz" "foo.zml-2 gz" "foo.zml-25 gz" "foo.zml-6 gz" ) 'string-version-lessp) (sort '( "foo.zml-1~gz" "foo.zml-100~gz" "foo.zml-12~gz" "foo.zml-13~gz" "foo.zml-2~gz" "foo.zml-25~gz" "foo.zml-6~gz" ) 'string-version-lessp) (sort '( "abc-1.0051.tgz" "abc-1.00501.tgz" "abc-1.007.tgz" "abc-1.012b.tgz" "abc-1.01a.tgz" ) 'string-version-lessp) (sort '( "1.007.tgz" "1.01a.tgz" ) 'string-version-lessp) (sort '( "012b.tgz" "01a.tgz" ) 'string-version-lessp) (sort '( "01.012b.tgz" "009.01a.tgz" ) 'string-version-lessp) (sort '( "9.011.tgz" "009.01.tgz" ) 'string-version-lessp) (sort '( "9.000001.10tgz" "009.01.91tgz" ;;"009.01.9tgz" ;;"009.01.50tgz" ) 'string-version-lessp) (sort '( "9,001.tgz" "9000.tgz" "9,000.tgz" ) 'string-version-lessp) (sort '( "0123.tgz" "01012.tgz" ) 'string-version-lessp) (sort '( "1.05.txt" "1.5.txt" ) 'string-version-lessp) (sort '( "a001b.txt" "a0b.txt" ) 'string-version-lessp) (sort '( "a01b.txt" "a0b.txt" ) 'string-version-lessp) (sort '( "abc001.txt" "abc0a.txt" ) 'string-version-lessp) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 28 00:49:45 2016 Received: (at 6261) by debbugs.gnu.org; 28 Feb 2016 05:49:45 +0000 Received: from localhost ([127.0.0.1]:49337 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aZuEi-0007jq-UE for submit@debbugs.gnu.org; Sun, 28 Feb 2016 00:49:45 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:37165) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aZuEh-0007ji-Dt for 6261@debbugs.gnu.org; Sun, 28 Feb 2016 00:49:43 -0500 Received: from cpe-60-225-211-161.nsw.bigpond.net.au ([60.225.211.161] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aZuEK-0003Uy-DQ; Sun, 28 Feb 2016 06:49:21 +0100 From: Lars Ingebrigtsen To: Toru TSUNEYOSHI Subject: Re: enable sorting by version in `ls-lisp-handle-switches' References: <728w79cdz7.fsf@fencepost.gnu.org> Date: Sun, 28 Feb 2016 16:19:15 +1030 In-Reply-To: <728w79cdz7.fsf@fencepost.gnu.org> (Toru TSUNEYOSHI's message of "Sun, 07 Mar 2010 13:46:49 +0900") Message-ID: <87bn71v0ys.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-MailScanner-ID: 1aZuEK-0003Uy-DQ X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1457243361.18349@tWEpPC2rkajgW04N8p/9Gw X-Spam-Status: No X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 6261 Cc: 6261@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Toru TSUNEYOSHI writes: > [ resent from > http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg00206.html ] > > Hello. > > I made a function sorting by version in `ls-lisp-handle-switches', by > setting `dired-listing-switches' to "-alv". > > At first, I made `string-version-lessp', by referring to > `glibc-2.11.1/string/strverscmp.c'. > But I was not satisfied with the spec. > So I made another function `string-logical-lessp'. This has just been implemented on the Emacs trunk (but we haven't decided when or where to enable it yet). -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 28 00:49:58 2016 Received: (at control) by debbugs.gnu.org; 28 Feb 2016 05:49:58 +0000 Received: from localhost ([127.0.0.1]:49340 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aZuEw-0007kG-5q for submit@debbugs.gnu.org; Sun, 28 Feb 2016 00:49:58 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:37170) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aZuEv-0007k9-0h for control@debbugs.gnu.org; Sun, 28 Feb 2016 00:49:57 -0500 Received: from cpe-60-225-211-161.nsw.bigpond.net.au ([60.225.211.161] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aZuEX-0003VA-D6 for control@debbugs.gnu.org; Sun, 28 Feb 2016 06:49:34 +0100 Date: Sun, 28 Feb 2016 16:19:29 +1030 Message-Id: <87a8mlv0ye.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #6261 X-MailScanner-ID: 1aZuEX-0003VA-D6 X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1457243374.36819@lDBc3vBDWCpTlD6YThV7gw X-Spam-Status: No X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) close 6261 From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 16 05:34:14 2016 Received: (at 6261) by debbugs.gnu.org; 16 Mar 2016 09:34:14 +0000 Received: from localhost ([127.0.0.1]:49712 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ag7qH-0008Hd-RI for submit@debbugs.gnu.org; Wed, 16 Mar 2016 05:34:14 -0400 Received: from blu004-omc2s25.hotmail.com ([65.55.111.100]:58169) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ag7qC-0008HK-G3 for 6261@debbugs.gnu.org; Wed, 16 Mar 2016 05:34:11 -0400 Received: from BLU436-SMTP115 ([65.55.111.72]) by BLU004-OMC2S25.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.23008); Wed, 16 Mar 2016 02:34:02 -0700 X-TMN: [hB54wpqD4L3WyyJVzmeqvhROQyKePUEy] X-Originating-Email: [t_tuneyosi@hotmail.com] Message-ID: Date: Wed, 16 Mar 2016 18:33:55 +0900 To: larsi@gnus.org Subject: Re: enable sorting by version in `ls-lisp-handle-switches' From: Toru TSUNEYOSHI In-Reply-To: <87bn71v0ys.fsf@gnus.org> References: <728w79cdz7.fsf@fencepost.gnu.org> <87bn71v0ys.fsf@gnus.org> X-Mailer: Mew version 6.6 on Emacs 24.2 / Mule 6.0 (HANACHIRUSATO) MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 16 Mar 2016 09:34:02.0470 (UTC) FILETIME=[F9CB5860:01D17F66] X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 6261 Cc: 6261@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Thanks for your reports. I'm looking forward to enable it in any way. From: Lars Ingebrigtsen Subject: Re: enable sorting by version in `ls-lisp-handle-switches' Date: Sun, 28 Feb 2016 16:19:15 +1030 Message-ID: <87bn71v0ys.fsf@gnus.org> > Toru TSUNEYOSHI writes: > >> [ resent from >> http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg00206.html ] >> >> Hello. >> >> I made a function sorting by version in `ls-lisp-handle-switches', by >> setting `dired-listing-switches' to "-alv". >> >> At first, I made `string-version-lessp', by referring to >> `glibc-2.11.1/string/strverscmp.c'. >> But I was not satisfied with the spec. >> So I made another function `string-logical-lessp'. > > This has just been implemented on the Emacs trunk (but we haven't > decided when or where to enable it yet). > > -- > (domestic pets only, the antidote for overdose, milk.) > bloggy blog: http://lars.ingebrigtsen.no > From unknown Fri Jun 20 18:03:57 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 13 Apr 2016 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator