Commit graph

1688 commits

Author SHA1 Message Date
Glenn Morris
7e4ccca345 Small files.el hack-local changes for mode-only case.
* lisp/files.el (hack-local-variables-prop-line, hack-local-variables):
If only interested in the mode, don't bother doing the other stuff.
2011-05-21 15:33:12 -07:00
Nix
35fd0881e6 Small break-hardlink-on-save fix.
* files.el (basic-save-buffer-2):
Fix handling of break-hardlink-on-save with non-existent files.
2011-05-19 17:51:46 -07:00
Glenn Morris
b8f82dc15f Deprecate using "mode:" to enable minor modes (bug#8613)
* lisp/files.el (hack-one-local-variable-eval-safep):
Consider "eval: (foo-mode)" to be safe.

* doc/emacs/custom.texi (Specifying File Variables):
Deprecate using mode: for minor modes.

* etc/NEWS: Mention this.

* lisp/doc-view.el, lisp/net/soap-client.el:
Change "mode:" minor-mode file local variables to use "eval:".
2011-05-09 19:31:42 -07:00
Chong Yidong
c8d173eb1e * files.el (auto-mode-alist): Use js-mode for .json (Bug#8529). 2011-04-23 20:24:30 -04:00
Juanma Barranquero
06b605171f lisp/*.el: Lexical-binding cleanup. 2011-04-19 15:44:55 +02:00
Eli Zaretskii
04f33f1ed9 Produce more accurate results from file-size-human-readable.
lisp/files.el (file-size-human-readable): Produce one digit after
 decimal, like "ls -lh" does.
 lisp/ls-lisp.el (ls-lisp-format-file-size): Allow for 7 characters in
 the file size representation.
2011-04-09 09:59:26 +03:00
Eli Zaretskii
e3971c4440 New function file-size-human-readable.
lisp/files.el (file-size-human-readable): New function.
 lisp/ls-lisp.el (ls-lisp-format-file-size): Use it, instead of
 computing the representation inline.  Don't require `cl'.
2011-04-08 18:31:33 +03:00
Chong Yidong
7d668f2c18 Reimplement list-processes in Lisp.
* lisp/simple.el: Lisp reimplement of list-processes.  Based on an
earlier reimplementation by Leo Liu, but using tabulated-list.el.
(process-menu-mode): New major mode.
(list-processes--refresh, list-processes):
(process-menu-visit-buffer): New functions.

* lisp/files.el (save-buffers-kill-emacs): Don't assume any return
value of list-processes, which is undocumented anyway.
2011-04-06 17:13:17 -04:00
Juanma Barranquero
3e214b503e New variable `revert-buffer-in-progress-p'.
* lisp/files.el (after-find-file-from-revert-buffer): Remove variable.
  (after-find-file): Dont' bind it.
  (revert-buffer-in-progress-p): New variable.
  (revert-buffer): Bind it.
  Pass nil for `after-find-file-from-revert-buffer'.

* lisp/saveplace.el (save-place-find-file-hook): Use new variable
  `rever-buffer-in-progress-p', not `after-find-file-from-revert-buffer'.

* etc/NEWS: New variable `revert-buffer-in-progress-p'.
2011-04-06 21:38:46 +02:00
Glenn Morris
afa8e9f606 * lisp/files.el (save-some-buffers): Doc fix. 2011-04-02 11:12:21 -07:00
Stefan Monnier
cafdcef32d Merge from trunk 2011-03-21 12:42:16 -04:00
Glenn Morris
09d9db2c49 Merge from emacs-23; up to 2010-06-03T22:16:02Z!dann@ics.uci.edu 2011-03-12 11:19:47 -08:00
Eli Zaretskii
2920e68d73 Fix comparisons of file ownership on MS-Windows for the Administrator user.
lisp/files.el (file-ownership-preserved-p): Pass `integer' as an
 explicit 2nd argument to `file-attributes'.  If the file's owner
 is the Administrators group on Windows, and the current user is
 Administrator, consider that a match.
 lisp/server.el (server-ensure-safe-dir): Consider server directory
 safe on MS-Windows if its owner is the Administrators group while
 the current Emacs user is Administrator.  Use `=' to compare
 numerical UIDs, since they could be integers or floats.
2011-03-11 14:19:08 +02:00
Stefan Monnier
0d6459dfb5 Merge from trunk 2011-03-06 16:22:16 -05:00
Antoine Levitt
7e27ce9cdb Replace many instances of read-file-name with read-directory-name.
* lisp/files.el (delete-directory, copy-directory, list-directory): Use
read-directory-name.

* lisp/find-file.el (ff-find-the-other-file):
* lisp/net/ange-ftp.el (ange-ftp-make-directory):
* lisp/printing.el (pr-interactive-dir):
* lisp/progmodes/ada-prj.el (ada-prj-load-directory):
* lisp/progmodes/ebnf2ps.el (ebnf-print-directory)
(ebnf-spool-directory, ebnf-eps-directory)
(ebnf-syntax-directory):
* lisp/shell.el (shell):
* lisp/speedbar.el (speedbar-create-directory):
* lisp/vc/emerge.el (emerge-merge-directories):
* lisp/vc/vc-dir.el (vc-dir):
* lisp/vc/vc.el (vc-create-tag, vc-retrieve-tag): Likewise.

* lisp/gnus.el (gnus-interactive): Use read-directory-name.

* lisp/gnus-uu.el (gnus-uu-decode-uu-and-save)
(gnus-uu-decode-unshar-and-save, gnus-uu-decode-save)
(gnus-uu-decode-binhex, gnus-uu-decode-yenc)
(gnus-uu-decode-save-view, gnus-uu-decode-postscript-and-save):
Likewise.

* lisp/mh-funcs.el (mh-store-msg, mh-store-buffer):
* lisp/mh-mime.el (mh-mime-save-parts): Use read-directory-name.

* lisp/dired.el: Clarify comment.
2011-03-05 16:56:00 -05:00
Reuben Thomas
2de9cc1acd Handle git-style backup names in file-name-version-regexp (Bug#8159).
* files.el (file-name-version-regexp): Handle backup files of the
form `foo.js.~HEAD~1~' (Bug#8159).
2011-03-05 15:35:08 -05:00
David Engster
c5f09daf79 Make save-some-buffers message more informative (Bug#8134).
* files.el (save-some-buffers): Report the names of buffers saved
automatically due to buffer-save-without-query.
2011-03-05 14:37:46 -05:00
Eli Zaretskii
3ae59fff62 Fix bug #8177 with re-visiting image files.
files.el (find-file-noselect): Don't ask about re-visiting
 non-literally if the file is already visited in image-mode.
2011-03-05 10:48:52 +02:00
Glenn Morris
06083aa12d file-truename doc fix for bug#2341.
* lisp/files.el (file-truename): Doc fix.

* doc/lispref/files.texi (Truenames): Minor clarification.
2011-03-03 00:10:52 -08:00
Glenn Morris
0e0b298905 * lisp/files: Fix comment typo. 2011-02-28 20:26:38 -08:00
Glenn Morris
82137b5135 * lisp/files.el: Comment. 2011-02-28 19:43:14 -08:00
Glenn Morris
6640b281f3 Add the ability to exclude dir-locals from subdirs. (Bug#8100)
* lisp/files.el (dir-locals-collect-variables):
Add the ability to exclude subdirectories.

* doc/emacs/custom.texi (Directory Variables):
Give an example of excluding subdirectories.

* doc/lispref/variables.texi (Directory Local Variables):
Mention `(subdirs . nil)' alist element.

* etc/NEWS: Mention this addition.

* lisp/dired-x.el (dired-omit-here-always): Add `(subdirs . nil)' to locals.
2011-02-28 19:05:28 -08:00
Glenn Morris
07915ed93c More dir-locals fixes for files.el.
* lisp/files.el (hack-local-variables-confirm, hack-local-variables-filter):
Doc fix (say _which_ directory `dir-name' is).
(hack-dir-local-variables): Fix setting of `dir-name'.
Previous value seems clearly wrong.  Eg put a risky variable in a
dir-locals file, visit a file in a subdirectory, see which directory
it says the risky variables come from.  It should be the one with the
associated directory variables, not the one containing the visited file.
2011-02-24 00:02:45 -08:00
Glenn Morris
ebe401f697 Partial fix for bug#8095.
* lisp/files.el (dir-locals-find-file): Doc fix.
Fix the check for cache elements that have no associated file,
and the mtime check for those that do.

Still to do: some places that use dir-locals-find-file assume the
result is always a file, which is not true. (The function name is
misleading.)
2011-02-23 23:47:06 -08:00
Glenn Morris
5582c6706a * lisp/files.el (safe-local-eval-forms): Add the write-file-hooks version.
This obsolete form is still supported, and present in some of the
files synced from gnulib, for example.
2011-02-22 19:24:23 -08:00
Stefan Monnier
f619ad4ca2 Merge from trunk 2011-02-21 17:34:51 -05:00
Glenn Morris
67ab0163d6 Merge from emacs-23; up to 2010-06-01T01:49:15Z!monnier@iro.umontreal.ca 2011-02-19 11:40:59 -08:00
Stefan Monnier
aa56f3613e * lisp/files.el (cd): Make completion obey cd-path.
* lread.c (Qdir_ok): New constant.
(syms_of_lread): Initialize it.
(openp): Don't ignore directories if the predicate returns dir-ok.

Fixes: debbugs:7924
2011-02-18 12:18:16 -05:00
Glenn Morris
72d6685c11 * lisp/files.el (find-file-literally): Doc fix. 2011-02-17 21:15:22 -08:00
Stefan Monnier
b38b1ec071 Various compiler bug-fixes. MPC seems to run correctly now.
* lisp/files.el (lexical-binding): Add a safe-local-variable property.

* lisp/emacs-lisp/byte-opt.el (byte-inline-lapcode): Check how many elements
are added to the stack.
(byte-compile-splice-in-already-compiled-code): Don't touch lexical nor
byte-compile-depth now that byte-inline-lapcode does it for us.
(byte-compile-inline-expand): Don't inline dynbind byte code into
lexbind code, since it has to be done differently.

* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
Correctly extract arglist from `closure's.
(byte-compile-cl-warn): Compiler-macros are run earlier now.
(byte-compile-top-level): Bind byte-compile-lexical-environment to nil,
except for lambdas.
(byte-compile-form): Don't run the compiler-macro expander here.
(byte-compile-let): Merge with byte-compile-let*.
Don't preserve-body-value if the body's value was discarded.

* lisp/emacs-lisp/cconv.el (cconv--set-diff, cconv--set-diff-map)
(cconv--map-diff, cconv--map-diff-elem, cconv--map-diff-set): New funs.
(cconv--env-var): New constant.
(cconv-closure-convert-rec): Use it and use them.  Fix a typo that
ended up forgetting to remove entries from lmenvs in `let'.
For `lambda' use the outer `fvrs' when building the closure and don't
forget to remove `vars' from the `emvrs' and `lmenvs' of the body.

* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block): Disable optimization
in lexbind, because it needs a different implementation.

* src/bytecode.c (exec_byte_code): Fix handling of &rest.

* src/eval.c (Vinternal_interpreter_environment): Remove.
(syms_of_eval): Do declare Vinternal_interpreter_environment as
a global lisp var, but unintern it to hide it.
(Fcommandp):
* src/data.c (Finteractive_form): Understand `closure's.
2011-02-17 16:19:13 -05:00
Chong Yidong
20fac86e2e * lisp/files.el (copy-directory): Revert to pre-2011-01-29 version. 2011-02-12 14:43:04 -05:00
Thierry Volpiatto
470d996db4 New optional arg COPY-CONTENTS to copy-directory.
* files.el (copy-directory): New argument COPY-CONTENTS for
copying directory contents into another existing directory.
2011-02-12 14:34:50 -05:00
Bastien Guerry
75d1d833f5 Save unmodified buffers when buffer-file-name doesn't exist.
* files.el (basic-save-buffer): save unmodified buffers when
the file pointed by buffer-file-name doesn't exist.
2011-02-11 18:35:37 +01:00
Chong Yidong
65821e2244 * lisp/files.el (copy-directory): New arg COPY-AS-SUBDIR.
If nil, don't copy as a subdirectory.
2011-02-05 23:59:06 -05:00
Sam Steingold
e8e4d5c88e undo 2011-02-01T18:15:18Z!sds@gnu.org (purecopy-cons, purecopy-car) at Stefan Monnier's request 2011-02-01 16:37:12 -05:00
Sam Steingold
0b75349e7e * lisp/subr.el (purecopy-cons, purecopy-car): Add shortcuts.
* lisp/faces.el (face-x-resources): Use `purecopy-cons'.
* lisp/files.el (auto-mode-alist, interpreter-mode-alist): Use
`purecopy-car'.
* lisp/international/fontset.el (font-encoding-alist): Ditto.
* lisp/international/mule-conf.el (file-coding-system-alist): Ditto.
* lisp/international/mule.el (auto-coding-alist)
(auto-coding-regexp-alist): Ditto.
* lisp/mouse.el (mouse-buffer-menu-mode-groups): Use `purecopy-cons'.
* lisp/term/x-win.el (x-gtk-stock-map): Ditto.
2011-02-01 13:15:18 -05:00
Chong Yidong
14beddf471 Merge changes from emacs-23 branch 2011-01-31 18:54:50 -05:00
Chong Yidong
6fa1f65165 * lisp/files.el (copy-directory): Fix arguments to the recursive call. 2011-01-31 12:03:37 -05:00
Chong Yidong
82d84d3fc9 Fix bug in copy-directory copying into an existing directory.
http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg01007.html

* files.el (copy-directory): If destination is an existing
directory, copy into a subdirectory there.
2011-01-29 17:10:51 -05:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
06d8ace515 Merge from emacs-23.
Note setting of CANNOT_DUMP on ia64 hpux is still to be merged manually.
2011-01-24 19:47:47 -08:00
Stefan Monnier
10e1d5f30f * files.el (file-name-non-special): Only change buffer-file-name after
insert-file-contents if it's `visit'ing the file.

Fixes: debbugs:7854
2011-01-24 15:34:44 -05:00
Chong Yidong
9aea757bb0 Revert changes adding format args to yes-or-no-p and y-or-n-p.
See discussion on emacs-devel at
http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00388.html

* src/fns.c (Fyes_or_no_p): Revert 2011-01-07 change, removing ARGS.

* lisp/subr.el (y-or-n-p): Revert 2011-01-07 change, removing ARGS.

* lisp/files.el (find-alternate-file, basic-save-buffer)
(basic-save-buffer-2, revert-buffer, recover-file)
(kill-buffer-ask, abort-if-file-too-large)
(set-visited-file-name, write-file, backup-buffer)
(basic-save-buffer, save-some-buffers):
* lisp/dired-aux.el (dired-compress-file): Callers changed.
2011-01-19 21:55:36 -05:00
Glenn Morris
d52969e8af Merge from emacs-23 branch, up to 2010-05-20T21:33:58Z!juri@jurta.org.
Note:
emacs-23 2010-05-20T01:32:08Z!lekktu@gmail.com is rendered unnecessary by pre-existing 2010-05-20
trunk change.
2011-01-15 12:38:27 -08:00
Glenn Morris
362b9d483c Merge from emacs-23 branch. 2011-01-15 12:03:38 -08:00
Mark Diekhans
b024d9f02d Make last-resort backup file in .emacs.d (Bug#6953).
* lisp/files.el (backup-buffer): Make last-resort backup file in
.emacs.d.

* lisp/subr.el (locate-user-emacs-file): If .emacs.d does not exist,
make it with permission 700.

* doc/emacs/files.texi (Backup Names): Document the new location of the
last-resort backup file.
2011-01-14 21:32:19 -05:00
Chong Yidong
2b9f65621b * lisp/files.el (directory-abbrev-alist): Minor doc fix (Bug#7777).
* doc/lispref/files.texi: Likewise.
2011-01-08 16:22:19 -05:00
Chong Yidong
3ef01959de New function read-char-choice for reading a restricted set of chars.
* lisp/subr.el (read-char-choice): New function, factored out from
dired-query and hack-local-variables-confirm.

* lisp/dired-aux.el (dired-query):
* lisp/files.el (hack-local-variables-confirm): Use it.
2011-01-08 14:17:23 -05:00
Eli Zaretskii
4320be4251 Fix bug #7777 with documentation of directory-abbrev-alist.
lisp/files.el (directory-abbrev-alist): Doc fix.
 doc/lispref/files.texi (Directory Names): Explain why FROM in
 directory-abbrev-alist should begin with \`.
2011-01-07 17:55:13 +02:00
Chong Yidong
7c420169ba Merge changes from emacs-23 branch 2011-01-02 15:31:19 -05:00