| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
filenames.
src/fileio.c (file_name_as_directory, directory_file_name): Accept
an additional argument MULTIBYTE to indicate whether the input C
came from a multibyte or a unibyte Lisp string; all callers
adjusted. Don't assume the input string is always multibyte.
(Ffile_name_directory) [DOS_NT]: Handle unibyte strings correctly:
don't ENCODE_FILE them, and return a unibyte string if the input
was unibyte.
(Fexpand_file_name): Don't mix unibyte with multibyte strings, and
don't assume the input strings will always be multibyte. If the
input strings are multibyte, decode strings obtained from C
library functions.
|
| | |
| |
| |
| |
| |
| | |
is the address of a memory area containing Lisp_Objects, try
to print them.
* alloc.c (valid_lisp_object_p): Adjust comment.
|
| | |
| |
| |
| | |
defining a new Lisp data type.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
only if it's really needed.
* frame.h (enum output_method): Remove output_mac member since
it's a leftover from the deleted code.
* frame.c (Fframep): Adjust user here ...
* terminal.c (Fterminal_live_p): ... and here.
* coding.c (Qmac): Now here because it's only used to denote
end-of-line encoding type.
(syms_of_coding): DEFSYM it.
* frame.h (Qmac): Remove duplicated declaration.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
src/window.c (window_body_cols): Subtract display margins from the
window body width on TTYs as well. See
http://lists.gnu.org/archive/html/help-gnu-emacs/2012-12/msg00317.html
for the original report.
|
| | |
| |
| |
| |
| |
| | |
set but never used.
* gtkutil.c (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
(xg_create_tool_bar): Adjust users.
|
| | |
| |
| |
| | |
because the outer shadowed one has the same meaning.
|
| | |
| |
| |
| |
| | |
to check whether the buffer is displayed in some window.
* xdisp.c (message_dolog): Likewise.
|
| | |
| |
| |
| |
| |
| |
| | |
* buffer.c (Fget_buffer_create): Use it to set compact field of
struct buffer_text to avoid accessing an uninitialized value
when compact_buffer is called for the first time.
(compact_buffer): Use convenient BUF_COMPACT and BUF_MODIFF.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
src/w32.c (acl_set_file): If setting the file security descriptor
fails, and the new DACL is identical to the existing one, silently
return success. This fixes problems for users backing up their
own files without having the necessary privileges for setting
security descriptors.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
src/w32proc.c (reader_thread): Do not index fd_info[] with negative
values.
(reader_thread): Exit when cp->status becomes STATUS_READ_ERROR
after WaitForSingleObject returns normally. This expedites reader
thread shutdown when delete_child triggers it.
(reap_subprocess): More accurate commentary for why we call
delete_child only when cp->fd is negative.
src/w32.c (sys_close): Do not call delete_child on a subprocess
whose handle is not yet closed. Instead, set its file descriptor
to a negative value, so that reap_subprocess will call
delete_child on that subprocess when its SIGCHLD arrives. This
avoids closing handles used for communications between sys_select
and reader_thread, which doesn't give sys_select a chance to
notice that the process exited and invoke the SIGCHLD handler for
it.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
been executed.
(ns_run_ascript): Chech as_script for nil, set to nil after
executing script.
Fixes: debbugs:12969
|
| |\ \
| |/ |
|
| | |
| |
| |
| |
| |
| | |
* window.c (Fselect_window): Reword doc-string.
* windows.texi (Selecting Windows): Reword description of
select-window.
|
| | |
| |
| |
| |
| | |
src/w32term.c (w32fullscreen_hook): New function.
(w32_create_terminal): Plug it into the terminal's fullscreen_hook.
|
| |\ \
| |/ |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>.
|
| | |
| |
| |
| | |
Fixes: debbugs:13231
|
| | |
| |
| |
| |
| |
| | |
* strings.texi (Text Comparison): Doc fix for compare-strings.
Fixes: debbugs:13081
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | | |
|
| | |
| |
| |
| |
| | |
(redisplay_internal): Don't bother selecting the frame to get the
proper value of frame-local variables.
|
| | |
| |
| |
| |
| | |
Rename 4th argument since it may be buffer or string. Adjust comment.
* intervals.c (graft_intervals_info_buffer): Find an interval here.
|
| | |
| |
| |
| |
| | |
CHECK_NUMBER_COERCE_MARKER since validate_region does that itself.
(code_convert_region): Likewise.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| | |
Companion to the 2012-09-30 patch. Suggested by Eli Zaretskii in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00796.html>.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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'.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| | |
My favorite was that the word "dictionary" was misspelled.
Also, correct the title in the DeRemer & Pennello 1982 citation,
and add a URL.
|
| | |
| |
| |
| |
| | |
src/editfns.c [HAVE_PWD_H]: Include grp.h.
src/makefile.w32-in ($(BLD)/editfns.$(O)): Add $(NT_INC)/grp.h.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| | |
| |
| |
| | |
in sync.
|
| | |
| |
| |
| | |
selected_frame in sync.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| | |
(init_iterator): Hoist assignment out of if-expression.
(markpos_of_region): Callers now test for sign, not for -1.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| |\ \
| |/ |
|
| | |
| |
| |
| |
| | |
src/search.c (search_buffer): Check the inverse translations of each
character in pattern when the buffer being searched is unibyte.
|
| | | |
|
| | |
| |
| |
| | |
files, fixing a regression from 24.2.
|