Miscellaneous fixes for non-default X toolkits.
* configure.ac (MOTIF): Check for /usr/include/openmotif
and /usr/(lib|lib64)/openmotif if --with-x-toolkit=motif.
* lwlib/lwlib-Xm.c (make_menu_in_widget): Remove unused variable.
* src/xfns.c (Fx_file_dialog): Change to SSDATA to avoid warnings.
* src/xterm.c (x_frame_of_widget): Remove redundant prototype.
Move under #ifdef USE_LUCID.
(x_create_toolkit_scroll_bar): Adjust scroll_bar_name
definition and usage to avoid warnings.
* configure.ac (AH_BOTTOM): Use an include file, so that the
contents do not get processed by autoheader. Eg this prevents undefs
being commented out, and is the recommended technique from the
autoconf manual.
* src/conf_post.h: New, split from configure.ac's AH_BOTTOM.
Paul Eggert [Mon, 30 Jul 2012 20:34:58 +0000 (13:34 -0700)]
Do not overwrite config.status while executing it.
* Makefile.in (MAKEFILE_NAME): New macro.
($(MAKEFILE_NAME)): Rename rule from Makefile.
* configure.ac (epaths): Set MAKEFILE_NAME to a bogus value,
so that GNU 'make' isn't tempted to make the Makefile and then
regenerate config.status while config.status is running.
Jan Djärv [Mon, 30 Jul 2012 20:10:31 +0000 (22:10 +0200)]
Don't open files from Cocoa-parsed command line.
--eval '(whatever)' will open '(whatever)' if --eval is the last option.
* src/nsterm.m (ns_do_open_file): New variable.
(ns_term_init): Set ns_do_open_file to NO after run returns.
(openFile, openTempFile, openFileWithoutUI, openFiles): Open
files only if ns_do_open_file.
Paul Eggert [Mon, 30 Jul 2012 18:44:51 +0000 (11:44 -0700)]
Export DIRECTORY_SEP, TYPEMASK, VALMASK to GDB.
* alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: Add lsb_bits.
* lisp.h (enum lsb_bits) [USE_LSB_TAG]: New enum, for
gdb_make_enums_visible.
(TYPEMASK, VALMASK) [USE_LSB_TAGS]: Now enum constants, not macros.
(DIRECTORY_SEP): Now a constant, not a macro.
Eli Zaretskii [Mon, 30 Jul 2012 17:07:33 +0000 (20:07 +0300)]
Fix bug #12082 with input of Meta-non-ASCII-characters on MS-Windows.
src/w32fns.c (w32_wnd_proc): Pass w32_keyboard_codepage to
w32_kbd_patch_key as the 2nd arg.
src/w32term.c <w32_keyboard_codepage>: Renamed from
keyboard_codepage and now external. All users changed.
src/w32term.h: Add declaration of w32_keyboard_codepage.
src/w32inevt.c (w32_kbd_patch_key): Accept an additional argument --
the codepage to translate keys to Unicode. If this argument is
-1, use the value returned by GetConsoleCP. All callers changed.
Convert safe_call to use variable number of arguments.
* xdisp.c (safe_call): Convert to use varargs. Adjust users.
(safe_call2): Fix comment.
* lisp.h (safe_call): Adjust prototype.
* coding.c (encode_coding_object): Change to use safe_call2.
* xfaces.c (merge_face_heights): Change to use safe_call1.
Paul Eggert [Mon, 30 Jul 2012 05:41:10 +0000 (22:41 -0700)]
Export to GDB most of lisp.h's remaining object-like macros.
* lisp.h (min, max): Move earlier, because they're used earlier now.
(INTMASK, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK)
(CHAR_TABLE_STANDARD_SLOTS, CHARTAB_SIZE_BITS_0)
(CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2, CHARTAB_SIZE_BITS_3)
(DEFAULT_HASH_SIZE, COMPILED_ARGLIST, COMPILED_BYTECODE)
(COMPILED_CONSTANTS, COMPILED_STACK_DEPTH, COMPILED_DOC_STRING)
(COMPILED_INTERACTIVE, CHAR_ALT, CHAR_SUPER, CHAR_HYPER, CHAR_SHIFT)
(CHAR_CTL, CHAR_META, CHAR_MODIFIER_MASK, CHARACTERBITS)
(MANY, UNEVALLED, FLOAT_TO_STRING_BUFSIZE, MAX_ALLOCA):
Now constants, for GDB. They need not be macros.
(MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM, STRING_BYTES_BOUND):
Now constants, for GDB, as well as macros, for static initializers.
(CHAR_TABLE_STANDARD_SLOTS, CHAR_TABLE_EXTRA_SLOTS):
Move to after the definition of struct Lisp_Char_Table,
since the former now needs that type defined.
(enum CHARTAB_SIZE_BITS, enum CHAR_TABLE_STANDARD_SLOTS)
(enum DEFAULT_HASH_SIZE, enum Lisp_Compiled, enum char_bits)
(enum maxargs, enum FLOAT_TO_STRING_BUFSIZE, enum MAX_ALLOCA):
New enums, for gdb_make_enums_visible.
(GLYPH_MODE_LINE_FACE): Remove; unused.
* alloc.c (STRING_BYTES_MAX): Now a constant, now a macro.
(gdb_make_enums_visible): Add enum CHARTAB_SIZE_BITS, enum
CHAR_TABLE_STANDARD_SLOTS, enum char_bits, enum DEFAULT_HASH_SIZE,
enum FLOAT_TO_STRING_BUFSIZE, enum Lisp_Bits, enum Lisp_Compiled,
enum maxargs, enum MAX_ALLOCA.
(ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): Remove.
(ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Remove;
no longer needed, now that they are done in lisp.h.
Cleanup string bytes checking.
* alloc.c (GC_STRING_BYTES, CHECK_STRING_BYTES): Remove. Convert
all users to STRING_BYTES or string_bytes if GC_CHECK_STRING_BYTES.
(check_string_bytes): Define to empty if not GC_CHECK_STRING_BYTES.
(check_sblock, compact_small_strings): Simplify.
Jay Belanger [Mon, 30 Jul 2012 03:38:24 +0000 (22:38 -0500)]
doc/misc/calc.texi (Getting Started, Tutorial): Change simulated
Calc output to match actual output.
(Simplifying Formulas): Mention that algebraic simplification is now
the default.
Jay Belanger [Sun, 29 Jul 2012 23:19:09 +0000 (18:19 -0500)]
calc/calc.el (calc-simplify-mode): Make 'alg the default value.
(calc-set-mode-line): Don't display "AlgSimp ".
calc/calc-mode.el (calc-alg-simplify-mode): Remove function.
(calc-lim-simplify-mode): New function.
(calc-set-simplify-mode): Default to 'alg.
(calc-default-simplify-mode): Make algebraic simplifications the default.
calc/calc-ext.el (calc-init-extensions): Remove binding for
`calc-alg-simplify-mode'. Add binding for `calc-lim-simplify-mode'.
calc/README: Mention new default simplification mode.
These macros are confusing and no longer need to be defined, as
the enum values now suffice. Each use replaced with definiens.
(Lisp_Int1, Lisp_String): Define directly; this is clearer.
David Engster [Sun, 29 Jul 2012 19:57:28 +0000 (21:57 +0200)]
New tests for XML name expansion.
* automated/xml-parse-tests.el (xml-parse-tests--qnames): New
variable to hold test data for name expansion.
(xml-parse-tests): Test the two different types of name expansion.
Eli Zaretskii [Sun, 29 Jul 2012 18:27:35 +0000 (21:27 +0300)]
Fix bug #12082 with non-ASCII output in Windows GUI sessions.
lisp/international/mule-cmds.el (set-locale-environment): Revert last
change, since display-graphic-p returns nil when this function is
called during startup. Instead...
lisp/term/w32console.el (terminal-init-w32console): ...setup the
keyboard and terminal encoding for TTY sessions here.
Juri Linkov [Sun, 29 Jul 2012 18:11:42 +0000 (21:11 +0300)]
* lisp/simple.el (goto-line): Don't display default line number in the
prompt because it should be displayed by `read-number' (bug#9952).
Add the current line number to the defaults of `goto-line' to
allow its easier modification by users with `M-n' (bug#9201).
* lisp/subr.el (read-number): Support multiple default values like in
other minibuffer reading functions. Replace `read' with
`string-to-number' for consistency with `number-to-string'.
Remove HIDE_LISP_IMPLEMENTATION and cleanup cons free list check.
* lisp.h (HIDE_LISP_IMPLEMENTATION): Remove as useless for a long
time. Adjust users.
(CHECK_CONS_LIST): Remove. Convert all users to check_cons_list.
Paul Eggert [Sun, 29 Jul 2012 08:18:29 +0000 (01:18 -0700)]
Don't use the abbreviation "win" to refer to Windows (Bug#10421).
* lisp/org/ob-lilypond.el (ly-w32-ly-path): Rename from ly-win32-ly-path.
(ly-w32-pdf-path): Rename from ly-win32-pdf-path.
(ly-w32-midi-path): Rename from ly-win32-midi-path.
(ly-determine-ly-path, ly-determine-pdf-path, ly-determine-midi-path):
Check for "windows-nt", not "win32", in system-type.
* src/regex.c (MAX_BUF_SIZE): Remove some incorrect and
long-ago-commented-out code that talks about "WIN32".
* src/w32heap.h (OS_WINDOWS_95): Rename from OS_WIN95.
All uses changed.
* NEWS: Document these changes.
* leim/quail/uni-input.el (ucs-input-deactivate):
Rename from ucs-input-inactivate.
* leim/quail/hangul.el (hangul-input-method-deactivate):
Rename from hangul-input-method-inactivate.
* emulation/viper-init.el (viper-deactivate-input-method-action):
Rename from viper-inactivate-input-method-action.
(viper-deactivate-input-method):
Rename from viper-inactivate-input-method.
* lisp/follow.el (follow-inactive-menu): Rename from follow-deactive-menu.
* lisp/international/mule-cmds.el (deactivate-input-method):
Rename from inactivate-input-method.
Also run input-method-deactivate-hook.
(deactivate-current-input-method-function):
Rename from inactivate-current-input-method-function.
(input-method-deactivate-hook): New hook.
(input-method-inactivate-hook): Mark obsolete.
* lisp/international/quail.el (quail-activate):
Also run quail-deactivate-hook.
(quail-deactivate): Rename from quail-inactivate.
* lisp/international/robin.el (robin-activate):
Also run robin-deactivate-hook.
(robin-deactivate): Rename from robin-inactivate.
Deactivate the mark on more copy operations, and indicate the copied region.
* lisp/simple.el (indicate-copied-region): New function.
(kill-ring-save): Split off from here.
* lisp/rect.el (copy-rectangle-as-kill): Call indicate-copied-region.
(kill-rectangle): Set deactivate-mark to t on read-only error.
* lisp/register.el (copy-to-register, copy-rectangle-to-register):
Deactivate the mark, and use indicate-copied-region.
(append-to-register, prepend-to-register): Call
Paul Eggert [Sat, 28 Jul 2012 23:05:32 +0000 (16:05 -0700)]
Use Gnulib stdalign and environ modules (Bug#9772, Bug#9960).
* .bzrignore: Add lib/stdalign.h.
* config.bat: Do not set NO_DECL_ALIGN; no longer needed.
Copy lib/stdalign.in.h to lib/stdalign.in-h as needed.
* configure.ac (HAVE_ATTRIBUTE_ALIGNED): Remove the code that
fiddles with this, as gnulib now does this for us.
* admin/merge-gnulib: Add environ, stdalign.
* m4/environ.m4: New file, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/stdalign.in.h, m4/stdalign.m4: New files, from gnulib.
* sed2v2.inp (HAVE_ATTRIBUTE_ALIGNED): Remove edit.
* sedlibmk.inp (STDALIGN_H, @GL_GENERATE_STDALIGN_H_TRUE@)
(GL_GENERATE_STDALIGN_H_FALSE): New edits.
* nt/config.nt (HAVE_ATTRIBUTE_ALIGNED): Remove.
* src/alloc.c (XMALLOC_BASE_ALIGNMENT, GC_POINTER_ALIGNMENT, pure_alloc):
Simplify by using alignof.
(pure_alloc) [! USE_LSB_TAG]: Don't over-align EMACS_INT values.
* src/lisp.h: Include <stdalign.h>.
(GCALIGNMENT): New macro and constant.
(DECL_ALIGN): Remove. All uses replaced by alignas (GCALIGNMENT).
(USE_LSB_TAG): ifdef on alignas, not on DECL_ALIGN.
(stdalign): New macro, if not already defined.
Eli Zaretskii [Sat, 28 Jul 2012 16:57:57 +0000 (19:57 +0300)]
Fix non-ASCII input in non-GUI frames on MS-Windows. (Bug#12055)
src/w32inevt.c: Include w32inevt.h.
(w32_read_console_input): New inline function, calls either
ReadConsoleInputA or ReadConsoleInputW, depending on the value of
w32_console_unicode_input.
(fill_queue): Call w32_read_console_input instead of ReadConsoleInput.
(w32_kbd_patch_key, key_event): Use the codepage returned by
GetConsoleCP, rather than the ANSI codepage returned by GetLocaleInfo.
(key_event): use uChar.UnicodeChar only if
w32_console_unicode_input is non-zero.
src/w32console.c: Include w32heap.h.
<w32_console_unicode_input>: New global variable.
(initialize_w32_display): Set w32_console_unicode_input to 1 on NT
family of Windows, zero otherwise.
src/w32inevt.h: Declare w32_console_unicode_input.
lisp/international/mule-cmds.el (set-locale-environment): In a
console session on MS-Windows, set up keyboard and terminal
encoding from the OEM codepage, not the ANSI codepage.
David Engster [Sat, 28 Jul 2012 11:07:17 +0000 (13:07 +0200)]
Fix various issues with url-dav package (Bug#11916).
* url-dav.el (url-dav-supported-p): Added doc-string and remove
check for feature `xml' and function `xml-expand-namespace' which
never existed in Emacs proper.
(url-dav-process-response): Remove all indentation and newlines
from XML before parsing. Change call to `xml-parse-region' to do
namespace expansion with simple qualified names (Bug#11916).
(url-dav-request): Add autoload.
(url-dav-directory-files): Properly deal with empty directories.
Unhex URL before generating relative URLs.
(url-dav-file-directory-p): Fix check for 'DAV:collection.
David Engster [Sat, 28 Jul 2012 09:19:53 +0000 (11:19 +0200)]
Maybe return expanded XML qnames as plain symbols (Bug#11916).
* xml.el (xml-node-name, xml-parse-file, xml-parse-region):
Explanation of new 'symbol-qnames feature in doc-strings.
(xml-maybe-do-ns): Return expanded names as plain symbols if
'symbol-qnames was provided in XML-NS argument (Bug#11916).
(xml-parse-tag-1): Deal with new definition of PARSE-NS argument.
Paul Eggert [Fri, 27 Jul 2012 20:50:02 +0000 (13:50 -0700)]
Adjust GDB to reflect pvec_type changes.
* .gdbinit (xvectype, xpr, xbacktrace): Adjust to reflect the
2012-07-04 changes to pseudovector representation. Problem
reported by Eli Zaretskii in <http://bugs.gnu.org/1995-05-30T23:07:27Z!kwzh@gnu.org#30>.
* lisp/progmodes/python.el (python-mode-map): Added keybinding for
run-python.
(python-shell-make-comint): Fix pop-to-buffer call.
(run-python): Autoload. New arg SHOW.
(python-shell-get-or-create-process): Do not pop python process
buffer.
Michael Albinus [Fri, 27 Jul 2012 10:56:03 +0000 (12:56 +0200)]
* notifications.el (notifications-on-action-signal)
(notifications-on-closed-signal): Use also the bus address for the map.
(notifications-notify, notifications-close-notification)
(notifications-get-capabilities): Add optional argument BUS.