Subject: 25.0.50; `completion-file-name-table' should/not use `nreverse'?

From: Keith David Bershatsky <[email-masked]>
Date: Mon, 17 Aug 2015 10:25:13 -0700

The function `completion-file-name-table' uses `(setq all (nreverse comp))' instead of `(setq all comp)'.

This has the effect of reversing what was accomplished when `pcomplete-compare-entry-function' is set to `'string-lessp'.

In a nutshell, the completions are in reverse alphabetical order as a result of `(setq all (nreverse comp))'.

This was tested in an eshell buffer by typing at a prompt:  rm [space tab]; and, with `lawlist-eshell-cmpl-compare-entry-function` set to `'string-lessp'.

Thanks,

Keith

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

In GNU Emacs 25.0.50.1 (x86_64-apple-darwin10.8.0, NS appkit-1038.36 Version 10.6.8 (Build 10K549))
 of 2015-08-15 on server.local
Repository revision: 118363 [email-masked]
Windowing system distributor `Apple', version 10.3.1038
Configured using:
 `configure --with-ns --without-imagemagick'

Configured features:
ACL LIBXML2 ZLIB

Important settings:
  locale-coding-system: utf-8-unix

Major mode: ELISP

Minor modes in effect:
  tb-mode: t
  sb-mode: t
  ml-mode: t
  fl-mode: t
  ds-mode: t
  sd-mode: t
  bc-mode: t
  +-mode: t
  buffer-read-only: t

Recent messages:
Wrote /Users/HOME/.0.data/.0.emacs/.lock
Emacs:  completion-file-name-table

Load-path shadows:
None found.

Features:
(shadow emacsbug sendmail lawlist-ztree lawlist-yas lawlist-ws
lawlist-wl elmo-imap4 elmo-localdir modb-standard modb-legacy
elmo-internal elmo-flag mmelmo-imap mmelmo-buffer elsp-generic mel-u
ps-print ps-def lpr parse-time enriched lawlist-w3m browse-url
doc-view image-mode ccl lawlist-vl lawlist-view lawlist-undo
lawlist-txt lawlist-tm lawlist-tex compare-w lawlist-tabbar
lawlist-speedbar lawlist-shell info esh-groups ehelp ange-ftp
lawlist-sgml lawlist-sb lawlist-saveplace lawlist-ruler mule-util
lawlist-replace lawlist-rectangle lawlist-re-builder lawlist-python
skeleton lawlist-profiler lawlist-print lawlist-php lawlist-perl
lawlist-parens lawlist-org lawlist-calendar org-agenda org org-macro
org-footnote org-pcomplete org-list org-faces org-entities org-version
ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src
ob-keys ob-comint ob-core ob-eval org-compat org-macs org-loaddefs
holidays hol-loaddefs cal-menu calendar cal-loaddefs lawlist-neotree
lawlist-movement lawlist-mouse lawlist-ml lawlist-minibuffer
lawlist-misc lawlist-messages lawlist-mc rect lawlist-markdown
noutline outline lawlist-lorem lawlist-ln lawlist-keymap lawlist-js
lawlist-ispell lawlist-isearch lawlist-imenu lawlist-ibuffer
lawlist-hl lawlist-grep lawlist-git ido view vc-git vc vc-dispatcher
url-http tls url url-proxy url-privacy url-expand url-methods
url-history mailcap url-auth url-cookie url-domsuf url-gw thingatpt
time-stamp server log-view log-edit message mml mml-sec mm-decode
mm-bodies mm-encode gmm-utils mailheader pcvs-util add-log
lawlist-help quail help-mode json grep compile find-lisp ediff-merg
ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util
ediff ert find-func ewoc eieio-base diff-mode conf-mode autorevert
filenotify lawlist-frame lawlist-frame-bufs lawlist-font-lock
lawlist-fm lawlist-env lawlist-elscreen lawlist-elisp lawlist-dv
jka-compr lawlist-image lawlist-files zeroconf url-util url-parse
auth-source eieio byte-opt bytecomp byte-compile cl-extra cconv
eieio-core password-cache url-vars dbus xml lawlist-ds lawlist-dired
epa epg epg-config format-spec edmacro kmacro dired lawlist-desktop
frameset lawlist-debug lawlist-window debug lawlist-css smie
lawlist-compile rx lawlist-color lawlist-cm pcase lawlist-cc cc-langs
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs cc-bytecomp lawlist-calc lawlist-calccomp
lawlist-calcalg3 lawlist-calcalg2 lawlist-calc+ easymenu lawlist-bk
lawlist-bc lawlist-bbdb gnus gnus-ems nnheader gnus-util mail-utils
wid-edit mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mailabbrev mail-extr rfc822 cl timezone lawlist-as
lawlist-archive cl-macs gv cl-loaddefs cl-lib lawlist-+ disp-table
easy-mmode derived advice help-fns shell pcomplete comint ansi-color
ring savehist time-date tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel ns-win tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
cocoa ns multi-tty emacs)

Memory information:
((conses 16 2078627 153097)
 (symbols 48 83114 0)
 (miscs 40 560 467)
 (strings 32 191705 23218)
 (string-bytes 1 6865927)
 (vectors 16 40524)
 (vector-slots 8 960694 10088)
 (floats 8 2574 897)
 (intervals 56 730 61)
 (buffers 976 12))