GNU bug report logs -
#1511
23.0.60; [PATCH] auto-insert: use expand-file-name rather than "concat".
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 1511 in the body.
You can then email your comments to 1511 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#1511
; Package
emacs
.
Full text and
rfc822 format available.
Acknowledgement sent to
"Eric Hanchrow" <eric.hanchrow <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
Full text and
rfc822 format available.
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.
Your bug report will be posted to the emacs-pretest-bug <at> gnu.org mailing list.
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:
I put this in my .emacs, and evaluated it:
(add-to-list 'auto-insert-alist `(scheme-mode
. ,(expand-file-name
"~/doodles/plt-scheme/v4-script-template.ss")))
I then visited a non-existent file whose name ended wit ".ss", and noted
that it was properly put into scheme-mode -- but it remained empty,
whereas I'd wanted to see the contents of v4-script-template.ss.
I determined that the auto-insert function was doing nothing when the
file name was absolute (but it appeared to do the right thing for
relative paths).
Anyway, here's the patch that works for me:
From 39bd280f55edd84d025b166a799c5a62bd2a6f9a Mon Sep 17 00:00:00 2001
From: Eric Hanchrow <offby1 <at> blarg.net>
Date: Sun, 7 Dec 2008 08:09:24 -0800
Subject: [PATCH] auto-insert: use expand-file-name rather than "concat".
---
lisp/autoinsert.el | 52
+++++++++++++++++++++++++++-------------------------
1 files changed, 27 insertions(+), 25 deletions(-)
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el
index 92a5f9f..3f555f8 100644
--- a/lisp/autoinsert.el
+++ b/lisp/autoinsert.el
@@ -343,31 +343,33 @@ Matches the visited file name against the
elements of `auto-insert-alist'."
;; Now, if we found something, do it
(and action
- (if (stringp action)
- (file-readable-p (concat auto-insert-directory action))
- t)
- (if auto-insert-query
- (or (if (eq auto-insert-query 'function)
- (eq this-command 'auto-insert))
- (y-or-n-p (format auto-insert-prompt desc)))
- t)
- (mapc
- (lambda (action)
- (if (stringp action)
- (if (file-readable-p
- (setq action (concat auto-insert-directory action)))
- (insert-file-contents action))
- (save-window-excursion
- ;; make buffer visible before skeleton or function
- ;; which might ask the user for something
- (switch-to-buffer (current-buffer))
- (if (and (consp action)
- (not (eq (car action) 'lambda)))
- (skeleton-insert action)
- (funcall action)))))
- (if (vectorp action)
- action
- (vector action))))
+ (let ((abs-file-name
+ (and (stringp action)
+ (expand-file-name action auto-insert-directory))))
+ (and
+ (stringp abs-file-name)
+ (if auto-insert-query
+ (or (if (eq auto-insert-query 'function)
+ (eq this-command 'auto-insert))
+ (y-or-n-p (format auto-insert-prompt desc)))
+ t)
+ (mapc
+ (lambda (action)
+ (if (stringp action)
+ (if (file-readable-p
+ (setq action (expand-file-name action
auto-insert-directory)))
+ (insert-file-contents action))
+ (save-window-excursion
+ ;; make buffer visible before skeleton or function
+ ;; which might ask the user for something
+ (switch-to-buffer (current-buffer))
+ (if (and (consp action)
+ (not (eq (car action) 'lambda)))
+ (skeleton-insert action)
+ (funcall action)))))
+ (if (vectorp action)
+ action
+ (vector abs-file-name))))))
(and (buffer-modified-p)
(not (eq this-command 'auto-insert))
(set-buffer-modified-p (eq auto-insert t)))))
--
1.6.1.rc1.35.gae26e
If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
`bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/local/src/emacs-with-my-tweaks.git/etc/DEBUG for instructions.
In GNU Emacs 23.0.60.1 (i686-pc-linux-gnu, GTK+ Version 2.14.4)
of 2008-12-06 on enver-laptop
Windowing system distributor `The X.Org Foundation', version 11.0.10502000
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: utf-8-unix
default-enable-multibyte-characters: t
Major mode: Diff
Minor modes in effect:
erc-ring-mode: t
erc-pcomplete-mode: t
erc-netsplit-mode: t
erc-button-mode: t
erc-fill-mode: t
erc-stamp-mode: t
erc-autojoin-mode: t
erc-track-mode: t
erc-match-mode: t
erc-services-mode: t
erc-networks-mode: t
erc-irccontrols-mode: t
erc-noncommands-mode: t
erc-readonly-mode: t
desktop-save-mode: t
display-time-mode: t
global-auto-revert-mode: t
diff-auto-refine-mode: t
shell-dirtrack-mode: t
tooltip-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
global-auto-composition-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
SPC " y o w " M-> <return> M-p C-p C-p C-p C-p M-b
M-d M e SPC < n o b o d y @ n o q <backspace> w h e
r e . c o m > M-> <return> M-p C-p C-p C-p C-p M-f
M-f C-b \ n M-> <return> M-p C-M-p C-n M-m C-M-k C-M-u
C-y C-M-k C-M-p M-1 M-( e x t r a c e <backspace> t
- a l l - f i e l d s C-M-o C-M-u C-M-q M-> <return>
M-p C-u C-p M-f M-f C-d C-d C-n M-b M-b M-b C-b C-M-k
M-SPC C-f M-d s n r u <backspace> <backspace> u r k
@ z o t z . o r g M-> <return> C-x b . s s C-g C-x
b i d o <return> M-1 C-x $ C-x b s h e <return> c d
SPC / u s r l o c <tab> <backspace> <backspace> <backspace>
/ l o c <tab> r <tab> <backspace> <backspace> s r <tab>
e m <tab> - <tab> w <tab> <return> g i t SPC s h o
w <return> C-x 1 C-c C-p M-0 C-l M-> M-p SPC - - i
g n o r e - a l l - s p a c e <return> C-c C-p M-0
C-l C-v M-> M-p C-a C-e C-c C-u f o r SPC <M-backspace>
g i t SPC f o r m a t - p a t h <backspace> c h SPC
H E A D ^ <return> C-p M-x f f a p <return> <return>
C-x b i n i <return> C-a C-p M-m C-M-SPC M-w M-x r
e p o r t - e m <tab> <return> C-x o C-x b C-x b <return>
M-x M-p <return>
Recent messages:
Completed
Partially completed
Type space to flush; repeat completion command to scroll
Completed
/usr/local/src/emacs-with-my-tweaks.git
Mark set
History item: 1
Mark set
History item: 1
Mark set
byte-code: Command attempted to use minibuffer while in minibuffer
Reply sent to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
You have taken responsibility.
Full text and
rfc822 format available.
Notification sent to
"Eric Hanchrow" <eric.hanchrow <at> gmail.com>
:
bug acknowledged by developer.
Full text and
rfc822 format available.
Message #10 received at 1511-done <at> emacsbugs.donarmstrong.com (full text, mbox):
> I determined that the auto-insert function was doing nothing when the
> file name was absolute (but it appeared to do the right thing for
> relative paths).
Thanks. Should be fixed now.
Stefan
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> emacsbugs.donarmstrong.com
.
(Tue, 06 Jan 2009 15:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 16 years and 226 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.