....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 66.235.200.170  /  Your IP : 3.135.64.200
Web Server : Apache
System : Linux gator4410.hostgator.com 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User : bmgxafte ( 1214)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/emacs/27.2/lisp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/27.2/lisp/dired-aux.elc
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

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


(byte-code "\300\301!\210\300\302!\207" [require cl-lib dired] 2)
#@196 Variable where `dired-create-files' records failing file names.
Functions that operate recursively can store additional names
into this list; they also should call `dired-log' to log the errors.
(defvar dired-create-files-failures nil (#$ . 475))
(defconst dired-star-subst-regexp "\\(^\\|[ 	]\\)\\*\\([ 	]\\|$\\)")
(defconst dired-quark-subst-regexp "\\(^\\|[ 	]\\)\\?\\([ 	]\\|$\\)")
(byte-code "\300\301\302\303#\210\300\304\302\303#\207" [make-obsolete-variable dired-star-subst-regexp nil "26.1" dired-quark-subst-regexp] 4)
#@286 Return a regexp to match STRING isolated.
Isolated means that STRING is surrounded by spaces or at the beginning/end
of a string followed/prefixed with an space.
The regexp capture the preceding blank, STRING and the following blank as
the groups 1, 2 and 3 respectively.

(fn STRING)
(defalias 'dired-isolated-string-re #[257 "\300\301\"\207" [format "\\(\\`\\|[ 	]\\)\\(%s\\)\\([ 	]\\|\\'\\)"] 4 (#$ . 1012)])
#@536 Return non-nil if STRING contains isolated MATCH or `\=`?\=`'.
MATCH should be the strings "?", `\=`?\=`', "*" or nil.  The latter
means STRING contains either "?" or `\=`?\=`' or "*".
If optional arg KEEP is non-nil, then preserve the match data.  Otherwise,
this function changes it and saves MATCH as the second match group.

Isolated means that MATCH is surrounded by spaces or at the beginning/end
of STRING followed/prefixed with an space.  A match to `\=`?\=`',
isolated or not, is also valid.

(fn STRING MATCH &optional KEEP)
(defalias 'dired--star-or-qmark-p #[770 "\300\203\301!\202\f\302!C\203\303\232\203\304\305C\"\262\306\307\310\311\312\313	\"\314\"\315\316%\"\207" [dired-isolated-string-re regexp-quote "[*?]" "?" append "\\(\\)\\(`\\?`\\)\\(\\)" cl-some make-byte-code 257 "\301\203\302\202	\303\300\"\207" vconcat vector [string-match-p string-match] 4 "\n\n(fn X)"] 12 (#$ . 1432)])
#@920 Compare file at point with FILE using `diff'.
If called interactively, prompt for FILE.
If the mark is active in Transient Mark mode, use the file at the mark
as the default for FILE.  (That's the mark set by \[set-mark-command],
not by Dired's \[dired-mark] command.)
If the file at point has a backup file, use that as the default FILE.
If the file at point is a backup file, use its original, if that exists
and can be found.  Note that customizations of `backup-directory-alist'
and `make-backup-file-name-function' change where this function searches
for the backup file, and affect its ability to find the original of a
backup file.

FILE is the first argument given to the `diff' function.  The file at
point is the second argument given to `diff'.

With prefix arg, prompt for second argument SWITCHES, which is
the string of command switches used as the third argument of `diff'.

(fn FILE &optional SWITCHES)
(defalias 'dired-diff #[513 "\300\301!\302!\302!\232\204\303!\203\"\302\"\302!\232\203\"\304\305!\210\306!\2038\307!\232\2038\310#\202=\310#\207" [dired-get-filename t expand-file-name file-directory-p error "Attempt to compare the file to itself" backup-file-name-p file-name-sans-versions diff] 7 (#$ . 2364) (byte-code "\304\305!\306!\203\307!\202\310!\205%	\205%\212\311\305!b\210\304\305\211\")\2050\312!\313 \232?\206M\205M\314!\205M\205M\211\203J\202M\315!\211\232?\205a\316 \313 \232\204`\211\205a\211\211\203t\203o\312!\202v\313 \202v\316 \317C\"\320\321\322\323\324!\325\"\326$\327C\211\320\321\330\323\324\"\331\"\332$\240\210\320\321\333\323\324!\334\"\332$\216\335\336\242\"\210\337\340\341\f\203\276\340\342\n\"\202\277\343#\305$)\266\202\n\205\335\344\345;\203\327\202\334\346\347\350#\"D\207" [transient-mark-mode mark-active current-prefix-arg diff-switches dired-get-filename t backup-file-name-p file-name-sans-versions diff-latest-backup-file mark file-name-directory dired-current-directory file-readable-p file-name-nondirectory dired-dwim-target-directory dired-dwim-target-defaults make-byte-code 0 "\303\301!\210\304\300\211\207" vconcat vector [minibuffer-default-add-function minibuffer-default make-local-variable nil] 2 nil "\302\303\301\242\"\210\300 \207" [remove-hook minibuffer-setup-hook] 3 "\301\302\300\242\"\207" [remove-hook minibuffer-setup-hook] add-hook minibuffer-setup-hook read-file-name format "Diff %s with%s: " " (default %s)" "" read-string "Options for diff: " mapconcat identity " "] 18)])
#@320 Diff this file with its backup file or vice versa.
Uses the latest backup, if there are several numerical backups.
If this file is a backup, diff it with its original.
The backup file is the first file given to `diff'.
With prefix arg, prompt for argument SWITCHES which is options for `diff'.

(fn &optional SWITCHES)
(defalias 'dired-backup-diff #[256 "\300\301 \"\207" [diff-backup dired-get-filename] 4 (#$ . 4914) (byte-code "\205\302\303	;\203	\202\304\305	\306#\"C\207" [current-prefix-arg diff-switches read-string "Options for diff: " mapconcat identity " "] 6)])
#@1297 Mark files with different file attributes in two dired buffers.
Compare file attributes of files in the current directory
with file attributes in directory DIR2 using PREDICATE on pairs of files
with the same name.  Mark files for which PREDICATE returns non-nil.
Mark files with different names if PREDICATE is nil (or interactively
with empty input at the predicate prompt).

PREDICATE is a Lisp expression that can refer to the following variables:

    size1, size2   - file size in bytes
    mtime1, mtime2 - last modification time in seconds, as a float
    fa1, fa2       - list of file attributes
                     returned by function `file-attributes'

    where 1 refers to attribute of file in the current dired buffer
    and 2 to attribute of file in second dired buffer.

Examples of PREDICATE:

    (> mtime1 mtime2) - mark newer files
    (not (= size1 size2)) - mark files with different sizes
    (not (string= (file-attribute-modes fa1)  - mark files with different modes
                  (file-attribute-modes fa2)))
    (not (and (= (file-attribute-user-id fa1) - mark files with different UID
                 (file-attribute-user-id fa2))
              (= (file-attribute-group-id fa1) - and GID.
                 (file-attribute-group-id fa2))))

(fn DIR2 PREDICATE)
(defalias 'dired-compare-directories #[514 "\300 \301!\301!\302C\302C\303\304\305\"\"\262\303\304\306\"\"\262\303\304\305\"\"\262\303\304\306\"\"\262\307\310\311#\"\240\210\211\307\310\311#\"\240\210\312\302\313\314\315\316\317	!\320\"\321$#\210\312\302\313\314\315\316\317!\322\"\321$#\210\323\324\325\326\327\330\242G#\242G\"\325\326\327\330\242G#\242G\"#\207" [dired-current-directory dired-files-attributes nil delq assoc "." ".." mapcar cadr dired-file-set-difference dired-fun-in-all-buffers make-byte-code 0 "\303\304\212\305\262eb\210m\2040\306\304\303\"\300\242\235\203*g\nU\204*\307\310!\210\nc\210\211T\262\310y\210\202)\211\305V\2058\211)\207" vconcat vector [inhibit-read-only dired-marker-char t nil 0 dired-get-filename delete-char 1] 5 [inhibit-read-only dired-marker-char t nil 0 dired-get-filename delete-char 1] message "Marked in dir1: %s, in dir2: %s" format-message ngettext "%d file" "%d files"] 16 (#$ . 5503) (byte-code "\300 \301\302\"\303\304\305\306\307!\310\"\311$\302C\211\303\304\312\306\307\"\313\"\314$\240\210\303\304\315\306\307!\316\"\314$\216\317\320\242\"\210\321\322\323\324 \"\211\325$)\266\202\266\202\326\327\302\211\325\302\330&D\207" [dired-dwim-target-directory dired-dwim-target-defaults nil make-byte-code 0 "\303\301!\210\304\300\211\207" vconcat vector [minibuffer-default-add-function minibuffer-default make-local-variable nil] 2 "\302\303\301\242\"\210\300 \207" [remove-hook minibuffer-setup-hook] 3 "\301\302\300\242\"\207" [remove-hook minibuffer-setup-hook] add-hook minibuffer-setup-hook read-directory-name format "Compare %s with: " dired-current-directory t read-from-minibuffer "Mark if (lisp expr or RET): " "nil"] 12)])
#@458 Combine LIST1 and LIST2 using a set-difference operation.
The result list contains all file items that appear in LIST1 but not LIST2.
This is a non-destructive function; it makes a copy of the data if necessary
to avoid corrupting the original LIST1 and LIST2.
PREDICATE (see `dired-compare-directories') is an additional match
condition.  Two file items are considered to match if they are equal
*and* PREDICATE evaluates to t.

(fn LIST1 LIST2 PREDICATE)
(defalias 'dired-file-set-difference #[771 "\203\204\n\207\300\211\203|\211@\211\203j\211@AA@AA@@@\232?\206^\301\302B\303B\304\3058\262B\306\3058\262B\307\310	\3118\262!B\312\310	\3118\262!B\257\"\266\203\203j\211A\262\202\211\262\204u\211B\262A\266\202\202\f\210\211\237\207" [nil eval fa1 fa2 size1 7 size2 mtime1 float-time 5 mtime2] 22 (#$ . 8552)])
#@132 Return a list of all file names and attributes from DIR.
List has a form of (file-name full-file-name (attribute-list)).

(fn DIR)
(defalias 'dired-files-attributes #[257 "\300\301\302\303\304\305!\306\"\307\310%\311!\"\207" [mapcar make-byte-code 257 "\301\300\"\302!E\207" vconcat vector [expand-file-name file-attributes] 6 "\n\n(fn FILE-NAME)" directory-files] 8 (#$ . 9414)])
#@45 

(fn ATTRIBUTE-NAME PROGRAM OP-SYMBOL ARG)
(defalias 'dired-do-chxxx #[1028 "\305\306\307\211\306%\310\306\211\"\211\205<\311\267\202;\312\313\314!\3158\262\"\202<\314\316\"\3178\262\202<\314\316\"\3208\262\202<\307\321\322\323=\203K\324\202L\325R\326\307\f\327\267\202i\330 \202j\331 \202j\307&\332Q\206v	\307\333\334\335\336D\337\230\206\214\n=?\205\241
\323=\203\236\340D\202\241C\341\307\306\342#)\266\203\205\262\343#\n$\262\344!\210\211\205\310\345\346\347\"\307\")\207" [file-name-coding-system default-file-name-coding-system coding-system-for-write system-configuration inhibit-changing-match-data dired-get-marked-files t nil dired-get-filename #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (touch 21 chown 35 chgrp 47)) format-time-string "%Y%m%d%H%M.%S" file-attributes 5 string 2 3 "Change " " of %s to" touch " (default now): " ": " dired-mark-read-string #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (chown 95 chgrp 100)) system-users system-groups " " dired-bunch-files 10000 dired-check-process append "" "-t" "gnu" string-match ("--") dired-do-redisplay dired-log-summary format "%s: error"] 24 (#$ . 9808)])
#@537 Change the mode of the marked (or next ARG) files.
Both octal numeric modes like `644' and symbolic modes like `g+w'
are supported.  Type M-n to pull the file attributes of the file
at point into the minibuffer.

See Info node `(coreutils)File permissions' for more information.
Alternatively, see the man page for "chmod", using the command
\[man] in Emacs.

Note that on MS-Windows only the `w' (write) bit is meaningful:
resetting it makes the file read-only.  Changing any other bit
has no effect on MS-Windows.

(fn &optional ARG)
(defalias 'dired-do-chmod #[256 "\301\302\303\211\302%\304\302\211\"\211\205\305!\3068\262\211;\2059\307\310\"\2059\311\312\313\314\315\316\317\"\316\320\"\316\321	\"$#\322\323\303\324&\303\313\232\204R=\203Y\325\326!\210\202o\327\303\302\307#)\266\203\203o\330\306\"\262\211\203\220\211@\331\203\200\202\207\332\333!\"\"\210A\266\202\202p\210\334!\207" [inhibit-changing-match-data dired-get-marked-files t nil dired-get-filename file-attributes 8 string-match "^.\\(...\\)\\(...\\)\\(...\\)$" replace-regexp-in-string "-" "" format "u=%s,g=%s,o=%s" match-string 1 2 3 dired-mark-read-string "Change mode of %s to: " chmod error "No file mode specified" "^[0-7]+" string-to-number set-file-modes file-modes-symbolic-to-number file-modes dired-do-redisplay] 15 (#$ . 11093) "P"])
#@152 Change the group of the marked (or next ARG) files.
Type M-n to pull the file attributes of the file at point
into the minibuffer.

(fn &optional ARG)
(defalias 'dired-do-chgrp #[256 "\302>\203\303	!\204\304\305!\210\306\307\310\311$\207" [system-type default-directory (ms-dos windows-nt) file-remote-p error "chgrp not supported on this system" dired-do-chxxx "Group" "chgrp" chgrp] 6 (#$ . 12465) "P"])
#@152 Change the owner of the marked (or next ARG) files.
Type M-n to pull the file attributes of the file at point
into the minibuffer.

(fn &optional ARG)
(defalias 'dired-do-chown #[256 "\303>\203\304	!\204\305\306!\210\307\310\n\311$\207" [system-type default-directory dired-chown-program (ms-dos windows-nt) file-remote-p error "chown not supported on this system" dired-do-chxxx "Owner" chown] 6 (#$ . 12884) "P"])
#@174 Change the timestamp of the marked (or next ARG) files.
This calls touch.
Type M-n to pull the file attributes of the file at point
into the minibuffer.

(fn &optional ARG)
(defalias 'dired-do-touch #[256 "\301\302\303$\207" [dired-touch-program dired-do-chxxx "Timestamp" touch] 6 (#$ . 13313) "P"])
#@32 

(fn MAX FUNCTION ARGS FILES)
(defalias 'dired-bunch-files #[1028 "\300\211\301\300\203T@\211G\302\\A\203>\\V\203>\237\262\303\n\304\n\"\"\244\262\244\262\300\262\301\262\241\210\262\\\262\262\266\202\237\262\303\304\"\"\244\244\210\207" [nil 0 3 apply append] 16 (#$ . 13622)])
#@149 Print the marked (or next ARG) files.
Uses the shell command coming from variables `lpr-command' and
`lpr-switches' as default.

(fn &optional ARG)
(defalias 'dired-do-print #[256 "\304\305!\210\306\307\310\211\307%;\203\311\231\203	P\nB\202\n\312\313\314\315\n;\203/\nC\2020\nB\316#\317%\320\321\310#!)\207" [printer-name lpr-printer-switch lpr-switches lpr-command require lpr dired-get-marked-files t nil "" dired-mark-read-string "Print %s with: " mapconcat identity " " print dired-run-shell-command dired-shell-stuff-it] 8 (#$ . 13962) "P"])
#@694 Read args for a Dired marked-files command, prompting with PROMPT.
Return the user input (a string).

INITIAL, if non-nil, is the initial minibuffer input.
OP-SYMBOL is an operation symbol (see `dired-no-confirm').
ARG is normally the prefix argument for the calling command;
it is passed as the first argument to `dired-mark-prompt'.
FILES should be a list of marked files' names.

Optional arg DEFAULT-VALUE is a default value or list of default
values, passed as the seventh arg to `completing-read'.

Optional arg COLLECTION is a collection of possible completions,
passed as the second arg to `completing-read'.

(fn PROMPT INITIAL OP-SYMBOL ARG FILES &optional DEFAULT-VALUE COLLECTION)
(defalias 'dired-mark-read-string #[1797 "\300\301\302\303\f\304\"\"\301\211\301\f\301&\f\207" [dired-mark-pop-up nil completing-read format dired-mark-prompt] 20 (#$ . 14535)])
#@364 Flag numerical backups for deletion.
Spares `dired-kept-versions' latest versions, and `kept-old-versions' oldest.
Positive prefix arg KEEP overrides `dired-kept-versions';
Negative prefix arg KEEP overrides `kept-old-versions' with KEEP made positive.

To clear the flags on these files, you can use \[dired-flag-backup-files]
with a prefix argument.

(fn KEEP)
(defalias 'dired-clean-directory #[257 "\211\203\n\303!\202\262\211\304W\203\211[\202	\304X\203#\202$\305\306\307#\210\310\311!\210\n\211\203_\312\313@A\314\"B\211G\211\\V\203Q\233Z\233\241\210@A\241\266\211A\262\2021\210\310\315!\210\306\316!)\207" [dired-kept-versions kept-old-versions dired-file-version-alist prefix-numeric-value 0 nil message "Cleaning numerical backups (keeping %d late, %d old)..." dired-map-dired-file-lines dired-collect-file-versions q sort < dired-trample-file-versions "Cleaning numerical backups...done"] 9 (#$ . 15426) "P"])
#@12 

(fn FUN)
(defalias 'dired-map-dired-file-lines #[257 "\212\303\211eb\210m?\2055\212	\304\305!)\262\204.l\204.\306\303\304\"\211\262\203.\303\210!\210)\307y\210\202)\262)\207" [buffer-read-only dired-re-dir inhibit-changing-match-data nil t looking-at dired-get-filename 1] 5 (#$ . 16385)])
#@11 

(fn FN)
(defalias 'dired-collect-file-versions #[257 "\302!\303\"?\205+\304!\305P\211G\306\307!\"\310\311\"\211\205(BB\211)\266\203\207" [dired-file-version-alist backup-extract-version-start file-name-sans-versions assoc file-name-nondirectory ".~" file-name-all-completions file-name-directory mapcar backup-extract-version] 7 (#$ . 16698)])
#@11 

(fn FN)
(defalias 'dired-trample-file-versions #[257 "\303\304\305\306#)\266\203\304\2057\307\310\311#	\"\211\262\2057\312\310\313\\\"!>?\2057\314 \210\315\316!\210\nc\207" [inhibit-changing-match-data dired-file-version-alist dired-del-marker "\\.~[0-9]+~$" nil t string-match assoc substring 0 string-to-number 2 beginning-of-line delete-char 1] 8 (#$ . 17064)])
#@206 Return a list of all commands associated with current dired files.
This function is used to add all related commands retrieved by `mailcap'
to the end of the list of defaults just after the default value.
(defalias 'minibuffer-default-add-dired-shell-commands #[0 "\302\300!\205\303\304\305\306#\205\307!	<\203\310	\"\202 	B\207" [dired-aux-files minibuffer-default boundp require mailcap nil t mailcap-file-default-commands append] 4 (#$ . 17453) nil])
#@464 Read a dired shell command.
PROMPT should be a format string with one "%s" format sequence,
which is replaced by the value returned by `dired-mark-prompt',
with ARG and FILES as its arguments.  FILES should be a list of
file names.  The result is used as the prompt.

This normally reads using `read-shell-command', but if the
`dired-x' package is loaded, use `dired-guess-shell-command' to
offer a smarter default choice of shell command.

(fn PROMPT ARG FILES)
(defalias 'dired-read-shell-command #[771 "\300\301\302\303\304!\305\"\306$\307C\211\300\301\310\303\304\"\311\"\312$\240\210\300\301\313\303\304!\314\"\312$\216\315\316\242\"\210\317\320\"\"\262\321\322!\203O\323\307\324\322	&\202Z\323\307\324\325	\307\211&)\207" [make-byte-code 0 "\303\301!\210\300\303\302!\210\304\211\207" vconcat vector [dired-aux-files minibuffer-default-add-function make-local-variable minibuffer-default-add-dired-shell-commands] 2 nil "\302\303\301\242\"\210\300 \207" [remove-hook minibuffer-setup-hook] 3 "\301\302\300\242\"\207" [remove-hook minibuffer-setup-hook] add-hook minibuffer-setup-hook format dired-mark-prompt functionp dired-guess-shell-command dired-mark-pop-up shell read-shell-command] 13 (#$ . 17924)])
#@702 Run a shell command COMMAND on the marked files asynchronously.

Like `dired-do-shell-command', but adds `&' at the end of COMMAND
to execute it asynchronously.

When operating on multiple files, asynchronous commands
are executed in the background on each file in parallel.
In shell syntax this means separating the individual commands
with `&'.  However, when COMMAND ends in `;' or `;&' then commands
are executed in the background on each file sequentially waiting
for each command to terminate before running the next command.
In shell syntax this means separating the individual commands with `;'.

The output appears in the buffer `*Async Shell Command*'.

(fn COMMAND &optional ARG FILE-LIST)
(defalias 'dired-do-async-shell-command #[769 "\301\302\303\304#)\266\203\204\305P\262\306#\207" [inhibit-changing-match-data "&[ 	]*\\'" nil t string-match " &" dired-do-shell-command] 10 (#$ . 19169) (byte-code "\301\302\303\211\302%\304\305#E\207" [current-prefix-arg dired-get-marked-files t nil dired-read-shell-command "& on %s: "] 6)])
#@2431 Run a shell command COMMAND on the marked files.
If no files are marked or a numeric prefix arg is given,
the next ARG files are used.  Just \[universal-argument] means the current file.
The prompt mentions the file(s) or the marker, as appropriate.

If there is a `*' in COMMAND, surrounded by whitespace, this runs
COMMAND just once with the entire file list substituted there.

If there is no `*', but there is a `?' in COMMAND, surrounded by
whitespace, or a `\=`?\=`' this runs COMMAND on each file
individually with the file name substituted for `?' or `\=`?\=`'.

Otherwise, this runs COMMAND on each file individually with the
file name added at the end of COMMAND (separated by a space).

`*' and `?' when not surrounded by whitespace nor `\=`' have no special
significance for `dired-do-shell-command', and are passed through
normally to the shell, but you must confirm first.

If you want to use `*' as a shell wildcard with whitespace around
it, write `*""' in place of just `*'.  This is equivalent to just
`*' in the shell, but avoids Dired's special handling.

If COMMAND ends in `&', `;', or `;&', it is executed in the
background asynchronously, and the output appears in the buffer
`*Async Shell Command*'.  When operating on multiple files and COMMAND
ends in `&', the shell command is executed on each file in parallel.
However, when COMMAND ends in `;' or `;&' then commands are executed
in the background on each file sequentially waiting for each command
to terminate before running the next command.  You can also use
`dired-do-async-shell-command' that automatically adds `&'.

Otherwise, COMMAND is executed synchronously, and the output
appears in the buffer `*Shell Command Output*'.

This feature does not try to redisplay Dired buffers afterward, as
there's no telling what files COMMAND may have changed.
Type \[dired-do-redisplay] to redisplay the marked files.

When COMMAND runs, its working directory is the top-level directory
of the Dired buffer, so output files usually are created there
instead of in a subdir.

In a noninteractive call (from Lisp code), you must specify
the list of file names explicitly with the FILE-LIST argument, which
can be produced by `dired-get-marked-files', for example.

`dired-guess-shell-alist-default' and
`dired-guess-shell-alist-user' are consulted when the user is
prompted for the shell command to use interactively.

(fn COMMAND &optional ARG FILE-LIST)
(defalias 'dired-do-shell-command #[769 "\300\301\302\303#?\301\304\303#?\204\211\204\305\306!\202<\302\"\203+\307\310\311!!\202<\304\"\203;\307\310\312!!\202<\313\211\204F\314\315!\202q\203f\316\317GZ\320\321\322\323\324

\"\325\"\326\327%\330$\202q\331\332\330\n$!\266\203\207" [#[514 "\300!\301\"\203\302\"\203\303\304\305\211\306%\262\202\301\"\207" [regexp-quote string-match dired--star-or-qmark-p replace-match "" t 2] 10 "\n\n(fn CMD STR)"] dired--star-or-qmark-p "*" keep "?" error "You can not combine `*' and `?' substitution marks" y-or-n-p format-message "Confirm--do you mean to use `*' as a wildcard? " "Confirm--do you mean to use `?' as a wildcard? " t message "Command canceled" dired-bunch-files 10000 make-byte-code 128 "\302\303\300\304\301$!\207" vconcat vector [dired-run-shell-command dired-shell-stuff-it t] 7 "\n\n(fn &rest FILES)" nil dired-run-shell-command dired-shell-stuff-it] 16 (#$ . 20238) (byte-code "\301\302\303\211\302%\304\305#E\207" [current-prefix-arg dired-get-marked-files t nil dired-read-shell-command "! on %s: "] 6)])
#@52 Prepended to marked files in dired shell commands.
(defvar dired-mark-prefix "" (#$ . 23795))
#@51 Appended to marked files in dired shell commands.
(defvar dired-mark-postfix "" (#$ . 23895))
#@49 Separates marked files in dired shell commands.
(defvar dired-mark-separator " " (#$ . 23995))
#@52 

(fn COMMAND FILE-LIST ON-EACH &optional RAW-ARG)
(defalias 'dired-shell-stuff-it #[1027 "\305\306\"\211\203\307\310\211\224#\202\305\311\"\211\203#\307\310\211\224#\202$\2051?\2051\312=?\313\314!\2059\314 \315	!\203H\211\204H\316\202I\317\203Q\203Y\204Y\320\202Z\321\322\323\324#\203u\325\326\327\330\331\n\"\332\"\333\334%\202\204\325\326\335\330\331\n\"\336\"\337\334%\203\250\340\341\342\343\344\"#\203\243\204\243\345\202\244\317#\202\277\342\344\n#
A\203\272\fQ\262!\262\n\203\310\321\202\311\317P\207" [system-type default-directory dired-mark-separator dired-mark-prefix dired-mark-postfix string-match "[ 	]*&[ 	]*\\'" substring 0 "[ 	]*;[ 	]*\\'" ms-dos fboundp w32-shell-dos-semantics file-remote-p "start /b " "" ";" "&" dired--star-or-qmark-p nil keep make-byte-code 257 "\301\300P\302\303\"\203\304\305\211\306%\262\202\211\207" vconcat vector [dired--star-or-qmark-p nil replace-match t 2] 8 "\n\n(fn X)" "\301\300\nR\207" [dired-mark-separator] 5 format "%s%s" mapconcat mapcar shell-quote-argument "&wait"] 21 (#$ . 24096)])
#@16 

(fn COMMAND)
(defalias 'dired-run-shell-command #[257 "\301\302!\303\"\211\203\304\303C#\210\202\303!\210\210\305\207" [default-directory find-file-name-handler directory-file-name shell-command apply nil] 6 (#$ . 25222)])
#@323 Display MSG while running PROGRAM, and check for output.
Remaining arguments are strings passed as command arguments to PROGRAM.
On error, insert output
in a log buffer and return the offending ARGUMENTS or PROGRAM.
Caller can cons up a list of failed args.
Else returns nil for success.

(fn MSG PROGRAM &rest ARGUMENTS)
(defalias 'dired-check-process #[642 "\301\211\302\303\"\210\212\304\305!\262q\210\306 \210\211\307\310\301\311\301	&\312=?\262\203F\313\314\315!\316R!\210\313!\210\206Q\206Q\311\202Q\317!\210\302\320\"\210\301)\207" [default-directory nil message "%s..." get-buffer-create " *dired-check-process output*" erase-buffer apply process-file t 0 dired-log " " prin1-to-string "\n" kill-buffer "%s...done"] 13 (#$ . 25462)])
#@131 Run CMD, and check for output.
On error, pop up the log buffer.
Return the result of `process-file' - zero for success.

(fn CMD)
(defalias 'dired-shell-command #[257 "\303r\304!q\210\305 \210\211\306	\307\310\307\n&\211\311U\204!\312!\210)\211\262)\207" [default-directory shell-file-name shell-command-switch " *dired-check-process output*" get-buffer-create erase-buffer process-file nil t 0 pop-to-buffer] 10 (#$ . 26236)])
#@175 Kill the current line (not the files).
With a prefix argument, kill that many lines starting with the current line.
(A negative argument kills backward.)

(fn &optional ARG)
(defalias 'dired-kill-line #[256 "\301!\262\302\211\303U\204N\304\302\305\"\262\211\204 \306\307!\210\202	\212\211\203.\310!\203.\311 \210)\312 \313y\210`|\210\303V\203DS\262\202	T\262\314y\210\202	\315 )\207" [buffer-read-only prefix-numeric-value nil 0 dired-get-filename t error "Can only kill file lines" dired-goto-subdir dired-kill-subdir line-beginning-position 1 -1 dired-move-to-filename] 6 (#$ . 26680) "P"])
#@806 Kill all marked lines (not the files).
With a prefix argument, kill that many lines starting with the current line.
(A negative argument kills backward.)
If you use this command with a prefix argument to kill the line
for a file that is a directory, which you have inserted in the
Dired buffer as a subdirectory, then it deletes that subdirectory
from the buffer as well.
To kill an entire subdirectory (without killing its line in the
parent directory), go to its directory header line and use this
command with a prefix argument (the value does not matter).

This function returns the number of killed lines.

FMT is a format string used for messaging the user about the
killed lines, and defaults to "Killed %d line%s." if not
present.  A FMT of "" will suppress the messaging.

(fn &optional ARG FMT)
(defalias 'dired-do-kill-lines #[512 "\203\301 \203\f\302 \207\303!\207\212eb\210\304\305\306 m\2045\307\304\310#\2035T\262\311 \312y\210`|\210\202\313\232\204G\314\206A\315\316!#\210)\266\203)\207" [buffer-read-only dired-get-subdir dired-kill-subdir dired-kill-line nil 0 dired-marker-regexp re-search-forward t line-beginning-position 1 "" message "Killed %d line%s." dired-plural-s] 10 (#$ . 27300) "P"])
(defalias 'dired-compress #[0 "\301\302 \303!\211\203>`\3041\305!0\202\210\202\210\211b\210\306!\204+\306!\2034\307\301\310#\210\2028\311!\210\301\262\202E\312\313P!\210)\207" [buffer-read-only nil dired-get-filename dired-compress-file (error) dired-remove-entry file-directory-p dired-add-entry t dired-update-file-line dired-log "Failed to (un)compress "] 7])
#@673 Control changes in file name suffixes for compression and uncompression.
Each element specifies one transformation rule, and has the form:
  (REGEXP NEW-SUFFIX PROGRAM)
The rule applies when the old file name matches REGEXP.
The new file name is computed by deleting the part that matches REGEXP
 (as well as anything after that), then adding NEW-SUFFIX in its place.
If PROGRAM is non-nil, the rule is an uncompression rule,
and uncompression is done by running PROGRAM.

Within PROGRAM, %i denotes the input file, and %o denotes the
output file.

Otherwise, the rule is a compression rule, and compression is done with gzip.
ARGS are command switches passed to PROGRAM.
(defvar dired-compress-file-suffixes '(("\\.tar\\.gz\\'" #1="" "gzip -dc %i | tar -xf -") ("\\.tgz\\'" #1# "gzip -dc %i | tar -xf -") ("\\.gz\\'" #1# "gunzip") ("\\.lz\\'" #1# "lzip -d") ("\\.Z\\'" #1# "uncompress") ("\\.z\\'" #1# "gunzip") ("\\.dz\\'" #1# "dictunzip") ("\\.tbz\\'" ".tar" "bunzip2") ("\\.bz2\\'" #1# "bunzip2") ("\\.xz\\'" #1# "unxz") ("\\.zip\\'" #1# "unzip -o -d %o %i") ("\\.tar\\.zst\\'" #1# "unzstd -c %i | tar -xf -") ("\\.tzst\\'" #1# "unzstd -c %i | tar -xf -") ("\\.zst\\'" #1# "unzstd --rm") ("\\.7z\\'" #1# "7z x -aoa -o%o %i") ("\\.tar\\'" ".tgz" nil) ("" ".tar.gz" "tar -cf - %i | gzip -c9 > %o")) (#$ . 28926))
#@331 Control the compression shell command for `dired-do-compress-to'.

Each element is (REGEXP . CMD), where REGEXP is the name of the
archive to which you want to compress, and CMD is the
corresponding command.

Within CMD, %i denotes the input file(s), and %o denotes the
output file. %i path(s) are relative, while %o is absolute.
(defvar dired-compress-files-alist '(("\\.tar\\.gz\\'" . "tar -cf - %i | gzip -c9 > %o") ("\\.tar\\.bz2\\'" . "tar -cf - %i | bzip2 -c9 > %o") ("\\.tar\\.xz\\'" . "tar -cf - %i | xz -c9 > %o") ("\\.tar\\.zst\\'" . "tar -cf - %i | zstd -19 -o %o") ("\\.zip\\'" . "zip %o -r --filesync %i")) (#$ . 30249))
#@194 Compress selected files and directories to an archive.
Prompt for the archive file name.
Choose the archiving command based on the archive file-name extension
and `dired-compress-files-alist'.
(defalias 'dired-do-compress-to #[0 "\301\302!\210\303\304\211\211\211\305%\306\307\310!!\311\312\313\314\315\316!\317\"\320\321%\"\211\204+\322\323\"\202j\324!\203B\325\326\327\330!\"!\204B\331\332!\202j\333\302A\334\335!B\336\337\340	\341#BD\"!\342U\205j\331\343\344\345G#G\346!#\207" [dired-compress-files-alist require format-spec dired-get-marked-files nil t expand-file-name read-file-name "Compress to: " cl-find-if make-byte-code 257 "\301@\300\"\207" vconcat vector [string-match] 4 "\n\n(fn X)" error "No compression rule found for %s, see `dired-compress-files-alist'" file-exists-p y-or-n-p format "%s exists, overwrite?" abbreviate-file-name message "Compression aborted" dired-shell-command 111 shell-quote-argument 105 mapconcat #[257 "\300\301!!\207" [shell-quote-argument file-name-nondirectory] 4 "\n\n(fn FILE-DESC)"] " " 0 ngettext "Compressed %d file to %s" "Compressed %d files to %s" file-name-nondirectory] 12 (#$ . 30890) nil])
#@131 Compress or uncompress FILE.
Return the name of the compressed or uncompressed file.
Return nil if no change in files.

(fn FILE)
(defalias 'dired-compress-file #[257 "\303\304\"\305\211\305\203'\305\306@@\"\203@\262\305\262A\262)\202\2038\307\310\211\224#A@P\262\203D\304\"\202Q\311!\203O\305\202Q\203\264\3128\211\262\203\264\306\313\"\203\203\314!\211\262\315\316\317\320!\316\321\320
!\305\322%\305\322%!\210\202Q\306\323\"\324P\203\244\325\307\310#\307T\"$\202\252\325\n#?\205\257\266\202\202Q\3261?\327!\203\364\330\331\"A\262\205;@P\332!\315\316\317\320!\316\321\320\333!!A@\305\322%\305\322%!\210)\211\262\202;\334P\335!\203\336\337\340\"!\2059\325\341P\342\343\n$?\2059\335!\204$\344P\211\262\2059\2038\232\2048\345\322#\210\2029\211\2620\202Q\210\325\341P\346\343	$?\205Q\347P\207" [dired-compress-file-suffixes case-fold-search default-directory find-file-name-handler dired-compress-file nil string-match substring 0 file-symlink-p 2 "%[io]" file-name-as-directory dired-shell-command replace-regexp-in-string "%o" shell-quote-argument "%i" t " " "Uncompressing " dired-check-process (file-error) file-directory-p assoc "" file-name-directory file-name-nondirectory ".gz" file-exists-p y-or-n-p format "File %s already exists.  Really compress? " "Compressing " "gzip" "-f" ".z" rename-file "compress" ".Z"] 17 (#$ . 32065)])
#@22 

(fn OP-SYMBOL ARG)
(defalias 'dired-mark-confirm #[514 "\301=\2064>\2064\302\301\303\301\211%\304=\203\305\202\"\306\307!!\310\303\311\312\313\n\n\"\314R%\266\202\207" [dired-no-confirm t dired-get-marked-files nil compress "Compress or uncompress" capitalize symbol-name dired-mark-pop-up y-or-n-p " " dired-mark-prompt "? "] 14 (#$ . 33532)])
#@50 

(fn FUN ARG OP-SYMBOL &optional SHOW-PROGRESS)
(defalias 'dired-map-over-marks-check #[1027 "\302\"\205\346\303\304\211\211C\203I\250\203B\305\306\307\310\311\312\f	#\313\"\314$\"\210\307W\203=\211\242\237\202\244\211\242\202\244 C\202\244\315 \304\212eb\210\316\304\303#\205Z\317 \262\211??\262\211\203\224\211b\210\203q\320\307!\210\n \242B\240\210\211b\210\321y\210\211\304\211\223\210\316\304\303#\205\217\317 \262\202a)\203\236\242\202\242	 C\266\202*\266\204\322 \210\211G\323\304\"\211G\324=\203\274\325\202\302\326\327!!\204\324\330\331\332\333##\202\344\334\335\331\336\337#\227$\"\266\205\207" [case-fold-search inhibit-read-only dired-mark-confirm t nil dired-repeat-over-lines make-byte-code 0 "\301\203\303\304!\210\302\300 \302\242B\240\207" vconcat vector [sit-for 0] 3 dired-marker-regexp re-search-forward point-marker sit-for 1 dired-move-to-filename delq compress "Compress or uncompress" capitalize symbol-name message ngettext "%s: %d file." "%s: %d files." dired-log-summary format "Failed to %s %d of %d file" "Failed to %s %d of %d files"] 18 (#$ . 33901)])
#@459 Format PROMPT with ARGS, query user, and store the result in SYM.
The return value is either nil or t.

The user may type y or SPC to accept once; n or DEL to skip once;
! to accept this and subsequent queries; or q or ESC to decline
this and subsequent queries.

If SYM is already bound to a non-nil value, this function may
return automatically without querying the user.  If SYM is !,
return t; if SYM is q or ESC, return nil.

(fn SYM PROMPT &rest ARGS)
(defalias 'dired-query #[642 "J\302\303\267\202\304\202:\305\202:\306\307#\203%\310\311\312\313	!!\"\202&\314P\262\315\"\211\262L\210\316>\205:\304\207" [help-form help-char (121 32 110 127 33 113 27) #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (33 9 113 13 27 13)) t nil apply format-message format " [Type yn!q or %s] " key-description vector " [Type y, n, q or !] " read-char-choice (121 32 33)] 11 (#$ . 35062)])
#@324 Compress or uncompress marked (or next ARG) files.
If invoked on a directory, compress all of the files in
the directory and all of its subdirectories, recursively,
into a .tar.gz archive.
If invoked on a .tar.gz or a .tgz or a .zip or a .7z archive,
uncompress and unpack all the files in the archive.

(fn &optional ARG)
(defalias 'dired-do-compress #[256 "\300\301\302\303$\207" [dired-map-over-marks-check dired-compress compress t] 6 (#$ . 36003) "P"])
(defalias 'dired-byte-compile #[0 "\301 \302\211\302\3031\212\304!)0\202\211\211\262\262\210\305!\262\306!\204(\307\262\211\2038\310\311#\210\312!\202D\313!\210\302y\210\314!\210\302)\207" [buffer-read-only dired-get-filename nil (error) byte-compile-file byte-compile-dest-file file-exists-p t dired-log "Byte compile error for %s:\n%s\n" dired-make-relative dired-remove-file dired-add-file] 7])
#@73 Byte compile marked (or next ARG) Emacs Lisp files.

(fn &optional ARG)
(defalias 'dired-do-byte-compile #[256 "\300\301\302\303$\207" [dired-map-over-marks-check dired-byte-compile byte-compile t] 6 (#$ . 36886) "P"])
(defalias 'dired-load #[0 "\300 \301\3021\303\301\211\304$0\202\211\211\262\262\210\211\205%\305\306#\210\307!\207" [dired-get-filename nil (error) load t dired-log "Load error for %s:\n%s\n" dired-make-relative] 7])
#@69 Load the marked (or next ARG) Emacs Lisp files.

(fn &optional ARG)
(defalias 'dired-do-load #[256 "\300\301\302\303$\207" [dired-map-over-marks-check dired-load load t] 6 (#$ . 37340) "P"])
#@670 Redisplay all marked (or next ARG) files.
If on a subdir line, redisplay that subdirectory.  In that case,
a prefix arg lets you edit the `ls' switches used for the new listing.

Dired remembers switches specified with a prefix arg, so that reverting
the buffer will not reset them.  However, using `dired-undo' to re-insert
or delete subdirectories can bypass this machinery.  Hence, you sometimes
may have to reset some subdirectory switches after a `dired-undo'.
You can reset all subdirectory switches to the default using
\<dired-mode-map>\[dired-reset-subdir-switches].
See Info node `(emacs)Subdir switches' for more details.

(fn &optional ARG TEST-FOR-SUBDIR)
(defalias 'dired-do-redisplay #[512 "\211\203$\306 \203$\306 \307\"A\310\205\"\311\312\206!	\206!\n\"\"\207\313\314!\210\315:\2033@\2024!\210\316\317\211\211C\203\206\250\203f\320\321\322\323\324\325!\326\"\327$\"\210\322W\203\211\242\237\210\202\330\317\316\"\317#\211\204x\331\332!\210\202\201\313\333\"\210\334!\210)\210\202\335 \317\212eb\210\336\317\316#\205\227\337 \262\211??\262\211\203\341\211b\210\330\317\316\"\317#\211\204\267\331\332!\202\277\313\333\"\210\334!)\262\242B\240\210\211b\210\340y\210\211\317\211\223\210\336\317\316#\205\334\337 \262\202\236)\204\330\317\316\"\317#\211\204\370\331\332!\210\202\313\333\"\210\334!\210)\210\266*\266\341 \210\342\343!\210\341 \210\313\344!\207" [dired-switches-alist dired-subdir-switches dired-actual-switches dired-directory case-fold-search inhibit-read-only dired-get-subdir assoc-string dired-insert-subdir read-string "Switches for listing: " message "Redisplaying..." dired-uncache t nil dired-repeat-over-lines make-byte-code 0 "\300\302\303\304\"\303\211\204\305\306!\202\307\310\"\210\311!)\262\300\242B\240\207" vconcat vector [dired-after-readin-hook dired-get-filename nil t error #1="No file on this line" message #2="Redisplaying... %s" dired-update-file-line] 5 dired-get-filename error #1# #2# dired-update-file-line dired-marker-regexp re-search-forward point-marker 1 dired-move-to-filename run-hooks dired-after-readin-hook "Redisplaying...done"] 14 (#$ . 37539) "P\np"])
#@60 Set `dired-switches-alist' to nil and revert dired buffer.
(defalias 'dired-reset-subdir-switches #[0 "\301\302 \207" [dired-switches-alist nil revert-buffer] 1 (#$ . 39740) nil])
#@13 

(fn FILE)
(defalias 'dired-update-file-line #[257 "\301 \211f\302\303y\210`|\210\203#\304\302\305#\210\211\203#\306\211T\307$\210)\266\310 \207" [buffer-read-only line-beginning-position nil 1 dired-add-entry t subst-char-in-region 32 dired-move-to-filename] 8 (#$ . 39927)])
#@39 

(fn FILENAME &optional MARKER-CHAR)
(defalias 'dired-add-file #[513 "\300\301!\302!\303%\207" [dired-fun-in-all-buffers file-name-directory file-name-nondirectory dired-add-entry] 8 (#$ . 40220)])
#@451 Add a new dired entry for FILENAME.
Optionally mark it with MARKER-CHAR (a character, else uses
`dired-marker-char').  Note that this adds the entry `out of order'
if files are sorted by time, etc.
Skips files that match `dired-trivial-filenames'.
Exposes hidden subdirectories if a file is added there.

If `dired-x' is loaded and `dired-omit-mode' is enabled, skips
files matching `dired-omit-regexp'.

(fn FILENAME &optional MARKER-CHAR RELATIVE)
(defalias 'dired-add-entry #[769 "\306\307!\203;\203;\310 \211\311\230\2066\211	\312\267\202#\202*\313!\202*\314\315!\"\316\317\320#)\266\203?\262\2034\321!\262`\322 \203K\211\202N\315!\316\203[\323\"\202_\324!\262\3252(\230\203\206\316\210\326 \203v\327 \210\330!`W\203\202\211b\210\210\202\237\331!\203\232\326 \203\224\327 \210\332 \210\202\237\333\325\334\"\210\316\211\335 \210`\262\336
\337PC#\210)\211b\210\203\322\250\203\311\202\313--\340\316!\210)\211b\210\341\342!\315!\203\316\211\210G[u\210\343`!\262\344G!\210`c\210\345`#\266\346u\266\202\346y\210\210\347y\210+\203 \212\214\335 \210`\350\351!}\210\352\353!\210*\354 \210)\266\3160\262\211\2031b\210\211?\207\317\207" [dired-omit-mode dired-omit-localp inhibit-changing-match-data buffer-read-only default-directory dired-actual-switches featurep dired-x dired-omit-regexp "" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (no-dir 25 t 29)) dired-make-relative dired-make-absolute file-name-directory nil t string-match directory-file-name dired-current-directory file-relative-name file-name-nondirectory not-found dired--hidden-p dired-unhide-subdir dired-after-subdir-garbage dired-goto-subdir dired-goto-next-nontrivial-file throw "Subdir not found" beginning-of-line dired-insert-directory " -d" dired-mark dired-get-filename verbatim text-properties-at delete-char set-text-properties 1 -1 line-beginning-position 2 run-hooks dired-after-readin-hook dired-move-to-filename dired-marker-char] 16 (#$ . 40430)])
#@12 

(fn DIR)
(defalias 'dired-after-subdir-garbage #[257 "\212\300!\204\301\302!\210\303y\210l\204\304 \204\303y\210\202`)\207" [dired-goto-subdir error "This cannot happen" 1 dired-move-to-filename] 3 (#$ . 42491)])
#@13 

(fn FILE)
(defalias 'dired-remove-file #[257 "\300\301!\302!\303$\207" [dired-fun-in-all-buffers file-name-directory file-name-nondirectory dired-remove-entry] 6 (#$ . 42721)])
#@13 

(fn FILE)
(defalias 'dired-remove-entry #[257 "\212\301!\205\302\303 \210`\304\305!|))\207" [buffer-read-only dired-goto-file nil beginning-of-line line-beginning-position 2] 4 (#$ . 42909)])
#@88 Create or update the line for FILE in all Dired buffers it would belong in.

(fn FILE)
(defalias 'dired-relist-file #[257 "\300\301!\302!\303$\207" [dired-fun-in-all-buffers file-name-directory file-name-nondirectory dired-relist-entry] 6 (#$ . 43113)])
#@13 

(fn FILE)
(defalias 'dired-relist-entry #[257 "\301\211\212\302!\203\303 \210g\262`\304\305!|\210\306!\262\307\310=?\205&\"*\207" [buffer-read-only nil dired-goto-file beginning-of-line line-beginning-position 2 directory-file-name dired-add-entry 32] 7 (#$ . 43376)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable dired-backup-overwrite funcall function #[0 "\300\207" [nil] 1] "Non-nil if Dired should ask about making backups before overwriting files.\nSpecial value `always' suppresses confirmation." :type (choice (const :tag "off" nil) (const :tag "suppress" always) (other :tag "ask" t)) :group dired] 8)
#@11 

(fn TO)
(defalias 'dired-handle-overwrite #[257 "\302\205*	\205*\303!@\211\262\205*\304=\204!\305\306\307#\205*\310\311#\210\312!\207" [dired-backup-overwrite dired-overwrite-confirmed nil find-backup-file-name always dired-query overwrite-backup-query "Make backup for existing file `%s'? " rename-file 0 dired-relist-entry] 6 (#$ . 44049)])
#@24 

(fn FROM TO OK-FLAG)
(defalias 'dired-copy-file #[771 "\302!\210\303\304	&\207" [dired-copy-preserve-time dired-recursive-copies dired-handle-overwrite dired-copy-file-recursive t] 10 (#$ . 44413)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable dired-create-destination-dirs funcall function #[0 "\300\207" [nil] 1] "Whether Dired should create destination dirs when copying/removing files.\nIf nil, don't create them.\nIf `always', create them without asking.\nIf `ask', ask for user confirmation." :type (choice (const :tag "Never create non-existent dirs" nil) (const :tag "Always create non-existent dirs" always) (const :tag "Ask for user confirmation" ask)) :group dired :version "27.1"] 10)
#@85 Create DIR if doesn't exist according to `dired-create-destination-dirs'.

(fn DIR)
(defalias 'dired-maybe-create-dirs #[257 "\205\301!?\205\302=\204\303\304\305\"!\205\306!\207" [dired-create-destination-dirs file-exists-p always yes-or-no-p format "Create destination dir `%s'? " dired-create-directory] 5 (#$ . 45174)])
#@62 

(fn FROM TO OK-FLAG &optional PRESERVE-TIME TOP RECURSIVE)
(defalias 'dired-copy-file-recursive #[1539 "\301!\211@\262\302=\203\303\"\203\304\305#\210\301!\203J\211\211@\262\302=\203J\306=\204?\307\310\311	\"!\203J\312#\202\222\204S\313!\210\3141\203\211\211@\262;\203n\315\211@\262#\202\316\317!!\210\320$0\202\222\321!B\322\323	#\262\207" [dired-create-files-failures file-attributes t file-in-directory-p error "Cannot copy `%s' into its subdirectory `%s'" always yes-or-no-p format "Copy %s recursively? " copy-directory dired-handle-overwrite (file-date-error) make-symbolic-link dired-maybe-create-dirs file-name-directory copy-file dired-make-relative dired-log "Can't set date on %s:\n%s\n"] 12 (#$ . 45516)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable dired-vc-rename-file funcall function #[0 "\300\207" [nil] 1] "Whether Dired should register file renaming in underlying vc system.\nIf nil, use default `rename-file'.\nIf non-nil and the renamed files are under version control,\nrename them using `vc-rename-file'." :type (choice (const :tag "Use rename-file" nil) (const :tag "Use vc-rename-file" t)) :group dired :version "27.1"] 10)
#@42 

(fn FILE NEWNAME OK-IF-ALREADY-EXISTS)
(defalias 'dired-rename-file #[771 "\301!\210\302\303!!\210\203,\304!\203,\3051\306!0\202!\210\307\203,\310\"\210\2022\311#\210\312!\203Er\312!q\210\313\307\314#\210)\315!\210\316\"\207" [dired-vc-rename-file dired-handle-overwrite dired-maybe-create-dirs file-name-directory vc-backend (error) vc-responsible-backend nil vc-rename-file rename-file get-file-buffer set-visited-file-name t dired-remove-file dired-rename-subdir] 7 (#$ . 46788)])
#@24 

(fn FROM-DIR TO-DIR)
(defalias 'dired-rename-subdir #[514 "\301!\262\301!\262\302\303\304%\210\305!\306 \211\205Hr\211@q\210\203@\307\"\203@\310 \311\312\313!P#\314!\210\315!\266)\211A\262\202\207" [buffer-file-name file-name-as-directory dired-fun-in-all-buffers nil dired-rename-subdir-1 expand-file-name buffer-list dired-in-this-tree-p buffer-modified-p dired-replace-in-string "^" regexp-quote set-visited-file-name set-buffer-modified-p] 9 (#$ . 47304)])
#@15 

(fn DIR TO)
(defalias 'dired-rename-subdir-1 #[514 "\303!\304\203$@\262A\262\305@\"\203\306#\210\202	\232\205]\307!\210\303\310\n;\203;\n\202=\n@!\"\310\311\n;\203L\n\202N\n@!!\312!\204Z\313!\210\210\314 \207" [dired-subdir-alist default-directory dired-directory expand-file-name nil dired-in-this-tree-p dired-rename-subdir-2 dired-unadvertise file-name-nondirectory directory-file-name get-buffer rename-buffer dired-advertise] 9 (#$ . 47797)])
#@19 

(fn ELT DIR TO)
(defalias 'dired-rename-subdir-2 #[771 "\212\303\304!!\304!\305Ab\210\306	!\204\307\310\"\210\202;\311\224b\210\312\311\225\313#\2033\314\313\211#\210\202;\307\315@#\210\316@\n\"\317\320	@#!\240\210\205U\240\266\202)\266\202)\207" [buffer-read-only dired-subdir-regexp dired-switches-alist regexp-quote directory-file-name nil looking-at error "%s not found where expected - dired-subdir-alist broken?" 1 re-search-forward t replace-match "Expected to find `%s' in headerline of %s" assoc-string dired-normalize-subdir dired-replace-in-string] 11 (#$ . 48286)])
#@1104 Create one or more new files from a list of existing files FN-LIST.
This function also handles querying the user, updating Dired
buffers, and displaying a success or failure message.

FILE-CREATOR should be a function.  It is called once for each
file in FN-LIST, and must create a new file, querying the user
and updating Dired buffers as necessary.  It should accept three
arguments: the old file name, the new name, and an argument
OK-IF-ALREADY-EXISTS with the same meaning as in `copy-file'.

OPERATION should be a capitalized string describing the operation
performed (e.g. `Copy').  It is used for error logging.

FN-LIST is the list of files to copy (full absolute file names).

NAME-CONSTRUCTOR should be a function accepting a single
argument, the name of an old file, and returning either the
corresponding new file name or nil to skip.

If optional argument MARKER-CHAR is non-nil, mark each
newly-created file's Dired entry with the character MARKER-CHAR,
or with the current marker character if MARKER-CHAR is t.

(fn FILE-CREATOR OPERATION FN-LIST NAME-CONSTRUCTOR &optional MARKER-CHAR)
(defalias 'dired-create-files #[1284 "\305\211\211\306G\305\211\211\211\203\355\211@	!\262\232\203-\305\262\307\310
\227#\210\204<\311!B\262\202\346\312!\211\205O\313\314\"\315\302\316#)	\250\203[	\202g	\203f\317!\202g\305\320!\321!\203\201\321!\203\201\322=\203\201\211\262\323!\211@\262\324=\203\242\322=\203\242\325\"\203\242\326\327#\210\210\3301\316\f#\210\203\267\331!\210T\262\332\333		$\210\334\"0\202\342\311!\nB\262\n\307\335	%\262\210)\266A\266\202\202\210*\210\203\244\262\336\337\340\341\342G#G$\"\210\202J\203'\336\337\340\343\344#G$\"\210\202J\203?\336\337\340\345\346#G$\"\210\202J\332\340\347\350#\n#\210)\266\351 \207" [dired-create-files-failures overwrite-backup-query overwrite-query help-form dired-overwrite-confirmed nil 0 dired-log "Cannot %s to same file: %s\n" dired-make-relative file-exists-p format-message "Type SPC or `y' to overwrite file `%s',\nDEL or `n' to skip to next,\nESC or `q' to not overwrite any of the remaining files,\n`!' to overwrite all remaining files with no more questions." dired-query "Overwrite `%s'?" dired-file-marker file-name-directory file-directory-p dired-copy-file file-attributes t file-in-directory-p error "Cannot copy `%s' into its subdirectory `%s'" (file-error) dired-remove-file message "%s: %d of %d" dired-add-file "%s: `%s' to `%s' failed:\n%s\n" dired-log-summary format ngettext "%s failed for %d file in %d requests" "%s failed for %d files in %d requests" "%s: %d of %d file failed" "%s: %d of %d files failed" "%s: %d of %d file skipped" "%s: %d of %d files skipped" "%s: %d file done" "%s: %d files done" dired-move-to-filename] 22 (#$ . 48900)])
#@1920 Create a new file for each marked file.
Prompt user for a target directory in which to create the new
  files.  The target may also be a non-directory file, if only
  one file is marked.  The initial suggestion for target is the
  Dired buffer's current directory (or, if `dired-dwim-target' is
  non-nil, the current directory of a neighboring Dired window).
OP-SYMBOL is the symbol for the operation.  Function `dired-mark-pop-up'
  will determine whether pop-ups are appropriate for this OP-SYMBOL.
FILE-CREATOR and OPERATION as in `dired-create-files'.
ARG as in `dired-get-marked-files'.
Optional arg MARKER-CHAR as in `dired-create-files'.
Optional arg OP1 is an alternate form for OPERATION if there is
  only one file.
Optional arg HOW-TO determines how to treat the target.
  If HOW-TO is nil, use `file-directory-p' to determine if the
   target is a directory.  If so, the marked file(s) are created
   inside that directory.  Otherwise, the target is a plain file;
   an error is raised unless there is exactly one marked file.
  If HOW-TO is t, target is always treated as a plain file.
  Otherwise, HOW-TO should be a function of one argument, TARGET.
   If its return value is nil, TARGET is regarded as a plain file.
   If it return value is a list, TARGET is a generalized
    directory (e.g. some sort of archive).  The first element of
    this list must be a function with at least four arguments:
      operation - as OPERATION above.
      rfn-list  - list of the relative names for the marked files.
      fn-list   - list of the absolute names for the marked files.
      target    - the name of the target itself.
    The rest of elements of the list returned by HOW-TO are optional
    arguments for the function that is the first element of the list.
   For any other return value, TARGET is treated as a directory.

(fn OP-SYMBOL FILE-CREATOR OPERATION ARG &optional MARKER-CHAR OP1 HOW-TO)
(defalias 'dired-do-create-files #[1796 "\204\262\301\302\302\211\303%\304\305\":\205A?\205@\306 \2051?\2051\307\310@!\"\311\"\307\312\313\314\315\316!\317\"\320$\302C\211\312\313\321\315\316\"\322\"\323$\240\210\312\313\324\315\316!\325\"\323$\216\326\327\242\"\210\330\331\332	\203t
\202v\333>\203\201\334\202\202\335#\f\n&)\266\202!C\204\235\336\242!\210\204\332\337@!\205\317
\340=\205\317\205\317\307@!\227\307\242!\227\230\205\317\310@!\310\242!\230??\205\352\341\242!\202\352\303=\203\345\302\202\352\242!\211:\203\n\342@!\203\n\343@	\242A&\202P\204\211\204\344\345\242#\210\211\204%\346\242!\240\210\347\n\203@\312\350\351\315\316\n!\352\"\353\354%\202M\312\350\355\315\316\n!\356\"\320\354%%\207" [dired-dwim-target dired-get-marked-files nil t mapcar dired-make-relative dired-dwim-target-directory expand-file-name file-name-nondirectory dired-dwim-target-defaults make-byte-code 0 "\303\301!\210\304\300\211\207" vconcat vector [minibuffer-default-add-function minibuffer-default make-local-variable nil] 2 "\302\303\301\242\"\210\300 \207" [remove-hook minibuffer-setup-hook] 3 "\301\302\300\242\"\207" [remove-hook minibuffer-setup-hook] add-hook minibuffer-setup-hook dired-mark-read-file-name format "%s %%s %s: " (symlink hardlink) "from" "to" dired-maybe-create-dirs file-name-case-insensitive-p move file-directory-p functionp apply error "Marked %s: target must be a directory: %s" directory-file-name dired-create-files 257 "\301\302!\300\242\"\207" [expand-file-name file-name-nondirectory] 4 "\n\n(fn FROM)" "\300\242\207" []] 25 (#$ . 51770)])
#@57 

(fn PROMPT DIR OP-SYMBOL ARG FILES &optional DEFAULT)
(defalias 'dired-mark-read-file-name #[1541 "\300\301\302\303\304\n\n\"\"\n&\207" [dired-mark-pop-up nil read-file-name format dired-mark-prompt] 16 (#$ . 55383)])
(defalias 'dired-dwim-target-directories #[0 "\301!\203	 \207\302 \207" [dired-dwim-target functionp dired-dwim-target-next] 2])
#@29 

(fn &optional ALL-FRAMES)
(defalias 'dired-dwim-target-next #[256 "\300\301\302\303 \304\305\306\307#\307#\"\"\207" [mapcan #[257 "r\301!q\210\302=\205\303 C)\207" [major-mode window-buffer dired-mode dired-current-directory] 3 "\n\n(fn W)"] delq selected-window window-list-1 next-window nil nomini] 10 (#$ . 55751)])
(defalias 'dired-dwim-target-next-visible #[0 "\300\301!\207" [dired-dwim-target-next visible] 2])
(defalias 'dired-dwim-target-recent #[0 "\300\301\302\303\304\305\306 \307\310\311\312#\"\"\313\"\"\207" [mapcar cdr sort mapcan #[257 "r\301!q\210\302=\205\303!\304 BC)\207" [major-mode window-buffer dired-mode window-use-time dired-current-directory] 3 "\n\n(fn W)"] delq selected-window window-list-1 nil nomini visible #[514 "@@V\207" [] 4 "\n\n(fn A B)"]] 11])
(defalias 'dired-dwim-target-directory #[0 "\302=\205\303 	\203\304 @\206\211\202\211\207" [major-mode dired-dwim-target dired-mode dired-current-directory dired-dwim-target-directories] 2])
#@27 

(fn FN-LIST TARGET-DIR)
(defalias 'dired-dwim-target-defaults #[514 ":\205
A?\205
@\301=\205\302 \303 \304\305\306B\"!\262\307\206'\"\262\203V\310\311\312\313\314\315\316\f!\317\"\320\321%\322!\"\323\324	@!\206P\"C#\202W\211\207" [major-mode dired-mode dired-current-directory dired-dwim-target-directories delete-dups delq nil delete append mapcar make-byte-code 257 "\301\302\300@!\"\207" vconcat vector [expand-file-name file-name-nondirectory] 4 "\n\n(fn DIR)" reverse expand-file-name file-name-nondirectory] 14 (#$ . 56758)])
#@101 Return the topmost nonexistent parent dir of FILENAME.
FILENAME is a full file name.

(fn FILENAME)
(defalias 'dired--find-topmost-parent-dir #[257 "\211\300\203\301!\204\211\232\204\262\302\303!!\262\202\207" [nil file-exists-p directory-file-name file-name-directory] 6 (#$ . 57328)])
#@155 Create a directory called DIRECTORY.
Parent directories of DIRECTORY are created as needed.
If DIRECTORY already exists, signal an error.

(fn DIRECTORY)
(defalias 'dired-create-directory #[257 "\300\301!!\302\303!\203\304\305\"\210\306!\262\307\310\"\210\211\205%\311!\210\312 \207" [directory-file-name expand-file-name nil file-exists-p error "Cannot create directory %s: file exists" dired--find-topmost-parent-dir make-directory t dired-add-file dired-move-to-filename] 6 (#$ . 57637) (byte-code "\300\301\302 \"C\207" [read-file-name "Create directory: " dired-current-directory] 3)])
#@194 Create an empty file called FILE.
 Add a new entry for the new file in the Dired buffer.
 Parent directories of FILE are created as needed.
 If FILE already exists, signal an error.

(fn FILE)
(defalias 'dired-create-empty-file #[257 "\300!\301\302!\203\303\304\"\210\305!\262\306\307\"\210\211\205#\310!\210\311 \207" [expand-file-name nil file-exists-p error "Cannot create file %s: file exists" dired--find-topmost-parent-dir make-empty-file parents dired-add-file dired-move-to-filename] 6 (#$ . 58245) (byte-code "\300\301!C\207" [read-file-name "Create empty file: "] 2)])
#@15 

(fn TARGET)
(defalias 'dired-into-dir-with-symlinks #[257 "\300!\205\n\301!?\207" [file-directory-p file-symlink-p] 3 (#$ . 58840)])
#@120 Either nil or a function used by `dired-do-copy' to determine target.
See HOW-TO argument for `dired-do-create-files'.
(defvar dired-copy-how-to-fn nil (#$ . 58985))
#@781 Copy all marked (or next ARG) files, or copy the current file.
When operating on just the current file, prompt for the new name.

When operating on multiple or marked files, prompt for a target
directory, and make the new copies in that directory, with the
same names as the original files.  The initial suggestion for the
target directory is the Dired buffer's current directory (or, if
`dired-dwim-target' is non-nil, the current directory of a
neighboring Dired window).

If `dired-copy-preserve-time' is non-nil, this command preserves
the modification time of each old file in the copy, similar to
the "-p" option for the "cp" shell command.

This command copies symbolic links by creating new ones, similar
to the "-d" option for the "cp" shell command.

(fn &optional ARG)
(defalias 'dired-do-copy #[256 "\303\304\305\306	\307\n&)\207" [dired-recursive-copies dired-keep-marker-copy dired-copy-how-to-fn dired-do-create-files copy dired-copy-file "Copy" nil] 9 (#$ . 59158) "P"])
#@484 Make symbolic links to current file or all marked (or next ARG) files.
When operating on just the current file, you specify the new name.
When operating on multiple or marked files, you specify a directory
and new symbolic links are made in that directory
with the same names that the files currently have.  The default
suggested for the target directory depends on the value of
`dired-dwim-target', which see.

For relative symlinks, use \[dired-do-relsymlink].

(fn &optional ARG)
(defalias 'dired-do-symlink #[256 "\301\302\303\304%\207" [dired-keep-marker-symlink dired-do-create-files symlink make-symbolic-link "Symlink"] 7 (#$ . 60156) "P"])
#@428 Add names (hard links) current file or all marked (or next ARG) files.
When operating on just the current file, you specify the new name.
When operating on multiple or marked files, you specify a directory
and new hard links are made in that directory
with the same names that the files currently have.  The default
suggested for the target directory depends on the value of
`dired-dwim-target', which see.

(fn &optional ARG)
(defalias 'dired-do-hardlink #[256 "\301\302\303\304%\207" [dired-keep-marker-hardlink dired-do-create-files hardlink dired-hardlink "Hardlink"] 7 (#$ . 60814) "P"])
#@52 

(fn FILE NEWNAME &optional OK-IF-ALREADY-EXISTS)
(defalias 'dired-hardlink #[770 "\300!\210\301#\210\302!\207" [dired-handle-overwrite add-name-to-file dired-relist-file] 7 (#$ . 61415)])
#@374 Rename current file or all marked (or next ARG) files.
When renaming just the current file, you specify the new name.
When renaming multiple or marked files, you specify a directory.
This command also renames any buffers that are visiting the files.
The default suggested for the target directory depends on the value
of `dired-dwim-target', which see.

(fn &optional ARG)
(defalias 'dired-do-rename #[256 "\301\302\303\304\305&\207" [dired-keep-marker-rename dired-do-create-files move dired-rename-file "Move" "Rename"] 8 (#$ . 61617) "P"])
#@83 

(fn FILE-CREATOR OPERATION ARG REGEXP NEWNAME &optional WHOLE-NAME MARKER-CHAR)
(defalias 'dired-do-create-files-regexp #[1797 "\301\302\"\303P\304\305	\227\n\227#\203.\306\307\310\311\312
\f\f		%\313\"\314\315%\202C\306\307\316\311\312
\f\f		%\317\"\320\315%\302\321	%)\207" [rename-regexp-query dired-get-marked-files nil " `%s' to `%s'?" format-message "Type SPC or `y' to %s one match, DEL or `n' to skip to next,\n`!' to %s all remaining matches with no more questions." make-byte-code 257 "\306\301\302#\304\211\203\307\310\303$\205\211\202\311\312\300\301$)\207" vconcat vector [help-form dired-string-replace-match dired-query rename-regexp-query dired-log "%s: %s did not match regexp %s\n"] 7 "\n\n(fn FROM)" "\306\301\307!\302#\211\205\310\311!\"\304\211\203)\312\313\303\314!\314!$\2052\211\2022\315\316\300\307!\301$)\207" [help-form dired-string-replace-match file-name-nondirectory expand-file-name file-name-directory dired-query rename-regexp-query dired-make-relative dired-log "%s: %s did not match regexp %s\n"] 9 dired-create-files] 20 (#$ . 62169)])
#@18 

(fn OPERATION)
(defalias 'dired-mark-read-regexp #[257 "\301!\302\232\211?\205\303\203\304\202\305\306Q\307\310#\311\203$\304\202%\305\312\313\260!F\207" [current-prefix-arg prefix-numeric-value 0 read-regexp "Abs. " "" " from (regexp): " nil dired-regexp-history read-string " " " to: "] 10 (#$ . 63302)])
#@668 Rename selected files whose names match REGEXP to NEWNAME.

With non-zero prefix argument ARG, the command operates on the next ARG
files.  Otherwise, it operates on all the marked files, or the current
file if none are marked.

As each match is found, the user must type a character saying
  what to do with it.  For directions, type \[help-command] at that time.
NEWNAME may contain \=\<n> or \& as in `query-replace-regexp'.
REGEXP defaults to the last regexp used.

With a zero prefix arg, renaming by regexp affects the absolute file name.
Normally, only the non-directory part of the file name is used and changed.

(fn REGEXP NEWNAME &optional ARG WHOLE-NAME)
(defalias 'dired-do-rename-regexp #[1026 "\301\302\303&\207" [dired-keep-marker-rename dired-do-create-files-regexp dired-rename-file "Rename"] 12 (#$ . 63639) (dired-mark-read-regexp "Rename")])
#@157 Copy selected files whose names match REGEXP to NEWNAME.
See function `dired-do-rename-regexp' for more info.

(fn REGEXP NEWNAME &optional ARG WHOLE-NAME)
(defalias 'dired-do-copy-regexp #[1026 "\303\304\305	\203\f\306\202
\307\n&)\207" [dired-recursive-copies dired-copy-preserve-time dired-keep-marker-copy nil dired-do-create-files-regexp dired-copy-file "Copy [-p]" "Copy"] 12 (#$ . 64518) (dired-mark-read-regexp "Copy")])
#@161 Hardlink selected files whose names match REGEXP to NEWNAME.
See function `dired-do-rename-regexp' for more info.

(fn REGEXP NEWNAME &optional ARG WHOLE-NAME)
(defalias 'dired-do-hardlink-regexp #[1026 "\301\302\303&\207" [dired-keep-marker-hardlink dired-do-create-files-regexp add-name-to-file "HardLink"] 12 (#$ . 64965) (dired-mark-read-regexp "HardLink")])
#@160 Symlink selected files whose names match REGEXP to NEWNAME.
See function `dired-do-rename-regexp' for more info.

(fn REGEXP NEWNAME &optional ARG WHOLE-NAME)
(defalias 'dired-do-symlink-regexp #[1026 "\301\302\303&\207" [dired-keep-marker-symlink dired-do-create-files-regexp make-symbolic-link "SymLink"] 12 (#$ . 65344) (dired-mark-read-regexp "SymLink")])
#@56 

(fn FILE-CREATOR BASENAME-CONSTRUCTOR OPERATION ARG)
(defalias 'dired-create-files-non-directory #[1028 "\302\303\304\302\"\305\306\307\310\311\"\312\"\313\314%	%)\207" [rename-non-directory-query dired-keep-marker-rename nil dired-create-files dired-get-marked-files make-byte-code 257 "\303!\300\304!!P\305\306\301\227\301\227#\307\310\301\311P\312!\312!$)\205\"\211\207" vconcat vector [help-form file-name-directory file-name-nondirectory format-message "Type SPC or `y' to %s one file, DEL or `n' to skip to next,\n`!' to %s all remaining matches with no more questions." dired-query rename-non-directory-query " `%s' to `%s'" dired-make-relative] 8 "\n\n(fn FROM)"] 15 (#$ . 65719)])
#@43 

(fn BASENAME-CONSTRUCTOR OPERATION ARG)
(defalias 'dired-rename-non-directory #[771 "\300\301$\207" [dired-create-files-non-directory dired-rename-file] 8 (#$ . 66431)])
#@74 Rename all marked (or next ARG) files to upper case.

(fn &optional ARG)
(defalias 'dired-upcase #[256 "\300\301\302#\207" [dired-rename-non-directory upcase "Rename upcase"] 5 (#$ . 66612) "P"])
#@74 Rename all marked (or next ARG) files to lower case.

(fn &optional ARG)
(defalias 'dired-downcase #[256 "\300\301\302#\207" [dired-rename-non-directory downcase "Rename downcase"] 5 (#$ . 66815) "P"])
#@942 Insert this subdirectory into the same dired buffer.
If it is already present, just move to it (type \[dired-do-redisplay] to refresh),
  else inserts it at its natural place (as `ls -lR' would have done).
With a prefix arg, you may edit the ls switches used for this listing.
  You can add `R' to the switches to expand the whole tree starting at
  this subdirectory.
This function takes some pains to conform to `ls -lR' output.

Dired remembers switches specified with a prefix arg, so that reverting
the buffer will not reset them.  However, using `dired-undo' to re-insert
or delete subdirectories can bypass this machinery.  Hence, you sometimes
may have to reset some subdirectory switches after a `dired-undo'.
You can reset all subdirectory switches to the default using
\<dired-mode-map>\[dired-reset-subdir-switches].
See Info node `(emacs)Subdir switches' for more details.

(fn DIRNAME &optional SWITCHES NO-ERROR-IF-NOT-DIR-P)
(defalias 'dired-maybe-insert-subdir #[769 "`\300!\262\204\301!\203\302!\204#\303!\210\202#\304#\210\305!\207" [file-name-as-directory dired-goto-subdir dired-subdir-hidden-p dired-initial-position dired-insert-subdir push-mark] 8 (#$ . 67025) (byte-code "\303 \205\304\305	\206
\n\"D\207" [current-prefix-arg dired-subdir-switches dired-actual-switches dired-get-filename read-string "Switches for listing: "] 4)])
#@469 Insert this subdirectory into the same Dired buffer.
If it is already present, overwrite the previous entry;
  otherwise, insert it at its natural place (as `ls -lR' would
  have done).
With a prefix arg, you may edit the `ls' switches used for this listing.
  You can add `R' to the switches to expand the whole tree starting at
  this subdirectory.
This function takes some pains to conform to `ls -lR' output.

(fn DIRNAME &optional SWITCHES NO-ERROR-IF-NOT-DIR-P)
(defalias 'dired-insert-subdir #[769 "\305\306!!\262\211\204\307!\204\310\311\"\210\312\"\313	\"\314 \315\211\211\211\2044\2034A\262\316		\"\210\205N\317\315\320\321#)\266\203\211\262\203[\322	\320\"\262\203j\323!\244\262\202o\324	!\210\325	\326\f\f\"#\210\203\224\203\214\241\210\202\224B	B\203\327\327!\210\330\317\331\n#\262\211\203\326\211@\211@\332
\"\203\316\313	\"\211\203\306\211\f\241\210\202\315\fB	B\210\210A\266\202\202\246\210\333	!\210\212\334!\210)\335!*\207" [dired-subdir-alist dired-switches-alist buffer-read-only case-fold-search inhibit-changing-match-data file-name-as-directory expand-file-name file-directory-p error "Attempt to insert a non-directory: %s" assoc assoc-string buffer-modified-p nil dired-insert-subdir-validate "R" t string-match dired-kill-tree dired-insert-subdir-del dired-insert-subdir-newpos dired-insert-subdir-doupdate dired-insert-subdir-doinsert dired-build-subdir-alist dired-replace-in-string "" dired-in-this-tree-p dired-initial-position dired-mark-remembered restore-buffer-modified-p] 16 (#$ . 68409) (byte-code "\303 \205\304\305	\206
\n\"D\207" [current-prefix-arg dired-subdir-switches dired-actual-switches dired-get-filename read-string "Switches for listing: "] 4)])
#@35 

(fn DIRNAME &optional SWITCHES)
(defalias 'dired-insert-subdir-validate #[513 "\303\304!\"\204\305\306\"\210\211\206	\211\205*\307\310\311\312\313\314\315!\316\"\317\320%\321\")\207" [default-directory dired-subdir-switches case-fold-search dired-in-this-tree-p expand-file-name error "%s: not in this directory tree" nil mapcar make-byte-code 257 "\211\300\303\304\305#)\266\203?\n\303\304\305#)\266\203?=\206$\306\307\"\207" vconcat vector [inhibit-changing-match-data dired-actual-switches nil t string-match error "Can't have dirs with and without -%s switches together"] 9 "\n\n(fn X)" ("F" "b")] 10 (#$ . 70200)])
#@23 

(fn DIR NEW-MARKER)
(defalias 'dired-alist-add #[514 "\300\"\210\301 \207" [dired-alist-add-1 dired-alist-sort] 5 (#$ . 70850)])
(defalias 'dired-alist-sort #[0 "\301\302\"\211\207" [dired-subdir-alist sort #[514 "AAV\207" [] 4 "\n\n(fn ELT1 ELT2)"]] 3])
#@372 Kill all proper subdirs of DIRNAME, excluding DIRNAME itself.
Interactively, you can kill DIRNAME as well by using a prefix argument.
In interactive use, the command prompts for DIRNAME.

When called from Lisp, if REMEMBER-MARKS is non-nil, return an alist
of marked files.  If KILL-ROOT is non-nil, kill DIRNAME as well.

(fn DIRNAME &optional REMEMBER-MARKS KILL-ROOT)
(defalias 'dired-kill-tree #[769 "\301\302!!\262\303\211\203:@@\262A\262\204\"\230\204\n\304\"\203\n\305!\203\n\306!\244\262\202\n\207" [dired-subdir-alist file-name-as-directory expand-file-name nil dired-in-this-tree-p dired-goto-subdir dired-kill-subdir] 9 (#$ . 71120) "DKill tree below directory: \ni\nP"])
#@16 

(fn NEW-DIR)
(defalias 'dired-insert-subdir-newpos #[257 "\301\211\211\203'@\262A\262@\262\302\"\203\303!\262\301\262\202\211b\266m\2042\304y\210\305c\210`\207" [dired-subdir-alist nil dired-tree-lessp dired-get-subdir-max -1 "\n"] 8 (#$ . 71834)])
#@16 

(fn ELEMENT)
(defalias 'dired-insert-subdir-del #[257 "\211A\211b\210\300 b\210m\204\301u\210\302`\"`|\210\207" [dired-subdir-max -1 dired-remember-marks] 5 (#$ . 72112)])
#@25 

(fn DIRNAME SWITCHES)
(defalias 'dired-insert-subdir-doinsert #[514 "\212`\206\206\303\304\305	#\306\n!@@\232\203 \307 \210\202(\310	\311\211\312%\210)\211`D\262)\207" [dired-subdir-switches dired-actual-switches dired-subdir-alist dired-replace-in-string "R" "" last dired-readin-insert dired-insert-directory nil t] 9 (#$ . 72296)])
#@28 

(fn DIRNAME ELT BEG-END)
(defalias 'dired-insert-subdir-doupdate #[771 "\203A\301 \302\223\210\202\303\301 \"\210\205-\212\211@A@b\210\214}\210\304\300!)\266\202)\207" [dired-after-readin-hook point-marker nil dired-alist-add run-hooks] 7 (#$ . 72651)])
#@18 

(fn DIR1 DIR2)
(defalias 'dired-tree-lessp #[514 "\300!\262\300!\262\301\302\"\301\302\"\203-\211\203-@@\232\203-A\262\211A\262\202@@\203?\211\203?\231\202^\204K\211\204K\303\202^\204S\304\202^\211\204[\303\202^\305\306!\266\202\207" [file-name-as-directory dired-split "/" nil t error "This can't happen"] 8 (#$ . 72926)])
#@314 Splitting on regexp PAT, turn string STR into a list of substrings.
Optional third arg LIMIT (>= 1) is a limit to the length of the
resulting list.
Thus, if SEP is a regexp that only matches itself,

   (mapconcat #'identity (dired-split SEP STRING) SEP)

is always equal to STRING.

(fn PAT STR &optional LIMIT)
(defalias 'dired-split #[770 "\300\"\301\302#C\303\205\302\225\211\203G\250\203 W\203G\300#\203G\302\224\262T\262\301#B\262\302\225\262\211\262\202\250\203RW\203_\211\203_\301\"B\262\237\207" [string-match substring 0 1] 11 (#$ . 73293)])
#@179 Go to previous subdirectory, regardless of level.
When called interactively and not on a subdir line, go to this subdir's line.

(fn ARG &optional NO-ERROR-IF-NOT-FOUND NO-SKIP)
(defalias 'dired-prev-subdir #[769 "\300[#\207" [dired-next-subdir] 7 (#$ . 73897) (byte-code "\203\n\301!\202\302 \203\303\202\304C\207" [current-prefix-arg prefix-numeric-value dired-get-subdir 1 0] 2)])
(defalias 'dired-subdir-min #[0 "\212\300\301\302\211#\204\303\304!\202`)\207" [dired-prev-subdir 0 t error "Not in a subdir!"] 4])
#@142 Go to end of header line of DIR in this dired buffer.
Return value of point on success, otherwise return nil.
The next char is \n.

(fn DIR)
(defalias 'dired-goto-subdir #[257 "\301!\262\302\"\211\205\211Ab\205\303\210`\207" [dired-subdir-alist file-name-as-directory assoc nil] 4 (#$ . 74436) (byte-code "\301\302\303\304\305\306 %!C\307 \210\207" [dired-subdir-alist expand-file-name completing-read "Goto in situ directory: " nil t dired-current-directory push-mark] 7)])
#@183 Mark all files except `.' and `..' in current subdirectory.
If the Dired buffer shows multiple directories, this command
marks the files listed in the subdirectory that point is in.
(defalias 'dired-mark-subdir-files #[0 "\300 \301\302 \"\207" [dired-subdir-min dired-mark-files-in-region dired-subdir-max] 4 (#$ . 74928) nil])
#@103 Remove all lines of current subdirectory.
Lower levels are unaffected.

(fn &optional REMEMBER-MARKS)
(defalias 'dired-kill-subdir #[256 "\303 \304 \305 \306 \307\"\310\311\n!\232\203\312\313!\210\205\"\314\"|\210m\203.\315\316!\210\317!\210\203;\320\"\321!\210)\207" [dired-switches-alist buffer-read-only default-directory dired-subdir-min dired-subdir-max buffer-modified-p dired-current-directory assoc-string nil expand-file-name error "Attempt to kill top level directory" dired-remember-marks delete-char -1 dired-unsubdir delete restore-buffer-modified-p] 10 (#$ . 75264) nil])
#@12 

(fn DIR)
(defalias 'dired-unsubdir #[257 "\301\302\"\"\211\207" [dired-subdir-alist delq assoc] 5 (#$ . 75876)])
#@47 Go up ARG levels in the dired tree.

(fn ARG)
(defalias 'dired-tree-up #[257 "\300 \301Y\203S\262\302\303!!\262\202\304!\206 \305\306\"\207" [dired-current-directory 1 file-name-directory directory-file-name dired-goto-subdir error "Cannot go up to %s - not in this tree"] 5 (#$ . 76001) "p"])
#@28 Go down in the dired tree.
(defalias 'dired-tree-down #[0 "\302 \303\211\304	!\303\203+@\262A\262\305\306@!\"\203	\303\262\307@!\262\202	\266\211\2036\211b\2029\310\311!)\207" [case-fold-search dired-subdir-alist dired-current-directory nil reverse dired-in-this-tree-p directory-file-name dired-goto-subdir error "At the bottom"] 7 (#$ . 76313) nil])
(defalias 'dired-unhide-subdir #[0 "\303 \304\211\304\305\306\307\310\311!\312\"\313$\216\314\315 \316 \",\207" [buffer-undo-list inhibit-read-only inhibit-modification-hooks buffer-modified-p t make-byte-code 0 "\300?\205\301\302!\207" vconcat vector [restore-buffer-modified-p nil] 2 dired--unhide dired-subdir-min dired-subdir-max] 8])
#@12 

(fn DIR)
(defalias 'dired-subdir-hidden-p #[257 "\212\300!\210\301 )\207" [dired-goto-subdir dired--hidden-p] 3 (#$ . 77033)])
#@170 Hide or unhide the current subdirectory and move to next directory.
Optional prefix arg is a repeat factor.
Use \[dired-hide-all] to (un)hide all directories.

(fn ARG)
(defalias 'dired-hide-subdir #[257 "\305 \306\211\306\307\310\311\312\313!\314\"\315$\216S\211\262\310Y\205P\316 \317!\320\"\321!S\322Ab\210\322\210\203@\323`\"\210\202E\324`\"\210)\266\325\326\306\"\210\202,\207" [buffer-undo-list inhibit-read-only inhibit-modification-hooks dired-subdir-alist buffer-read-only buffer-modified-p t make-byte-code 0 "\300?\205\301\302!\207" vconcat vector [restore-buffer-modified-p nil] 2 dired-current-directory dired-subdir-hidden-p assoc dired-get-subdir-max nil dired--unhide dired--hide dired-next-subdir 1] 10 (#$ . 77170) "p"])
#@216 Hide all subdirectories, leaving only their header lines.
If there is already something hidden, make everything visible again.
Use \[dired-hide-subdir] to (un)hide a particular subdirectory.

(fn &optional IGNORED)
(defalias 'dired-hide-all #[256 "\304 \305\211\305\306\307\310\311\312!\313\"\314$\216\315ed\316\317$\203$\320ed\"\202Ld\211\205H\211@\211A\212b\210\321y\210`)\322\"\266\211A\262A\266\202\202&\262\262,\207" [buffer-undo-list inhibit-read-only inhibit-modification-hooks dired-subdir-alist buffer-modified-p t make-byte-code 0 "\300?\205\301\302!\207" vconcat vector [restore-buffer-modified-p nil] 2 text-property-any invisible dired dired--unhide -1 dired--hide] 11 (#$ . 77940) "P"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable dired-isearch-filenames funcall function #[0 "\300\207" [nil] 1] "Non-nil to Isearch in file names only.\nIf t, Isearch in Dired always matches only file names.\nIf `dwim', Isearch matches file names when initial point position is on\na file name.  Otherwise, it searches the whole buffer without restrictions." :type (choice (const :tag "No restrictions" nil) (const :tag "When point is on a file name initially, search file names" dwim) (const :tag "Always search in file names" t)) :group dired :version "23.1"] 10)
#@125 Non-nil if Dired-Isearch-Filenames mode is enabled.
Use the command `dired-isearch-filenames-mode' to change this variable.
(defvar dired-isearch-filenames-mode nil (#$ . 79281))
(make-variable-buffer-local 'dired-isearch-filenames-mode)
#@494 Toggle file names searching on or off.
When on, Isearch skips matches outside file names using the predicate
`dired-isearch-filter-filenames' that matches only at file names.
When off, it uses the original predicate.

If called interactively, enable Dired-Isearch-Filenames mode if ARG is
positive, and disable it if ARG is zero or negative.  If called from
Lisp, also enable the mode if ARG is omitted or nil, and toggle it if
ARG is `toggle'; disable the mode otherwise.

(fn &optional ARG)
(defalias 'dired-isearch-filenames-mode #[256 "\304 \305=\203
?\202\306!\307V\211\203#\310\311\312\313B\314\315$\210\2027\316\317\320!\314\"\211\317\320!=\2046\321\320\"\210\210	\203B\322\211\323 \210\324\325\203L\326\202M\327\"\210\330\331!\203q\304 \203a\211\304 \232\203q\332\333\334\203l\335\202m\336#\266\210\337 \210\207" [dired-isearch-filenames-mode isearch-mode isearch-success isearch-adjusted current-message toggle prefix-numeric-value 0 advice--add-function :before-while #[0 "\300\301!\207" [advice--buffer-local isearch-filter-predicate] 2] #[257 "\300\301\"\207" [advice--set-buffer-local isearch-filter-predicate] 4 "\n\n(fn GV--VAL)"] dired-isearch-filter-filenames ((isearch-message-prefix . "filename ")) advice--remove-function advice--buffer-local isearch-filter-predicate advice--set-buffer-local t isearch-update run-hooks dired-isearch-filenames-mode-hook dired-isearch-filenames-mode-on-hook dired-isearch-filenames-mode-off-hook called-interactively-p any " in current buffer" message "Dired-Isearch-Filenames mode %sabled%s" "en" "dis" force-mode-line-update] 8 (#$ . 79526) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar dired-isearch-filenames-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\207" [dired-isearch-filenames-mode-map dired-isearch-filenames-mode-hook variable-documentation put "Hook run after entering or leaving `dired-isearch-filenames-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode dired-isearch-filenames-mode nil boundp] 6)
#@92 Set up isearch to search in Dired file names.
Intended to be added to `isearch-mode-hook'.
(defalias 'dired-isearch-filenames-setup #[0 "\302=\204\303=\205#\304`\305\"\205#\306	\307\310#\210\310\311!\210\312\313\314\315\302$\207" [dired-isearch-filenames isearch-mode-map t dwim get-text-property dired-filename define-key "\363ff" dired-isearch-filenames-mode 1 add-hook isearch-mode-end-hook dired-isearch-filenames-end nil] 5 (#$ . 81707)])
#@64 Clean up the Dired file name search after terminating isearch.
(defalias 'dired-isearch-filenames-end #[0 "\302\303\304#\210\305\306!\210\307\310\311\312#\210	?\205\313\314!\207" [isearch-mode-map isearch-suspended define-key "\363ff" nil dired-isearch-filenames-mode -1 remove-hook isearch-mode-end-hook dired-isearch-filenames-end t kill-local-variable dired-isearch-filenames] 4 (#$ . 82163)])
#@235 Test whether some part of the current search match is inside a file name.
This function returns non-nil if some part of the text between BEG and END
is part of a file name (i.e., has the text property `dired-filename').

(fn BEG END)
(defalias 'dired-isearch-filter-filenames #[514 "\300^]\301\302$\207" [text-property-not-all dired-filename nil] 7 (#$ . 82570)])
#@75 Search for a string using Isearch only in file names in the Dired buffer.
(defalias 'dired-isearch-filenames #[0 "\301\300!\210\302\303\304\302\"\207" [dired-isearch-filenames make-local-variable t isearch-forward nil] 3 (#$ . 82944) nil])
#@75 Search for a regexp using Isearch only in file names in the Dired buffer.
(defalias 'dired-isearch-filenames-regexp #[0 "\301\300!\210\302\303\304\302\"\207" [dired-isearch-filenames make-local-variable t isearch-forward-regexp nil] 3 (#$ . 83191) nil])
#@61 Search for a string through all marked files using Isearch.
(defalias 'dired-do-isearch #[0 "\300\301\302\211\303\302\304%!\207" [multi-isearch-files dired-get-marked-files nil dired-nondirectory-p t] 7 (#$ . 83452) nil])
#@61 Search for a regexp through all marked files using Isearch.
(defalias 'dired-do-isearch-regexp #[0 "\300\301\302\211\303\302\304%!\207" [multi-isearch-files-regexp dired-get-marked-files nil dired-nondirectory-p t] 7 (#$ . 83680) nil])
#@234 Search through all marked files for a match for REGEXP.
If no files are marked, search through the file under point.

Stops when a match is found.

To continue searching for next match, use command \[fileloop-continue].

(fn REGEXP)
(defalias 'dired-do-search #[257 "\300\301\302\211\303#\304#\210\305 \207" [fileloop-initialize-search dired-get-marked-files nil dired-nondirectory-p default fileloop-continue] 7 (#$ . 83923) "sSearch marked files (regexp): "])
#@290 Do `query-replace-regexp' of FROM with TO, on all marked files.
Third arg DELIMITED (prefix arg) means replace only word-delimited matches.
If you exit (\[keyboard-quit], RET or q), you can resume the query replace
with the command \[tags-loop-continue].

(fn FROM TO &optional DELIMITED)
(defalias 'dired-do-query-replace-regexp #[770 "\301\302\211\303\302\304%\211\203*\211@\305!\211\203\"r\211q\210)\203\"\306\307\"\210\210A\266\202\202\210\310\301\302\211\303#\211\227\232?\205=\311%\210\312 \207" [buffer-read-only dired-get-marked-files nil dired-nondirectory-p t get-file-buffer error "File `%s' is visited read-only" fileloop-initialize-replace default fileloop-continue] 10 (#$ . 84393) (byte-code "\300\301\302\211#\211@A@\3038E\207" [query-replace-read-args "Query replace regexp in marked files" t 2] 5)])
#@403 Find all matches for REGEXP in all marked files.

If no files are marked, use the file under point.

For any marked directory, all of its files are searched recursively.
However, files matching `grep-find-ignored-files' and subdirectories
matching `grep-find-ignored-directories' are skipped in the marked
directories.

REGEXP should use constructs supported by your local `grep' command.

(fn REGEXP)
(defalias 'dired-do-find-regexp #[257 "\302\303!\210\302\304!\210\305\306\211\211\211\307%\310\311\312!\"	\244\313\314\315\316\317#\320\"\321$\322\306\"\207" [default-directory grep-find-ignored-files require grep xref dired-get-marked-files nil t mapcar file-name-as-directory rgrep-find-ignored-directories make-byte-code 0 "\303C\303\304\305\306\307\310\311\302\"\312\"\313\314%\301\237\"\210\315\300\242\"\262\211\204&\316\317\300\"\210\207" vconcat vector [nil mapc make-byte-code 257 "\302!\203\301\303\300\304#\301\242\244\240\207\301\301\242B\240\207" vconcat vector [file-directory-p project--files-in-directory "*"] 6 "\n\n(fn MARK)" xref-matches-in-files user-error "No matches for: %s"] 10 xref--show-xrefs] 11 (#$ . 85235) "sSearch marked files (regexp): "])
#@422 Replace matches of FROM with TO, in all marked files.

If no files are marked, use the file under point.

For any marked directory, matches in all of its files are replaced,
recursively.  However, files matching `grep-find-ignored-files'
and subdirectories matching `grep-find-ignored-directories' are skipped
in the marked directories.

REGEXP should use constructs supported by your local `grep' command.

(fn FROM TO)
(defalias 'dired-do-find-regexp-and-replace #[514 "\301\302!\210r\303\300\304N@!\305!)q\210\306\")\207" [xref-show-xrefs-function require xref eval standard-value dired-do-find-regexp xref-query-replace-in-results] 5 (#$ . 86434) (byte-code "\300\301\302\211#\211@A@D\207" [query-replace-read-args "Query replace regexp in marked files" t] 4)])
#@13 

(fn FILE)
(defalias 'dired-nondirectory-p #[257 "\300!?\207" [file-directory-p] 3 (#$ . 87211)])
#@225 Print the type of FILE, according to the `file' command.
If you give a prefix to this command, and FILE is a symbolic
link, then the type of the file linked to by FILE is printed
instead.

(fn FILE &optional DEREF-SYMLINKS)
(defalias 'dired-show-file-type #[513 "\301\302\303!r\211q\210\304\305\306\307\310!\311\"\312$\216\203(\313\314\301\315\211\316\317	&\210\2023\313\314\301\315\211\317&\210n\203;\320\321!\210\322\323\324 \"*\262)\207" [process-file-side-effects nil generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 process-file "file" t "-L" "--" backward-delete-char 1 message "%s" buffer-string] 11 (#$ . 87318) (byte-code "\301\302!D\207" [current-prefix-arg dired-get-filename t] 2)])
(provide 'dired-aux)

Youez - 2016 - github.com/yon3zu
LinuXploit