From unknown Sun Aug 17 10:17:16 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#11055 <11055@debbugs.gnu.org> To: bug#11055 <11055@debbugs.gnu.org> Subject: Status: 23.4; move-file-to-trash bug in files.el.gz with patch Reply-To: bug#11055 <11055@debbugs.gnu.org> Date: Sun, 17 Aug 2025 17:17:16 +0000 retitle 11055 23.4; move-file-to-trash bug in files.el.gz with patch reassign 11055 emacs submitter 11055 David Casperson severity 11055 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 21 12:40:21 2012 Received: (at submit) by debbugs.gnu.org; 21 Mar 2012 16:40:21 +0000 Received: from localhost ([127.0.0.1]:59837 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SAOaB-0001MD-6N for submit@debbugs.gnu.org; Wed, 21 Mar 2012 12:40:21 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34489) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SAC8H-000637-1I for submit@debbugs.gnu.org; Tue, 20 Mar 2012 23:22:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SABeZ-0004o5-0N for submit@debbugs.gnu.org; Tue, 20 Mar 2012 22:52:01 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, SUBJ_OBFU_PUNCT_FEW autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:35004) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SABeY-0004nc-Sl for submit@debbugs.gnu.org; Tue, 20 Mar 2012 22:51:58 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59974) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SABeV-0000yN-Sd for bug-gnu-emacs@gnu.org; Tue, 20 Mar 2012 22:51:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SABeS-0004gF-A1 for bug-gnu-emacs@gnu.org; Tue, 20 Mar 2012 22:51:55 -0400 Received: from asmtpout027.mac.com ([17.148.16.102]:33611) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SABeS-0004g7-0I for bug-gnu-emacs@gnu.org; Tue, 20 Mar 2012 22:51:52 -0400 MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII Received: from tl-fac-1-226-83.unbc.ca (tl-fac-1-226-83.unbc.ca [142.207.226.83]) by asmtp027.mac.com (Oracle Communications Messaging Server 7u4-23.01 (7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPSA id <0M17007OVRXWZO50@asmtp027.mac.com> for bug-gnu-emacs@gnu.org; Tue, 20 Mar 2012 19:51:34 -0700 (PDT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.6.7498,1.0.260,0.0.0000 definitions=2012-03-21_01:2012-03-20, 2012-03-21, 1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 suspectscore=1 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=6.0.2-1012030000 definitions=main-1203200333 From: David Casperson Subject: 23.4; move-file-to-trash bug in files.el.gz with patch Date: Tue, 20 Mar 2012 19:51:34 -0700 Message-id: <19AFE4DF-6253-4721-B197-E745F4A35F64@me.com> To: bug-gnu-emacs@gnu.org X-Mailer: Apple Mail (2.1257) X-detected-operating-system: by eggs.gnu.org: Solaris 10 (1203?) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.2 (------) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 21 Mar 2012 12:40:17 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.2 (------) 1. Create a file whose name is not a legal regular expression, e.g., =E2=80=9C~/[=E2=80=9C.=20 2. Provoke move-to-trash, for instance M-x eval-expression (move-file-to-trash (expand-file-name =E2=80=9C~/[=E2=80=9C)) The problem comes from using file-names as regular expressions without quoting. Here is a potential patch. You may use and copy-left as you see fit.=20=20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D *** files-original.el Wed Jan 11 04:35:01 2012 --- files.el Tue Mar 20 19:37:20 2012 *************** *** 6239,6248 **** ;; If `trash-directory' is non-nil, move the file there. (let* ((trash-dir (expand-file-name trash-directory)) (fn (directory-file-name (expand-file-name filename))) (new-fn (expand-file-name (file-name-nondirectory fn) trash-dir))) ;; We can't trash a parent directory of trash-directory. ! (if (string-match fn trash-dir) (error "Trash directory `%s' is a subdirectory of `%s'" trash-dir filename)) (unless (file-directory-p trash-dir) --- 6239,6249 ---- ;; If `trash-directory' is non-nil, move the file there. (let* ((trash-dir (expand-file-name trash-directory)) (fn (directory-file-name (expand-file-name filename))) + (fn-pattern (regexp-quote fn)) (new-fn (expand-file-name (file-name-nondirectory fn) trash-dir))) ;; We can't trash a parent directory of trash-directory. ! (if (string-match fn-pattern trash-dir) (error "Trash directory `%s' is a subdirectory of `%s'" trash-dir filename)) (unless (file-directory-p trash-dir) *************** *** 6267,6283 **** "~/.local/share")))) (trash-files-dir (expand-file-name "files" xdg-data-dir)) (trash-info-dir (expand-file-name "info" xdg-data-dir)) ! (fn (directory-file-name (expand-file-name filename)))) =20=20 ;; Check if we have permissions to delete. (unless (file-writable-p (directory-file-name (file-name-directory fn))) (error "Cannot move %s to trash: Permission denied" filename)) ;; The trashed file cannot be the trash dir or its parent. ! (if (string-match fn trash-files-dir) (error "The trash directory %s is a subdirectory of %s" trash-files-dir filename)) ! (if (string-match fn trash-info-dir) (error "The trash directory %s is a subdirectory of %s" trash-info-dir filename)) =20=20 --- 6268,6285 ---- "~/.local/share")))) (trash-files-dir (expand-file-name "files" xdg-data-dir)) (trash-info-dir (expand-file-name "info" xdg-data-dir)) ! (fn (directory-file-name (expand-file-name filename))) ! (fn-pattern (regexp-quote fn))) =20=20 ;; Check if we have permissions to delete. (unless (file-writable-p (directory-file-name (file-name-directory fn))) (error "Cannot move %s to trash: Permission denied" filename)) ;; The trashed file cannot be the trash dir or its parent. ! (if (string-match fn-pattern trash-files-dir) (error "The trash directory %s is a subdirectory of %s" trash-files-dir filename)) ! (if (string-match fn-pattern trash-info-dir) (error "The trash directory %s is a subdirectory of %s" trash-info-dir filename)) =20=20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D HTH, David Casperson In GNU Emacs 23.4.1 (x86_64-apple-darwin, NS apple-appkit-1038.36) of 2012-01-29 on bob.porkrind.org Windowing system distributor `Apple', version 10.3.1138 configured using `configure '--host=3Dx86_64-apple-darwin' '--build=3Di686= -apple-darwin' '--with-ns' 'build_alias=3Di686-apple-darwin' 'host_alias=3D= x86_64-apple-darwin' 'CC=3Dgcc -mmacosx-version-min=3D10.5'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: nil value of $XMODIFIERS: nil locale-coding-system: nil default enable-multibyte-characters: t Major mode: Text Minor modes in effect: diff-auto-refine-mode: t shell-dirtrack-mode: t msb-mode: t server-mode: t tooltip-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t blink-cursor-mode: t auto-encryption-mode: t auto-compression-mode: t temp-buffer-resize-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent input: l C-x C-f M-p f i l s =20 C-s m o v e - f C-w C-w C-w C-s C-s C-s C-s=20 C-s C-l C-a C-SPC C-M-f C-f C-w C-o C-n C-n C-SPC C-M-f=20 C-f M-w C-o C-y C-x C-s M-` C-g M-x m a n =20 d i f f C-o C-v C-v C-v C-v C-v C-v C-v C-o=20 C-x C-j C-x 4 b f i ? l C-x C-j=20 C M-p M-b M-b M-b M-f - o r i g i n a l C-o=20 C-o g C-x M-p C-g C M-p C-g C-o g=20 p m m ! g d x y e s M-! i d f f =20 d i f f SPC - C=20 3 SPC C-x 9 r f i l e s - =20 SPC f i l e s . e C-o C-v C-v C-v C-o=20 p f C-x 1 C-s m o v e C-g C-s ( d e f u n SPC m o v=20 e C-a C-n C-f C-f C-f C-SPC C-n C-a C-w C-x C-s C-n=20 C-n C-n C-n C-n C-n C-n C-n C-n C-n C-e M-z " C-x C-s=20 C-x C-j C-x M-p p o C-s=20 C-s C-a C-n C-SPC C-n C-n C-n C-n C-n C-n C-n C-n C-n=20 C-n C-n C-n M-w C-o C-n f C-a C-p C-p C-p C-p C-p C-p=20 C-p C-p C-p C-p C-y C-M-k C-k C-x C-s C-o C-v C-o C-x=20 C-o C-v C-v C-x C-s C-g=20 C-x C-w f i l e s - d i f f . t x t M-x r=20 e p o r Recent messages: Saving file /Users/casper/Library/emacs/lisp/Files/files.el... Wrote /Users/casper/Library/emacs/lisp/Files/files.el Directory has changed on disk; type g to update Dired Mark saved where search started Mark set [2 times] Saving file /Users/casper/Library/emacs/lisp/Files/files.el... Wrote /Users/casper/Library/emacs/lisp/Files/files.el Quit Saving file /Users/casper/Library/emacs/lisp/Files/files-diff.txt... Wrote /Users/casper/Library/emacs/lisp/Files/files-diff.txt Load-path shadows: /Users/casper/Library/emacs/lisp/progmodes/Prolog/bruda/prolog hides /Appli= cations/Emacs.app/Contents/Resources/lisp/progmodes/prolog /Users/casper/Library/emacs/lisp/Modes/nxml-mode/xsd-regexp hides /Applicat= ions/Emacs.app/Contents/Resources/lisp/nxml/xsd-regexp /Users/casper/Library/emacs/lisp/Modes/nxml-mode/xmltok hides /Applications= /Emacs.app/Contents/Resources/lisp/nxml/xmltok /Users/casper/Library/emacs/lisp/Modes/nxml-mode/rng-xsd hides /Application= s/Emacs.app/Contents/Resources/lisp/nxml/rng-xsd /Users/casper/Library/emacs/lisp/Modes/nxml-mode/rng-valid hides /Applicati= ons/Emacs.app/Contents/Resources/lisp/nxml/rng-valid /Users/casper/Library/emacs/lisp/Modes/nxml-mode/rng-util hides /Applicatio= ns/Emacs.app/Contents/Resources/lisp/nxml/rng-util /Users/casper/Library/emacs/lisp/Modes/nxml-mode/rng-uri hides /Application= s/Emacs.app/Contents/Resources/lisp/nxml/rng-uri /Users/casper/Library/emacs/lisp/Modes/nxml-mode/rng-pttrn hides /Applicati= ons/Emacs.app/Contents/Resources/lisp/nxml/rng-pttrn /Users/casper/Library/emacs/lisp/Modes/nxml-mode/rng-parse hides /Applicati= ons/Emacs.app/Contents/Resources/lisp/nxml/rng-parse /Users/casper/Library/emacs/lisp/Modes/nxml-mode/rng-nxml hides /Applicatio= ns/Emacs.app/Contents/Resources/lisp/nxml/rng-nxml /Users/casper/Library/emacs/lisp/Modes/nxml-mode/rng-match hides /Applicati= ons/Emacs.app/Contents/Resources/lisp/nxml/rng-match /Users/casper/Library/emacs/lisp/Modes/nxml-mode/rng-maint hides /Applicati= ons/Emacs.app/Contents/Resources/lisp/nxml/rng-maint /Users/casper/Library/emacs/lisp/Modes/nxml-mode/rng-loc hides /Application= s/Emacs.app/Contents/Resources/lisp/nxml/rng-loc /Users/casper/Library/emacs/lisp/Modes/nxml-mode/rng-dt hides /Applications= /Emacs.app/Contents/Resources/lisp/nxml/rng-dt /Users/casper/Library/emacs/lisp/Modes/nxml-mode/rng-cmpct hides /Applicati= ons/Emacs.app/Contents/Resources/lisp/nxml/rng-cmpct /Users/casper/Library/emacs/lisp/Modes/nxml-mode/nxml-util hides /Applicati= ons/Emacs.app/Contents/Resources/lisp/nxml/nxml-util /Users/casper/Library/emacs/lisp/Modes/nxml-mode/nxml-uchnm hides /Applicat= ions/Emacs.app/Contents/Resources/lisp/nxml/nxml-uchnm /Users/casper/Library/emacs/lisp/Modes/nxml-mode/nxml-rap hides /Applicatio= ns/Emacs.app/Contents/Resources/lisp/nxml/nxml-rap /Users/casper/Library/emacs/lisp/Modes/nxml-mode/nxml-parse hides /Applicat= ions/Emacs.app/Contents/Resources/lisp/nxml/nxml-parse /Users/casper/Library/emacs/lisp/Modes/nxml-mode/nxml-outln hides /Applicat= ions/Emacs.app/Contents/Resources/lisp/nxml/nxml-outln /Users/casper/Library/emacs/lisp/Modes/nxml-mode/nxml-ns hides /Application= s/Emacs.app/Contents/Resources/lisp/nxml/nxml-ns /Users/casper/Library/emacs/lisp/Modes/nxml-mode/nxml-mode hides /Applicati= ons/Emacs.app/Contents/Resources/lisp/nxml/nxml-mode /Users/casper/Library/emacs/lisp/Modes/nxml-mode/nxml-maint hides /Applicat= ions/Emacs.app/Contents/Resources/lisp/nxml/nxml-maint /Users/casper/Library/emacs/lisp/Modes/nxml-mode/nxml-glyph hides /Applicat= ions/Emacs.app/Contents/Resources/lisp/nxml/nxml-glyph /Users/casper/Library/emacs/lisp/Modes/nxml-mode/nxml-enc hides /Applicatio= ns/Emacs.app/Contents/Resources/lisp/nxml/nxml-enc /Applications/Emacs.app/Contents/Resources/lisp/uniquify hides /Users/caspe= r/Library/emacs/lisp/Files/uniquify /Applications/Emacs.app/Contents/Resources/lisp/files hides /Users/casper/L= ibrary/emacs/lisp/Files/files /Users/casper/Library/emacs/lisp/slinks hides /Users/casper/Library/emacs/l= isp/Obsolete/slinks /Users/casper/Library/emacs/lisp/Modes/filladapt hides /Users/casper/Librar= y/emacs/lisp/Obsolete/filladapt /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/rx hides /Users/= casper/Library/emacs/lisp/Regexps/rx /Users/casper/Library/emacs/lisp/Files/temp2 hides /Users/casper/Library/em= acs/lisp/Scratch Work/temp2 /Users/casper/Library/emacs/lisp/TeX/one-sentence-regions hides /Users/casp= er/Library/emacs/lisp/Tweaks/one-sentence-regions /Users/casper/Library/emacs/lisp/aldor-hooks hides /Users/casper/Library/em= acs/lisp/progmodes/aldor-hooks /Users/casper/Library/emacs/lisp/Dired/dired-smart-view hides /Users/casper= /Library/emacs/lisp/Dired/in-progress/dired-smart-view /Users/casper/Library/emacs/lisp/Dired/dired-after-readin-overlay hides /Us= ers/casper/Library/emacs/lisp/Dired/in-progress/dired-after-readin-overlay /Users/casper/Library/emacs/lisp/Dired/dired-hide-dot-files hides /Users/ca= sper/Library/emacs/lisp/Dired/obsolete/dired-hide-dot-files /Applications/Emacs.app/Contents/Resources/lisp/textmodes/underline hides /= Users/casper/Library/emacs/lisp/Obsolete/junk-maybe/underline /Applications/Emacs.app/Contents/Resources/lisp/obsolete/resume hides /User= s/casper/Library/emacs/lisp/Obsolete/junk-maybe/resume /Users/casper/Library/emacs/lisp/Dired/dired-fix hides /Users/casper/Librar= y/emacs/lisp/Obsolete/junk-maybe/dired-fix /Users/casper/Library/emacs/lisp/Obsolete/junk-maybe/cmutex hides /Users/ca= sper/Library/emacs/lisp/Obsolete/old/cmutex /Users/casper/Library/emacs/lisp/Obsolete/junk-maybe/cmushell hides /Users/= casper/Library/emacs/lisp/Obsolete/old/cmushell /Users/casper/Library/emacs/lisp/progmodes/C/c-cut-region-to-file hides /Us= ers/casper/Library/emacs/lisp/progmodes/C++/c-cut-region-to-file /Users/casper/Library/emacs/lisp/progmodes/eiffel-mode hides /Users/casper/= Library/emacs/lisp/progmodes/Eiffel/eiffel-mode /Applications/Emacs.app/Contents/Resources/lisp/progmodes/ruby-mode hides /= Users/casper/Library/emacs/lisp/progmodes/Ruby/ruby-mode /Users/casper/Library/emacs/lisp/progmodes/C/c-cut-region-to-file hides /Us= ers/casper/Library/emacs/lisp/progmodes/c-common/c-cut-region-to-file /Applications/Emacs.app/Contents/Resources/lisp/cedet/pulse hides /Users/ca= sper/Library/emacs/lisp/progmodes/cedet-1.0/common/pulse /Applications/Emacs.app/Contents/Resources/lisp/cedet/mode-local hides /Use= rs/casper/Library/emacs/lisp/progmodes/cedet-1.0/common/mode-local /Applications/Emacs.app/Contents/Resources/lisp/cedet/inversion hides /User= s/casper/Library/emacs/lisp/progmodes/cedet-1.0/common/inversion /Applications/Emacs.app/Contents/Resources/lisp/ezimage hides /Users/casper= /Library/emacs/lisp/progmodes/cedet-1.0/common/ezimage /Applications/Emacs.app/Contents/Resources/lisp/cedet/data-debug hides /Use= rs/casper/Library/emacs/lisp/progmodes/cedet-1.0/common/data-debug /Applications/Emacs.app/Contents/Resources/lisp/cedet/cedet hides /Users/ca= sper/Library/emacs/lisp/progmodes/cedet-1.0/common/cedet /Applications/Emacs.app/Contents/Resources/lisp/cedet/cedet-idutils hides /= Users/casper/Library/emacs/lisp/progmodes/cedet-1.0/common/cedet-idutils /Applications/Emacs.app/Contents/Resources/lisp/cedet/cedet-global hides /U= sers/casper/Library/emacs/lisp/progmodes/cedet-1.0/common/cedet-global /Applications/Emacs.app/Contents/Resources/lisp/cedet/cedet-files hides /Us= ers/casper/Library/emacs/lisp/progmodes/cedet-1.0/common/cedet-files /Applications/Emacs.app/Contents/Resources/lisp/cedet/cedet-cscope hides /U= sers/casper/Library/emacs/lisp/progmodes/cedet-1.0/common/cedet-cscope /Applications/Emacs.app/Contents/Resources/lisp/cedet/ede hides /Users/casp= er/Library/emacs/lisp/progmodes/cedet-1.0/ede/ede /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/eieio hides /Use= rs/casper/Library/emacs/lisp/progmodes/cedet-1.0/eieio/eieio /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/eieio-speedbar h= ides /Users/casper/Library/emacs/lisp/progmodes/cedet-1.0/eieio/eieio-speed= bar /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/eieio-opt hides = /Users/casper/Library/emacs/lisp/progmodes/cedet-1.0/eieio/eieio-opt /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/eieio-datadebug = hides /Users/casper/Library/emacs/lisp/progmodes/cedet-1.0/eieio/eieio-data= debug /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/eieio-custom hid= es /Users/casper/Library/emacs/lisp/progmodes/cedet-1.0/eieio/eieio-custom /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/eieio-comp hides= /Users/casper/Library/emacs/lisp/progmodes/cedet-1.0/eieio/eieio-comp /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/eieio-base hides= /Users/casper/Library/emacs/lisp/progmodes/cedet-1.0/eieio/eieio-base /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/chart hides /Use= rs/casper/Library/emacs/lisp/progmodes/cedet-1.0/eieio/chart /Applications/Emacs.app/Contents/Resources/lisp/cedet/semantic hides /Users= /casper/Library/emacs/lisp/progmodes/cedet-1.0/semantic/semantic /Applications/Emacs.app/Contents/Resources/lisp/speedbar hides /Users/caspe= r/Library/emacs/lisp/progmodes/cedet-1.0/speedbar/speedbar /Applications/Emacs.app/Contents/Resources/lisp/sb-image hides /Users/caspe= r/Library/emacs/lisp/progmodes/cedet-1.0/speedbar/sb-image /Applications/Emacs.app/Contents/Resources/lisp/dframe hides /Users/casper/= Library/emacs/lisp/progmodes/cedet-1.0/speedbar/dframe /Applications/Emacs.app/Contents/Resources/lisp/cedet/srecode hides /Users/= casper/Library/emacs/lisp/progmodes/cedet-1.0/srecode/srecode Features: (shadow sort mail-extr message ecomplete rfc822 mml mml-sec password-cache mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util netrc time-date mm-util mail-prsvr gmm-utils mailheader canlock sha1 hex-util hashcash mail-utils emacsbug tabify man assoc tmm electric jka-compr find-func vc-dispatcher vc-svn magit diff-mode log-edit easy-mmode pcvs-util add-log multi-isearch iso-transl find-dired dired-mac-open pico-server-done-function osx-osascript longlines mail-reply-mode derived ansi-color shell compile comint ring my-zap-to-char change-case rect dabbrev cc-def cc-common-def skeleton cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs arc-mode archive-mode dired-create-directory-fix wdired dired-up-directory-and-remove-buffer mule-util help-mode view dired-x dired-aux dired-mac-fix dired-follow-mac-link dired-delete-file-fix dired-fix dired regexp-opt eldoc file-mode-tools buff-menu-aux msb-fix msb cedet nxml-enc paren mic-paren diminish save-file-name-history cl cl-19 insert color-insert swap-volume rx customized-find-file dired-mac-init edmacro kmacro cus-edit wid-edit filladapt prolog sh-script executable uniquify advice help-fns advice-preload server cus-start cus-load tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win easymenu tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces cus-face files text-properties overlay md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process ns multi-tty emacs) From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 21 23:20:43 2012 Received: (at 11055-done) by debbugs.gnu.org; 22 Mar 2012 03:20:43 +0000 Received: from localhost ([127.0.0.1]:60365 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SAYZu-0003si-FL for submit@debbugs.gnu.org; Wed, 21 Mar 2012 23:20:43 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.183]:63700) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SAYZZ-0003sC-NT for 11055-done@debbugs.gnu.org; Wed, 21 Mar 2012 23:20:40 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AicFAKU/KE9FpYqr/2dsb2JhbACBX5x7eYhwnhmGGQSbGYQJ X-IronPort-AV: E=Sophos;i="4.73,1,1325480400"; d="scan'208";a="169320018" Received: from 69-165-138-171.dsl.teksavvy.com (HELO fmsmemgm.homelinux.net) ([69.165.138.171]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 21 Mar 2012 22:49:35 -0400 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 991B0AE220; Wed, 21 Mar 2012 22:49:34 -0400 (EDT) From: Stefan Monnier To: David Casperson Subject: Re: bug#11055: 23.4; move-file-to-trash bug in files.el.gz with patch Message-ID: References: <19AFE4DF-6253-4721-B197-E745F4A35F64@me.com> Date: Wed, 21 Mar 2012 22:49:34 -0400 In-Reply-To: <19AFE4DF-6253-4721-B197-E745F4A35F64@me.com> (David Casperson's message of "Tue, 20 Mar 2012 19:51:34 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 11055-done Cc: 11055-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.9 (-) > 1. Create a file whose name is not a legal regular expression, e.g., > =E2=80=9C~/[=E2=80=9C.=20 > 2. Provoke move-to-trash, for instance > M-x eval-expression > (move-file-to-trash (expand-file-name =E2=80=9C~/[=E2=80=9C)) > The problem comes from using file-names as regular expressions without > quoting. Here is a potential patch. You may use and copy-left as you > see fit.=20=20 Thanks, I used a slightly different patch but it should be fixed now on the trunk, Stefan From unknown Sun Aug 17 10:17:16 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 19 Apr 2012 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator