From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= Newsgroups: gmane.emacs.devel Subject: Re: Scan of Emacs regexp mistakes Date: Tue, 14 Apr 2020 12:52:24 +0200 Message-ID: <140DB045-4529-4862-99B8-5F0DEF1EE8D4@acm.org> References: Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.14\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_41951349-5FE5-492D-BF68-3872026DF636" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="36092"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Apr 14 12:53:57 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jOJCW-0009Is-Kk for ged-emacs-devel@m.gmane-mx.org; Tue, 14 Apr 2020 12:53:56 +0200 Original-Received: from localhost ([::1]:58214 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOJCV-0001Il-N3 for ged-emacs-devel@m.gmane-mx.org; Tue, 14 Apr 2020 06:53:55 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50486) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOJBC-0008Kw-59 for emacs-devel@gnu.org; Tue, 14 Apr 2020 06:52:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jOJBA-0000u3-VZ for emacs-devel@gnu.org; Tue, 14 Apr 2020 06:52:33 -0400 Original-Received: from mail83c50.megamailservers.eu ([91.136.10.93]:34936 helo=mail18c50.megamailservers.eu) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jOJBA-0000sO-4N for emacs-devel@gnu.org; Tue, 14 Apr 2020 06:52:32 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1586861547; bh=PimiY9i/v8Lu0nMQQQiPc1yCoT2YHvoiv7IVFNUMQ6c=; h=From:Subject:Date:References:To:In-Reply-To:From; b=DiyoMF8tQpr4fZ0/YerurcMAgWvXZVlE+xNJ+ja+pfXX8/FNDLEaIK0lIqwuTqz9x COlK8hjKc6aMANzcyg0Yu8t3P1/k1RUZj9/JN+xUO50Lf9p1L3vL4PMY4jeE7za6Ya 6pYjI3HNeRppY520oOnBfVY7siMyjDYqW+84wCiM= Feedback-ID: mattiase@acm.or Original-Received: from [192.168.0.4] (c188-150-171-71.bredband.comhem.se [188.150.171.71]) (authenticated bits=0) by mail18c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id 03EAqPVY012265 for ; Tue, 14 Apr 2020 10:52:27 +0000 In-Reply-To: X-Mailer: Apple Mail (2.3445.104.14) X-CTCH-RefID: str=0001.0A782F19.5E9595EB.006B, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=K8Zc4BeI c=1 sm=1 tr=0 a=SF+I6pRkHZhrawxbOkkvaA==:117 a=SF+I6pRkHZhrawxbOkkvaA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=M51BFTxLslgA:10 a=N54-gffFAAAA:8 a=D2gsLZ9ORWSMnox4oesA:9 a=QEXdDO2ut3YA:10 a=GSeIFgnWft50VsImkFsA:9 a=B2y7HmGcmWMA:10 a=6l0D2HzqY3Epnrm8mE3f:22 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 91.136.10.93 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:246935 Archived-At: --Apple-Mail=_41951349-5FE5-492D-BF68-3872026DF636 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 5 apr. 2020 kl. 14.30 skrev Mattias Engdeg=C3=A5rd : > A new scan of irregularities and errors in regexps in the Emacs tree, = using an experimental version of relint/xr. The filename-matching regexp glitches were fixed separately by the = attached patch, pushed to emacs-27, since these were actual or latent = bugs. Several different regexps were used for matching anything but "." and = "..", all wrong. These were all replaced with the concise and correct = (rx (or (not ".") "...")), meaning "[^.]\\|\\.\\.\\." for = traditionalists. It is quite clear that returning . and .. from directory-files etc was a = mistake; they are practically never useful but requires callers to take = steps to filter them out. It's likely that nothing would break if we = stopped returning those entries, but that is not a change that I'm = proposing right now. --Apple-Mail=_41951349-5FE5-492D-BF68-3872026DF636 Content-Disposition: attachment; filename=fix-file-matching-regexps.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="fix-file-matching-regexps.patch" Content-Transfer-Encoding: quoted-printable =20admin/authors.el=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20|=20=208=20++++----=0A=20lisp/auth-source-pass.el=20=20=20=20=20= =20=20=20=20=20=20=20=20|=20=202=20+-=0A=20lisp/calendar/todo-mode.el=20=20= =20=20=20=20=20=20=20=20=20|=2014=20+++++++-------=0A=20= lisp/cedet/semantic/db-ebrowse.el=20=20=20=20|=20=204=20+++-=0A=20= lisp/cedet/semantic/texi.el=20=20=20=20=20=20=20=20=20=20|=20=202=20+-=0A= =20lisp/cedet/srecode/map.el=20=20=20=20=20=20=20=20=20=20=20=20|=20=202=20= +-=0A=20lisp/dired.el=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20|=20=202=20+-=0A=20lisp/emacs-lisp/autoload.el=20=20=20= =20=20=20=20=20=20=20|=20=202=20+-=0A=20lisp/emacs-lisp/shadow.el=20=20=20= =20=20=20=20=20=20=20=20=20|=20=203=20++-=0A=20lisp/files.el=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20=206=20= +++---=0A=20lisp/finder.el=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20|=20=202=20+-=0A=20lisp/generic-x.el=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20=208=20++++----=0A=20= lisp/gnus/gnus-agent.el=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20=20= 7=20++++---=0A=20lisp/gnus/gnus-cache.el=20=20=20=20=20=20=20=20=20=20=20= =20=20=20|=20=202=20+-=0A=20lisp/gnus/gnus-score.el=20=20=20=20=20=20=20=20= =20=20=20=20=20=20|=20=202=20+-=0A=20lisp/gnus/gnus-util.el=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20|=20=202=20+-=0A=20lisp/gnus/gnus-uu.el=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20=202=20+-=0A=20= lisp/gnus/nndraft.el=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20= =202=20+-=0A=20lisp/gnus/nnmh.el=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20|=2010=20+++++-----=0A=20lisp/gnus/nnspool.el=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20|=20=202=20+-=0A=20= lisp/gnus/spam-stat.el=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20=20= 4=20++--=0A=20lisp/help-fns.el=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20|=20=202=20+-=0A=20lisp/help.el=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20=202=20+-=0A=20= lisp/international/quail.el=20=20=20=20=20=20=20=20=20=20|=20=202=20+-=0A= =20lisp/international/titdic-cnv.el=20=20=20=20=20|=20=202=20+-=0A=20= lisp/mail/mspools.el=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20= =204=20++--=0A=20lisp/mail/rmail.el=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20|=20=205=20+++--=0A=20lisp/net/ange-ftp.el=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20|=20=203=20+--=0A=20= lisp/net/tramp.el=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20|=20=202=20+-=0A=20lisp/obsolete/gulp.el=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20|=20=202=20+-=0A=20lisp/obsolete/vc-arch.el=20=20=20=20= =20=20=20=20=20=20=20=20=20|=20=208=20+++++---=0A=20lisp/org/ob-core.el=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20=202=20+-=0A=20= lisp/progmodes/ebnf2ps.el=20=20=20=20=20=20=20=20=20=20=20=20|=20=204=20= ++--=0A=20lisp/progmodes/executable.el=20=20=20=20=20=20=20=20=20|=20=20= 2=20+-=0A=20lisp/startup.el=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20|=20=204=20++--=0A=20lisp/textmodes/refer.el=20=20=20=20= =20=20=20=20=20=20=20=20=20=20|=20=202=20+-=0A=20lisp/url/url-about.el=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20=202=20+-=0A=20= lisp/vc/vc-rcs.el=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20|=20=205=20++---=0A=20test/lisp/net/tramp-archive-tests.el=20|=20=202=20= +-=0A=20test/lisp/net/tramp-tests.el=20=20=20=20=20=20=20=20=20|=20=202=20= +-=0A=2040=20files=20changed,=2075=20insertions(+),=2070=20deletions(-)=0A= =0Adiff=20--git=20a/admin/authors.el=20b/admin/authors.el=0Aindex=20= dc42bc72ef..6cf7b95449=20100644=0A---=20a/admin/authors.el=0A+++=20= b/admin/authors.el=0A@@=20-278,7=20+278,7=20@@=20= authors-public-domain-files=0A=20=0A=20=0A=20(defvar=20= authors-obsolete-files-regexps=0A-=20=20'(".*loaddefs.el$"=09=09=09;=20= not=20obsolete,=20but=20auto-generated=0A+=20=20'(".*loaddefs\\.el$"=09=09= =09;=20not=20obsolete,=20but=20auto-generated=0A=20=20=20=20=20= "\\.\\(bzr\\|cvs\\|git\\)ignore$"=09=09;=20obsolete=20or=20uninteresting=0A= =20=20=20=20=20"\\.arch-inventory$"=0A=20=20=20=20=20= "ChangeLog\\(\\.[0-9]+\\)?\\'"=0A@@=20-288,9=20+288,9=20@@=20= authors-obsolete-files-regexps=0A=20=20=20=20=20= "\\`\\(indent\\|automated\\)\\'"=20"indent/"=20"mod-test/"=0A=20=20=20=20= =20"-resources/"=0A=20=20=20=20=20"unidata/.*\\.txt\\'"=0A-=20=20=20=20= "BidiCharacterTest.txt"=0A+=20=20=20=20"BidiCharacterTest\\.txt"=0A=20=20= =20=20=20;;=20TODO=20lib/?=20Matches=20other=20things?=0A-=20=20=20=20= "build-aux/"=20"m4/"=20"Emacs.xcodeproj"=20"mapfiles"=20"\\.map\\'"=0A+=20= =20=20=20"build-aux/"=20"m4/"=20"Emacs\\.xcodeproj"=20"mapfiles"=20= "\\.map\\'"=0A=20=20=20=20=20"preferences\\.\\(nib\\|gorm\\)"=0A=20=20=20= =20=20;;=20Generated=20files=20that=20have=20since=20been=20removed.=0A=20= =20=20=20=20= "\\(refcard\\(-de\\|-pl\\)?\\|calccard\\|dired-ref\\|orgcard\\|\=0A@@=20= -1183,7=20+1183,7=20@@=20authors-renamed-files-regexps=0A=20=20=20=20=20= ("\\`org-\\(ascii\\|beamer\\|html\\|icalendar\\|jsinfo\\|latex\=0A=20= \\|odt\\|publish\\)\\.el\\'"=20"ox-\\1.el")=0A=20=20=20=20=20;;=20=46rom=20= test/=20to=20test/automated/.=0A-=20=20=20=20("comint-testsuite.el"=20= "automated/\\&")=0A+=20=20=20=20("comint-testsuite\\.el"=20= "automated/\\&")=0A=20=20=20=20=20= ("\\`\\(bytecomp\\|font-parse\\|icalendar\\|occur\\|newsticker\\)\=0A=20= -testsuite\\.el"=20"\\1-tests.el")=0A=20=20=20=20=20= ("automated/flymake/warnpred/\\(Makefile\\|test\\.\\(?:c\\|pl\\)\\)\\'"=0A= diff=20--git=20a/lisp/auth-source-pass.el=20b/lisp/auth-source-pass.el=0A= index=20e2a6bfefb5..ba66d0bb5d=20100644=0A---=20= a/lisp/auth-source-pass.el=0A+++=20b/lisp/auth-source-pass.el=0A@@=20= -190,7=20+190,7=20@@=20auth-source-pass-entries=0A=20=20=20(let=20= ((store-dir=20(expand-file-name=20auth-source-pass-filename)))=0A=20=20=20= =20=20(mapcar=0A=20=20=20=20=20=20(lambda=20(file)=20= (file-name-sans-extension=20(file-relative-name=20file=20store-dir)))=0A= -=20=20=20=20=20(directory-files-recursively=20store-dir=20"\\.gpg$"))))=0A= +=20=20=20=20=20(directory-files-recursively=20store-dir=20= "\\.gpg\\'"))))=0A=20=0A=20(defun=20auth-source-pass--find-match=20(host=20= user=20port)=0A=20=20=20"Return=20password-store=20entry=20data=20= matching=20HOST,=20USER=20and=20PORT.=0Adiff=20--git=20= a/lisp/calendar/todo-mode.el=20b/lisp/calendar/todo-mode.el=0Aindex=20= 6d8fe9c998..a49f428a3c=20100644=0A---=20a/lisp/calendar/todo-mode.el=0A= +++=20b/lisp/calendar/todo-mode.el=0A@@=20-707,7=20+707,7=20@@=20= todo-show=0A=20=09=09=09=09=20=20=20=20shortf=20todo-show-first)))=0A=20=09= =09=20=20=20=20=20(when=20(eq=20todo-show-first=20'regexp)=0A=20=09=09=20= =20=20=20=20=20=20(let=20((rxfiles=20(directory-files=20todo-directory=20= t=0A-=09=09=09=09=09=09=20=20=20=20=20=20=20".*\\.todr$"=20t)))=0A+=09=09= =09=09=09=09=20=20=20=20=20=20=20"\\.todr\\'"=20t)))=0A=20=09=09=09=20= (when=20(and=20rxfiles=20(>=20(length=20rxfiles)=201))=0A=20=09=09=09=20=20= =20(let=20((rxf=20(mapcar=20#'todo-short-file-name=20rxfiles)))=0A=20=09=09= =09=20=20=20=20=20(setq=20fi-file=20(todo-absolute-file-name=0A@@=20= -4054,7=20+4054,7=20@@=20todo--fifiles-history=0A=20(defun=20= todo-find-filtered-items-file=20()=0A=20=20=20"Choose=20a=20filtered=20= items=20file=20and=20visit=20it."=0A=20=20=20(interactive)=0A-=20=20(let=20= ((files=20(directory-files=20todo-directory=20t=20"\\.tod[rty]$"=20t))=0A= +=20=20(let=20((files=20(directory-files=20todo-directory=20t=20= "\\.tod[rty]\\'"=20t))=0A=20=09falist=20file)=0A=20=20=20=20=20(dolist=20= (f=20files)=0A=20=20=20=20=20=20=20(let=20((sf-name=20= (todo-short-file-name=20f))=0A@@=20-4187,7=20+4187,7=20@@=20= todo-filter-items=0A=20=09=09=09=09(regexp=20".todr")))))=0A=20=09=20= (multi=20(>=20(length=20flist)=201))=0A=20=09=20(rxfiles=20(when=20= regexp=0A-=09=09=20=20=20=20(directory-files=20todo-directory=20t=20= ".*\\.todr$"=20t)))=0A+=09=09=20=20=20=20(directory-files=20= todo-directory=20t=20"\\.todr\\'"=20t)))=0A=20=09=20(file-exists=20(or=20= (file-exists-p=20fname)=20rxfiles))=0A=20=09=20bufname)=0A=20=20=20=20=20= (cond=20((and=20top=20new=20(natnump=20new))=0A@@=20-6154,7=20+6154,7=20= @@=20todo-reset-nondiary-marker=0A=20=20=20"The=20:set=20function=20for=20= user=20option=20`todo-nondiary-marker'."=0A=20=20=20(let*=20((oldvalue=20= (symbol-value=20symbol))=0A=20=09=20(files=20(append=20todo-files=20= todo-archives=0A-=09=09=09(directory-files=20todo-directory=20t=20= "\\.tod[rty]$"=20t))))=0A+=09=09=09(directory-files=20todo-directory=20t=20= "\\.tod[rty]\\'"=20t))))=0A=20=20=20=20=20(custom-set-default=20symbol=20= value)=0A=20=20=20=20=20;;=20Need=20to=20reset=20these=20to=20get=20= font-locking=20right.=0A=20=20=20=20=20(setq=20todo-nondiary-start=20= (nth=200=20todo-nondiary-marker)=0A@@=20-6207,7=20+6207,7=20@@=20= todo-reset-done-string=0A=20=20=20"The=20:set=20function=20for=20user=20= option=20`todo-done-string'."=0A=20=20=20(let=20((oldvalue=20= (symbol-value=20symbol))=0A=20=09(files=20(append=20todo-files=20= todo-archives=0A-=09=09=20=20=20=20=20=20=20(directory-files=20= todo-directory=20t=20"\\.todr$"=20t))))=0A+=09=09=20=20=20=20=20=20=20= (directory-files=20todo-directory=20t=20"\\.todr\\'"=20t))))=0A=20=20=20=20= =20(custom-set-default=20symbol=20value)=0A=20=20=20=20=20;;=20Need=20to=20= reset=20this=20to=20get=20font-locking=20right.=0A=20=20=20=20=20(setq=20= todo-done-string-start=0A@@=20-6236,7=20+6236,7=20@@=20= todo-reset-comment-string=0A=20=20=20"The=20:set=20function=20for=20user=20= option=20`todo-comment-string'."=0A=20=20=20(let=20((oldvalue=20= (symbol-value=20symbol))=0A=20=20=20=09(files=20(append=20todo-files=20= todo-archives=0A-=09=09=20=20=20=20=20=20=20(directory-files=20= todo-directory=20t=20"\\.todr$"=20t))))=0A+=09=09=20=20=20=20=20=20=20= (directory-files=20todo-directory=20t=20"\\.todr\\'"=20t))))=0A=20=20=20=20= =20(custom-set-default=20symbol=20value)=0A=20=20=20=20=20(when=20(not=20= (equal=20value=20oldvalue))=0A=20=20=20=20=20=20=20(dolist=20(f=20files)=0A= @@=20-6262,7=20+6262,7=20@@=20todo-reset-highlight-item=0A=20=20=20"The=20= :set=20function=20for=20user=20option=20`todo-highlight-item'."=0A=20=20=20= (let=20((oldvalue=20(symbol-value=20symbol))=0A=20=09(files=20(append=20= todo-files=20todo-archives=0A-=09=09=20=20=20=20=20=20=20= (directory-files=20todo-directory=20t=20"\\.tod[rty]$"=20t))))=0A+=09=09=20= =20=20=20=20=20=20(directory-files=20todo-directory=20t=20= "\\.tod[rty]\\'"=20t))))=0A=20=20=20=20=20(custom-set-default=20symbol=20= value)=0A=20=20=20=20=20(when=20(not=20(equal=20value=20oldvalue))=0A=20=20= =20=20=20=20=20(dolist=20(f=20files)=0Adiff=20--git=20= a/lisp/cedet/semantic/db-ebrowse.el=20= b/lisp/cedet/semantic/db-ebrowse.el=0Aindex=2055e755dc36..a3219af7d3=20= 100644=0A---=20a/lisp/cedet/semantic/db-ebrowse.el=0A+++=20= b/lisp/cedet/semantic/db-ebrowse.el=0A@@=20-181,7=20+181,9=20@@=20= semanticdb-load-ebrowse-caches=0A=20=20=20"Load=20all=20semanticdb=20= controlled=20EBROWSE=20caches."=0A=20=20=20(interactive)=0A=20=20=20(let=20= ((f=20(directory-files=20semanticdb-default-save-directory=0A-=09=09=09=20= =20=20=20t=20(concat=20semanticdb-ebrowse-default-file-name=20= "-load.el$")=20t)))=0A+=09=09=09=20=20=20=20t=20(concat=20= semanticdb-ebrowse-default-file-name=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20"-load\\.el\\'")=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20t)))=0A=20=20=20=20=20(while=20f=0A=20= =20=20=20=20=20=20(load=20(car=20f)=20nil=20t)=0A=20=20=20=20=20=20=20= (setq=20f=20(cdr=20f)))=0Adiff=20--git=20a/lisp/cedet/semantic/texi.el=20= b/lisp/cedet/semantic/texi.el=0Aindex=20760cb19215..8e8d362ceb=20100644=0A= ---=20a/lisp/cedet/semantic/texi.el=0A+++=20= b/lisp/cedet/semantic/texi.el=0A@@=20-495,7=20+495,7=20@@=20= semantic-texi-associated-files=0A=20=09=20=20=20=20=20=20=20(setq=20tabs=20= (cdr=20tabs)))=0A=20=09=20=20=20=20=20r))=0A=20=09=20=20(t=0A-=09=20=20=20= (directory-files=20default-directory=20nil=20"\\.texi$"))=0A+=09=20=20=20= (directory-files=20default-directory=20nil=20"\\.texi\\'"))=0A=20=09=20=20= )))=0A=20=0A=20;;=20Turns=20out=20this=20might=20not=20be=20useful.=0A= diff=20--git=20a/lisp/cedet/srecode/map.el=20b/lisp/cedet/srecode/map.el=0A= index=20784ebffe17..dc94920096=20100644=0A---=20= a/lisp/cedet/srecode/map.el=0A+++=20b/lisp/cedet/srecode/map.el=0A@@=20= -327,7=20+327,7=20@@=20srecode-map-update-map=0A=20=20=20=20=20;;=204)=20= -=20Find=20new=20files=20and=20add=20them=20to=20the=20map.=0A=20=20=20=20= =20(dolist=20(dir=20srecode-map-load-path)=0A=20=20=20=20=20=20=20(when=20= (file-exists-p=20dir)=0A-=09(dolist=20(f=20(directory-files=20dir=20t=20= "\\.srt$"))=0A+=09(dolist=20(f=20(directory-files=20dir=20t=20= "\\.srt\\'"))=0A=20=09=20=20(when=20(and=20(not=20(backup-file-name-p=20= f))=0A=20=09=09=20=20=20=20=20(not=20(auto-save-file-name-p=20f))=0A=20=09= =09=20=20=20=20=20(file-readable-p=20f))=0Adiff=20--git=20= a/lisp/dired.el=20b/lisp/dired.el=0Aindex=20689ad1fbfa..f2d478e83c=20= 100644=0A---=20a/lisp/dired.el=0A+++=20b/lisp/dired.el=0A@@=20-3171,7=20= +3171,7=20@@=20dired-recursive-deletes=0A=20=20=20:group=20'dired)=0A=20=0A= =20;;=20Match=20anything=20but=20`.'=20and=20`..'.=0A-(defvar=20= dired-re-no-dot=20"^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")=0A+(defvar=20= dired-re-no-dot=20(rx=20(or=20(not=20".")=20"...")))=0A=20=0A=20;;=20= Delete=20file,=20possibly=20delete=20a=20directory=20and=20all=20its=20= files.=0A=20;;=20This=20function=20is=20useful=20outside=20of=20dired.=20= =20One=20could=20change=20its=20name=0Adiff=20--git=20= a/lisp/emacs-lisp/autoload.el=20b/lisp/emacs-lisp/autoload.el=0Aindex=20= 785e350e0e..dc7461d93e=20100644=0A---=20a/lisp/emacs-lisp/autoload.el=0A= +++=20b/lisp/emacs-lisp/autoload.el=0A@@=20-1047,7=20+1047,7=20@@=20= update-directory-autoloads=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20;;=20what=20is=20the=20suffix=20for=20the=20= underlying=20OS.=0A=20=09=09=20=20=20=20=20=20=20(unless=20(string-match=20= "\\.\\(elc\\|so\\|dll\\)"=20suf)=0A=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20(push=20suf=20tmp)))=0A-=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(concat=20"^[^=3D.].*"=20= (regexp-opt=20tmp=20t)=20"\\'")))=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(concat=20"\\`[^=3D.].*"=20(regexp-opt=20tmp=20= t)=20"\\'")))=0A=20=09=20(files=20(apply=20#'nconc=0A=20=09=09=20=20=20=20= =20=20=20(mapcar=20(lambda=20(dir)=0A=20=09=09=09=09=20(directory-files=20= (expand-file-name=20dir)=0Adiff=20--git=20a/lisp/emacs-lisp/shadow.el=20= b/lisp/emacs-lisp/shadow.el=0Aindex=20f0a4870a69..4ff129e367=20100644=0A= ---=20a/lisp/emacs-lisp/shadow.el=0A+++=20b/lisp/emacs-lisp/shadow.el=0A= @@=20-99,7=20+99,8=20@@=20load-path-shadows-find=0A=20=09(setq=20= true-names=20(append=20true-names=20(list=20dir)))=0A=20=09(setq=20dir=20= (directory-file-name=20(or=20pp=20".")))=0A=20=09(setq=20curr-files=20= (if=20(file-accessible-directory-p=20dir)=0A-=09=09=09=20=20=20=20=20= (directory-files=20dir=20nil=20".\\.elc?\\(\\.gz\\)?$"=20t)))=0A+=09=09=09= =20=20=20=20=20(directory-files=20dir=20nil=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20"\\.elc?\\(?:\\.gz\\)?\\'"=20t)))=0A=20= =09(and=20curr-files=0A=20=09=20=20=20=20=20(not=20noninteractive)=0A=20=09= =20=20=20=20=20(message=20"Checking=20%d=20files=20in=20%s..."=20(length=20= curr-files)=20dir))=0Adiff=20--git=20a/lisp/files.el=20b/lisp/files.el=0A= index=2001da2a985b..3e4ad7c0d4=20100644=0A---=20a/lisp/files.el=0A+++=20= b/lisp/files.el=0A@@=20-2671,7=20+2671,7=20@@=20auto-mode-alist=0A=20=20=20= =20=20=20("\\.pas\\'"=20.=20pascal-mode)=0A=20=20=20=20=20=20= ("\\.\\(dpr\\|DPR\\)\\'"=20.=20delphi-mode)=0A=20=20=20=20=20=20= ("\\.ad[abs]\\'"=20.=20ada-mode)=0A-=20=20=20=20=20("\\.ad[bs].dg\\'"=20= .=20ada-mode)=0A+=20=20=20=20=20("\\.ad[bs]\\.dg\\'"=20.=20ada-mode)=0A=20= =20=20=20=20=20("\\.\\([pP]\\([Llm]\\|erl\\|od\\)\\|al\\)\\'"=20.=20= perl-mode)=0A=20=20=20=20=20=20("Imakefile\\'"=20.=20= makefile-imake-mode)=0A=20=20=20=20=20=20("Makeppfile\\(?:\\.mk\\)?\\'"=20= .=20makefile-makepp-mode)=20;=20Put=20this=20before=20.mk=0A@@=20-2822,7=20= +2822,7=20@@=20auto-mode-alist=0A=20=20=20=20=20=20= ("\\.properties\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'"=20.=20conf-javaprop-mode)=0A= =20=20=20=20=20=20("\\.toml\\'"=20.=20conf-toml-mode)=0A=20=20=20=20=20=20= ("\\.desktop\\'"=20.=20conf-desktop-mode)=0A-=20=20=20=20=20= ("/\\.redshift.conf\\'"=20.=20conf-windows-mode)=0A+=20=20=20=20=20= ("/\\.redshift\\.conf\\'"=20.=20conf-windows-mode)=0A=20=20=20=20=20=20= ("\\`/etc/\\(?:DIR_COLORS\\|ethers\\|.?fstab\\|.*hosts\\|lesskey\\|login\\= .?de\\(?:fs\\|vperm\\)\\|magic\\|mtab\\|pam\\.d/.*\\|permissions\\(?:\\.d/= .+\\)?\\|protocols\\|rpc\\|services\\)\\'"=20.=20conf-space-mode)=0A=20=20= =20=20=20=20= ("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\= \|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|s= ysconfig/.+\\)\\'"=20.=20conf-mode)=0A=20=20=20=20=20=20;;=20= ChangeLog.old=20etc.=20=20Other=20change-log-mode=20entries=20are=20= above;=0A@@=20-5754,7=20+5754,7=20@@=20make-empty-file=0A=20=20=20= (write-region=20""=20nil=20filename=20nil=200))=0A=20=0A=20(defconst=20= directory-files-no-dot-files-regexp=0A-=20=20= "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"=0A+=20=20"[^.]\\|\\.\\.\\."=0A=20=20= =20"Regexp=20matching=20any=20file=20name=20except=20\".\"=20and=20= \"..\".")=0A=20=0A=20(defun=20files--force=20(no-such=20fn=20&rest=20= args)=0Adiff=20--git=20a/lisp/finder.el=20b/lisp/finder.el=0Aindex=20= 96359b0b4f..71f8ac740e=20100644=0A---=20a/lisp/finder.el=0A+++=20= b/lisp/finder.el=0A@@=20-188,7=20+188,7=20@@=20finder-compile-keywords=0A= =20=20=20;;=20Allow=20compressed=20files=20also.=0A=20=20=20(setq=20= package--builtins=20nil)=0A=20=20=20(setq=20finder-keywords-hash=20= (make-hash-table=20:test=20'eq))=0A-=20=20(let*=20((el-file-regexp=20= "^\\([^=3D].*\\)\\.el\\(\\.\\(gz\\|Z\\)\\)?$")=0A+=20=20(let*=20= ((el-file-regexp=20"\\`\\([^=3D].*\\)\\.el\\(\\.\\(gz\\|Z\\)\\)?\\'")=0A=20= =20=20=20=20=20=20=20=20=20(file-count=200)=0A=20=20=20=20=20=20=20=20=20= =20(files=20(cl-loop=20for=20d=20in=20(or=20dirs=20load-path)=0A=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= when=20(file-exists-p=20(directory-file-name=20d))=0Adiff=20--git=20= a/lisp/generic-x.el=20b/lisp/generic-x.el=0Aindex=20= d49193ccfc..cd24f497c9=20100644=0A---=20a/lisp/generic-x.el=0A+++=20= b/lisp/generic-x.el=0A@@=20-1430,7=20+1430,7=20@@=20= inetd-conf-generic-mode=0A=20=20=20=20=20"nowait"=0A=20=20=20=20=20= "internal")=0A=20=20=20'(("^\\([-A-Za-z0-9_]+\\)"=201=20= font-lock-type-face))=0A-=20=20'("/etc/inetd.conf\\'")=0A+=20=20= '("/etc/inetd\\.conf\\'")=0A=20=20=20(list=0A=20=20=20=20(function=0A=20=20= =20=20=20(lambda=20()=0A@@=20-1630,7=20+1630,7=20@@=20= named-boot-generic-mode=0A=20=20=20=20=20=20(2=20= font-lock-variable-name-face)=0A=20=20=20=20=20=20(3=20= font-lock-constant-face)))=0A=20=20=20;;=20List=20of=20additional=20= automode-alist=20expressions=0A-=20=20'("/etc/named.boot\\'")=0A+=20=20= '("/etc/named\\.boot\\'")=0A=20=20=20;;=20List=20of=20set=20up=20= functions=20to=20call=0A=20=20=20nil))=0A=20=0A@@=20-1667,7=20+1667,7=20= @@=20resolve-conf-generic-mode=0A=20=20=20;;=20List=20of=20additional=20= font-lock-expressions=0A=20=20=20nil=0A=20=20=20;;=20List=20of=20= additional=20auto-mode-alist=20expressions=0A-=20=20= '("/etc/resolv[e]?.conf\\'")=0A+=20=20'("/etc/resolve?\\.conf\\'")=0A=20=20= =20;;=20List=20of=20set=20up=20functions=20to=20call=0A=20=20=20nil))=0A=20= =0A@@=20-1803,7=20+1803,7=20@@=20etc-modules-conf-generic-mode=0A=20=20=20= ;;=20List=20of=20additional=20font-lock-expressions=0A=20=20=20nil=0A=20=20= =20;;=20List=20of=20additional=20automode-alist=20expressions=0A-=20=20= '("/etc/modules.conf"=20"/etc/conf.modules")=0A+=20=20= '("/etc/modules\\.conf"=20"/etc/conf\\.modules")=0A=20=20=20;;=20List=20= of=20set=20up=20functions=20to=20call=0A=20=20=20nil))=0A=20=0Adiff=20= --git=20a/lisp/gnus/gnus-agent.el=20b/lisp/gnus/gnus-agent.el=0Aindex=20= 9f22b7df0f..cf705ae5dc=20100644=0A---=20a/lisp/gnus/gnus-agent.el=0A+++=20= b/lisp/gnus/gnus-agent.el=0A@@=20-2074,7=20+2074,7=20@@=20= gnus-agent-read-agentview=0A=20=09=09=20=20(file-attributes=20= (directory-files-and-attributes=0A=20=09=09=09=09=20=20=20=20= (gnus-agent-article-name=0A=20=09=09=09=09=20=20=20=20=20""=20= gnus-agent-read-agentview)=0A-=09=09=09=09=20=20=20=20nil=20"^[0-9]+$"=20= t)))=0A+=09=09=09=09=20=20=20=20nil=20"\\`[0-9]+\\'"=20t)))=0A=20=09=20=20= =20=20=20(while=20file-attributes=0A=20=09=20=20=20=20=20=20=20(let=20= ((fa=20(pop=20file-attributes)))=0A=20=09=09=20(unless=20= (file-attribute-type=20(cdr=20fa))=0A@@=20-3850,7=20+3850,8=20@@=20= gnus-agent-regenerate-group=0A=20=09=09=09=20=20=20(sort=20(delq=20nil=20= (mapcar=20(lambda=20(name)=0A=20=09=09=09=09=09=09=20=20=20=20=20(and=20= (not=20(file-directory-p=20(nnheader-concat=20dir=20name)))=0A=20=09=09=09= =09=09=09=09=20=20(string-to-number=20name)))=0A-=09=09=09=09=09=09=20=20= =20(directory-files=20dir=20nil=20"^[0-9]+$"=20t)))=0A+=09=09=09=09=09=09= =20=20=20(directory-files=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20dir=20nil=20"\\`[0-9]+\\'"=20t)))=0A=20= =09=09=09=09=20'>)=0A=20=09=09=09=20(progn=20(gnus-make-directory=20dir)=20= nil)))=0A=20=20=20=20=20=20=20=20=20=20=20=20nov-arts=0A@@=20-4110,7=20= +4111,7=20@@=20gnus-agent-update-files-total-fetched-for=0A=20=09=09=20= (setq=20delta=20sum))=0A=20=09=20=20=20=20=20(let=20((sum=20(-=20(nth=20= 2=20entry)))=0A=20=09=09=20=20=20(info=20(directory-files-and-attributes=0A= -=09=09=09=20=20path=20nil=20"^-?[0-9]+$"=20t))=0A+=09=09=09=20=20path=20= nil=20"\\`-?[0-9]+\\'"=20t))=0A=20=09=09=20=20=20file)=0A=20=09=20=20=20=20= =20=20=20(while=20(setq=20file=20(pop=20info))=0A=20=09=09=20(cl-incf=20= sum=20(float=20(or=20(file-attribute-size=20(cdr=20file))=200))))=0Adiff=20= --git=20a/lisp/gnus/gnus-cache.el=20b/lisp/gnus/gnus-cache.el=0Aindex=20= 8b9acfe051..02a8ea723d=20100644=0A---=20a/lisp/gnus/gnus-cache.el=0A+++=20= b/lisp/gnus/gnus-cache.el=0A@@=20-501,7=20+501,7=20@@=20= gnus-cache-articles-in-group=0A=20=20=20=20=20(when=20(file-exists-p=20= dir)=0A=20=20=20=20=20=20=20(setq=20articles=0A=20=09=20=20=20=20(sort=20= (mapcar=20(lambda=20(name)=20(string-to-number=20name))=0A-=09=09=09=20=20= (directory-files=20dir=20nil=20"^[0-9]+$"=20t))=0A+=09=09=09=20=20= (directory-files=20dir=20nil=20"\\`[0-9]+\\'"=20t))=0A=20=09=09=20=20= '<))=0A=20=20=20=20=20=20=20;;=20Update=20the=20cache=20active=20file,=20= just=20to=20synch=20more.=0A=20=20=20=20=20=20=20(if=20articles=0Adiff=20= --git=20a/lisp/gnus/gnus-score.el=20b/lisp/gnus/gnus-score.el=0Aindex=20= 41b63e2323..46b70eaf27=20100644=0A---=20a/lisp/gnus/gnus-score.el=0A+++=20= b/lisp/gnus/gnus-score.el=0A@@=20-2981,7=20+2981,7=20@@=20= gnus-score-search-global-directories=0A=20=20=20=20=20=20=20(if=20= (file-directory-p=20(car=20files))=0A=20=09=20=20(setq=20out=20(nconc=20= (directory-files=0A=20=09=09=09=20=20=20=20(car=20files)=20t=0A-=09=09=09= =20=20=20=20(concat=20(gnus-score-file-regexp)=20"$"))))=0A+=09=09=09=20=20= =20=20(concat=20(gnus-score-file-regexp)=20"\\'"))))=0A=20=09(push=20= (car=20files)=20out))=0A=20=20=20=20=20=20=20(setq=20files=20(cdr=20= files)))=0A=20=20=20=20=20(setq=20gnus-internal-global-score-files=20= out)))=0Adiff=20--git=20a/lisp/gnus/gnus-util.el=20= b/lisp/gnus/gnus-util.el=0Aindex=2023c62b4f93..3429d6560b=20100644=0A---=20= a/lisp/gnus/gnus-util.el=0A+++=20b/lisp/gnus/gnus-util.el=0A@@=20-768,7=20= +768,7=20@@=20gnus-delete-directory=0A=20If=20there's=20no=20= subdirectory,=20delete=20DIRECTORY=20as=20well."=0A=20=20=20(when=20= (file-directory-p=20directory)=0A=20=20=20=20=20(let=20((files=20= (directory-files=0A-=09=09=20=20directory=20t=20= "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))=0A+=09=09=20=20directory=20t=20= (rx=20(or=20(not=20".")=20"..."))))=0A=20=09=20=20file=20dir)=0A=20=20=20= =20=20=20=20(while=20files=0A=20=09(setq=20file=20(pop=20files))=0Adiff=20= --git=20a/lisp/gnus/gnus-uu.el=20b/lisp/gnus/gnus-uu.el=0Aindex=20= d40ba9cef4..5902f2b37a=20100644=0A---=20a/lisp/gnus/gnus-uu.el=0A+++=20= b/lisp/gnus/gnus-uu.el=0A@@=20-1674,7=20+1674,7=20@@=20= gnus-uu-treat-archive=0A=20=20=20=20=20did-unpack))=0A=20=0A=20(defun=20= gnus-uu-dir-files=20(dir)=0A-=20=20(let=20((dirs=20(directory-files=20= dir=20t=20"[^/][^\\.][^\\.]?$"))=0A+=20=20(let=20((dirs=20= (directory-files=20dir=20t=20(rx=20(or=20(not=20".")=20"..."))))=0A=20=09= files=20file)=0A=20=20=20=20=20(while=20dirs=0A=20=20=20=20=20=20=20(if=20= (file-directory-p=20(setq=20file=20(car=20dirs)))=0Adiff=20--git=20= a/lisp/gnus/nndraft.el=20b/lisp/gnus/nndraft.el=0Aindex=20= 3ee86a696c..a1337e8d7f=20100644=0A---=20a/lisp/gnus/nndraft.el=0A+++=20= b/lisp/gnus/nndraft.el=0A@@=20-219,7=20+219,7=20@@=20= nndraft-request-group=0A=20=20=20=20=20=20=20(nnheader-re-read-dir=20= pathname)=0A=20=20=20=20=20=20=20(setq=20dir=20(mapcar=20(lambda=20= (name)=20(string-to-number=20(substring=20name=201)))=0A=20=09=09=09= (ignore-errors=20(directory-files=0A-=09=09=09=09=09pathname=20nil=20= "^#[0-9]+#$"=20t))))=0A+=09=09=09=09=09pathname=20nil=20"\\`#[0-9]+#\\'"=20= t))))=0A=20=20=20=20=20=20=20(dolist=20(n=20dir)=0A=20=09(unless=20= (file-exists-p=0A=20=09=09=20(setq=20file=20(expand-file-name=20= (int-to-string=20n)=20pathname)))=0Adiff=20--git=20a/lisp/gnus/nnmh.el=20= b/lisp/gnus/nnmh.el=0Aindex=20c075f29898..8e7f0565e6=20100644=0A---=20= a/lisp/gnus/nnmh.el=0A+++=20b/lisp/gnus/nnmh.el=0A@@=20-172,7=20+172,7=20= @@=20nnmh-request-group=0A=20=09(setq=20dir=0A=20=09=20=20=20=20=20=20= (sort=0A=20=09=20=20=20=20=20=20=20(mapcar=20'string-to-number=0A-=09=09=20= =20=20=20=20=20=20(directory-files=20pathname=20nil=20"^[0-9]+$"=20t))=0A= +=09=09=20=20=20=20=20=20=20(directory-files=20pathname=20nil=20= "\\`[0-9]+\\'"=20t))=0A=20=09=20=20=20=20=20=20=20'<))=0A=20=09(cond=0A=20= =09=20(dir=0A@@=20-360,7=20+360,7=20@@=20nnmh-request-create-group=0A=20=20= =20=20=20=20=20(nnmh-possibly-change-directory=20group=20server)=0A=20=20= =20=20=20=20=20(let=20((articles=20(mapcar=20'string-to-number=0A=20=09=09= =09=20=20=20=20=20=20(directory-files=0A-=09=09=09=20=20=20=20=20=20=20= nnmh-current-directory=20nil=20"^[0-9]+$"))))=0A+=09=09=09=20=20=20=20=20= =20=20nnmh-current-directory=20nil=20"\\`[0-9]+\\'"))))=0A=20=09(when=20= articles=0A=20=09=20=20(setcar=20active=20(apply=20'min=20articles))=0A=20= =09=20=20(setcdr=20active=20(apply=20'max=20articles))))))=0A@@=20-371,7=20= +371,7=20@@=20nnmh-request-delete-group=0A=20=20=20;;=20Delete=20all=20= articles=20in=20GROUP.=0A=20=20=20(if=20(not=20force)=0A=20=20=20=20=20=20= =20()=09=09=09=09;=20Don't=20delete=20the=20articles.=0A-=20=20=20=20= (let=20((articles=20(directory-files=20nnmh-current-directory=20t=20= "^[0-9]+$")))=0A+=20=20=20=20(let=20((articles=20(directory-files=20= nnmh-current-directory=20t=20"\\`[0-9]+\\'")))=0A=20=20=20=20=20=20=20= (while=20articles=0A=20=09(when=20(file-writable-p=20(car=20articles))=0A= =20=09=20=20(nnheader-message=205=20"Deleting=20article=20%s=20in=20= %s..."=0A@@=20-485,7=20+485,7=20@@=20nnmh-active-number=0A=20=20=20=20=20= =20=20;;=20Find=20the=20highest=20number=20in=20the=20group.=0A=20=20=20=20= =20=20=20(let=20((files=20(sort=0A=20=09=09=20=20=20=20(mapcar=20= 'string-to-number=0A-=09=09=09=20=20=20=20(directory-files=20dir=20nil=20= "^[0-9]+$"))=0A+=09=09=09=20=20=20=20(directory-files=20dir=20nil=20= "\\`[0-9]+\\'"))=0A=20=09=09=20=20=20=20'>)))=0A=20=09(when=20files=0A=20= =09=20=20(setcdr=20active=20(car=20files)))))=0A@@=20-509,7=20+509,7=20= @@=20nnmh-update-gnus-unreads=0A=20=20=20(let*=20((dir=20= nnmh-current-directory)=0A=20=09=20(files=20(sort=20(mapcar=20= 'string-to-number=0A=20=09=09=09=20=20=20=20=20=20(directory-files=20= nnmh-current-directory=0A-=09=09=09=09=09=20=20=20=20=20=20=20nil=20= "^[0-9]+$"=20t))=0A+=09=09=09=09=09=20=20=20=20=20=20=20nil=20= "\\`[0-9]+\\'"=20t))=0A=20=09=09=20=20=20=20=20=20'<))=0A=20=09=20= (nnmh-file=20(concat=20dir=20".nnmh-articles"))=0A=20=09=20new=20= articles)=0Adiff=20--git=20a/lisp/gnus/nnspool.el=20= b/lisp/gnus/nnspool.el=0Aindex=20da13a56001..33b68fa989=20100644=0A---=20= a/lisp/gnus/nnspool.el=0A+++=20b/lisp/gnus/nnspool.el=0A@@=20-260,7=20= +260,7=20@@=20nnspool-request-group=0A=20=09=20=20=20=20t)=0A=20=09;;=20= Yes,=20completely=20empty=20spool=20directories=20*are*=20possible.=0A=20= =09;;=20Fix=20by=20Sudish=20Joseph=20=0A-=09= (when=20(setq=20dir=20(directory-files=20pathname=20nil=20"^[0-9]+$"=20= t))=0A+=09(when=20(setq=20dir=20(directory-files=20pathname=20nil=20= "\\`[0-9]+\\'"=20t))=0A=20=09=20=20(setq=20dir=20(sort=20(mapcar=20= 'string-to-number=20dir)=20'<)))=0A=20=09(if=20dir=0A=20=09=20=20=20=20= (nnheader-insert=0Adiff=20--git=20a/lisp/gnus/spam-stat.el=20= b/lisp/gnus/spam-stat.el=0Aindex=202e03608b5d..3da45a2b62=20100644=0A---=20= a/lisp/gnus/spam-stat.el=0A+++=20b/lisp/gnus/spam-stat.el=0A@@=20-557,7=20= +557,7=20@@=20spam-stat-strip-xref=0A=20=0A=20(defun=20= spam-stat-process-directory=20(dir=20func)=0A=20=20=20"Process=20all=20= the=20regular=20files=20in=20directory=20DIR=20using=20function=20FUNC."=0A= -=20=20(let*=20((files=20(directory-files=20dir=20t=20"^[^.]"))=0A+=20=20= (let*=20((files=20(directory-files=20dir=20t=20"\\`[^.]"))=0A=20=09=20= (max=20(/=20(length=20files)=20100.0))=0A=20=09=20(count=200))=0A=20=20=20= =20=20(with-temp-buffer=0A@@=20-601,7=20+601,7=20@@=20= spam-stat-test-directory=0A=20non-spam=20in=20a=20temporary=20buffer.=20=20= If=20it=20is=20the=20symbol=20`ham',=0A=20display=20non-spam=20files;=20= otherwise=20display=20spam=20files."=0A=20=20=20(interactive=20= "DDirectory:=20")=0A-=20=20(let*=20((files=20(directory-files=20dir=20t=20= "^[^.]"))=0A+=20=20(let*=20((files=20(directory-files=20dir=20t=20= "\\`[^.]"))=0A=20=09=20display-files=0A=20=09=20buffer-score=0A=20=09=20= (total=20(length=20files))=0Adiff=20--git=20a/lisp/help-fns.el=20= b/lisp/help-fns.el=0Aindex=201be8e0ab08..c7d0112cb6=20100644=0A---=20= a/lisp/help-fns.el=0A+++=20b/lisp/help-fns.el=0A@@=20-623,7=20+623,7=20= @@=20help-fns--first-release=0A=20=20=20;;=20of=20the=20*packages*=20in=20= which=20the=20function=20is=20defined.=0A=20=20=20(let*=20((name=20= (symbol-name=20symbol))=0A=20=20=20=20=20=20=20=20=20=20(re=20(concat=20= "\\_<"=20(regexp-quote=20name)=20"\\_>"))=0A-=20=20=20=20=20=20=20=20=20= (news=20(directory-files=20data-directory=20t=20"\\`NEWS.[1-9]"))=0A+=20=20= =20=20=20=20=20=20=20(news=20(directory-files=20data-directory=20t=20= "\\`NEWS\\.[1-9]"))=0A=20=20=20=20=20=20=20=20=20=20(place=20nil)=0A=20=20= =20=20=20=20=20=20=20=20(first=20nil))=0A=20=20=20=20=20= (with-temp-buffer=0Adiff=20--git=20a/lisp/help.el=20b/lisp/help.el=0A= index=2045cbaad4e8..0f1991e318=20100644=0A---=20a/lisp/help.el=0A+++=20= b/lisp/help.el=0A@@=20-361,7=20+361,7=20@@=20view-emacs-news=0A=20=09=09=20= =20=20=20=20(setq=20res=20(cons=20(match-string-no-properties=201)=20= res)))))=0A=20=09=20=20=20=20=20=20=20(cons=20"NEWS"=0A=20=09=09=20=20=20= =20=20(directory-files=20data-directory=20nil=0A-=09=09=09=09=20=20=20=20= =20=20"^NEWS\\.[0-9][-0-9]*$"=20nil)))=0A+=09=09=09=09=20=20=20=20=20=20= "\\`NEWS\\.[0-9][-0-9]*\\'"=20nil)))=0A=20=09=20=20=20=20=20=20(sort=20= (delete-dups=20res)=20#'string>)))=0A=20=09=20=20=20(current=20(car=20= all-versions)))=0A=20=20=20=20=20=20=20(setq=20version=20= (completing-read=0Adiff=20--git=20a/lisp/international/quail.el=20= b/lisp/international/quail.el=0Aindex=20193b1d7c2c..3299cc55a2=20100644=0A= ---=20a/lisp/international/quail.el=0A+++=20= b/lisp/international/quail.el=0A@@=20-3059,7=20+3059,7=20@@=20= quail-update-leim-list-file=0A=20=20=20=20=20(while=20quail-dirs=0A=20=20= =20=20=20=20=20(setq=20dirname=20(car=20quail-dirs))=0A=20=20=20=20=20=20= =20(when=20dirname=0A-=09(setq=20pkg-list=20(directory-files=20dirname=20= 'full=20"\\.el$"))=0A+=09(setq=20pkg-list=20(directory-files=20dirname=20= 'full=20"\\.el\\'"))=0A=20=09(while=20pkg-list=0A=20=09=20=20= (with-temp-buffer=0A=20=09=20=20=20=20(insert-file-contents=20(car=20= pkg-list))=0Adiff=20--git=20a/lisp/international/titdic-cnv.el=20= b/lisp/international/titdic-cnv.el=0Aindex=202a80d75fe7..4f1bcf2f94=20= 100644=0A---=20a/lisp/international/titdic-cnv.el=0A+++=20= b/lisp/international/titdic-cnv.el=0A@@=20-553,7=20+553,7=20@@=20= batch-titdic-convert=0A=20=09(if=20(file-directory-p=20filename)=0A=20=09= =20=20=20=20(progn=0A=20=09=20=20=20=20=20=20(message=20"Converting=20= all=20tit=20files=20in=20the=20directory=20%s"=20filename)=0A-=09=20=20=20= =20=20=20(setq=20files=20(directory-files=20filename=20t=20"\\.tit$")))=0A= +=09=20=20=20=20=20=20(setq=20files=20(directory-files=20filename=20t=20= "\\.tit\\'")))=0A=20=09=20=20(setq=20files=20(list=20filename)))=0A=20=09= (while=20files=0A=20=09=20=20(setq=20file=20(expand-file-name=20(car=20= files)))=0Adiff=20--git=20a/lisp/mail/mspools.el=20= b/lisp/mail/mspools.el=0Aindex=209c0c3fe5ca..94b0886c75=20100644=0A---=20= a/lisp/mail/mspools.el=0A+++=20b/lisp/mail/mspools.el=0A@@=20-223,7=20= +223,7=20@@=20mspools-set-vm-spool-files=0A=20=09=20=20=20=20;;=20So=20I=20= create=20a=20vm-spool-files=20entry=20for=20each=20of=20those=20mail=20= drops=0A=20=09=20=20=20=20(mapcar=20'file-name-sans-extension=0A=20=09=09= =20=20=20=20(directory-files=20mspools-folder-directory=20nil=0A-=09=09=09= =09=20=20=20=20=20(format=20"^[^.]+\\.%s"=20mspools-suffix)))=0A+=09=09=09= =09=20=20=20=20=20(format=20"\\`[^.]+\\.%s"=20mspools-suffix)))=0A=20=09=20= =20=20=20))=0A=20=20=20=20))=0A=20=0A@@=20-357,7=20+357,7=20@@=20= mspools-get-spool-files=0A=20=20=20=20=20(if=20(null=20= mspools-folder-directory)=0A=20=09(error=20"Set=20= `mspools-folder-directory'=20to=20where=20the=20spool=20files=20are"))=0A= =20=20=20=20=20(setq=20folders=20(directory-files=20= mspools-folder-directory=20nil=0A-=09=09=09=09=20=20=20(format=20= "^[^.]+\\.%s$"=20mspools-suffix)))=0A+=09=09=09=09=20=20=20(format=20= "\\`[^.]+\\.%s\\'"=20mspools-suffix)))=0A=20=20=20=20=20(setq=20folders=20= (mapcar=20'mspools-size-folder=20folders))=0A=20=20=20=20=20(setq=20= folders=20(delq=20nil=20folders))=0A=20=20=20=20=20(setq=20mspools-files=20= folders)=0Adiff=20--git=20a/lisp/mail/rmail.el=20b/lisp/mail/rmail.el=0A= index=20d798ffa051..3feff803e3=20100644=0A---=20a/lisp/mail/rmail.el=0A= +++=20b/lisp/mail/rmail.el=0A@@=20-474,7=20+474,7=20@@=20= rmail-secondary-file-directory=0A=20=20=20:type=20'directory=0A=20=20=20= :group=20'rmail-files)=0A=20;;;###autoload=0A-(defcustom=20= rmail-secondary-file-regexp=20(purecopy=20"\\.xmail$")=0A+(defcustom=20= rmail-secondary-file-regexp=20(purecopy=20"\\.xmail\\'")=0A=20=20=20= "Regexp=20for=20which=20files=20are=20secondary=20Rmail=20files."=0A=20=20= =20:type=20'regexp=0A=20=20=20:group=20'rmail-files)=0A@@=20-4354,7=20= +4354,8=20@@=20rmail-fontify-message=0A=20=09=20=20=20=20= (font-lock-fontify-region=20(point-min)=20(point-max)))))))=0A=20=0C=0A=20= ;;;=20Speedbar=20support=20for=20RMAIL=20files.=0A-(defcustom=20= rmail-speedbar-match-folder-regexp=20"^[A-Z0-9]+\\(\\.[A-Z0-9]+\\)?$"=0A= +(defcustom=20rmail-speedbar-match-folder-regexp=0A+=20=20= "\\`[A-Z0-9]+\\(\\.[A-Z0-9]+\\)?\\'"=0A=20=20=20"Regexp=20matching=20= Rmail=20folder=20names=20to=20be=20displayed=20in=20Speedbar.=0A=20= Enabling=20this=20permits=20Speedbar=20to=20display=20your=20folders=20= for=20easy=0A=20browsing,=20and=20moving=20of=20messages."=0Adiff=20= --git=20a/lisp/net/ange-ftp.el=20b/lisp/net/ange-ftp.el=0Aindex=20= 1d45604490..92ed98b2a8=20100644=0A---=20a/lisp/net/ange-ftp.el=0A+++=20= b/lisp/net/ange-ftp.el=0A@@=20-4170,8=20+4170,7=20@@=20= ange-ftp-delete-directory=0A=20=09=09=20=20=20(ange-ftp-delete-directory=20= file=20recursive=20trash)=0A=20=09=09=20(delete-file=20file=20trash)))=0A= =20=09=20=20=20=20=20;;=20We=20do=20not=20want=20to=20delete=20"."=20and=20= "..".=0A-=09=20=20=20=20=20(directory-files=0A-=09=20=20=20=20=20=20dir=20= 'full=20"^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")))=0A+=09=20=20=20=20=20= (directory-files=20dir=20'full=20(rx=20(or=20(not=20".")=20"...")))))=0A=20= =09(if=20parsed=0A=20=09=20=20=20=20(let*=20((host=20(nth=200=20parsed))=0A= =20=09=09=20=20=20(user=20(nth=201=20parsed))=0Adiff=20--git=20= a/lisp/net/tramp.el=20b/lisp/net/tramp.el=0Aindex=20= 0ad65fb8bd..4f3249d966=20100644=0A---=20a/lisp/net/tramp.el=0A+++=20= b/lisp/net/tramp.el=0A@@=20-2458,7=20+2458,7=20@@=20= tramp-use-absolute-autoload-file-names=0A=20=09=20=20=20(regexp-opt=0A=20= =09=20=20=20=20(mapcar=0A=20=09=20=20=20=20=20#'file-name-sans-extension=0A= -=09=20=20=20=20=20(directory-files=20dir=20nil=20"^tramp.+\\.elc?$"))=0A= +=09=20=20=20=20=20(directory-files=20dir=20nil=20= "\\`tramp.+\\.elc?\\'"))=0A=20=09=20=20=20=20'paren))))=0A=20=20=20=20=20= (mapatoms=0A=20=20=20=20=20=20(lambda=20(atom)=0Adiff=20--git=20= a/lisp/obsolete/gulp.el=20b/lisp/obsolete/gulp.el=0Aindex=20= 6589ede69d..08ab3884d4=20100644=0A---=20a/lisp/obsolete/gulp.el=0A+++=20= b/lisp/obsolete/gulp.el=0A@@=20-94,7=20+94,7=20@@=20gulp-send-requests=0A= =20=20=20(interactive=20"DRequest=20updates=20for=20Lisp=20directory:=20= \nP")=0A=20=20=20(with-current-buffer=20(get-buffer-create=20= gulp-tmp-buffer)=0A=20=20=20=20=20(let=20((m-p-alist=20= (gulp-create-m-p-alist=0A-=09=09=20=20=20=20=20=20(directory-files=20dir=20= nil=20"^[^=3D].*\\.el$"=20t)=0A+=09=09=20=20=20=20=20=20(directory-files=20= dir=20nil=20"\\`[^=3D].*\\.el\\'"=20t)=0A=20=09=09=20=20=20=20=20=20= dir))=0A=20=09=20=20;;=20Temporarily=20inhibit=20undo=20in=20the=20= *gulp*=20buffer.=0A=20=09=20=20(buffer-undo-list=20t)=0Adiff=20--git=20= a/lisp/obsolete/vc-arch.el=20b/lisp/obsolete/vc-arch.el=0Aindex=20= b186a5c52a..bcdefac518=20100644=0A---=20a/lisp/obsolete/vc-arch.el=0A+++=20= b/lisp/obsolete/vc-arch.el=0A@@=20-597,18=20+597,20=20@@=20= vc-arch-trim-revlib=0A=20=20=20=20=20(unless=20(file-writable-p=20= rl-dir)=0A=20=20=20=20=20=20=20(error=20"No=20writable=20revlib=20= directory=20found"))=0A=20=20=20=20=20(message=20"Revlib=20at=20%s"=20= rl-dir)=0A-=20=20=20=20(let*=20((archives=20(directory-files=20rl-dir=20= 'full=20"[^.]\\|..."))=0A+=20=20=20=20(let*=20((archives=20= (directory-files=20rl-dir=20'full=20(rx=20(or=20(not=20".")=20"..."))))=0A= =20=20=20=20=20=20=20=20=20=20=20=20(categories=0A=20=20=20=20=20=20=20=20= =20=20=20=20=20(apply=20'append=0A=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(mapcar=20(lambda=20(dir)=0A=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(when=20= (file-directory-p=20dir)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(directory-files=20dir=20= 'full=20"[^.]\\|...")))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(directory-files=20dir=20= 'full=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(rx=20(or=20(not=20".")=20"...")))))=0A=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20archives)))=0A=20=20=20= =20=20=20=20=20=20=20=20=20(branches=0A=20=20=20=20=20=20=20=20=20=20=20=20= =20(apply=20'append=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(mapcar=20(lambda=20(dir)=0A=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(when=20= (file-directory-p=20dir)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(directory-files=20dir=20= 'full=20"[^.]\\|...")))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(directory-files=20dir=20= 'full=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(rx=20(or=20(not=20".")=20"...")))))=0A=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20categories)))=0A=20=20= =20=20=20=20=20=20=20=20=20=20(versions=0A=20=20=20=20=20=20=20=20=20=20=20= =20=20(apply=20'append=0Adiff=20--git=20a/lisp/org/ob-core.el=20= b/lisp/org/ob-core.el=0Aindex=20651561a201..7654c7ebe4=20100644=0A---=20= a/lisp/org/ob-core.el=0A+++=20b/lisp/org/ob-core.el=0A@@=20-3055,7=20= +3055,7=20@@=20org-babel-remove-temporary-directory=0A=20=09=09=20=20=20=20= (delete-file=20file)))=0A=20=09=09;;=20We=20do=20not=20want=20to=20= delete=20"."=20and=20"..".=0A=20=09=09(directory-files=20= org-babel-temporary-directory=20'full=0A-=09=09=09=09=20= "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(rx=20= (or=20(not=20".")=20"..."))))=0A=20=09=20=20(delete-directory=20= org-babel-temporary-directory))=0A=20=20=20=20=20=20=20(error=0A=20=20=20= =20=20=20=20=20(message=20"Failed=20to=20remove=20temporary=20Org-babel=20= directory=20%s"=0Adiff=20--git=20a/lisp/progmodes/ebnf2ps.el=20= b/lisp/progmodes/ebnf2ps.el=0Aindex=20d5820bbfe0..640cb576ef=20100644=0A= ---=20a/lisp/progmodes/ebnf2ps.el=0A+++=20b/lisp/progmodes/ebnf2ps.el=0A= @@=20-1898,7=20+1898,7=20@@=20ebnf-iso-normalize-p=0A=20=20=20:group=20= 'ebnf-syntactic)=0A=20=0A=20=0A-(defcustom=20ebnf-file-suffix-regexp=20= "\\.[Bb][Nn][Ff]$"=0A+(defcustom=20ebnf-file-suffix-regexp=20= "\\.[Bb][Nn][Ff]\\'"=0A=20=20=20"Specify=20file=20name=20suffix=20that=20= contains=20EBNF.=0A=20=0A=20See=20`ebnf-eps-directory'=20command."=0A@@=20= -2731,7=20+2731,7=20@@=20ebnf-style-database=0A=20=20=20=20=20=20=20= (ebnf-syntax=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20.=20'ebnf)=0A=20=20=20=20=20=20=20(ebnf-iso-alternative-p=20=20=20=20=20= =20=20=20=20=20=20.=20nil)=0A=20=20=20=20=20=20=20(ebnf-iso-normalize-p=20= =20=20=20=20=20=20=20=20=20=20=20=20.=20nil)=0A-=20=20=20=20=20=20= (ebnf-file-suffix-regexp=20=20=20=20=20=20=20=20=20=20.=20= "\\.[Bb][Nn][Ff]$")=0A+=20=20=20=20=20=20(ebnf-file-suffix-regexp=20=20=20= =20=20=20=20=20=20=20.=20"\\.[Bb][Nn][Ff]\\'")=0A=20=20=20=20=20=20=20= (ebnf-eps-prefix=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20.=20= "ebnf--")=0A=20=20=20=20=20=20=20(ebnf-eps-header-font=20=20=20=20=20=20=20= =20=20=20=20=20=20.=20'(11=20Helvetica=20"Black"=20"White"=20bold))=0A=20= =20=20=20=20=20=20(ebnf-eps-header=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20.=20nil)=0Adiff=20--git=20a/lisp/progmodes/executable.el=20= b/lisp/progmodes/executable.el=0Aindex=20b42e6f73ab..bae2bb6640=20100644=0A= ---=20a/lisp/progmodes/executable.el=0A+++=20= b/lisp/progmodes/executable.el=0A@@=20-155,7=20+155,7=20@@=20= executable-command-find-posix-p=0A=20If=20PROGRAM=20is=20non-nil,=20use=20= that=20instead=20of=20\"find\"."=0A=20=20=20;;=20=20Pick=20file=20to=20= search=20from=20location=20we=20know=0A=20=20=20(let*=20((dir=20= (file-truename=20data-directory))=0A-=20=20=20=20=20=20=20=20=20(file=20= (car=20(directory-files=20dir=20nil=20"^[^.]"))))=0A+=20=20=20=20=20=20=20= =20=20(file=20(car=20(directory-files=20dir=20nil=20"\\`[^.]"))))=0A=20=20= =20=20=20(with-temp-buffer=0A=20=20=20=20=20=20=20(call-process=20(or=20= program=20"find")=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20nil=0Adiff=20--git=20a/lisp/startup.el=20b/lisp/startup.el=0A= index=201f545c6692..5af264e3ef=20100644=0A---=20a/lisp/startup.el=0A+++=20= b/lisp/startup.el=0A@@=20-1373,10=20+1373,10=20@@=20command-line=0A=20=20= =20=20=20=20=20=20=20((not=20(eq=20system-type=20'windows-nt))=0A=20=20=20= =20=20=20=20=20=20=20(concat=20"~"=20init-file-user=20"/.emacs"))=0A=20=20= =20=20=20=20=20=20=20;;=20Else=20deal=20with=20the=20Windows=20= situation.=0A-=20=20=20=20=20=20=20=20((directory-files=20"~"=20nil=20= "^\\.emacs\\(\\.elc?\\)?$")=0A+=20=20=20=20=20=20=20=20((directory-files=20= "~"=20nil=20"\\`\\.emacs\\(\\.elc?\\)?\\'")=0A=20=20=20=20=20=20=20=20=20= =20;;=20Prefer=20.emacs=20on=20Windows.=0A=20=20=20=20=20=20=20=20=20=20= "~/.emacs")=0A-=20=20=20=20=20=20=20=20((directory-files=20"~"=20nil=20= "^_emacs\\(\\.elc?\\)?$")=0A+=20=20=20=20=20=20=20=20((directory-files=20= "~"=20nil=20"\\`_emacs\\(\\.elc?\\)?\\'")=0A=20=20=20=20=20=20=20=20=20=20= ;;=20Also=20support=20_emacs=20for=20compatibility,=20but=20warn=20about=20= it.=0A=20=20=20=20=20=20=20=20=20=20(push=20`(initialization=0A=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20,(format-message=0Adiff=20= --git=20a/lisp/textmodes/refer.el=20b/lisp/textmodes/refer.el=0Aindex=20= 2865b42273..8d8223a732=20100644=0A---=20a/lisp/textmodes/refer.el=0A+++=20= b/lisp/textmodes/refer.el=0A@@=20-377,7=20+377,7=20@@=20= refer-get-bib-files=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20dir=20files)=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (while=20(setq=20dir=20(car=20dirs))=0A=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(setq=20files=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(append=20(directory-files=20dir=20t=20= "\\.bib$")=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(append=20(directory-files=20dir=20t=20"\\.bib\\'")=0A=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20files))=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (setq=20dirs=20(cdr=20dirs)))=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20files))=0Adiff=20--git=20a/lisp/url/url-about.el=20= b/lisp/url/url-about.el=0Aindex=20fd83ac3436..dde47e94de=20100644=0A---=20= a/lisp/url/url-about.el=0A+++=20b/lisp/url/url-about.el=0A@@=20-37,7=20= +37,7=20@@=20url-probe-protocols=0A=20=09=09=09=20=20(mapc=20(lambda=20= (f)=0A=20=09=09=09=09=20=20(if=20(string-match=20"url-\\(.*\\).el$"=20f)=0A= =20=09=09=09=09=20=20=20=20=20=20(push=20(match-string=201=20f)=20= schemes)))=0A-=09=09=09=09(directory-files=20d=20nil=20= "^url-.*\\.el$")))=0A+=09=09=09=09(directory-files=20d=20nil=20= "\\`url-.*\\.el\\'")))=0A=20=09=09=09load-path)=0A=20=09=09=20=20(put=20= 'url-extension-protocols=20'schemes=20schemes)=0A=20=09=09=20=20= schemes)))))=0Adiff=20--git=20a/lisp/vc/vc-rcs.el=20b/lisp/vc/vc-rcs.el=0A= index=2000796e5d63..273f37c10d=20100644=0A---=20a/lisp/vc/vc-rcs.el=0A= +++=20b/lisp/vc/vc-rcs.el=0A@@=20-247,7=20+247,7=20@@=20vc-rcs-register=0A= =20=09=09=20(setq=20subdir=20(expand-file-name=20"RCS"=0A=20=09=09=09=09=09= =09(file-name-directory=20file)))))=0A=20=09=20=20=20(not=20= (directory-files=20(file-name-directory=20file)=0A-=09=09=09=09=20nil=20= ".*,v$"=20t))=0A+=09=09=09=09=20nil=20",v\\'"=20t))=0A=20=09=20=20=20= (yes-or-no-p=20"Create=20RCS=20subdirectory?=20")=0A=20=09=20=20=20= (make-directory=20subdir))=0A=20=20=20=20=20=20=20(apply=20= #'vc-do-command=20"*vc*"=200=20"ci"=20file=0A@@=20-312,8=20+312,7=20@@=20= vc-rcs-unregister=0A=20=20=20=20=20=20=20(and=20(string=3D=20= (file-name-nondirectory=20(directory-file-name=20dir))=20"RCS")=0A=20=09=20= =20=20;;=20check=20whether=20RCS=20dir=20is=20empty,=20i.e.=20it=20does=20= not=0A=20=09=20=20=20;;=20contain=20any=20files=20except=20"."=20and=20= ".."=0A-=09=20=20=20(not=20(directory-files=20dir=20nil=0A-=09=09=09=09=20= "^\\([^.]\\|\\.[^.]\\|\\.\\.[^.]\\).*"))=0A+=09=20=20=20(not=20= (directory-files=20dir=20nil=20(rx=20(or=20(not=20".")=20"..."))))=0A=20=09= =20=20=20(yes-or-no-p=20(format=20"Directory=20%s=20is=20empty;=20remove=20= it?=20"=20dir))=0A=20=09=20=20=20(delete-directory=20dir)))))=0A=20=0A= diff=20--git=20a/test/lisp/net/tramp-archive-tests.el=20= b/test/lisp/net/tramp-archive-tests.el=0Aindex=203229d2b650..95e41a3f03=20= 100644=0A---=20a/test/lisp/net/tramp-archive-tests.el=0A+++=20= b/test/lisp/net/tramp-archive-tests.el=0A@@=20-669,7=20+669,7=20@@=20= tramp-archive-test19-directory-files-and-attributes=0A=20=09=20=20(setq=20= attr=20(directory-files-and-attributes=20tmp-name=20'full))=0A=20=09=20=20= (dolist=20(elt=20attr)=0A=20=09=20=20=20=20(should=20(equal=20= (file-attributes=20(car=20elt))=20(cdr=20elt))))=0A-=09=20=20(setq=20= attr=20(directory-files-and-attributes=20tmp-name=20nil=20"^b"))=0A+=09=20= =20(setq=20attr=20(directory-files-and-attributes=20tmp-name=20nil=20= "\\`b"))=0A=20=09=20=20(should=20(equal=20(mapcar=20#'car=20attr)=20= '("bar"))))=0A=20=0A=20=20=20=20=20=20=20;;=20Cleanup.=0Adiff=20--git=20= a/test/lisp/net/tramp-tests.el=20b/test/lisp/net/tramp-tests.el=0Aindex=20= 47d51767c5..544bdb5c05=20100644=0A---=20a/test/lisp/net/tramp-tests.el=0A= +++=20b/test/lisp/net/tramp-tests.el=0A@@=20-3331,7=20+3331,7=20@@=20= tramp-test19-directory-files-and-attributes=0A=20=09=20=20=20=20=20=20=20= (tramp--test-file-attributes-equal-p=0A=20=09=09(file-attributes=20(car=20= elt))=20(cdr=20elt))))=0A=20=0A-=09=20=20=20=20(setq=20attr=20= (directory-files-and-attributes=20tmp-name2=20nil=20"^b"))=0A+=09=20=20=20= =20(setq=20attr=20(directory-files-and-attributes=20tmp-name2=20nil=20= "\\`b"))=0A=20=09=20=20=20=20(should=20(equal=20(mapcar=20#'car=20attr)=20= '("bar"=20"boz"))))=0A=20=0A=20=09;;=20Cleanup.=0A= --Apple-Mail=_41951349-5FE5-492D-BF68-3872026DF636--