Commit graph

1538 commits

Author SHA1 Message Date
Michael Albinus
fd16108130 * files.el (file-name-non-special): Wrap the call of
`insert-file-contents' by `unwind-protect', in order to set the
buffer's file name anyway.

Fixes: debbugs:18891
2014-11-07 15:42:51 +01:00
Glenn Morris
f314e84fce Revert 2013-01-31 change that decides coding system before backing up
It causes a more serious problem than the one it solves.
This closes bug#18141, and reopens bug#13522.

* lisp/files.el (basic-save-buffer-2): Revert 2013-01-31 change.

* src/fileio.c: Revert 2013-01-31 change.
(choose_write_coding_system): No longer callable from Lisp.
Move last piece back here from Fwrite_region.
(Fwrite_region, syms_of_fileio): Update for above changes.

* test/automated/data/files-bug18141.el.gz: New file.
* test/automated/files.el (files-test-bug-18141-file):
New variable and test.
2014-08-10 17:38:19 -07:00
Glenn Morris
59bb37859d More toggle-read-only doc tweaks
* lisp/files.el (toggle-read-only): Re-add basic doc-string.

* lisp/vc/vc-hooks.el (vc-toggle-read-only): Tweak obsolescence mesage.
2014-07-25 05:24:53 -04:00
Glenn Morris
f6c951e5d2 Small fixes re toggle-read-only, mainly doc
* progmodes/hideif.el (hide-ifdef-mode-submap): Also substitute read-only-mode.

* bindings.el (mode-line-toggle-read-only):
* bs.el (bs-toggle-readonly):
* buff-menu.el (Buffer-menu-toggle-read-only):
* dired.el (dired-toggle-read-only):
* files.el (view-read-only, find-file-read-only)
(find-file-read-only-other-window)
(find-file-read-only-other-frame):
* progmodes/hideif.el (hide-ifdef-toggle-outside-read-only):
Doc fixes re toggle-read-only.

* view.el: Comment updates.
2014-07-21 01:38:17 -04:00
Glenn Morris
99d8aedf0d Doc edits re uniquify
* doc/emacs/buffers.texi (Uniquify): Copyedits.

* doc/emacs/files.texi (Visiting): Update for uniquify changes.

* doc/lispref/files.texi (Subroutines of Visiting): Mention uniquify.

* doc/misc/vip.texi (Files): Defer to Emacs manual for uniquify details.

* lisp/bookmark.el (bookmark-load): Doc fix.

* lisp/uniquify.el (uniquify-buffer-name-style): Doc fix.

* lisp/files.el: Comment.

* etc/NEWS: Related edit.
2014-06-08 00:41:27 -07:00
Glenn Morris
2651ed05dc * files.el (cd-absolute): Test if directory is accessible
rather than executable. 

This can't be any worse, and may be better in some situations.
It may or may not fix bug#17330.
2014-05-08 23:53:30 -07:00
Glenn Morris
8a1d24b11e Doc updates for buffer-stale-function now applying to file buffers too
* doc/emacs/arevert-xtra.texi (Supporting additional buffers):
* doc/lispref/backups.texi (Reverting):
Update for buffer-stale-function also applying to file-buffers.

* lisp/autorevert.el (auto-revert-buffers):
* lisp/files.el (buffer-stale--default-function)
(buffer-stale-function, revert-buffer--default): Doc tweaks.

* etc/NEWS: Related edits.
2014-04-03 22:09:35 -04:00
Glenn Morris
d738ebdccf Doc updates related to changes in revert-buffer function variables
* lisp/files.el (make-backup-file-name-function)
(make-backup-file-name, make-backup-file-name--default-function)
(make-backup-file-name-1, find-backup-file-name)
(revert-buffer-function, revert-buffer-insert-file-contents-function)
(buffer-stale--default-function, buffer-stale-function)
(before-revert-hook, after-revert-hook, revert-buffer-in-progress-p)
(revert-buffer, revert-buffer--default)
(revert-buffer-insert-file-contents--default-function):
Doc fixes related to defaults no longer being nil.
(make-backup-file-name-function): Bump :version.
Restore nil as a valid but deprecated custom type.

* etc/NEWS: Related edit.
2014-04-03 00:06:40 -07:00
Martin Rudalics
b92631bf71 Fix behavior of with-temp-buffer-window (Bug#16816, Bug#17007).
* window.el (with-temp-buffer-window): Don't make BUFFER-OR-NAME
current (Bug#16816, Bug#17007).
(with-current-buffer-window): New macro doing the same as
`with-temp-buffer-window' but with BUFFER-OR-NAME current.
* help.el (help-print-return-message): Warn in doc-string to not
use this in `with-help-window'.
(describe-bindings-internal): Call `describe-buffer-bindings'
from within help buffer.  See Juanma's scenario in (Bug#16816).
(with-help-window): Update doc-string.
* dired.el (dired-mark-pop-up):
* files.el (save-buffers-kill-emacs):
* register.el (register-preview): Use `with-current-buffer-window'
instead of `with-temp-buffer-window'.
* display.texi (Temporary Displays): Rewrite descriptions of
`with-output-to-temp-buffer' and `with-temp-buffer-window'.
* help.texi (Help Functions): Rewrite description of
`with-help-window'.
2014-03-16 10:26:58 +01:00
Glenn Morris
776aa43207 * lisp/files.el (find-file): Doc fix: update info node name. 2014-03-10 14:48:35 -04:00
Glenn Morris
bd2d43dc74 Recognize dash shell
* lisp/files.el (interpreter-mode-alist):
* lisp/progmodes/sh-script.el (sh-ancestor-alist): Add dash.

Fixes: debbugs:16938
2014-03-05 13:58:16 -05:00
Stefan Monnier
092c12b253 * lisp/files.el (hack-local-variables): Mention file name in warning. 2014-03-03 22:26:17 -05:00
Lars Ingebrigtsen
f3c6024192 * files.el (confirm-kill-emacs): Clarify doc (bug#15455). 2014-02-09 22:07:30 -08:00
Lars Ingebrigtsen
6abe458993 * files.el (confirm-kill-emacs): Allow specifying an arbitrary predicate function.
Fixes: debbugs:15455
2014-02-09 20:26:10 -08:00
Glenn Morris
34dc21db6e Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
Lars Ingebrigtsen
7e34193f01 (save-buffer): Clarify the 0 argument (bug#10346).
Fixes: debbugs:13261
2014-02-08 21:32:41 -08:00
Lars Ingebrigtsen
468ef48472 * files.el (save-buffer): Use ARG as the parameter name for consistency
Fixes: debbugs:10346
2014-02-08 21:30:41 -08:00
Lars Ingebrigtsen
2356b31687 (backup-inhibited): Doc clarification
Fixes: debbugs:12525
2014-02-08 19:02:45 -08:00
Lars Ingebrigtsen
5a836f5897 (locate-file): Suffixes aren't returned, so don't say that they are
Fixes: debbugs:12674
2014-02-08 18:58:24 -08:00
Lars Ingebrigtsen
9e108fe61d * files.el (find-file-noselect): Clarify prompt when changing readedness.
Fixes: debbugs:13261
2014-02-08 18:44:25 -08:00
Lars Ingebrigtsen
893cc9082c * files.el (find-file-visit-truename): Doc clarification (bug#14697). 2014-02-07 22:58:15 -08:00
Lars Ingebrigtsen
15cb9968c0 * files.el (file-relative-name): Doc fix.
Fixes: debbugs:15159
2014-02-07 20:53:52 -08:00
Paul Eggert
d5081c1ed8 Spelling fixes.
* calc/calc-yank.el (calc-edit-mode, calc-edit-cancel):
* emacs-lisp/debug.el (cancel-debug-on-entry):
* epg.el (epg-error-to-string):
* files.el (recover-file):
* lpr.el (lpr-buffer, print-buffer, lpr-region, print-region):
* mail/emacsbug.el (report-emacs-bug-hook):
* mail/sendmail.el (mail-recover):
* ses.el (ses-yank-resize):
* term/ns-win.el (ns-print-buffer):
Spelling fixes in diagnostics, mostly for "canceled" with one L.
* epg.el (epg-key-capability-alist): Rename from misspelled version.
All uses changed.
* obsolete/xesam.el (xesam-all-fields): Fix misspelled field name.
2014-01-05 22:25:30 -08:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Chong Yidong
e2f6a0bc34 * files.el (break-hardlink-on-save): Doc fix.
Suggested by Xue Fuqiao.

Fixes: debbugs:13801
2013-12-17 23:09:13 +08:00
Glenn Morris
3e2fb4db3f Make the interactive-only' bytecomp warning like the obsolete' one
* emacs-lisp/bytecomp.el (byte-compile-form):
Make the `interactive-only' warning like the `obsolete' one.

* comint.el (comint-run):
* files.el (insert-file-literally, insert-file):
* replace.el (replace-string, replace-regexp):
* simple.el (beginning-of-buffer, end-of-buffer, delete-backward-char)
(goto-line, insert-buffer, next-line, previous-line):
Tweak `interactive-only' spec.
2013-11-30 00:42:28 -08:00
Bozhidar Batsov
2bb3a748b3 * lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Mark as obsolete and replace it with a symbol property.
(byte-compile-form): Use new 'interactive-only property.
* lisp/comint.el, lisp/files.el, lisp/replace.el, lisp/simple.el:
Apply new 'interactive-only properly.
2013-11-25 19:16:32 +02:00
Stefan Monnier
53b39e8977 * lisp/subr.el (custom-declare-variable-early): Remove function.
(custom-declare-variable-list): Remove var.
(error, user-error): Remove `while' loop.
(read-quoted-char-radix, read-quoted-char): Move to simple.el.
(user-emacs-directory-warning, locate-user-emacs-file):
Move to files.el.
* lisp/simple.el (read-quoted-char-radix, read-quoted-char):
* lisp/files.el (user-emacs-directory-warning, locate-user-emacs-file):
Move from subr.el.
* lisp/custom.el (custom-declare-variable-list): Don't process
custom-declare-variable-list.
2013-10-29 22:14:16 -04:00
Glenn Morris
012e2f9fda * files.el (hack-local-variables): Warn about misplaced lexical-binding.
(hack-local-variables--warned-lexical): New.

Fixes: debbugs:15616
2013-10-15 18:33:16 -07:00
Leo Liu
7186ba6045 * files.el (interpreter-mode-alist): Add octave. 2013-09-22 20:23:20 +08:00
Eli Zaretskii
75d83e2207 Recognize OBJFILE-gdb.gdb GDB script files.
lisp/files.el (auto-mode-alist): Support OBJFILE-gdb.gdb script files
 recognized by GDB 7.5 and later.
2013-09-21 11:49:31 +03:00
Glenn Morris
30213927b6 Use with-demoted-errors now that it can format any error messages
* dframe.el (dframe-timer-fn):
* files.el (dir-locals-read-from-file):
* mpc.el (mpc--status-timer-run, mpc--status-idle-timer-run, mpc-format):
* reveal.el (reveal-post-command):
* saveplace.el (load-save-place-alist-from-file):
* shell.el (shell-resync-dirs):
* w32-common-fns.el (x-get-selection-value):
* emacs-lisp/copyright.el (copyright-find-copyright):
* emacs-lisp/eldoc.el (eldoc-print-current-symbol-info):
* emulation/tpu-edt.el (tpu-copy-keyfile):
* play/bubbles.el (bubbles--mark-neighbourhood):
* progmodes/executable.el (executable-make-buffer-file-executable-if-script-p):
* term/pc-win.el (x-get-selection-value): Use with-demoted-errors.
2013-09-11 22:32:57 -07:00
Stefan Monnier
feeff482d8 * lisp/files.el (set-auto-mode): Simplify a bit further. 2013-09-11 08:36:59 -04:00
Glenn Morris
2a08047aed Improve previous interpreter-mode-alist change
* lisp/files.el (interpreter-mode-alist): Remove \\` \\' parts.
(set-auto-mode): Don't regexp-quote elements.

* lisp/progmodes/python.el (interpreter-mode-alist): Remove \\` \\'.

* lisp/progmodes/cc-mode.el (interpreter-mode-alist):
* lisp/progmodes/ruby-mode.el (interpreter-mode-alist):
Revert previous change.

* etc/NEWS: Update.
2013-09-10 23:44:35 -07:00
Glenn Morris
1af4c2203c Treat interpreter-mode-alist as alist of regexps, not literals
Cf http://lists.gnu.org/archive/html/emacs-devel/2005-08/msg00472.html

* lisp/files.el (interpreter-mode-alist): Convert to regexps.
(set-auto-mode): Adapt for this. 

* lisp/progmodes/cperl-mode.el (cperl-clobber-mode-lists):
Comment out unused variable.

* lisp/progmodes/cc-mode.el (interpreter-mode-alist):
* lisp/progmodes/python.el (interpreter-mode-alist):
* lisp/progmodes/ruby-mode.el (interpreter-mode-alist): Convert to regexps.

* lisp/progmodes/sh-script.el (sh-set-shell):
No longer use interpreter-mode-alist to get list of shells.

* etc/NEWS: Mention this.

Fixes: debbugs:15306
2013-09-10 16:38:52 -04:00
Glenn Morris
2d85dc347c * lisp/files.el (auto-mode-alist): Use sh-mode for .bash_history. 2013-08-23 14:58:41 -04:00
Glenn Morris
bb35f42f61 * lisp/files.el (create-file-buffer): Rework previous change. 2013-08-23 13:34:09 -04:00
Glenn Morris
cb8d261243 * lisp/files.el (interpreter-mode-alist): Use tcl-mode for expect scripts. 2013-08-23 13:09:09 -04:00
Glenn Morris
61611d54b5 * files.el (create-file-buffer): Handle a file whose basename is all spaces.
Fixes: debbugs:15162
2013-08-23 13:08:19 -04:00
Dmitry Antipov
ed4fd9c527 * lisp/files.el (cache-long-line-scans): Make
obsolete alias to `cache-long-scans'.
* etc/NEWS: Mention `cache-long-scans'.
2013-08-06 20:33:14 +04:00
Stefan Monnier
76dc5996b4 * lisp/files.el: Use lexical-binding.
(dir-locals-read-from-file): Remove unused `err' variable.
(hack-dir-local-variables--warned-coding): New var.
(hack-dir-local-variables): Use it to avoid repeated warnings.
(make-backup-file-name--default-function): New function.
(make-backup-file-name-function): Use it as default.
(buffer-stale--default-function): New function.
(buffer-stale-function): Use it as default.
(revert-buffer-insert-file-contents--default-function): New function.
(revert-buffer-insert-file-contents-function): Use it as default.
(insert-directory): Avoid add-to-list.
* lisp/autorevert.el (auto-revert-handler): Simplify.
Use buffer-stale--default-function.
2013-08-01 19:18:37 -04:00
Dmitry Antipov
3b734d1c00 * lisp/emacs-lisp/re-builder.el (reb-color-display-p):
* lisp/files.el (save-buffers-kill-terminal):
* lisp/net/browse-url.el (browse-url):
* lisp/server.el (server-save-buffers-kill-terminal):
* lisp/textmodes/reftex-toc.el (reftex-toc, reftex-toc-revert):
Prefer nil to selected-frame for the first arg of frame-parameter.
2013-07-31 10:52:26 +04:00
Stefan Monnier
ac93e56b69 * lisp/files.el (revert-buffer-function): Use a non-nil default.
(revert-buffer-preserve-modes): Declare var to
provide access to the `preserve-modes' argument.
(revert-buffer): Let-bind it.
(revert-buffer--default): New function, extracted from revert-buffer.
2013-07-24 00:56:12 -04:00
Glenn Morris
17bd3d0493 Adding :safe property to a defcustom does not merit a :version bump 2013-07-11 09:07:00 -07:00
Paul Eggert
954b166e90 Timestamp fixes for undo.
* doc/lispref/text.texi (Undo):
Document (t . 0) and (t . -1) in buffer-undo-list.
* etc/NEWS: Changes to visited-file-modtime, set-visited-file-modtime.
* lisp/files.el (clear-visited-file-modtime): Move here from fileio.c.
* src/atimer.c (schedule_atimer):
* src/fileio.c (Ffile_newer_than_file_p):
Minor cleanup: use EMACS_TIME_LT so that we can remove EMACS_TIME_GT.
* src/buffer.c (buffer-undo-list): Document (t . 0) and (t . -1).
* src/fileio.c (Fclear_visited_file_modtime): Move to lisp/files.el.
(syms_of_fileio): Remove Sclear_visited_file_name.
(Fvisited_file_modtime): Return -1, not (-1 ...), when the visited
file doesn't exist; this avoids an ambiguity with negative timestamps.
(Fset_visited_file_modtime): Accept -1 and 0 as time-list arg.
* src/systime.h (make_emacs_time, invalid_emacs_time):
Don't assume struct timespec layout; POSIX doesn't guarantee it.
(EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE): Remove.
* src/undo.c (record_first_change): Push (visited-file-modtime) onto
undo list rather than reimplementing it by hand, incorrectly.

Fixes: debbugs:14824
2013-07-09 23:26:23 -07:00
Leo Liu
56973319b5 * files.el (require-final-newline): Allow safe local value.
Fixes: debbugs:14834
2013-07-10 11:10:27 +08:00
Jan Djärv
1afb1d0715 * lisp/files.el (write-file): Do not display confirm dialog for NS,
it does its own dialog, which can't be cancelled.

* src/nsfns.m: Remove panelOK.
(ns_fd_data): New.
(ns_run_file_dialog): New function.
(Fns_read_file_name): Fill in ns_fd_data, post an event and start the
event loop, so file dialog is popped up by ns_run_file_dialog, called
by sendEvent (Bug#14578).
(EmacsSavePanel, EmacsOpenPanel): Remove ok and cancel methods.

* src/nsterm.h (NSSavePanel): Update comment.
(NSAPP_DATA2_RUNFILEDIALOG): Define.
(ns_run_file_dialog): Declare.

* src/nsterm.m (sendEvent:): Handle NSAPP_DATA2_RUNFILEDIALOG.
2013-07-06 19:58:41 +02:00
Michal Nazarewicz
ef099a941f Add `remember-notes' function to store random notes across Emacs
restarts.
* remember.el (remember-data-file): Add :set callback to affect
notes buffer (if any).
(remember-notes): New command.
(remember-notes-buffer-name, bury-remember-notes-on-kill):
New defcustoms for the `remember-notes' function.
(remember-notes-save-and-bury-buffer): New command.
(remember-notes-mode-map): New variable.
(remember-mode): New minor mode.
(remember-notes--kill-buffer-query): New function.
* lisp/startup.el (initial-buffer-choice): Add notes to custom type.
* src/buffer.c (FKill_buffer): Run `kill-buffer-query-functions'
before checking whether buffer is modified.  This lets
`kill-buffer-query-functions' cancel killing of the buffer or save
its content before `kill-buffer' asks user the "Buffer %s
modified; kill anyway?" question.

* remember.el (remember-append-to-file):
Don't mix `find-buffer-visiting' and `get-file-buffer'.

* lisp/files.el (find-file-noselect): Simplify conditional expression.
2013-06-30 18:29:23 -04:00
Glenn Morris
f440830d60 Silence some compiler warnings
* calculator.el (electric, ehelp): No need to load when compiling.
(Electric-command-loop, electric-describe-mode): Declare.

* doc-view.el (doc-view-current-converter-processes): Move before use.

* files.el (dired-unmark):
* progmodes/gud.el (gdb-input): Update declarations.

* emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Move MODE-set-explicitly definition before use.

* erc/erc-log.el (erc-network-name): Declare.

* erc/erc-notify.el (pcomplete--here): Declare.
(pcomplete/erc-mode/NOTIFY): Require pcomplete.

* international/mule-diag.el (mule-diag):
Don't use obsolete window-system-version.

* mail/feedmail.el (smtpmail): No need to load when compiling.
(smtpmail-via-smtp, smtpmail-smtp-server): Declare.

* mail/mail-utils.el (rfc822): No need to load when compiling.
(rfc822-addresses): Autoload it.
(mail-strip-quoted-names): Trivial simplification.

* mail/rmail.el (rmail-mime-message-p, rmail-mime-toggle-raw): Declare.
(rmail-retry-failure): Don't assume that rmail-mime-feature == rmailmm.

* net/snmp-mode.el (tempo): Don't duplicate requires.

* progmodes/prolog.el (info): No need to load when compiling.
(comint): Require before shell requires it.
(Info-goto-node): Autoload it.
(Info-follow-nearest-node): Declare.
(prolog-help-info, prolog-goto-predicate-info): No need to require info.

* textmodes/artist.el (picture-mode-exit): Declare.

* textmodes/reftex-parse.el (reftex-parse-from-file):
Trivial rewrite so the compiler can parse it better.

* url/url-dav.el (url-http): Require it.
(url-http-head-file-attributes): Don't autoload it.

* url/url-proxy.el (url-http): Autoload it.
2013-05-21 00:25:14 -07:00
Leo Liu
b7260dd49c * files.el (basic-save-buffer): Don't let errors in
before-save-hook prevent saving buffer.

* progmodes/octave.el (octave-function-file-p)
(octave-skip-comment-forward, octave-function-file-comment)
(octave-update-function-file-comment): New functions.
(octave-mode-map): Bind C-c ; to
octave-update-function-file-comment.
(octave-mode-menu): Add octave-update-function-file-comment.
(octave-mode, inferior-octave-mode): Fix doc-string.
(octave-insert-defun): Conform to Octave's coding convention.

Fixes: debbugs:14285
2013-04-28 01:07:01 +08:00