Commit graph

1398 commits

Author SHA1 Message Date
Glenn Morris
f7fd3d79b7 Another dir-locals iteration
* lisp/files.el (dir-locals-find-file):
Don't check result is regular, readable.
(dir-locals-read-from-file): Demote errors.
2012-03-08 22:21:49 -05:00
Glenn Morris
9a40b8d45e Undo 2012-03-06T08:22:42Z!rgm@gnu.org
* lisp/files.el (locate-dominating-file, dir-locals-find-file):
Undo 2012-03-06 change.
2012-03-07 22:06:28 -08:00
Glenn Morris
99a8306435 Tweak previous dir-locals-find-file change
* lisp/files.el (locate-dominating-file): Add optional predicate argument.
(dir-locals-find-file): Make use of above change.
2012-03-06 00:22:42 -08:00
Glenn Morris
8f2114eef3 dir-locals-find-file tweak for "odd" .dir-locals.el (bug#10928)
* lisp/files.el (dir-locals-find-file):
Ignore non-readable or non-regular files.
2012-03-05 21:50:28 -05:00
Glenn Morris
eb18244605 * lisp/files.el (locate-dominating-file): Doc fix. 2012-03-05 21:31:32 -05:00
Michael Albinus
a032a70212 * files.el (file-equal-p): Fix docstring. Avoid unnecessary
access of FILE2, if FILE1 does not exist.
2012-03-01 09:33:50 +01:00
thierry volpiatto
96b4930127 * lisp/files.el (file-equal-p): renamed from `files-equal-p'.
Now return nil when one or both files doesn't exists.
(file-subdir-of-p): Now only top directory must exists,
return nil if it doesn't.
(copy-directory): No need to test with `file-subdir-of-p' after creating dir.
* tramp.el (tramp-file-name-for-operation): Rename `files-equal-p' to `file-equal-p'.
* files.texi: Rename `files-equal-p' to `file-equal-p'.
2012-02-28 10:28:52 +01:00
Glenn Morris
44e97401cd Standardize possessive apostrophe usage in manuals, docs, and comments
Ref: http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00649.html
2012-02-28 00:17:21 -08:00
Chong Yidong
9a4888c093 Code and doc fixes for file-subdir-of-p and files-equal-p.
* lisp/files.el (files-equal-p): Doc fix.
(file-subdir-of-p): Doc fix.  Convert loop macro to plain Lisp,
and quit the loop once a mismatch is found.

* doc/lispref/files.texi (Kinds of Files): Improve documentation of
files-equal-p and file-subdir-of-p.
2012-02-26 17:08:19 +08:00
Glenn Morris
ec70a47da9 Fix previous change files.el change 2012-02-24 14:25:38 -05:00
thierry volpiatto
25b2e303b0 Fix bug#10489: 24.0.92 `dired-do-copy' may create infinite directory hierarchy.
* lisp/files.el (files-equal-p): New, simple equality check between two filename.
(file-subdir-of-p): New, Check if dir1 is subdir of dir2.
(copy-directory): Return error when trying to copy a directory on itself.
Add missing copy-contents arg to tramp handler.

* lisp/dired-aux.el (dired-copy-file-recursive): Same.
(dired-create-files): Modify destination when source is equal to dest when copying files.
Return also when dest is a subdir of source.
2012-02-24 19:04:03 +01:00
Glenn Morris
b011fbfe6c Doc fixes for remote-file-name-inhibit-cache
* doc/lispref/files.texi (Magic File Names):
Tweak remote-file-name-inhibit-cache entry.
* lisp/files.el (remote-file-name-inhibit-cache): Doc fixes.
* etc/NEWS: Edits.
2012-02-10 00:08:23 -08:00
Glenn Morris
cf3aa21bc8 * lisp/files.el (rename-uniquely): Doc fix. (Bug#3806) 2012-02-09 15:27:54 -05:00
Glenn Morris
8f05da4228 Document revert-buffer-in-progress-p
* doc/lispref/backups.texi (Reverting): Mention revert-buffer-in-progress-p.
* lisp/files.el (revert-buffer): Doc fix (mention revert-buffer-in-progress-p).
* etc/NEWS: Related markup.
2012-02-04 14:04:12 -08:00
Paul Eggert
b13f806e12 Spelling fix. 2012-01-23 11:44:28 -08:00
Glenn Morris
7b447e9bda File-local variable fixes.
* lisp/files.el (local-enable-local-variables): Doc fix.
(inhibit-local-variables-regexps): Rename from inhibit-first-line-modes-regexps.
Keep old name as obsolete alias.  Doc fix.
Add some extensions from auto-coding-alist.
(inhibit-local-variables-suffixes):
Rename from inhibit-first-line-modes-suffixes.  Doc fix.
(inhibit-local-variables-p): New function, extracted from set-auto-mode-1.
(set-auto-mode): Doc fix.  Respect inhibit-local-variables-regexps.
(set-auto-mode-1): Doc fix.  Use inhibit-local-variables-p.
(hack-local-variables): Doc fix.
Make the mode-only case respect enable-local-variables and friends.
Respect inhibit-local-variables-regexps for file-locals,
but not for directory-locals.
(set-visited-file-name): Take account of inhibit-local-variables-regexps.
Whether it applies may change as the file name is changed.
* lisp/jka-cmpr-hook.el (jka-compr-install):
* lisp/jka-compr.el (jka-compr-uninstall):
Update for inhibit-first-line-modes-suffixes name change.

* etc/NEWS: Mention this change.

Fixes: debbugs:10506
2012-01-20 16:41:05 -08:00
Glenn Morris
f3860cea15 files.el doc fixes.
* lisp/files.el (auto-mode-alist, inhibit-first-line-modes-regexps)
(set-auto-mode): Doc fixes.
2012-01-17 20:33:19 -05:00
Paul Eggert
9a0115abd1 Merge from trunk. 2012-01-07 11:51:13 -08:00
Chong Yidong
89bd9ccd5b More customization-related documentation updates.
* doc/emacs/custom.texi (Specifying File Variables): The mode: keyword
doesn't have to be first anymore.  Add example of specifying minor
modes.
(Directory Variables): Simplify example.  Mention application to
non-file buffers.
(Disabling): Use "initialization file" terminology.
(Init Examples): Fix hook example.

* doc/lispref/variables.texi (Directory Local Variables): Document
hack-dir-local-variables-non-file-buffer.

* lisp/files.el (hack-dir-local-variables-non-file-buffer): Add doc.
(hack-one-local-variable-eval-safep): Allow 0 arg for minor mode
functions, along with 1 and -1.
2012-01-06 18:53:41 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Paul Eggert
6bb72cbd8b * files.el (move-file-to-trash): Preserve default file modes on error. 2011-12-29 13:08:18 -08:00
Drew Adams
bace743a4a * files.el (file-remote-p): Fix docstring. (Bug#10319) 2011-12-21 19:33:38 +01:00
Paul Eggert
c80e3b4aed Spelling fixes. 2011-12-04 00:02:42 -08:00
Stefan Monnier
24510c22a3 * lisp/files.el (find-file): Don't use force-same-window.
* lisp/window.el (switch-to-buffer): Better match Emacs-23 behavior and only
use pop-to-buffer if the selected window can't be used.
(pop-to-buffer-same-window): Use display-buffer--same-window-action.

Fixes: debbugs:10144
2011-11-28 14:43:52 -05:00
Paul Eggert
e1dbe924b5 Spelling fixes. 2011-11-19 18:29:42 -08:00
Paul Eggert
8350f087ef Spelling fixes. 2011-11-14 12:23:26 -08:00
Glenn Morris
b2621720c3 toggle-read-only fixes for bugs#7292, 10006.
* doc/lispref/buffers.texi (Read Only Buffers): Expand a bit on why
toggle-read-only should only be used interactively.

* lisp/files.el (toggle-read-only): Mention that it should only
be used interactively.

* lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Add toggle-read-only.
2011-11-09 21:17:45 -05:00
Stefan Monnier
05a61ee3e6 * lisp/files.el (find-file): Always use selected-window. 2011-11-07 09:34:02 -05:00
Glenn Morris
51bc5f8b73 Make set-visited-file-name reload local variables if needed.
* lisp/files.el (set-visited-file-name):
If the major-mode changed, reload the local variables.

Fixes: debbugs:9796
2011-10-26 23:38:32 -07:00
Chong Yidong
86c6068184 Make vc-toggle-read-only an alias for toggle-read-only.
It hasn't worked in a VC sense since 2008-05-02T07:12:59Z!esr@snark.thyrsus.com, though this was
not documented at the time (grr).

* lisp/vc/vc-hooks.el (vc-toggle-read-only): Make it an obsolete alias
for toggle-read-only.  Note that this hasn't called vc-next-action
since 2008-05-02, though it wasn't documented at the time.

* lisp/files.el (toggle-read-only): Remove obsolete comment about
version control.

* doc/emacs/buffers.texi (Misc Buffer): Don't mention vc-toggle-read-only.

* lisp/cedet/ede.el (ede-maybe-checkout): Function deleted;
vc-toggle-read-only does not do version control now.

* lisp/cedet/ede/project-am.el (project-remove-file, project-add-file)
(project-new-target): Don't call ede-maybe-checkout.

* lisp/cedet/ede/util.el (ede-make-buffer-writable): Don't use
vc-toggle-read-only.

* lisp/vc/ediff-init.el (ediff-toggle-read-only-function): Use
toggle-read-only.
2011-10-23 11:38:23 +08:00
Michael Albinus
28dbc92f2c Fix Bug#6019, Bug#9315.
* files.el (set-auto-mode): Call `file-name-sans-versions' for the
complete `buffer-file-name', the local file name part could look
remotely (for example on VMS).

* net/ange-ftp.el (ange-ftp-run-real-handler): Make it an alias of
`tramp-run-real-handler'.
(ange-ftp-fix-name-for-vms): Handle the case, where `name' is
already quoted by '"'.

* net/tramp.el (tramp-rfn-eshadow-update-overlay): Ignore errors.
Let `file-name-handler-alist' be nil, the local file name part
could look remotely (for example on VMS).
2011-10-12 20:32:35 +02:00
Michael Albinus
e74f1bb6f8 * files.el (copy-directory): Set directory attributes only in case
they could be retrieved from the source directory.  (Bug#9565)
2011-09-22 12:00:07 +02:00
Chong Yidong
3aace4e4b3 Allow visiting files with malformed prop-lines.
* files.el (inhibit-first-line-modes-regexps): Add image files.
(hack-local-variables-prop-line): Return nil for malformed prop-lines.

Fixes: debbugs:9044
2011-09-18 11:30:10 -04:00
Chong Yidong
64b5194776 * dired-aux.el (dired-mark-read-string): Don't use default value on empty input.
(dired-do-chxxx): Treat empty input for "touch" as no -t option.
Omit initial minibuffer contents.
(dired-do-chmod): Signal an error on empty input.
(dired-mark-read-string): Don't return default on empty input.

* files.el (file-modes-symbolic-to-number): Doc fix.

Fixes: debbugs:9361
2011-09-12 16:45:56 -04:00
Leo Liu
3d03de90fb Remove unused variable find-file-not-true-dirname-list
See http://debbugs.gnu.org/9422.
2011-09-03 09:41:27 +08:00
Chong Yidong
c33134511b Remove pop-to-buffer-same-window.
* lisp/window.el (pop-to-buffer-1, pop-to-buffer-same-window): Deleted.
(pop-to-buffer): Change interactive spec.  Pass second argument
directly to display-buffer.
(display-buffer): Fix interactive spec.  Use functionp to
distinguish between a function and a list of functions.

* lisp/abbrev.el (edit-abbrevs):
* lisp/arc-mode.el (archive-extract):
* lisp/autoinsert.el (auto-insert):
* lisp/bookmark.el (bookmark-bmenu-list):
* lisp/files.el (find-file):
* lisp/view.el (view-buffer):
* lisp/progmodes/compile.el (compilation-goto-locus):
* lisp/textmodes/bibtex.el (bibtex-initialize): Use switch-to-buffer.

* lisp/org/ob-ref.el (org-babel-ref-goto-headline-id):
* lisp/org/org.el (org-get-location, org-tree-to-indirect-buffer)
(org-mark-ring-goto, org-refile, org-add-log-note)
(org-revert-all-org-buffers, org-switchb)
(org-cycle-agenda-files, org-submit-bug-report)
(org-goto-marker-or-bmk):
* lisp/org/org-agenda.el (org-prepare-agenda, org-agenda-switch-to):
* lisp/org/org-capture.el (org-capture-goto-target)
(org-capture-fill-template):
* lisp/org/org-clock.el (org-clock-goto):
* lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file):
* lisp/org/org-exp.el (org-export-as-org):
* lisp/org/org-feed.el (org-feed-show-raw-feed):
* lisp/org/org-html.el (org-export-htmlize-generate-css):
* lisp/org/org-id.el (org-id-goto):
* lisp/org/org-irc.el (org-irc-visit-erc):
* lisp/org/org-mobile.el (org-mobile-apply):
* lisp/org/org-publish.el (org-publish-org-to, org-publish-find-date):
* lisp/org/org-remember.el (org-go-to-remember-target):
* lisp/org/org-src.el (org-src-switch-to-buffer)
(org-edit-fixed-width-region): Use switch-to-buffer.

* lisp/org/org-compat.el (org-pop-to-buffer-same-window): Deleted.
2011-09-02 12:38:40 -04:00
Glenn Morris
8e999f70ab * lisp/files.el (hack-local-variables): Fully ignore case for "mode:". 2011-08-20 15:26:52 -07:00
Glenn Morris
9234ff7fcf files.el fix for bug#9331
* lisp/files.el (hack-local-variables-prop-line, hack-local-variables):
Downcase "Mode:".
2011-08-19 14:23:09 -04:00
Lars Magne Ingebrigtsen
3ee3a1b538 Make `buffer-offer-save' permanently local
Fixes: debbugs:6241
2011-07-16 22:01:37 +02:00
Lars Magne Ingebrigtsen
bd2fcc8d5c (make-directory): Clarify that an error will be raised if there's an error
Fixes: debbugs:6387
2011-07-14 00:22:08 +02:00
Lars Magne Ingebrigtsen
7152b011c2 Give better error messages when trying to load non-existent symlinks
* files.el (after-find-file): Give a better error message when
trying to find a symlink that points to a file that doesn't exist
(bug#4398).
2011-07-13 01:25:50 +02:00
Leo Liu
481a51b660 Only do the `C-x C-q' warning on VC backends where it makes sense.
Fixes: debbugs:2623
2011-07-11 15:56:49 +02:00
Stefan Monnier
c8af70e11e * lisp/files.el (find-file): Use pop-to-buffer-same-window.
* lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Add switch-to-buffer.

Fixes: debbugs:8911
2011-07-04 12:08:16 -04:00
Lars Magne Ingebrigtsen
28fd8759b3 * files.el (file-expand-wildcards): Ignore non-readable
sub-directories while trying to find matches instead of signalling
an error (bug#6297).
2011-07-03 03:48:07 +02:00
Chong Yidong
658d8eb8fc Avoid calling customize-save-variable during startup (Bug#8720).
* lisp/cus-edit.el (customize-push-and-save): New function.

* lisp/files.el (hack-local-variables-confirm): Use it.

* lisp/custom.el (load-theme): New arg NO-CONFIRM.  Use
customize-push-and-save (Bug#8720).
(custom-enabled-themes): Doc fix.

* lisp/cus-theme.el (customize-create-theme)
(custom-theme-merge-theme): Callers to load-theme changed.
2011-06-29 21:39:52 -04:00
Glenn Morris
faf2a1741d * lisp/files.el (auto-mode-alist): Add .f03, .f08 for f90-mode. 2011-06-29 14:38:39 -04:00
Chong Yidong
56f9dcc930 Fix last change. 2011-06-19 14:59:58 -04:00
Chong Yidong
4ca009e5a8 * lisp/files.el (auto-mode-alist): Entry for m2-mode (Bug#8852). 2011-06-19 14:53:49 -04:00
Martin Rudalics
9397e56f74 Move/add window-buffer-related functions to window.el.
* buffer.c: New Lisp objects Qbuffer_list_update_hook and
Qclone_number.  Remove external declaration of Qdelete_window.
(Fbuffer_list): Rewrite doc-string.  Minor restructuring of
code.
(Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): Run
Qbuffer_list_update_hook if allowed.
(Fother_buffer): Rewrite doc-string.  Major rewrite for new
buffer list implementation.
(other_buffer_safely): New function.
(Fkill_buffer): Replace call to replace_buffer_in_all_windows by
calls to replace_buffer_in_windows and
replace_buffer_in_windows_safely.  Run Qbuffer_list_update_hook
if allowed.
(record_buffer): Inhibit quitting and rewrite using quittable
functions.  Run Qbuffer_list_update_hook if allowed.
(Frecord_buffer, Funrecord_buffer): New functions.
(switch_to_buffer_1, Fswitch_to_buffer): Remove.  Move
switch-to-buffer to window.el.
(bury-buffer): Move to window.el.
(Vbuffer_list_update_hook): New variable.

* lisp.h (other_buffer_safely): Add prototype in buffer.c
section.

* window.h (resize_frame_windows): Move up in code.
(Fwindow_frame): Remove EXFUN.
(replace_buffer_in_all_windows): Remove prototype.
(replace_buffer_in_windows_safely): Add prototype.

* window.c: Declare Qdelete_window static again.  Move down
declaration of select_count.
(Fnext_window, Fprevious_window): Rewrite doc-strings.
(Fother_window): Move to window.el.
(window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER
cases.  Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case.
(Fdelete_windows_on, Freplace_buffer_in_windows): Move to
window.el.
(replace_buffer_in_windows): Implement by calling
Qreplace_buffer_in_windows.
(replace_buffer_in_all_windows): Remove with some functionality
moved into replace_buffer_in_windows_safely.
(replace_buffer_in_windows_safely): New function.
(select_window_norecord, select_frame_norecord): Move in front
of run_window_configuration_change_hook.  Remove now obsolete
declarations.
(Fset_window_buffer): Rewrite doc-string.  Call
Qrecord_window_buffer.
(keys_of_window): Move binding for other-window to window.el.

* loadup.el (top-level): Load window before files for the sake
of replace-buffer-in-windows.

* files.el (read-buffer-to-switch)
(switch-to-buffer-other-window)
(switch-to-buffer-other-frame, display-buffer-other-frame): Move
to window.el.

* simple.el (get-next-valid-buffer, last-buffer, next-buffer)
(previous-buffer): Move to window.el.

* bindings.el (unbury-buffer): Move to window.el.

* window.el (delete-other-windows-vertically): Move after
definition of delete-other-windows.
(other-window, delete-windows-on, replace-buffer-in-windows):
Move here from window.c.
(record-window-buffer, unrecord-window-buffer)
(set-window-buffer-start-and-point, switch-to-prev-buffer)
(switch-to-next-buffer): New functions.
(get-next-valid-buffer, last-buffer, next-buffer): Move here
from simple.el.  Call switch-to-next-buffer.
(previous-buffer): Move here from simple.el.  Call
switch-to-prev-buffer.
(bury-buffer): Move here from buffer.c.  Switch to previous
buffer when window cannot be deleted.
(unbury-buffer): Move here from bindings.el.
(ctl-x-map): Move binding for other-window from window.c to
here.
(read-buffer-to-switch, switch-to-buffer-other-window)
(switch-to-buffer-other-frame): Move here from files.el.
(normalize-buffer-to-switch-to): New functions.
(switch-to-buffer): Move here from buffer.c.  Use
read-buffer-to-switch and normalize-buffer-to-switch-to.
2011-06-11 11:50:37 +02:00
Glenn Morris
f0da764a5c Allow/recommend explicit args for minor-modes in file local eval:s.
* lisp/files.el (hack-one-local-variable-eval-safep):
Allow minor-modes with explicit +/-1 arguments.

* doc/emacs/custom.texi (Specifying File Variables):
Recommend explicit arguments for minor modes.

* etc/NEWS: Likewise.

* lisp/doc-view.el, lisp/net/soap-client.el: Update file locals.
2011-06-09 16:22:06 -04:00