Fabrice Popineau [Tue, 31 Dec 2013 16:01:34 +0000 (18:01 +0200)]
Minor fixes for MinGW64 build.
configure.ac (canonical, C_SWITCH_SYSTEM): Support a 64-bit
MinGW64 build on MS-Windows.
nt/inc/ms-w32.h (sys_kill): Fix prototype.
src/w32term.c (w32_initialize): Use LCID and LOWORD.
src/w32proc.c (create_child): Use pid_t for 5th argument.
(IsValidLocale): Don't provide prototype for MinGW64.
(Fw32_get_valid_keyboard_layouts, Fw32_get_keyboard_layout)
(Fw32_set_keyboard_layout): Use HKL and HIWORD/LOWORD.
src/w32heap.c (allocate_heap) [_WIN64]: Use "ull", not "i64", which
MinGW64 doesn't support.
src/lisp.h (EMACS_INT) [_WIN64]: Define for the MinGW64 build.
Fabrice Popineau [Tue, 31 Dec 2013 15:00:43 +0000 (17:00 +0200)]
Fall back on SetNamedSecurityInfo if SetFileSecurity fails in acl_set_file.
src/w32.c (set_named_security_info): New function.
(acl_set_file): Fall back on set_named_security_info if
set_file_security fails. Fixes rare failures in backups.
(g_b_init_set_named_security_info_w)
(g_b_init_set_named_security_info_a): New static variables.
(globals_of_w32): Initialize them to zero.
(set_named_security_info): Set them to non-zero if the
corresponding API is available.
(SetNamedSecurityInfoW_Proc, SetNamedSecurityInfoA_Proc): New
function typedefs.
Martin Rudalics [Tue, 31 Dec 2013 09:48:54 +0000 (10:48 +0100)]
Some more fixes following pixelwise resize changes including one for Bug#16306.
* gtkutil.c (x_wm_set_size_hint): Have size hints respect value
of frame_resize_pixelwise.
* widget.c (pixel_to_text_size): New function.
(update_wm_hints): Have size hints respect value of
frame_resize_pixelwise.
(EmacsFrameResize): Alway process resize requests pixelwise.
* window.c (grow_mini_window): Make sure mini window is at least
one line tall.
* xdisp.c (display_menu_bar): Make sure menubar extends till
right end of frame.
* xfns.c (x_set_menu_bar_lines): Resize frame windows pixelwise.
(x_set_tool_bar_lines): Calculate pixelwise.
* xterm.c (x_wm_set_size_hint): Have size hints respect value of
frame_resize_pixelwise.
Paul Eggert [Sun, 29 Dec 2013 18:18:45 +0000 (10:18 -0800)]
Plain copy-file no longer chmods an existing destination.
* doc/lispref/files.texi (Changing Files): Document this.
* etc/NEWS: Document this.
* src/fileio.c (realmask): Now a static var, not a local.
(barf_or_query_if_file_exists): New arg KNOWN_TO_EXIST.
Remove arg STATPTR. All uses changed.
(Fcopy_file): Do not alter permissions of existing destinations,
unless PRESERVE-PERMISSIONS (renamed from
PRESERVE-EXTENDED-ATTRIBUTES) is non-nil.
Avoid race when testing for existing destinations and for
when input and output files are the same.
If changing the group fails, adjust both default and
preserved permissions so that access is not granted to the
wrong group.
(Fset_default_file_modes, init_fileio): Update realmask.
(Fdefault_file_modes): Use realmask instead of calling umask.
Paul Eggert [Sat, 28 Dec 2013 00:40:58 +0000 (16:40 -0800)]
Fix problem with MAKE and xcrun configuration.
* configure.ac: Don't set MAKE unless 'make' doesn't work.
Set it only in the environment, not in the makefile.
Problem reported by Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00969.html
Jarek Czekalski [Fri, 27 Dec 2013 20:58:21 +0000 (21:58 +0100)]
Shell completion for filenames from current directory, related docs.
* lisp/shell.el Shell completion now matches executable filenames from
the current buffer's directory, on systems in which this behaviour
is the default (windows-nt, ms-dos).
* src/callproc.c (Vexec_path): Document that exec-directory is in it.
* doc/emacs/mini.texi (Completion Options): Add a link to Shell Options.
* doc/emacs/misc.texi (Shell Mode): Move documentation of
shell-completion-fignore from Shell Mode to Shell Options.
Paul Eggert [Fri, 27 Dec 2013 19:14:10 +0000 (11:14 -0800)]
Port xcrun configuration to GNU/Linux.
* configure.ac (xcsdkdir): Default to empty.
(XCRUN): Don't require Darwin for xcrun. Move xcrun checking to
just before AM_INIT_AUTOMAKE, to make the dependency between it
and automake clearer.
(CC): Don't use AC_PROG_CC twice; only the first use expands to the
shell code that is wanted, which breaks 'configure' on non-Darwin
platforms. Instead, fix CC by hand if it's not found.
Paul Eggert [Fri, 27 Dec 2013 03:25:43 +0000 (19:25 -0800)]
Sync better from sources.
* CXTERM-DIC/ARRAY30.tit, CXTERM-DIC/4Corner.tit:
* CXTERM-DIC/QJ.tit, CXTERM-DIC/QJ-b5.tit:
Omit blank lines not present in the original.
* CXTERM-DIC/CCDOSPY.tit:
* CXTERM-DIC/PY-b5.tit:
* CXTERM-DIC/SW.tit, CXTERM-DIC/TONEPY.tit:
* MISC-DIC/pinyin.map, MISC-DIC/ziranma.cin:
Clarify which header lines were added for Emacs.
* CXTERM-DIC/README:
Clarify what changes we made, and where the files came from.
* MISC-DIC/README, MISC-DIC/pinyin.map, MISC-DIC/ziranma.cin:
Update URLs.
* SKK-DIC/SKK-JISYO.L: Update from upstream.
* net/shr.el (shr-find-fill-point): Don't try to fill if the
indentation level is larger than the width, because that will
infloop.
(shr-insert): Fill repeatedly long texts, so that Japanese is
formatted correctly.
Martin Rudalics [Thu, 26 Dec 2013 11:31:42 +0000 (12:31 +0100)]
Some more tinkering with Bug#16051.
* window.c (resize_frame_windows): Don't let the size of the
root window drop below the frame's default character size.
Never ever delete any subwindows - let the window manager do the
clipping.
* w32fns.c (x_set_tool_bar_lines): Rewrite calculation of number
of toolbar lines needed when they exceed the height of the root
window.
(unwind_create_frame_1): New function.
(Fx_create_frame): Generally inhibit calling the window
configuration change hook here. Remove extra call to
change_frame_size - it's not needed when we don't run the
configuration change hook.
Paul Eggert [Thu, 26 Dec 2013 08:57:28 +0000 (00:57 -0800)]
Fix core dumps with gcc -fsanitize=address and GNU/Linux.
On my Fedora 19 platform the core dumps were so big that
my desktop became nearly catatonic.
* configure.ac: Check whether addresses are sanitized.
(CANNOT_DUMP): Warn if addresses are sanitized and not CANNOT_DUMP.
(DOUG_LEA_MALLOC): Do not define if addresses are sanitized.
(SYSTEM_MALLOC): Define if addresses are sanitized.
* src/alloc.c (no_sanitize_memcpy) [MAX_SAVE_STACK > 0]: New function.
(Fgarbage_collect) [MAX_SAVE_STACK > 0]: Use it.
(USE_ALIGNED_MALLOC): Do not define if addresses are sanitized.
(mark_memory): Use ATTRIBUTE_NO_SANITIZE_ADDRESS rather than
a clang-only syntax.
* src/conf_post.h (__has_feature): New macro, if not already defined.
(ADDRESS_SANITIZER, ADDRESS_SANITIZER_WORKAROUND)
(ATTRIBUTE_NO_SANITIZE_ADDRESS): New macros.
(shr-char-kinsoku-bol-p): The quotation mark isn't a kinsoky BOL char.
(shr-find-fill-point): Remove the special checks for the quotation
mark, since `shr-char-kinsoku-bol-p' should now return the right
thing.
* lisp/progmodes/python.el:
(python-nav--lisp-forward-sexp): New function.
(python-nav--lisp-forward-sexp-safe): Use it. Rename from
python-nav-lisp-forward-sexp-safe.
(python-nav--forward-sexp): New argument SAFE allows switching
forward sexp movement behavior for parens.
(python-nav-forward-sexp): Throw errors on unterminated parens.
(python-nav-backward-sexp, python-nav-forward-sexp-safe)
(python-nav-backward-sexp-safe): New functions.
(python-shell-buffer-substring): Use
`python-nav-forward-sexp-safe'.
* test/automated/python-tests.el
(python-nav-lisp-forward-sexp-safe-1): Remove test.
(python-nav-forward-sexp-safe-1): New test.
* doc/lispref/keymaps.texi (Active Keymaps): Re-organize the text.
(Searching Keymaps): Rewrite the pseudo-code for 24.4 changes.
(Controlling Active Maps): Note that set-transient-map uses
overriding-terminal-local-map.
* doc/lispref/nonascii.texi (Specifying Coding Systems): Don't refer to
emacs-mule-dos.
(Lisp and Coding Systems): Describe emacs-mule return value in
modern terms.
* doc/lispref/tips.texi (Coding Conventions): Tweak the coding system tip;
Emacs now uses utf-8 by default for Emacs Lisp source files.
* doc/emacs/glossary.texi (Glossary): Define MULE in modern terms.
Chong Yidong [Wed, 25 Dec 2013 03:05:11 +0000 (11:05 +0800)]
Document `eval' changes.
* doc/lispref/eval.texi (Eval): Document the LEXICAL arg to eval.
* doc/lispref/variables.texi (Variables, Void Variables): Use "scoping rule"
terminology consistently.
(Variable Scoping): Add index entries, and use "dynamic scope"
terminology in place of "indefinite scope" to reduce confusion.
(Lexical Binding): Document lexical environment format.
(Using Lexical Binding): Add index entries for error messages.
Eli Zaretskii [Tue, 24 Dec 2013 17:21:06 +0000 (19:21 +0200)]
Minor fixes in w32-shell-execute.
src/w32fns.c (Fw32_shell_execute): Ensure DOCUMENT is an absolute
file name when it is submitted to ShellExecute. Simplify code.
Don't test DOCUMENT for being a string, as that is enforced by
CHECK_STRING. Doc fix.
Tassilo Horn [Tue, 24 Dec 2013 15:30:59 +0000 (16:30 +0100)]
Fix missing arg in pcase example.
* doc/lispref/control.texi (Pattern matching case statement): Fix missing
argument in simple expression language sample. Add
some sample programs written in that language. Mention that
`pcase' requires lexical binding.