Paul Eggert [Mon, 11 Apr 2016 16:07:16 +0000 (09:07 -0700)]
Merge from origin/emacs-25
b134c20 Sync with gnulib bb30fa9 Fix last change on 2016-01-02 488a72f ; Spelling fixes 9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3 0e7bcec Avoid crashes due to unreasonably large or small text scaling 85f257c Improve documentation of 'with-eval-after-load' 668c7bc Improve handling of non-ASCII characters in Git log messages b570769 Remove undefined behavior in OS X dumper. 97211f3 Fix clipping of xwidgets e87fbc0 Improve Lisp-level documentation of tooltips 9f1786e Faces names should not end in "-face". 3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings. a1f221b Comint and compile no longer set EMACS 5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2... a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac... c93ae7a Allow to customize names of executables used by grep.el f6497c6 Set locale encoding to UTF-8 when run from OS X GUI. 7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt a3f1ac2 Avoid infinite loop in 'studlify-word' f36df4b Don’t recommend obsolete EMACS env var fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
Paul Eggert [Mon, 11 Apr 2016 16:02:00 +0000 (09:02 -0700)]
Sync with gnulib
This is for picky compilers whose stdint.h fails our C11 tests.
Problem reported for clang by Philipp Stephani (Bug#23261).
This incorporates:
2016-04-11 stdint: port to strict C11 left shift
* doc/misc/texinfo.tex, lib/stdint.in.h: Copy from gnulib.
Leo Liu [Mon, 11 Apr 2016 12:19:38 +0000 (20:19 +0800)]
Fix last change on 2016-01-02
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Move
`cl-errs-re' before `lisp--el-match-keyword'; don't use `prepend'
which highlights `cl-errs-re' even in comments or strings.
Paul Eggert [Mon, 11 Apr 2016 05:47:03 +0000 (22:47 -0700)]
Port run-prolog EMACS to SWI-Prolog 7.2.3
* lisp/progmodes/prolog.el (prolog-ensure-process):
Work around incompatibility of SWI-Prolog 7.2.3 and earlier
with the new way of dealing with the EMACS and INSIDE_EMACS
environment variables.
Eli Zaretskii [Sun, 10 Apr 2016 16:50:39 +0000 (19:50 +0300)]
Avoid crashes due to unreasonably large or small text scaling
* lisp/face-remap.el (text-scale-min-amount)
(text-scale-max-amount): New functions.
(text-scale-set, text-scale-increase): Use them to limit the text
scaling to a reasonable range of values. (Bug#23259)
* lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
(mailcap--set-user-mime-data): New function.
(mailcap-user-mime-data): New customization option.
(mailcap-select-preferred-viewer): New function.
(mailcap-mime-info): Use it.
Eli Zaretskii [Sun, 10 Apr 2016 16:04:33 +0000 (19:04 +0300)]
Improve handling of non-ASCII characters in Git log messages
* lisp/vc/vc-git.el (vc-git-commits-coding-system): Now a defcustom.
(vc-git-log-output-coding-system): New defcustom.
(vc-git-print-log, vc-git-command, vc-git--call): Use
'vc-git-log-output-coding-system' for reading stuff from Git.
Don't override values of 'coding-system-for-read/write' if they
are bound by caller -- this allows the user to force an encoding
via "C-x RET c".
(vc-git-checkin): On MS-Windows, pass the log message via a
temporary file, to work around the limitations on passing
non-ASCII characters via command-line arguments. Force using the
'locale-coding-system' for Git command-line arguments. This fixes
problems with non-ASCII commit log messages on MS-Windows.
(Bug#23076)
* etc/NEWS: Mention the new vc-git related defcustoms.
Michael Albinus [Sun, 10 Apr 2016 08:07:15 +0000 (10:07 +0200)]
Fix Bug#23207
* src/keyboard.c (read_char): Resume idle timers in case of
dbus-event, file-notify-event and config-changed-event.
Reported by Johan Claesson <johanclaesson@bredband.net>. (Bug#23207)
Michael Albinus [Sat, 9 Apr 2016 19:14:40 +0000 (21:14 +0200)]
Add vc-backend and vc-responsible-backend tests
* lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
(vc-file-clearprops): Use properties on absolute files.
* test/lisp/vc/vc-tests.el (vc-test--unregister-function):
Clear file properties.
(vc-test--register): Add tests for `vc-backend' and
`vc-responsible-backend'. Catch other errors but `vc-not-supported'.
(vc-test--state, vc-test--checkout-model): Catch other errors
but `vc-not-supported'.
(vc-test--working-revision): Fix test for RCS and SCCS. Catch
other errors but `vc-not-supported'.
(vc-test-src02-state): Mark as an expected failure.
* src/xwidget.c (x_draw_xwidget_glyph_string): Use window_box
instead of calculating the clipping borders manually. Suggested
by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
Eli Zaretskii [Sat, 9 Apr 2016 09:30:59 +0000 (12:30 +0300)]
Improve Lisp-level documentation of tooltips
* doc/lispref/display.texi (Tooltips): New section. (Bug#23246)
(Display): Update the chapter menu.
* doc/lispref/text.texi (Special Properties): Make the "tooltip"
index entry more concrete. Change the cross-reference to point to
"Tooltips" in the ELisp manual.
* doc/lispref/elisp.texi (Top): Update the master menu.
* doc/emacs/frames.texi (Tooltips): Include more customization
variables. Add a cross-reference to the ELisp manual.
Paul Eggert [Fri, 8 Apr 2016 22:33:22 +0000 (15:33 -0700)]
Minor improvements for hash function primitives
* src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
hashfn_eq rather than reaching inside them.
(hashtest_eq, hashtest_eql, hashtest_equal):
Now constants with initializers.
(syms_of_fns): Omit no-longer-needed initialization.
* src/lisp.h (LISPSYM_INITIALLY): New macro.
(DEFINE_LISP_SYMBOL): Use it.
Paul Eggert [Fri, 8 Apr 2016 20:39:17 +0000 (13:39 -0700)]
Comint and compile no longer set EMACS
This mostly restores the change that I reverted on March 23,
fixing most of Bug#20202. The only part of the change that is
still reverted is the change to M-x term, where compatibility with
current Bash constrains us from moving too quickly (Bug#20484).
Problem reported by Phillip Lord in: http://bugs.gnu.org/20484#108
* etc/NEWS: Document this.
* lisp/comint.el (comint-exec-1):
* lisp/net/tramp-sh.el (tramp-remote-process-environment):
* lisp/progmodes/compile.el (compilation-start):
Don’t set EMACS=t in the subsidiary process.
Eli Zaretskii [Fri, 8 Apr 2016 14:45:16 +0000 (17:45 +0300)]
Teach Dired support parallel execution of commands on MS-Windows
* lisp/dired-aux.el (dired-shell-stuff-it): Support
parallel-in-background execution of commands on MS-Windows.
Test 'w32-shell-dos-semantics' instead of the underlying OS
when determining whether addition of 'wait' is needed.
Eli Zaretskii [Fri, 8 Apr 2016 13:54:18 +0000 (16:54 +0300)]
Allow to customize names of executables used by grep.el
* lisp/progmodes/grep.el (grep-find-program): Renamed from
'find-program', which was a variable. All uses changed.
(grep-xargs-program): Renamed from 'xargs-program', which was a
variable. All uses changed.
(grep-program): Now a defcustom rather than a simple variable.
(Bug#23219)
* lisp/play/studly.el (studlify-region): Call
'forward-word-strictly' and 'backward-word-strictly' instead of
'forward-word' and 'backward-word'. (Bug#19940)
Paul Eggert [Thu, 7 Apr 2016 23:52:01 +0000 (16:52 -0700)]
Don’t recommend obsolete EMACS env var
* doc/misc/efaq.texi (Escape sequences in shell output):
Remove long-obsolete (and now-confusing) notes about
the EMACS environment variable in Emacs 21.1 and earlier.
* doc/misc/efaq.texi (^M in the shell buffer):
* etc/PROBLEMS:
Remove obsolescent recommendation to consult the EMACS environment
variable.
* lisp/progmodes/project.el (project-roots): Implement for the
`transient' project type (bug#23224).
(project-current): Instead of signaling an error, return a
transient project instance rooted in the chosen directory.
Python 3.5, released in mid September 2015, introduced a few new
keywords to better support asynchronous code, "async" and "await"
in particular. See https://www.python.org/dev/peps/pep-0492/ for
details. (Bug#21783)
* lisp/progmodes/python.el (python-rx-constituents): Add async
def/for/with as block-start and async def as defun.
* lisp/progmodes/python.el (python-font-lock-keywords): Add async
def/for/with as keyword.
* test/automated/python-tests.el (python-indent-after-async-block-1,
python-indent-after-async-block-2, python-indent-after-async-block-3,
python-nav-beginning-of-defun-3): New tests to test indentation and
navigation for the async keyword.
Paul Eggert [Wed, 6 Apr 2016 08:22:00 +0000 (01:22 -0700)]
Fix stability confusion in sort-tests
Problem reported by Philipp Stephani (Bug#23205).
* test/automated/sort-tests.el:
(sort-tests--insert-words-sort-and-compare):
Don’t assume that reversing a sorted list is the same
as sorting with the reverse predicate. This is not true
for stable sorts when items compare equal.
lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
SCSS-specific at-rules.
(css--at-ids): New buffer-local variable holding the list of at-rules
for the current mode.
(css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
(scss-mode): Set `css--at-ids'.
Paul Eggert [Tue, 5 Apr 2016 20:58:57 +0000 (13:58 -0700)]
Avoid describe-key error with lambdas
Problem reported by Sho Takemori (Bug#22716).
* lisp/cedet/mode-local.el (describe-mode-local-overload)
(xref-mode-local-overload): Use function-overload-p instead
of assuming the argument is a symbol.
Paul Eggert [Tue, 5 Apr 2016 14:51:28 +0000 (07:51 -0700)]
Enable GCC warnings in developer builds
However, do not fail; just issue the warnings. Add an option
--enable-gcc-warnings=warn-only to configure, to implement this.
* INSTALL, etc/NEWS: Document this.
* configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
(gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
Don’t treat --with-x-toolkit=no as a special case when configuring
warnings.
Tao Fang [Mon, 4 Apr 2016 20:21:21 +0000 (22:21 +0200)]
Allow URL using HTTPS proxies using CONNECT
* lisp/url/url-http.el (url-http-find-free-connection): Allow
using proxies (bug#11788).
(url-http-end-of-document-sentinel): Ditto.
(url-http): The protocol may change from http to https and
vice versa.
(url-https-proxy-connect): Allow using CONNECT proxies for https.
Paul Eggert [Mon, 4 Apr 2016 17:30:41 +0000 (10:30 -0700)]
New C macro AUTO_STRING_WITH_LEN
Put a bit less pressure on the garbage collector by defining a
macro that is like AUTO_STRING but also allows null bytes in strings,
and by extending AUTO_STRING to work with any unibyte string.
* src/alloc.c (verify_ascii): Remove; all uses removed.
AUTO_STRING can now be used on non-ASCII unibyte strings.
* src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
(AUTO_STRING_WITH_LEN): New macro.
* src/coding.c (from_unicode_buffer):
* src/editfns.c (format_time_string):
* src/emacs-module.c (module_make_string, module_format_fun_env):
* src/fileio.c (Fexpand_file_name):
* src/font.c (font_parse_family_registry):
* src/ftfont.c (ftfont_get_charset):
* src/keymap.c (silly_event_symbol_error):
* src/menu.c (single_menu_item):
* src/sysdep.c (system_process_attributes):
Use AUTO_STRING_WITH_LEN if possible.
* src/emacs-module.c (module_make_function):
* src/fileio.c (report_file_errno, report_file_notify_error):
* src/fns.c (Flocale_info):
* src/sysdep.c (system_process_attributes):
Use AUTO_STRING if possible. This is doable more often now
that AUTO_STRING works on any unibyte string.
Paul Eggert [Mon, 4 Apr 2016 16:42:58 +0000 (09:42 -0700)]
Port redirect-debugging-output to MS-Windows
Suggested by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00037.html
* src/print.c [WINDOWSNT]: Include sys/socket.h.
* src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
Paul Eggert [Mon, 4 Apr 2016 16:36:30 +0000 (09:36 -0700)]
Port redirect-debugging-output to non-GNU/Linux
Problem reported by Kylie McClain for musl in:
http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01592.html
* etc/DEBUG, etc/NEWS: Mention this.
* src/callproc.c (child_setup) [!MSDOS]:
* src/dispnew.c (init_display):
* src/emacs.c (main, Fdaemon_initialized):
* src/minibuf.c (read_minibuf_noninteractive):
* src/regex.c (xmalloc, xrealloc):
Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
to make file-descriptor manipulation easier to follow.
* src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
now that we make sure stdin, stdout and stderr are open. All uses
removed.
(main): Make sure standard FDs are OK. Prefer symbolic names like
EXIT_FAILURE to magic numbers like 1. Use bool for boolean.
* src/lisp.h (init_standard_fds): New decl.
* src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
Remove; no longer needed.
(Fredirect_debugging_output): Define on all platforms, not just
GNU/Linux. Redirect file descriptor, not stream, so that the code
works even if stderr is not an lvalue. Report an error if the
file arg is neither a string nor nil.
(syms_of_print): Always define redirect-debugging-output.
* src/sysdep.c (force_open, init_standard_fds): New functions.
Paul Eggert [Mon, 4 Apr 2016 06:12:04 +0000 (23:12 -0700)]
Sync with gnulib
This incorporates:
2016-04-03 stdint: detect good enough pre-C++11 stdint.h in C++ mode
2016-04-01 stddef: support configuring with g++
* doc/misc/texinfo.tex, lib/stddef.in.h, m4/stdint.m4:
Copy from gnulib.
Paul Eggert [Sun, 3 Apr 2016 22:27:21 +0000 (15:27 -0700)]
Fix doc for Universal Time
* doc/lispref/os.texi (Time of Day, Time Conversion):
Be more careful about distinguishing UTC (which is not valid for
pre-1961 time stamps) and UT (which is).
(Time Parsing): Remove stray obsolete paragraph about a
UNIVERSAL argument for ‘format-time-string’.
Paul Eggert [Sun, 3 Apr 2016 20:39:52 +0000 (13:39 -0700)]
Merge from origin/emacs-25
b787d55 More format-time-string change fixups 13c8f29 make-xwidget unused arg cleanup 36e05f0 Remove unused arguments from make-xwidget 1042217 Document incompatible changes in 'format-time-string' 7228eb8 Improve documentation of byte-code objects 0020047 Adapt calls to 'format-time-string' to changes in Emacs 25 17b5152 Improve vc-diff with Git backend c28f87a (js--continued-expression-p): Special-case unary plus and minus 2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary. 9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem... b3b523c Avoid crashes due to insanely large columns in tabulated-list... a3daa34 Teach M-x disassemble a default argument. e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows df441b3 Fix OS X specific settings in tramp-tests 2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
Restore the point in grep buffers when traversing the history
* lisp/progmodes/grep.el (grep-process-setup): Allow moving
point to a specific place after finishing the grep command.
(grep-mode): Use it to restore point after traversing the history.
(grep--history-point): New internal variable.
(grep--save-history, grep-forward-history): Use it to restore
the point.
* doc/emacs/building.texi (Grep Searching): Mention the
`r'/`l' commands.
* lisp/progmodes/grep.el (grep-forward-history): New command.
(grep-backward-history): Ditto.
(grep--save-buffers): New function.
(grep): Use it to record the history.
(grep--command-history, grep--history-inhibit)
(grep--history-place): New internal variables for the grep
history (bug#22627).
Paul Eggert [Sun, 3 Apr 2016 06:43:44 +0000 (23:43 -0700)]
More format-time-string change fixups
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
* lisp/org/org.el (org-timestamp-format):
Fix doc to match new format-time-string behavior.
* lisp/org/ox-icalendar.el (org-icalendar-convert-timestamp):
Use (not (not X)) to treat non-nil values of utc arg as UTC.
John Wiegley [Sat, 2 Apr 2016 21:51:33 +0000 (14:51 -0700)]
Merge from origin/emacs-25
e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec. c8b868b Don't start the 'midnight' timer twice 278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X... e5c17f4 Fix todo-mode category movement bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version. cf40f38 Ignore non-nil. non-cons values of unread-command-events 8ee4c52 Improve documentatuon of 'truncate-partial-width-windows' fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU... 1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired 3a13472 Fix map-put and map-delete for alists (Bug#23105) 422c3da Minor copyedits of documentation for temporary displays 90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse f14d463 Minor doc string fixes in replace.el e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url' 44782de Fix display of Indic scripts 326c64f Fix splash screen display at startup 7ab2a97 ; In NEWS mention new display of minibuffer completions window a1cd84c Describe temporary displays in Emacs manual 5ec1056 Avoid stray As next to IDLW icons 45577d5 Avoid GTK 3 crash with icons and masks e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi... 077b78c Define make_save_ptr_ptr unconditionally 20a1003 Preserve current buffer when popping up TTY menus 7eba90c Improve font selection by family on MS-Windows 73d213f Comint, term, and compile now set EMACS 9524ec5 Ignore more merges when generating ChangeLog ad250f2 Sync with gnulib c0165ea Resurrect GNUS-NEWS autogeneration 1e5327c ; Backport ChangeLog.2 fixes from master e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2... 38a43f1 Fix bug in displaying header line with a box face 91e6676 Fix an Isearch var to be a string (Bug#23038) 76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect 8a35f83 Render empty <ul><li><ul> correctly d8b2ce5 Ignore invalid base64 encoded embedded images 52ba24b Fix <p> and <div> newlines with or without <li> in shr b8ea08b Avoid errors in 'newline' fc3cd53 Fix Bug#23032 dd2737b Adjudicate review comments in abbrevs.texi 26f9c50 Fixup the "normal" matcher; highlight global var symbols, too 413e73b ; Small theme additions cd950da Honor prefix arg in doc-view-next-line-or-next-page ed909c0 ; Spelling fixes 6da3a6d Port to strict C99 offsetof de7601f Port to GTK with strict C11 compiler 658aa2d Port to GTK with strict C99 compiler 1df7173 Avoid screen artifacts with new OS X visible bell after scrol... 7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into... dca240a Suppress some Tramp tests for OSX, do not merge with master 9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo... cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it. 005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare. 9ab03f2 ; Auto-commit of loaddefs files. 56df617 Address compilation warnings due to 2016-01-03 mml refactoring. a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i... 79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes... 253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined... ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function. d6d164f Avoid segfaults due to frame image cache being absent bc7f6f6 Improve documentation of glyphless-character display 6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments. ee9a1f7 Support safe navigation operator in non-SMIE indentation code c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1 2036be4 Fix Ruby's operator precedence 1d686c2 (ruby-interpolation-inside-another-interpolation): New failin... 7950e1d Port to clang 3.7.0 on x86-64 218ae59 * test/automated/package-test.el (package-test-signed): Tweak... ba33b7c Sync with gnulib 38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP dbfbedd Do not tokenize a comment before continuation as ';' 0403620 Don't misindent arguments of a method call inside continuation e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec... 8475f3d ASCII-only etc/NEWS etc. 5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin... 0ce37ea Fix Isearch prompt when invoked with an argument f3033d4 Fix a typo in the Emacs manual 4235d2d Curved quotes in etc/NEWS etc. 26b56dc Fix some single quotes in documentation 80ec484 Make lisp-completion-at-point's argument optional 9d463ae Tweak the left precedence of '=>' 5b705bc Indent '.' relative to the first sibling expression 04f5525 Make '.' associative, for easier sexp navigation ba24c99 Revert "Simplify "Visit New File" to "New File""
Stefan Monnier [Sat, 2 Apr 2016 19:38:54 +0000 (15:38 -0400)]
* lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
Use #' to quote functions.
(erc-server-delayed-reconnect): Remove unused arg `event'.
(erc-process-sentinel-2): Adjust accordingly.
Don't pass `err' to condition-case if we don't use it.
(define-erc-response-handler): Use add-hook rather than add-to-list.
(NICK): Use cl-pushnew rather than add-to-list.
(331): Remove unused var `topic'.
(352): Remove unused var `hopcount'.
Eli Zaretskii [Sat, 2 Apr 2016 11:25:47 +0000 (14:25 +0300)]
Adapt calls to 'format-time-string' to changes in Emacs 25
* lisp/vc/pcvs-info.el (cvs-fileinfo-from-entries): Use t as the
last argument to format-time-string. (Bug#23128)
* lisp/gnus/gmm-utils.el (gmm-format-time-string): Use t as the
last argument to format-time-string, when the TZ argument is not a
number, per the doc string.
Eli Zaretskii [Sat, 2 Apr 2016 09:25:15 +0000 (12:25 +0300)]
Improve vc-diff with Git backend
* lisp/vc/vc-git.el (vc-git-command): Don't override
coding-system-for-read/write if they are already bound.
Suggested by joaotavora@gmail.com (João Távora). (Bug#20892)
(vc-git-print-log): Don't override coding-system-for-read if it's
already bound.
(js--continued-expression-p): Special-case unary plus and minus
* lisp/progmodes/js.el (js--continued-expression-p): Make an
effort to recognize unary plus and minus, in the contexts where
they make sense (https://github.com/mooz/js2-mode/issues/322).
Alan Mackenzie [Fri, 1 Apr 2016 12:50:14 +0000 (12:50 +0000)]
Prevent C++ Mode wrongly fontifying some identifiers near templates as types
This fixes debbugs #7917.
* lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id): Accept 'maybe
(from c-forward-type) as sufficient to record an id. Record type id as well
as ref ids.
(c-forward-name): Bind c-last-identifier-range around the call to
c-forward-<>-arglist to prevent it getting corrupted. Don't automatically
assume an identifier is a type when a template ">" is followed by a "(".
(c-forward-type): Don't automatically assume an identifier is a type when a
template ">" is followed by a "(".
* lisp/progmodes/cc-fonts.el (c-font-lock-<>-arglists): Don't fontify an
identifier as a type when its associated ">" is followed by a "(".
Eli Zaretskii [Fri, 1 Apr 2016 09:47:29 +0000 (12:47 +0300)]
Avoid crashes due to insanely large columns in tabulated-list-format
* src/xdisp.c (append_stretch_glyph, produce_xwidget_glyph)
(produce_image_glyph): Limit the pixel width of the produced glyph
to SHRT_MAX. (Bug#23178)
(append_composite_glyph, append_glyph, append_glyphless_glyph):
Add assertions to verify that the pixel width of the glyph will
never overflow a 'short'.
* src/term.c (append_composite_glyph): Add assertion to verify
that the pixel width of the glyph will never overflow a 'short'.
Simen Heggestøyl [Thu, 31 Mar 2016 19:18:00 +0000 (21:18 +0200)]
Support completion of bang-rules in CSS mode
lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
holding the list of bang-rules for the current mode.
(css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
instead of computing them.
(css--complete-bang-rule): New function for completing a bang-rule.
(css-completion-at-point): Add support for completing bang-rules.
(scss-font-lock-keywords): Change from a variable to a function in
order to recompute `css--font-lock-keywords' when `css--bang-ids' has
changed.
(scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
Michael Albinus [Thu, 31 Mar 2016 09:45:45 +0000 (11:45 +0200)]
Fix OS X specific settings in tramp-tests
* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
* lisp/net/tramp.el (tramp-get-local-locale): New defun.
* test/automated/tramp-tests.el (tramp--test-darwin-p): Remove.
(tramp--test-utf8): Improve settings of coding systems.
Do not use `tramp--test-darwin-p' anymore. (Bug#22145)