1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 00:01:33 -08:00
Commit graph

396 commits

Author SHA1 Message Date
Michal Nazarewicz
1d7f01eeed * tests/automated/tildify-tests.el (tildify-test--test): Optimise the
test slightly by reusing the same temporary buffer across multiple
test cases.
2014-06-05 16:42:45 +02:00
Michal Nazarewicz
03d7d160c3 tildify.el: Rewrite `tildify-region' and co., add foreach function.
* lisp/textmodes/tildify.el (tildify-foreach-region-outside-env): New
function which calls a callback on portions of the buffer that are
outside of ignored environments.
(tildify-build-regexp): Remove function since it is now
incorporated in `tildify-foreach-region-outside-env' where it is
optimised and simplified by the use of `mapconcat'.
(tildify-tildify): Return number of substitutions made so that…
(tildify-count): …can be removed.
(tildify-find-env): Accept a new PAIRS argument which was
previously looked up in `tildify-ignored-environments-alist' each
time the function was called.  With this change, the lookup is
performed only once in `tildify-foreach-region-outside-env'.
(tildify-region): Greatly simplify the function since now most of
the work is done by `tildify-foreach-region-outside-env'.
(tildify-mode-alist): Simplify slightly by avoiding if and setq
and instead using or.

* tests/automated/tildify-tests.el (tildify-test-find-env-end-re-bug)
(tildify-test-find-env-group-index-bug): Update to support new
signature of the `tildify-foreach-region-outside-env' function.
Namely, it now takes pairs as an argument instead of looking it up in
`tildify-ignored-environments-alist'.
2014-06-05 16:42:07 +02:00
Michal Nazarewicz
eb54c73a9d tildify.el: Better support for XML
* lisp/textmodes/tildify.el  (tildify-string-alist)
(tildify-ignored-environments-alist): Add `nxml-mode' to the list of
supported modes since `xml-mode' is no longer a thing but just an
alias to the former.  Also include comments and insides of tags in
`tildify-ignored-environments-alist' for XML modes.  Finally, since
XML does not define “ ”[1], use a numeric reference for
a no-break space (namely “ ”)

[1] XML specification defines only a handful of predefined entities.
    The list is at <http://www.w3.org/TR/REC-xml/#sec-predefined-ent>
    and includes only &lt;, &gt;, &amp;, &apos; and &quot; (meaning <,
    >, &, ' and " respectively).  This is in contrast to HTML and even
    XHTML which defined a whole bunch of entities including “&nbsp;”.

* automated/tildify-tests.el (tildify-test--example-html): Add support
for generating XML code, so that…
(tildify-test-xml) …test can be added to check handling of XML
documents.
2014-06-05 16:41:01 +02:00
Michal Nazarewicz
9342feecdd tildify.el: Fix matched group indexes in end-regex building
* lisp/textmodes/tildifi.el (tildify-find-env): When looking for
a start of an ignore-environment, the regex is built by
concatenating regexes of all the environments configured in
`tildify-ignored-environments-alist'.  So for example, the following
list could be used to match TeX's \verb and \verb* commands:

    (("\\\\verb\\(.\\)" . (1))
     ("\\\\verb\\*\\(.\\)" . (1)))

This would result in the following regex being used to find the start
of any of the variants of the \verb command:

    \\\\verb\\(.\\)\\|\\\\verb\\*\\(.\\)

But now, if “\\\\verb\\*\\(.\\)” matches, the first capture group
won't match anything, and thus (match-string 1) will be nil, which
will cause building of the end-matching regex to fail.

Fix this by using capture groups from the time when the opening
regexes are matched individually.

* tests/automated/tildify-tests.el (tildify-test-find-env-group-index-bug):
New test validating fix to the above bug.
2014-06-05 16:39:18 +02:00
Michal Nazarewicz
af9a3b28c0 tildify.el: Fix end-regex building in `tildify-find-env'
* lisp/textmodes/tildify.el (tildify-find-env): The
`tildify-ignored-environments-alist' allows the end-regex
to be provided not as a static string but mix of strings and
indexes of groups matched the begin-regex.  For example, the
“\verb!…!” TeX-command (where “!” is an arbitrary character)
is handled using:

    ("\\\\verb\\*?\\(.\\)" . (1))

In the same way, the following should be supported as well:

    ("open-\\(.\\)" . ("end-" 1))

However the tildify-find-env function fails at

    (concat result
            (if (stringp (setq aux (car expression)))
                 expression  ; BUG: expression is a list
               (regexp-quote (match-string aux))))

where the string part is handled incorrectly.

The most trivial fix would be to replace `expression'
in the true-part of the if-statement with `aux', but
instead, this commit optimises `tildify-find-env' by
changing it to use `mapconcat' rather than open-coded
while-loop.

* tests/automated/tildify-tests.el (tildify-test-find-env-end-re-bug):
New test validating fix to the above bug.
2014-06-05 16:37:45 +02:00
Michael Albinus
2589f32c61 * test/automated/tramp-tests.el (tramp-test29-vc-registered):
Remove instrumentation.
2014-06-02 20:38:22 +02:00
Michael Albinus
84dbe84b9f * test/automated/tramp-tests.el (tramp-remote-process-environment): Declare.
(tramp-test29-vc-registered): Set $BZR_HOME.
2014-06-02 11:53:43 +02:00
Michael Albinus
a67aaeb3a9 * automated/tramp-tests.el (tramp-test29-vc-registered):
Instrument failed test case.
2014-06-01 12:49:45 +02:00
Stefan Monnier
6711a21f11 * lisp/font-lock.el (font-lock-flush, font-lock-ensure): New functions.
(font-lock-fontify-buffer): Mark interactive-only.
(font-lock-multiline, font-lock-fontified, font-lock-set-defaults):
Make buffer-local.
(font-lock-specified-p): Remove redundant boundp check.
(font-lock-flush-function, font-lock-ensure-function): New vars.
(font-lock-turn-on-thing-lock): Set them.
(font-lock-default-fontify-buffer): Obey font-lock-dont-widen.
(font-lock-after-change-function): Make `old-len' optional.
(font-lock-set-defaults): Remove redundant `set' of font-lock-defaults.
Call font-lock-flush, just in case.
* lisp/progmodes/verilog-mode.el (verilog-preprocess): Disable workaround in
recent Emacsen.
* lisp/progmodes/vera-mode.el (vera-fontify-buffer): Declare obsolete.
(vera-mode-map, vera-mode-menu): Remove bindings to it.
* lisp/progmodes/idlw-help.el (idlwave-help-fontify): Use font-lock-ensure
and with-syntax-table.
* lisp/textmodes/conf-mode.el (conf-quote-normal):
* lisp/progmodes/sh-script.el (sh-set-shell):
* lisp/progmodes/prog-mode.el (prettify-symbols-mode):
* lisp/progmodes/f90.el (f90-font-lock-n):
* lisp/progmodes/cwarn.el (cwarn-mode):
* lisp/nxml/nxml-mode.el (nxml-toggle-char-ref-extra-display):
* lisp/progmodes/compile.el (compilation-setup, compilation--unsetup):
* lisp/hi-lock.el (hi-lock-mode, hi-lock-unface-buffer)
(hi-lock-set-pattern, hi-lock-set-file-patterns): Use font-lock-flush.
* lisp/mail/rmail.el (rmail-variables): Set font-lock-dont-widen instead of
font-lock-fontify-buffer-function and
font-lock-unfontify-buffer-function.
(rmail-unfontify-buffer-function, rmail-fontify-message):
Use with-silent-modifications.
* lisp/htmlfontify.el (hfy-force-fontification): Use jit-lock-fontify-now
and font-lock-ensure.
* lisp/bs.el (bs-show-in-buffer): Use font-lock-ensure.
* lisp/gnus/mm-view.el (mm-display-inline-fontify): Use font-lock-ensure.
* lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Use font-lock-flush.
* lisp/org/org-compat.el (org-font-lock-ensure): New function.
* lisp/org/ox-odt.el (org-odt-do-format-code):
* lisp/org/ox-html.el (org-html-fontify-code):
* lisp/org/org.el (org-fontify-like-in-org-mode):
* lisp/org/org-src.el (org-src-font-lock-fontify-block):
* lisp/org/org-clock.el (org-clock-get-clocktable): Use it.
* lisp/org/ox-org.el (org-org-publish-to-org): Use it.  Avoid using find-file
from Elisp.
* test/automated/ruby-mode-tests.el (ruby-assert-face): Use font-lock-ensure.
(ruby-interpolation-keeps-non-quote-syntax): Use syntax-propertize.
2014-05-28 23:45:29 -04:00
Michal Nazarewicz
fc21a7de3a * test/automated/tildify-tests.el: New file.
* lisp/textmodes/tildify.el (tildify-buffer, tildify-region):
Add dont-ask option.

Fixes: debbugs:17547
2014-05-27 21:00:44 -04:00
Stefan Monnier
c435f506a1 * test/indent/ps-mode.ps: New file.
* test/automated/core-elisp-tests.el
(core-elisp-test-window-configurations): New test.
* test/indent/octave.m: Add a few more tests.
* test/indent/ruby.rb: Add one more test.
2014-05-27 10:28:07 -04:00
Glenn Morris
86c72932a1 * package-test.el (package-test-install-single): Update for changed output. 2014-05-26 09:52:28 -07:00
Glenn Morris
ff965efb03 Tweak previous bytecomp-tests.el change
* test/automated/bytecomp-tests.el (test-byte-comp-compile-and-load):
Fix handling of temporary elc files.
2014-05-21 19:33:07 -07:00
Glenn Morris
f23423f322 Remove some stray test tempfiles
* test/automated/bytecomp-tests.el (test-byte-comp-compile-and-load):
Avoid leaving empty .elc tempfiles behind.
2014-05-21 21:16:37 -04:00
Glenn Morris
a7517f0fde * fns-tests.el (fns-tests-nreverse): Update for changed string behavior. 2014-05-21 21:09:51 -04:00
Dmitry Antipov
ddc30c996a * src/fns.c (Fnreverse): Allow vectors and bool vectors.
* doc/lispref/lists.texi (Building Cons Cells and Lists): Remove
description of `nreverse' and generalize it...
* doc/lispref/sequences.texi (Sequences): ...for sequences here.
* tests/automated/fns-tests.el (fns-tests-nreverse)
(fns-tests-nreverse-bool-vector): New tests.
2014-05-15 18:59:02 +04:00
Dmitry Antipov
92491099f7 * tests/automated/fns-tests.el: New file. 2014-05-15 14:06:45 +04:00
Glenn Morris
aabbbc4579 Merge from emacs-24; up to 2014-05-08T06:58:46Z!rgm@gnu.org 2014-05-08 00:02:08 -07:00
Glenn Morris
b2a929a2e6 test/automated/vc-bzr.el: revise previous change
* test/automated/vc-bzr.el (vc-bzr-test-bug9726, vc-bzr-test-bug9781)
(vc-bzr-test-faulty-bzr-autoloads):
Give bzr a temporary home-directory, in case the real one is missing.
Simply disabling logging wasn't enough.
2014-05-07 23:58:46 -07:00
Glenn Morris
fb3f83f5fd Merge from emacs-24; up to 2014-05-08T03:34:20Z!rgm@gnu.org 2014-05-07 20:41:21 -07:00
Glenn Morris
606695a678 test/automated/vc-bzr.el: disable bzr's logging
This is for systems like hydra, where HOME can be read-only/absent.
See e.g. <http://hydra.nixos.org/build/10870893>.

* test/automated/vc-bzr.el (vc-bzr-test-bug9726, vc-bzr-test-bug9781)
(vc-bzr-test-faulty-bzr-autoloads): Disable bzr logging.
2014-05-07 20:34:20 -07:00
Dmitry Gutov
4dd3c4d53a * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize-function):
Backtrack one char if the global/char-literal var matcher hits
inside a string.  The next char could be the beginning of an
expression expansion.

* test/automated/ruby-mode-tests.el
(ruby-interpolation-after-dollar-sign): New test.
2014-05-06 03:18:18 +04:00
Glenn Morris
6da8d06975 * lisp/help-fns.el (describe-function-1): Test for an autoload before a macro
since `macrop' works on autoloads. 

* test/automated/help-fns.el: New file.

Fixes: debbugs:17410
2014-05-05 17:33:07 -04:00
Barry O'Reilly
a7e1ffdc7e Fix ChangeLogs of 2014-05-01 commit. 2014-05-03 10:42:26 -04:00
Barry O'Reilly
4807c7eb90 Change algorithm used to adjust positions for undo in region
* simple.el (undo-make-selective-list): New algorithm fixes
incorrectness of position adjustments when undoing in region.
(Bug#17235)
(undo-elt-crosses-region): Make obsolete.
(undo-adjust-elt, undo-adjust-beg-end, undo-adjust-pos): New
functions to adjust positions using undo-deltas.
* automated/undo-tests.el (undo-test-region-deletion): New test to
demonstrate bug#17235.
(undo-test-region-example): New test to verify example given in
comments for undo-make-selective-list.

Fixes: debbugs:17325
2014-05-01 19:25:28 -04:00
Juanma Barranquero
dff4a9f6a4 Merge from emacs-24; up to 2014-04-25T10:35:01Z!michael.albinus@gmx.de 2014-04-25 18:11:07 +02:00
Michael Albinus
844465d6ca * automated/tramp-tests.el (top):
* automated/file-notify-tests.el (top): Do not disable interactive
passwords in batch mode.
(password-cache-expiry): Set to nil.
2014-04-25 12:35:01 +02:00
Michael Albinus
c0b9bc72cc Use a mock-up connection method for remote files.
* automated/file-notify-tests.el
(file-notify-test-remote-temporary-file-directory):
* automated/tramp-tests.el (tramp-test-temporary-file-directory):
Use a mock-up method as default.
(tramp-test00-availability): Print the used directory name.
(tramp-test33-recursive-load): Fix typo.
2014-04-24 10:21:58 +02:00
Paul Eggert
42e910349d Merge from emacs-24; up to 2014-04-22T20:19:17Z!eggert@cs.ucla.edu 2014-04-22 14:32:51 -07:00
Michael Albinus
d5ff4ded7a * automated/tramp-tests.el (tramp--test-check-files): Remove traces. 2014-04-22 12:52:08 +02:00
Michael Albinus
84b2095cba * automated/tramp-tests.el (tramp-test30-special-characters):
Remove test for backslash.
2014-04-22 09:50:58 +02:00
Daniel Colascione
12b1389c90 Correctly macroexpand top-level forms during eager macroexpand
* lisp/emacs-lisp/byte-run.el (eval-when-compile, eval-and-compile):
Improve docstrings.

* lisp/emacs-lisp/macroexp.el (internal-macroexpand-for-load): Add
`full-p' parameter; when nil, call `macroexpand' instead of
`macroexpand-all'.

* src/lread.c (readevalloop_eager_expand_eval): New function
that can recurse into toplevel forms.
(readevalloop): Call it.
* src/lisp.h: Declare Qprogn.
* src/callint.c (Qprogn): No longer static.

* test/automated/bytecomp-tests.el (test-byte-comp-compile-and-load):
Add compile flag.
(test-byte-comp-macro-expansion)
(test-byte-comp-macro-expansion-eval-and-compile)
(test-byte-comp-macro-expansion-eval-when-compile)
(test-byte-comp-macro-expand-lexical-override): Use it.
(test-eager-load-macro-expansion)
(test-eager-load-macro-expansion-eval-and-compile)
(test-eager-load-macro-expansion-eval-when-compile)
(test-eager-load-macro-expand-lexical-override): New tests.
2014-04-22 00:04:34 -07:00
Daniel Colascione
66fda7948f Optimize cl-struct-slot-value; fix test
2014-04-22  Daniel Colascione  <dancol@dancol.org>

	* emacs-lisp/cl-macs.el
	(cl-struct-sequence-type,cl-struct-slot-info): Declare pure.
	(cl-struct-slot-value): Conditionally use aref or nth so that the
	compiler produces optimal code.

2014-04-22  Daniel Colascione  <dancol@dancol.org>

	* automated/cl-lib.el (cl-lib-struct-accessors): Fix test to
	account for removal of `cl-struct-set-slot-value'.
2014-04-21 20:51:12 -07:00
Daniel Colascione
985c035f2d Correctly treat progn contents as toplevel forms when byte compiling 2014-04-21 02:34:21 -07:00
Daniel Colascione
0c8d94555c Fix cl-the test 2014-04-20 18:28:55 -07:00
Daniel Colascione
2fa1b97db0 Fix cl-loop destructuring under `with' clause 2014-04-20 18:03:39 -07:00
Michael Albinus
f3a4812cf2 * automated/tramp-tests.el (tramp-test19-directory-files-and-attributes)
(tramp-test22-file-times): Check for `file-attributes' equality
only if there is a usable timestamp.
(tramp--test-check-files): Do not use `copy-sequence'.
2014-04-20 23:39:43 +02:00
Daniel Colascione
89a2e783c2 defstruct introspection 2014-04-19 19:34:22 -07:00
Daniel Colascione
6dfa19c50f Merge from emacs-24; up to 2014-04-17T02:05:48Z!eggert@cs.ucla.edu 2014-04-19 13:32:05 -07:00
Michael Albinus
5305137ad6 * automated/tramp-tests.el (tramp--test-check-files): Extend test.
(tramp-test31-utf8): Let-bind also `file-name-coding-system'.
2014-04-19 16:14:26 +02:00
Juanma Barranquero
bba633792b Merge from emacs-24; up to 2014-04-16T15:28:06Z!eggert@cs.ucla.edu 2014-04-19 01:36:51 +02:00
Michael Albinus
2a2e6726d1 * automated/tramp-tests.el (tramp-copy-size-limit): Set to nil.
(tramp--test-make-temp-name): Optional argument LOCAL.
(tramp--instrument-test-case): Show messages.  Catch also `quit'.
(tramp-test10-write-region): No special test for out-of-band copy
needed anymore.
(tramp-test11-copy-file, tramp-test12-rename-file)
(tramp-test21-file-links): Extend tests.
(tramp-test20-file-modes): More robust check for user "root".
(tramp--test-check-files): New defun.
(tramp-test30-special-characters, tramp-test33-recursive-load)
(tramp-test34-unload): New tests.
(tramp-test31-utf8, tramp-test32-asynchronous-requests):  Rename.
2014-04-18 20:58:13 +02:00
Glenn Morris
e088b01d29 Avoid EMACSDATA in user environment interfering with building
* admin/grammars/Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH):
* leim/Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH):
* lisp/Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH):
* test/automated/Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH):
Unexport.

Fixes: debbugs:16429
2014-04-10 23:51:49 -07:00
Glenn Morris
536aa46681 Merge from emacs-24; up to 2014-04-04T23:31:02Z!joaotavora@gmail.com 2014-04-10 23:43:20 -07:00
Paul Eggert
10ee3b3f17 Spelling fixes.
* automated/electric-tests.el: Fix spelling error in test name.
(whitespace-skipping-for-quotes-not-outside):
Rename from whitespace-skipping-for-quotes-not-ouside.
2014-04-10 12:12:34 -07:00
Daniel Colascione
3f63a9f7de Make up-list and backward-up-list get out of more spots 2014-04-09 09:58:08 -07:00
Glenn Morris
559836fbcc Merge from emacs-24; up to 2014-04-02T16:17:08Z!dmantipov@yandex.ru 2014-04-08 20:37:56 -07:00
Glenn Morris
50c9a9b8a8 Fix python-triple-quote-pairing test
* test/automated/python-tests.el (python-triple-quote-pairing):
Enable/disable electric-pair-mode as needed.
2014-04-08 21:50:29 -04:00
Glenn Morris
3b7fab2504 * electric-tests.el (electric-pair-backspace-1): Replace deleted function. 2014-04-08 21:34:16 -04:00
Glenn Morris
6f287c898a ChangeLog fixes
Merged entries get today's date.
May as well combine consecutive separate entries by same author into one.
Backported entries should not appear twice.
2014-04-07 17:19:31 -04:00