1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-20 11:33:09 -08:00
Commit graph

34037 commits

Author SHA1 Message Date
Jan Djärv
cf162aee2b * nsfns.m (Fns_do_applescript): Run event loop until script has
been executed.
(ns_run_ascript): Chech as_script for nil, set to nil after
executing script.

Fixes: debbugs:12969
2012-12-23 13:35:37 +01:00
Glenn Morris
00afe3a454 Merge from emacs-24; up to 2012-12-02T06:22:32Z!cyd@gnu.org 2012-12-22 11:09:52 -08:00
Eli Zaretskii
b2faf49cd9 Support 'fullscreen' frame parameter on MS-Windows.
src/w32term.c (w32fullscreen_hook): New function.
 (w32_create_terminal): Plug it into the terminal's fullscreen_hook.
2012-12-22 15:22:25 +02:00
Martin Rudalics
94900bfe14 Reword doc and doc-string of select-window (Bug#13248).
* window.c (Fselect_window): Reword doc-string.
* windows.texi (Selecting Windows): Reword description of
select-window.
2012-12-22 11:12:52 +01:00
Glenn Morris
a4b0cca119 Merge from emacs-24; up to 2012-12-01T13:25:13Z!cyd@gnu.org 2012-12-21 11:32:43 -08:00
Eli Zaretskii
bb085aed95 src/fileio.c (Finsert_file_contents): Doc fix. 2012-12-21 13:52:18 +02:00
Eli Zaretskii
7efa3fb357 Possibly fix bug #13086 with losing track of subprocesses on MS-Windows.
src/w32proc.c (new_child, delete_child, find_child_pid): For a
 subprocess, consider its slot being in use as long as its process
 handle (procinfo.hProcess) is not NULL.  This avoids reusing the
 slot when a new process is started immediately after killing
 another one, without waiting enough time for the first process to
 be reaped and resources allocated for it be orderly freed.
 Suggested by Fabrice Popineau <fabrice.popineau@supelec.fr>.
2012-12-21 13:21:35 +02:00
Chong Yidong
c1f02afadf * buffer.c (Fset_buffer_major_mode): Doc fix.
Fixes: debbugs:13231
2012-12-21 16:04:27 +08:00
Chong Yidong
34b4b7eb7e Make read-char-by-name signal an error for invalid input.
* international/mule-cmds.el (read-char-by-name): Signal an error
if the user does not supply a valid character.

* editfns.c (Finsert_char): Since read-char-by-name now signals an
error for invalid chars, don't check for a nil return value.

Fixes: debbugs:13177
2012-12-21 15:51:33 +08:00
Dmitry Antipov
1300288527 Avoid calls to CHAR_TO_BYTE if byte position is known.
* editfns.c (make_buffer_string_both): Use move_gap_both.
(Fbuffer_string): Use make_buffer_string_both.
* marker.c (buf_charpos_to_bytepos): Convert to eassert.
Adjust comment.
(buf_bytepos_to_charpos): Likewise.
(charpos_to_bytepos): Remove.
* fileio.c (Finsert_file_contents): Use move_gap_both.
* search.c (Freplace_match): Likewise.
* process.c (process_send_region): Likewise. Use convenient
names for byte positions.
* lisp.h (charpos_to_bytepos): Remove prototype.
* indent.c (scan_for_column): Use CHAR_TO_BYTE.
* insdel.c (move_gap): Likewise.
2012-12-20 20:09:05 +04:00
Paul Eggert
99e9311c31 * xdisp.c (redisplay_internal): Remove now-unused local. 2012-12-20 06:57:40 -08:00
Stefan Monnier
e02230bf34 * src/xdisp.c (select_frame_for_redisplay, ensure_selected_frame): Remove.
(redisplay_internal): Don't bother selecting the frame to get the
proper value of frame-local variables.
2012-12-20 09:03:34 -05:00
Dmitry Antipov
1687fb14cd * textprop.c (set_text_properties_1): Do not allow NULL interval.
Rename 4th argument since it may be buffer or string.  Adjust comment.
* intervals.c (graft_intervals_info_buffer): Find an interval here.
2012-12-20 12:49:21 +04:00
Dmitry Antipov
a2f07cd282 * coding.c (Fdetect_coding_region): Do not check start and end with
CHECK_NUMBER_COERCE_MARKER since validate_region does that itself.
(code_convert_region): Likewise.
2012-12-19 19:52:48 +04:00
Paul Eggert
3f781c75ac Spelling fix. 2012-12-19 05:56:49 -08:00
Eli Zaretskii
474d441e12 Follow symlinks in MS-Windows emulations of ACL functions.
src/w32.c (acl_get_file, acl_set_file): Run the file name through
 map_w32_filename, and resolve any symlinks in the file name, like
 Posix platforms do.
 (acl_set_file): Call revert_to_self, if any privileges were
 enabled.
2012-12-18 21:05:56 +02:00
Juanma Barranquero
8725c07695 src/makefile.w32-in: Update depencencies. 2012-12-17 21:59:04 +01:00
Stefan Monnier
1e101a4be4 * src/xdisp.c (select_frame_for_redisplay): Use select_window_1 to
propagate redisplay's scrolling (if any) to the right window.
(redisplay_internal): Use ensure_selected_frame.
(display_mode_lines): Complete last fix.
* src/window.c (select_window_1): New func, extracted from select_window.
(select_window): Use it.
* src/window.h (select_window_1): Declare.
2012-12-17 14:17:06 -05:00
Eli Zaretskii
66447e07c1 Support Posix ACL APIs on MS-Windows.
src/w32.c: Include sddl.h and sys/acl.h.
 (SDDL_REVISION_1): Define if not already defined.
 (g_b_init_get_security_descriptor_dacl)
 (g_b_init_convert_sd_to_sddl, g_b_init_convert_sddl_to_sd)
 (g_b_init_is_valid_security_descriptor)
 (g_b_init_set_file_security): New static flags.
 (globals_of_w32): Initialize them to zero.
 (SetFileSecurity_Name): New string constant.
 (SetFileSecurity_Proc, GetSecurityDescriptorDacl_Proc)
 (ConvertStringSecurityDescriptorToSecurityDescriptor_Proc)
 (ConvertSecurityDescriptorToStringSecurityDescriptor_Proc)
 (IsValidSecurityDescriptor_Proc): New typedefs.
 (get_file_security, get_security_descriptor_owner)
 (get_security_descriptor_group): Set errno to ENOTSUP.
 (set_file_security, get_security_descriptor_dacl)
 (is_valid_security_descriptor, convert_sd_to_sddl)
 (convert_sddl_to_sd, acl_valid, acl_to_text, acl_from_text)
 (acl_free, acl_get_file, acl_set_file): New functions.
 src/fileio.c (Fcopy_file) [WINDOWSNT]: Support copying ACLs.

 nt/inc/sys/acl.h: New file.
 nt/inc/ms-w32.h (ENOTSUP): Define if undefined.
 nt/config.nt (HAVE_POSIX_ACL): Define.

 doc/lispref/files.texi (File Attributes, Changing Files): Update to include
 MS-Windows support for ACLs.
2012-12-17 21:14:34 +02:00
Paul Eggert
207a7ef053 Don't reraise SIGCHLD, as that can now lose.
With the 2012-12-03 fix for Bug#12980 in place, an old workaround
for some of that bug's symptoms can now cause Emacs to abort.
Remove the workaround.
* process.c (wait_reading_process_output): Don't reraise SIGCHLD.
The bug that caused SIGCHLD to get lost has been fixed, and the
workaround for it can now cause Emacs to abort.

Fixes: debbugs:13192
2012-12-17 09:51:25 -08:00
Paul Eggert
17fdfc1530 * sysdep.c (emacs_abort): Bump backtrace size to 40.
Companion to the 2012-09-30 patch.  Suggested by Eli Zaretskii in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00796.html>.
2012-12-16 14:53:28 -08:00
Romain Francoise
7c3d167f48 Add support for preserving ACL entries of files.
* configure.ac (acl): New option.
	(HAVE_POSIX_ACL): Test for POSIX ACL support.  This is typically
	provided by libacl on GNU/Linux.

	* fileio.c (Ffile_acl, Fset_file_acl): New functions.
	(Fcopy_file): Change last arg to `preserve_extended_attributes'
	and copy ACL entries of file in addition to SELinux context if
	set.
	(syms_of_fileio): Add `file-acl' and `set-file-acl'.

	* Makefile.in (LIBACL_LIBS): New macro.
	(LIBES): Use it.

	* files.el (file-extended-attributes)
	(set-file-extended-attributes): New functions.
	(backup-buffer): Use them to handle both SELinux context and ACL
	entries.
	(backup-buffer-copy): Work with an alist of extended attributes,
	rather than an SELinux context.
	(basic-save-buffer-2): Ditto.

	* files.texi (File Attributes): Document ACL support and new
	`file-acl' function.
	(Changing Files): Mention argument name change of `copy-file' and
	document new function `set-file-acl'.
2012-12-16 19:22:27 +01:00
Paul Eggert
7d80ea2365 * fileio.c (internal_delete_file): Use bool for boolean. 2012-12-15 07:33:43 -08:00
Chong Yidong
5bec25eb1e * fns.c (Fcompare_strings): Doc fix.
* strings.texi (Text Comparison): Doc fix for compare-strings.

Fixes: debbugs:13081
2012-12-15 21:44:41 +08:00
Eli Zaretskii
b07286179e Fix bug #13079 on MS-Windows with temp files not being deleted.
src/w32.h (_child_process): New members input_file and
 pending_deletion.
 (register_child): First argument is now pid_t.
 (record_infile, record_pending_deletion): New prototypes.
 src/w32proc.c (new_child): Initialize input_file and
 pending_deletion members of the child.
 (delete_child): Delete the child's temporary input file, if any,
 that is pending deletion.
 (register_child): First argument is now pid_t.
 (record_infile, record_pending_deletion): New functions.
 (reap_subprocess): Fix a typo in DebPrint string.
 (sys_spawnve, sys_kill): Use pid_t for PID arguments.
 src/fileio.c (internal_delete_file): Return an int again: non-zero
 if delete-file succeeds, zero otherwise.
 src/lisp.h (internal_delete_file): Adjust prototype.
 src/callproc.c (Fcall_process): Don't overwrite infile with result
 of DECODE_FILE.
 [WINDOWSNT] If BUFFER is an integer, i.e. we are launching an
 asynchronous subprocess, record the name of the input file name,
 if any.
 (delete_temp_file) [WINDOWSNT]: If internal_delete_file fails to
 delete the file, record it as pending deletion when the subprocess
 exits.

 nt/inc/ms-w32.h (sys_unlink): Provide prototype.
2012-12-15 15:38:21 +02:00
Kenichi Handa
68abf86780 search.c (search_buffer): Improve a comment. 2012-12-15 22:04:50 +09:00
Kenichi Handa
e79d60fede search.c (search_buffer): Improve a comment. 2012-12-15 21:32:23 +09:00
Eli Zaretskii
7be7da6c9f w32proc.c (reap_subprocess): Fix commentary. 2012-12-15 13:41:18 +02:00
Eli Zaretskii
d3d14b40f3 Improve and correct commentary to w32proc-related data and functions. 2012-12-15 13:04:14 +02:00
Paul Eggert
cccaebd24d Spelling fixes.
My favorite was that the word "dictionary" was misspelled.
Also, correct the title in the DeRemer & Pennello 1982 citation,
and add a URL.
2012-12-14 12:05:03 -08:00
Eli Zaretskii
7e90af2674 Fix compilation warnings in the Windows build.
src/editfns.c [HAVE_PWD_H]: Include grp.h.
 src/makefile.w32-in ($(BLD)/editfns.$(O)): Add $(NT_INC)/grp.h.
2012-12-14 21:43:12 +02:00
Paul Eggert
97976f9f3f Fix permissions bugs with setgid directories etc.
* configure.ac (BSD4_2): Remove; no longer needed.
* admin/CPP-DEFINES (BSD4_2): Remove.
* doc/lispintro/emacs-lisp-intro.texi (Files List):
directory-files-and-attributes now outputs t for attribute that's
now a placeholder.
* doc/lispref/files.texi (Testing Accessibility): Document GROUP arg
of file-ownership-preserved-p.
(File Attributes): Document that 9th element is now
just a placeholder.
* doc/lispref/os.texi (User Identification): Document new functions group-gid,
group-real-gid.
* etc/NEWS: Document changes to file-attributes,
file-ownership-preserved-p.
Mention new functions group-gid, group-real-gid.
* lisp/files.el (backup-buffer): Don't rely on 9th output of
file-attributes, as it's now a placeholder.  Instead, use the new
optional arg of file-ownership-preserved-p.
(file-ownership-preserved-p): New optional arg GROUP.
Fix mishandling of setuid directories that would cause this
function to return t when it should have returned nil.
Document what happens if the file does not exist, and when
it's not known whether the ownership will be preserved.
* lisp/net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p):
Likewise.
(tramp-get-local-gid): Use group-gid for integer, as that's
faster and more reliable.
* src/dired.c (Ffile_attributes): Return t as the 9th attribute,
to mark it as a placeholder.  The old value was often wrong.
The only user of this attribute has been changed to use
file-ownership-preserved-p instead, with its new group arg.
* src/editfns.c (Fgroup_gid, Fgroup_real_gid): New functions.

Fixes: debbugs:13125
2012-12-14 10:59:00 -08:00
Stefan Monnier
ad966fe754 * src/xdisp.c (display_mode_lines): Keep selected_window and selected_frame
in sync.
2012-12-14 10:52:43 -05:00
Stefan Monnier
26ec1f49cb * src/xdisp.c (select_frame_for_redisplay): Keep selected_window and
selected_frame in sync.
2012-12-14 10:38:50 -05:00
Eli Zaretskii
5c207910c4 Speed up most calls to 'stat' and 'lstat' on MS-Windows.
src/w32.c (stat_worker): If w32_stat_get_owner_group is zero, do not
 try to get accurate owner and group information from NT file
 security APIs.  This is to make most callers of 'stat' and
 'lstat', which don't need that information, much faster.
 src/dired.c (Ffile_attributes) [WINDOWSNT]: Set
 w32_stat_get_owner_group to a non-zero value, to request accurate
 owner and group information from 'lstat'.

 nt/inc/sys/stat.h: Declare w32_stat_get_owner_group.
2012-12-14 16:05:01 +02:00
Eli Zaretskii
92340ec753 Fix bug #12621 with crashes on MS-Windows in LookupAccountSid.
src/w32.c (get_name_and_id): Always pass NULL as the first argument
 of lookup_account_sid.  Avoids crashes with UNC file names that
 refer to DFS domains, not to specific machine names.  (Bug#12621)
 Remove now unused argument FNAME; all callers changed.
 (get_file_owner_and_group): Remove now unused argument FNAME; all
 callers changed.
2012-12-14 11:09:36 +02:00
Paul Eggert
4c95c9a594 * fileio.c (Finsert_file_contents): Don't put tail into head area,
as that confuses set-auto-coding, so insist on the head-read
returning the full 1024 bytes.  Let lseek compute the tail offset;
less work for us.  Do not ignore I/O errors when reading the tail.
2012-12-13 11:35:10 -08:00
Paul Eggert
893f52d895 * xdisp.c: Minor style fixes.
(init_iterator): Hoist assignment out of if-expression.
(markpos_of_region): Callers now test for sign, not for -1.
2012-12-13 08:55:28 -08:00
Dmitry Antipov
40d1e43460 Minor redisplay optimization when the region length is zero.
* xdisp.c (markpos_of_region): New function.
(init_iterator): Do not highlight the region of zero length.
(redisplay_window): Check whether the region is of non-zero length.
(try_cursor_movement): Allow if the region length is zero.
(try_window_reusing_current_matrix, try_window_id): Likewise.
2012-12-13 12:04:40 +04:00
Glenn Morris
727f973937 Merge from emacs-24; up to 2012-11-30T04:44:52Z!cyd@gnu.org 2012-12-12 21:29:15 -08:00
Paul Eggert
d20704efe6 * fileio.c (Fcopy_file): Make fstat failure as serious as open failure.
fstat shouldn't fail, and if it does fail copy-file should not proceed.
Remove unnecessary S_ISLNK test, as (contra the comments) this
function can't copy symlinks.  Improve quality of error message
when attempting to copy files that are neither regular files nor
directories.
2012-12-12 18:17:49 -08:00
Dmitry Antipov
2dd61a9b33 * dispnew.c (set_window_cursor_after_update): Use clip_to_bounds.
* gtkutil.c (xg_set_toolkit_scroll_bar_thumb):
* window.c (Frecenter):
* xdisp.c (resize_mini_window, hscroll_window_tree, draw_glyphs):
* xterm.c (x_set_toolkit_scroll_bar_thumb): Likewise.
2012-12-12 19:33:30 +04:00
Daniel Colascione
cc98b68426 2012-12-12 Daniel Colascione <dancol@dancol.org>
* unexcw.c (fixup_executable): use posix_fallocate to ensure that
	the dumped Emacs is not a sparse file, greatly improving Cygwin
	"make bootstrap" performance.
2012-12-11 19:26:52 -08:00
Paul Eggert
4a0e1924fc Spelling fixes. 2012-12-11 10:09:55 -08:00
Michael Albinus
38e791fdf7 * inotify.c (inotify_callback): Generate an Emacs event for every
incoming inotify event.
2012-12-11 17:29:13 +01:00
Eli Zaretskii
e8c6e965f3 Fix bug #13084 with crashes during search.
src/search.c (search_buffer): Check the inverse translations of each
 character in pattern when the buffer being searched is unibyte.
2012-12-11 17:30:45 +02:00
Eli Zaretskii
f9d1448f46 Fix part of bug #13011 with display of lines that have a box face.
src/xdisp.c (handle_face_prop): Fix logic of computing
 it->start_of_box_run_p.
 (append_space_for_newline): If the glyph row is R2L, reset the
 iterator's end_of_box_run_p flag before prepending the space glyph.
 (extend_face_to_end_of_line): If the glyph row is R2L, reset the
 iterator's start_of_box_run_p flag before prepending the stretch.
 (append_glyph, produce_image_glyph, append_composite_glyph)
 (append_stretch_glyph, append_glyphless_glyph): Reverse the
 left_box_line_p and right_box_line_p flags of the glyph for R2L
 glyph rows.
2012-12-11 14:22:35 +02:00
Dmitry Antipov
c6afe371b0 * buffer.c (Fset_buffer_multibyte): Do not force redisplay
if changed buffer is not shown in a window.
* insdel.c (prepare_to_modify_buffer): Likewise.
* window.c (replace_buffer_in_windows_safely): Do nothing
if buffer is not shown in a window.
(Fforce_window_update): Likewise if string or buffer argument
is passed.
2012-12-11 13:51:12 +04:00
Eli Zaretskii
1b47babdb7 Minor change in variable name in inotify.c.
src/inotify.c (Finotify_add_watch): Rename decoded_file_name to
 encoded_file_name, which is what it is.
2012-12-11 10:24:09 +02:00
Dmitry Antipov
4c1acb95df Consistently use marker_position and marker_byte_position.
* fringe.c (Ffringe_bitmaps_at_pos):
* indent.c (Fvertical_motion):
* insdel.c (prepare_to_modify_buffer):
* keyboard.c (make_lispy_position):
* window.c (Fwindow_end, Fpos_visible_in_window_p, unshow_buffer)
(window_scroll_pixel_based, displayed_window_lines)
(Fset_window_configuration):
* xdisp.c (message_dolog, with_echo_area_buffer_unwind_data)
(mark_window_display_accurate_1, redisplay_window, decode_mode_spec):
Replace direct access to marker fields with calls
to marker_position and/or marker_byte_position.
2012-12-11 10:08:53 +04:00