Glenn Morris [Thu, 7 Jan 2016 07:33:33 +0000 (23:33 -0800)]
Allow creation of loaddefs files without timestamps.
* lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
(autoload-generate-file-autoloads, update-directory-autoloads):
If autoload-timestamps is nil, write "t" instead of file timestamp.
(autoload-find-destination, update-directory-autoloads):
If timestamp is "t", use the modtime of the output file instead.
Glenn Morris [Wed, 6 Jan 2016 23:25:47 +0000 (18:25 -0500)]
Build tweaks related to tags files.
* lib-src/Makefile.in (tagsfiles): New variable.
(TAGS): Also depend on the source files. Use our own etags program.
* lisp/Makefile.in (ETAGS): Add EXEEXT.
(lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
Remove.
(tagsfiles): New, replacing lisptagsfiles1 etc.
Remove irrelevant source files here rather than in the TAGS rule.
(${ETAGS}): New rule.
(TAGS): Also depend on the etags executable.
* lwlib/Makefile.in (EXEEXT): New, set by configure.
(ETAGS): Add EXEEXT.
(${ETAGS}): New rule.
(ctagsfiles): Use "wildcard".
(TAGS): Also depend on the etags executable.
* nt/Makefile.in (ETAGS, tagsfiles): New variables.
(${ETAGS}): New rule.
(TAGS): Fix dependencies.
* oldXMenu/Makefile.in (EXEEXT): New, set by configure.
(ETAGS): New variable, replacing $TAGS. Use our own etags program.
Remove "-t" argument.
(${ETAGS}): New rule.
(tagsfiles): New variable.
(TAGS): New rule, with proper dependencies.
* src/Makefile.in (ETAGS): Add EXEEXT. Add a build rule.
(ctagsfiles1, ctagsfiles2): Use "wildcard".
(ctagsfiles3): Remove.
(TAGS): Depend on etags.
(../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
directories decide if updates are needed.
Eli Zaretskii [Tue, 5 Jan 2016 18:21:03 +0000 (20:21 +0200)]
Fix fallout from merging emacs-25 branch in test/
* .gitignore: Update for the new place of biditest.txt.
* test/automated/: Directory removed. All files moved to their
proper places.
* test/etags/: Directory removed. All files moved to their proper
places.
* test/automated/url-parse-tests.el: File removed; it was an exact
copy of the same file in test/lisp/url/.
* test/automated/url-expand-tests.el: Moved to test/lisp/url/.
Align textually on fix done for emacs-25 branch for bug#21054
* lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
and useless `(if t ...)' in order to align textually on fix done for
emacs-25 branch for bug#21054.
K. Handa [Sat, 2 Jan 2016 07:36:21 +0000 (16:36 +0900)]
support rendering of wider range of combinging characters by ftfont backend
* lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
supports rendering of combining characters, call
font-shape-gstring.
* src/font.c (Ffont_get): Handle `combining-capability' property.
(syms_of_font): New symbol ":combining-capability'.
* src/font.h (struct font_driver): New member combining_capability.
* src/ftfont.c: Include "category.h".
(ftfont_driver): Initialize combining_capability to
ftfont_combining_capability.
(ftfont_shape_by_flt): If OTF is null, try to find a suitable
FLT in advance.
(ftfont_combining_capability): New function.
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.
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.
* 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).
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
* 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).
* 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).
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