Eli Zaretskii [Thu, 31 Dec 2015 15:44:07 +0000 (17:44 +0200)]
Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
* lisp/textmodes/flyspell.el (flyspell-prog-mode): Record the
original M-TAB binding in a buffer-local variable.
(flyspell-auto-correct-word): Invoke the original binding of M-TAB
if that is recorded, when point is in a place where flyspell
should not be active (e.g., because the user turned on
'flyspell-prog-mode'). (Bug#18533)
YAMAMOTO Mitsuharu [Thu, 31 Dec 2015 05:18:09 +0000 (14:18 +0900)]
Clean up cairo printing code
* src/gtkutil.c (xg_get_page_setup): Use listn.
* src/xfns.c (Fx_export_frames, Fx_print_frames_dialog): Doc fix. Use
decode_window_system_frame and FRAME_VISIBLE_P.
(Fx_print_frames_dialog): Use redisplay_preserve_echo_area instead
of Fdisplay.
* src/xterm.c (x_cr_export_frames): Use redisplay_preserve_echo_area
instead of Fdisplay. Temporarily unblock_input around QUIT.
Vincent Belaïche [Wed, 30 Dec 2015 23:10:37 +0000 (00:10 +0100)]
Correct ses-rename-cell cursor-intangible text prop updating.
There were two problems:
- First ses-rename-cell has to work when called non interactively
(with non-nil CELL argument), so in this case the start pos of
put-text-property cannot be plainly (point), you need a
ses-goto-print call before
- Second, the range itself was computed erronously, only the first
char was affected instead of the full cell width. This was not
noticeable prior to changes (Deprecate `intangible' and
`point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
* lisp/ses.el (ses-rename-cell): Correct computation of position range
to which the 'cursor-intangible text property has to be set to cell
new name.
Shakthi Kannan [Wed, 30 Dec 2015 17:46:55 +0000 (19:46 +0200)]
Document new features of TeX mode
* doc/emacs/text.texi (TeX Print): Document
'tex-print-file-extension'.
* doc/emacs/programs.texi (Misc for Programs): Document support
for Prettify Symbols mode in TeX mode.
Vincent Belaïche [Wed, 30 Dec 2015 11:37:54 +0000 (12:37 +0100)]
Don't fake empty cells value by "" when printing with a lambda.
When using a lambda expression printer function the user should be
free to format differently a really empty cell, ie. containing nil,
from a cell containing an empty string "".
* ses.el (ses-call-printer): Replace `(or value "")' by just `value'
in the case of a lambda expression printer function.
* ses.texi (Printer functions): Add example and description about
lambda expression printer function handling all the possible values,
including unexpected ones.
Vincent Belaïche [Wed, 30 Dec 2015 10:57:29 +0000 (11:57 +0100)]
Quick temporary hack to fix curcell refreshing.
The problem was caused by change: 2015-04-13 Deprecate `intangible'
and `point-entered' properties. The problem is that this change has
removed the (setq ses--curcell t) setting in the ses-command-hook
function.
* ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
a condition to call function `ses-set-curcell'. Comment this as a quick
temporary hack to make it work, as I don't know yet whether a definite
correction would be to make the ses-set-curcell at every ses-check-curcell,
or to revert to the previous approach, ie marking ses--curcell as out-of-date
at every potentially cursor motion command.
Lars Magne Ingebrigtsen [Wed, 30 Dec 2015 09:11:34 +0000 (10:11 +0100)]
Restrictive URL checking tweaks
* lisp/net/eww.el (eww): Check whether the domain is
restrictive instead of the string
(http://македонија.icom.museum is restrictive even if each
part is from a different script).
Dmitry Gutov [Wed, 30 Dec 2015 04:25:39 +0000 (06:25 +0200)]
Undo ill-advised change
* lisp/progmodes/xref.el (xref-collect-matches): Undo
ill-advised change. The hits come in the order that `find'
produces them in, which isn't alphabetical.
Eli Zaretskii [Tue, 29 Dec 2015 16:49:57 +0000 (18:49 +0200)]
Fix filling text with bidirectional characters in shr.el
* lisp/net/shr.el (shr-insert-document): Bind
bidi-display-reordering to nil while filling lines. This is
required for when a line includes characters whose bidi
directionality is opposite to the base paragraph direction,
because columns are counted in the logical order. (Bug#22250)
Paul Eggert [Tue, 29 Dec 2015 02:43:09 +0000 (18:43 -0800)]
Port report-emacs-bug to deterministic builds
* lisp/mail/emacsbug.el (report-emacs-bug): Future-proof the
recent "built on" change to deterministic builds where
emacs-build-system will be nil. See:
http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01369.html
Lars Ingebrigtsen [Mon, 28 Dec 2015 23:11:06 +0000 (00:11 +0100)]
IDNA-related fixes for the URL library
* lisp/url/url-http.el (url-http-create-request): IDNA-encode
the Host: header.
* lisp/url/url-util.el (url-encode-url): Don't hex-encode
domain names, but leave them as UTF-8, so that they can be
IDNA-encoded later when contacting the host.
Martin Rudalics [Mon, 28 Dec 2015 18:11:22 +0000 (19:11 +0100)]
Fix Bug#10873 in `report-emacs-bug'
* lisp/mail/emacsbug.el (report-emacs-bug): If
`report-emacs-bug-no-explanations' is nil, make sure we can show
mail and warnings buffer on this frame (Bug#10873).
Alan Mackenzie [Mon, 28 Dec 2015 16:01:05 +0000 (16:01 +0000)]
Allow line comments ending with escaped NL to be continued to the next line.
Use this in C, C++, and Objective C Modes. Fixes bug#22246
* src/syntax.c (comment-end-can-be-escaped): New buffer local variable.
(forw-comment, back-comment): On encountering an end of comment character,
test whether it is escaped when `comment-end-can-be-escaped' is non-nil.
Dmitry Gutov [Mon, 28 Dec 2015 04:17:19 +0000 (06:17 +0200)]
Rename project-library-roots to project-external-roots
* lisp/progmodes/project.el (project-library-roots): Rename to
project-external-roots.
(project-library-roots-function): Rename to
project-vc-external-roots-function. Only use it in the VC
backend, for now. Update project-external-roots accordingly.
(project-vc-library-roots): Remove.
(project-or-libraries-find-regexp):
Rename to project-or-external-find-regexp.
* lisp/progmodes/elisp-mode.el (elisp-library-roots):
Rename to elisp-load-path-roots.
* lisp/progmodes/etags.el (etags-library-roots): Remove. Use
an anonymous function for the default value of
project-vc-external-roots-function.
Thomas Riccardi [Sun, 27 Dec 2015 22:14:13 +0000 (23:14 +0100)]
Further erc asynch fixes
* lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
erc-server-connect to return even if the connection is not
ready. Then erc-open and erc-server-reconnect do the
same. (bug#5650).
Deniz Dogan [Sun, 27 Dec 2015 21:36:55 +0000 (22:36 +0100)]
Clear erc user list upon disconnection
* lisp/erc/erc-backend.el (erc-process-sentinel): Clear channel user
lists upon disconnection. This prevents invalid channel
user lists when reconnecting (bug#10947).
Lars Ingebrigtsen [Sun, 27 Dec 2015 21:18:32 +0000 (22:18 +0100)]
Don't bug out in erc after waking from sleep
* erc-backend.el (erc-server-send-ping): If the server has
closed connection, this may already have been detected and
`erc-server-last-received-time' has been set to nil (bug#13608).
Dima Kogan [Sun, 27 Dec 2015 20:19:13 +0000 (21:19 +0100)]
Ensure that we don't have several timers in erc
* lisp/erc/erc-backend.el (erc-server-setup-periodical-ping): Checks
for existing timers in the alist before adding new ones. If a
timer already exists, it is cancelled and
overwritten. (bug#19292).
Jens Lechtenboerger [Sun, 27 Dec 2015 18:22:56 +0000 (19:22 +0100)]
Identify unsafe combinations of Bcc and encryption
* lisp/gnus/gnus-util.el (gnus-subsetp): New function
* lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
* lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
Paul Eggert [Sat, 26 Dec 2015 23:22:28 +0000 (15:22 -0800)]
Reword initial *scratch* for brevity, appearance
* lisp/startup.el (initial-scratch-message):
Reword to avoid apostrophes, and to make it shorter.
See the thread starting in:
http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01241.html
Lars Ingebrigtsen [Sat, 26 Dec 2015 20:45:51 +0000 (21:45 +0100)]
Use built-in encryption in imap.el
* lisp/net/imap.el (imap-ssl-program): Remove (bug#21134).
(imap-starttls-open): Use open-network-stream instead of starttls.el.
(imap-tls-open): Use open-network-stream instead of tls.el.
Eli Zaretskii [Sat, 26 Dec 2015 20:35:48 +0000 (22:35 +0200)]
Don't try using /bin/sh in artist.el on MS-Windows
* lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
New function.
(artist-figlet-choose-font): Use it on MS-Windows and MS-DOS.
(Bug#20167)
Wolfgang Jenkner [Sat, 26 Dec 2015 20:12:02 +0000 (12:12 -0800)]
Always define gmalloc etc. in src/gmalloc.c
This is a work-around to prevent the compiler from using semantic
knowledge about malloc for optimization purposes. E.g., gcc 5.2
with -O2 replaces most of calloc's definition by a call to calloc;
see Bug#22085.
* src/gmalloc.c [!HYBRID_MALLOC] (malloc, realloc, calloc)
(aligned_alloc, free): Do not undef. Instead, define these as
functions (perhaps renamed to gmalloc etc.) in terms of gmalloc etc.
Eli Zaretskii [Sat, 26 Dec 2015 18:47:42 +0000 (20:47 +0200)]
Fix documentation of browse-url browser-related functions
* lisp/net/browse-url.el (browse-url)
(browse-url-default-browser, browse-url-default-windows-browser)
(browse-url-default-macosx-browser, browse-url-chromium)
(browse-url-kde, browse-url-text-xterm): Clarify the usage of ARGS
and NEW-WINDOW arguments in these functions. (Bug#19421)
Paul Eggert [Sat, 26 Dec 2015 17:30:22 +0000 (09:30 -0800)]
Propagate Bug#14412 fix to backtrace_eval_unrewind
* src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment
becomes accurate again. This shouldn’t affect behavior.
(backtrace_eval_unrewind): Apply the recent unbind_to fix here, too.