mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-23 18:47:57 +00:00
Merge from origin/emacs-24
2616307
* net/tramp-sh.el (tramp-send-command-and-read): New optional arg MARKER. (tramp-get-remote-path): Use it.c773edc
* net/tramp-gw.el (tramp-gw-open-connection): Suppress traces in wrong debug buffer. (tramp-gw-open-connection): Set process coding system 'binary. (tramp-gw-open-network-stream): Handle HTTP error 403.8032fc1
* .gitignore: Ignore /conftest*.fb420e7
* lisp/subr.el (sit-for): Tweak docstring.061db13
Fix vc-git-dir-status-files WRT up-to-date vs editedbb57c94
Consider electric-pair-mode in tex-mode.7b94572
* test/automated/flymake/warnpred/test.pl: Tweak earlier change.59c218f
ChangeLog fixdb2a768
* test/automated/flymake/warnpred/test.pl: Tweak formatd9005dd
src/gnutls.c (gnutls_init): Fix deprecation warning from GCC. Conflicts: ChangeLog lisp/ChangeLog src/ChangeLog test/ChangeLog
This commit is contained in:
commit
3a12f2ed99
1
.gitignore
vendored
1
.gitignore
vendored
@ -48,6 +48,7 @@ makefile
|
||||
/confdefs.h
|
||||
/config.status
|
||||
/configure.lineno
|
||||
/conftest*
|
||||
src/config.h
|
||||
src/epaths.h
|
||||
|
||||
|
13
ChangeLog
13
ChangeLog
@ -1,3 +1,13 @@
|
||||
2014-12-27 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* .gitignore: Ignore /conftest*.
|
||||
|
||||
2014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* build-aux/git-hooks/commit-msg (at_sign): Bump up line-length limit
|
||||
to 78.
|
||||
|
||||
2014-12-27 Paul Eggert <eggert@cs.ucla.edu>
|
||||
2014-12-25 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Prefer stpcpy to strcat
|
||||
@ -308,7 +318,8 @@
|
||||
|
||||
2014-11-11 Eric S. Raymond <esr@thyrsus.com>
|
||||
|
||||
* Makefile.in: git transition - set VCWITNESS appropriately for git.
|
||||
Git transition.
|
||||
* Makefile.in (src): Set VCSWITNESS appropriately for git.
|
||||
|
||||
All bzr revision IDS, and all CVS revision IDs for which a commit
|
||||
could be identified, were changed to time-date!committer version
|
||||
|
@ -87,8 +87,8 @@ exec $awk '
|
||||
status = 1
|
||||
}
|
||||
|
||||
72 < length && $0 ~ space {
|
||||
print "Line longer than 72 characters in commit message"
|
||||
78 < length && $0 ~ space {
|
||||
print "Line longer than 78 characters in commit message"
|
||||
status = 1
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,39 @@
|
||||
2014-12-27 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* net/tramp-sh.el (tramp-send-command-and-read): New optional
|
||||
arg MARKER.
|
||||
(tramp-get-remote-path): Use it.
|
||||
|
||||
2014-12-27 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* net/tramp.el (tramp-error-with-buffer): Call `message' properly.
|
||||
(tramp-accept-process-output): Use nil as argument for
|
||||
`accept-process-output', when there is a gateway prepended.
|
||||
|
||||
* net/tramp-gw.el (tramp-gw-open-connection): Suppress traces in
|
||||
wrong debug buffer.
|
||||
(tramp-gw-open-connection): Set process coding system 'binary.
|
||||
(tramp-gw-open-network-stream): Handle HTTP error 403.
|
||||
|
||||
* net/tramp-sh.el (tramp-compute-multi-hops): Suppress traces in
|
||||
wrong debug buffer.
|
||||
(tramp-maybe-open-connection): Set connection property "gateway".
|
||||
|
||||
2014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* subr.el (sit-for): Tweak docstring (bug#19381).
|
||||
|
||||
2014-12-27 Dmitry Gutov <dgutov@yandex.ru>
|
||||
|
||||
* vc/vc-git.el (vc-git-after-dir-status-stage): Move `up-to-date'
|
||||
stage to after `diff-index' (bug#19386).
|
||||
|
||||
2014-12-27 João Távora <joaotavora@gmail.com>
|
||||
|
||||
* textmodes/tex-mode.el (tex-insert-quote): Consider and respect
|
||||
`electric-pair-mode' (bug#19356).
|
||||
|
||||
2014-12-27 Michael Albinus <michael.albinus@gmx.de>
|
||||
2014-12-27 Dmitry Gutov <dgutov@yandex.ru>
|
||||
|
||||
elisp-xref-find: Don't create buffers eagerly.
|
||||
|
@ -195,11 +195,12 @@ instead of the host name declared in TARGET-VEC."
|
||||
(setq tramp-gw-gw-proc
|
||||
(funcall
|
||||
socks-function
|
||||
(tramp-get-connection-name gw-vec)
|
||||
(tramp-get-connection-buffer gw-vec)
|
||||
(let ((tramp-verbose 0)) (tramp-get-connection-name gw-vec))
|
||||
(let ((tramp-verbose 0)) (tramp-get-connection-buffer gw-vec))
|
||||
(tramp-file-name-real-host target-vec)
|
||||
(tramp-file-name-port target-vec)))
|
||||
(set-process-sentinel tramp-gw-gw-proc 'tramp-gw-gw-proc-sentinel)
|
||||
(set-process-coding-system tramp-gw-gw-proc 'binary 'binary)
|
||||
(tramp-compat-set-process-query-on-exit-flag tramp-gw-gw-proc nil)
|
||||
(tramp-message
|
||||
vec 4 "Opened %s process `%s'"
|
||||
@ -260,6 +261,10 @@ authentication is requested from proxy server, provide it."
|
||||
(200 (setq found t))
|
||||
;; We need basic authentication.
|
||||
(401 (setq authentication (tramp-gw-basic-authentication nil first)))
|
||||
;; Access forbidden.
|
||||
(403 (tramp-error-with-buffer
|
||||
(current-buffer) tramp-gw-vector 'file-error
|
||||
"Connection to %s:%d forbidden." host service))
|
||||
;; Target host not found.
|
||||
(404 (tramp-error-with-buffer
|
||||
(current-buffer) tramp-gw-vector 'file-error
|
||||
|
@ -2883,7 +2883,7 @@ the result will be a local, non-Tramp, file name."
|
||||
(name1 name)
|
||||
(i 0)
|
||||
;; We do not want to raise an error when
|
||||
;; `start-file-process' has been started several time in
|
||||
;; `start-file-process' has been started several times in
|
||||
;; `eshell' and friends.
|
||||
(tramp-current-connection nil))
|
||||
|
||||
@ -4510,7 +4510,8 @@ Gateway hops are already opened."
|
||||
;; Therefore, we must remember the gateway vector. But we
|
||||
;; cannot do it as connection property, because it shouldn't
|
||||
;; be persistent. And we have no started process yet either.
|
||||
(tramp-set-file-property (car target-alist) "" "gateway" hop)))
|
||||
(let ((tramp-verbose 0))
|
||||
(tramp-set-file-property (car target-alist) "" "gateway" hop))))
|
||||
|
||||
;; Foreign and out-of-band methods are not supported for multi-hops.
|
||||
(when (cdr target-alist)
|
||||
@ -4687,7 +4688,8 @@ connection if a previous connection has died for some reason."
|
||||
l-method 'tramp-connection-timeout))
|
||||
(gw-args
|
||||
(tramp-get-method-parameter l-method 'tramp-gw-args))
|
||||
(gw (tramp-get-file-property hop "" "gateway" nil))
|
||||
(gw (let ((tramp-verbose 0))
|
||||
(tramp-get-file-property hop "" "gateway" nil)))
|
||||
(g-method (and gw (tramp-file-name-method gw)))
|
||||
(g-user (and gw (tramp-file-name-user gw)))
|
||||
(g-host (and gw (tramp-file-name-real-host gw)))
|
||||
@ -4715,8 +4717,10 @@ connection if a previous connection has died for some reason."
|
||||
(setq login-args (append async-args login-args)))
|
||||
|
||||
;; Add gateway arguments if necessary.
|
||||
(when (and gw gw-args)
|
||||
(setq login-args (append gw-args login-args)))
|
||||
(when gw
|
||||
(tramp-set-connection-property p "gateway" t)
|
||||
(when gw-args
|
||||
(setq login-args (append gw-args login-args))))
|
||||
|
||||
;; Check for port number. Until now, there's no
|
||||
;; need for handling like method, user, host.
|
||||
@ -4902,8 +4906,9 @@ FMT and ARGS which are passed to `error'."
|
||||
(or (tramp-send-command-and-check vec command)
|
||||
(apply 'tramp-error vec 'file-error fmt args)))
|
||||
|
||||
(defun tramp-send-command-and-read (vec command &optional noerror)
|
||||
(defun tramp-send-command-and-read (vec command &optional noerror marker)
|
||||
"Run COMMAND and return the output, which must be a Lisp expression.
|
||||
If MARKER is a regexp, read the output after that string.
|
||||
In case there is no valid Lisp expression and NOERROR is nil, it
|
||||
raises an error."
|
||||
(when (if noerror
|
||||
@ -4911,8 +4916,17 @@ raises an error."
|
||||
(tramp-barf-unless-okay
|
||||
vec command "`%s' returns with error" command))
|
||||
(with-current-buffer (tramp-get-connection-buffer vec)
|
||||
;; Read the expression.
|
||||
(goto-char (point-min))
|
||||
;; Read the marker.
|
||||
(when (stringp marker)
|
||||
(condition-case nil
|
||||
(re-search-forward marker)
|
||||
(error (unless noerror
|
||||
(tramp-error
|
||||
vec 'file-error
|
||||
"`%s' does not return the marker `%s': `%s'"
|
||||
command marker (buffer-string))))))
|
||||
;; Read the expression.
|
||||
(condition-case nil
|
||||
(prog1 (read (current-buffer))
|
||||
;; Error handling.
|
||||
@ -5064,25 +5078,22 @@ Return ATTR."
|
||||
"/bin:/usr/bin")
|
||||
"/bin:/usr/bin"))))
|
||||
(own-remote-path
|
||||
;; We cannot apply `tramp-send-command-and-read' because
|
||||
;; the login shell could return more than just the $PATH
|
||||
;; string. So we emulate that function.
|
||||
;; The login shell could return more than just the $PATH
|
||||
;; string. So we use `tramp-end-of-heredoc' as marker.
|
||||
(when elt2
|
||||
(tramp-send-command
|
||||
(tramp-send-command-and-read
|
||||
vec
|
||||
(format
|
||||
"%s -l %s 'echo \\\"$PATH\\\"'"
|
||||
"%s -l %s 'echo %s \\\"$PATH\\\"'"
|
||||
(tramp-get-method-parameter
|
||||
(tramp-file-name-method vec) 'tramp-remote-shell)
|
||||
(mapconcat
|
||||
'identity
|
||||
(tramp-get-method-parameter
|
||||
(tramp-file-name-method vec) 'tramp-remote-shell-args)
|
||||
" ")))
|
||||
(with-current-buffer (tramp-get-connection-buffer vec)
|
||||
(goto-char (point-max))
|
||||
(forward-line -1)
|
||||
(read (current-buffer))))))
|
||||
" ")
|
||||
(tramp-shell-quote-argument tramp-end-of-heredoc))
|
||||
nil (regexp-quote tramp-end-of-heredoc)))))
|
||||
|
||||
;; Replace place holder `tramp-default-remote-path'.
|
||||
(when elt1
|
||||
|
@ -1610,7 +1610,7 @@ an input event arrives. The other arguments are passed to `tramp-error'."
|
||||
(let ((enable-recursive-minibuffers t))
|
||||
;; `tramp-error' does not show messages. So we must do it
|
||||
;; ourselves.
|
||||
(message fmt-string arguments)
|
||||
(apply 'message fmt-string arguments)
|
||||
;; Show buffer.
|
||||
(pop-to-buffer buf)
|
||||
(discard-input)
|
||||
@ -3609,15 +3609,19 @@ connection buffer."
|
||||
This is needed in order to hide `last-coding-system-used', which is set
|
||||
for process communication also."
|
||||
(with-current-buffer (process-buffer proc)
|
||||
(tramp-message proc 10 "%s %s" proc (process-status proc))
|
||||
(let (buffer-read-only last-coding-system-used)
|
||||
;; FIXME: If there is a gateway process, we need communication
|
||||
;; between several processes. Too complicate to implement, so we
|
||||
;; read output from all proceeses.
|
||||
(let ((p (if (tramp-get-connection-property proc "gateway" nil) nil proc))
|
||||
buffer-read-only last-coding-system-used)
|
||||
;; Under Windows XP, accept-process-output doesn't return
|
||||
;; sometimes. So we add an additional timeout.
|
||||
(with-timeout ((or timeout 1))
|
||||
(if (featurep 'xemacs)
|
||||
(accept-process-output proc timeout timeout-msecs)
|
||||
(accept-process-output proc timeout timeout-msecs (and proc t)))))
|
||||
(tramp-message proc 10 "\n%s" (buffer-string))))
|
||||
(accept-process-output p timeout timeout-msecs)
|
||||
(accept-process-output p timeout timeout-msecs (and proc t))))
|
||||
(tramp-message proc 10 "%s %s %s\n%s"
|
||||
proc (process-status proc) p (buffer-string)))))
|
||||
|
||||
(defun tramp-check-for-regexp (proc regexp)
|
||||
"Check, whether REGEXP is contained in process buffer of PROC.
|
||||
|
@ -2166,7 +2166,7 @@ keyboard-quit events while waiting for a valid input."
|
||||
char))
|
||||
|
||||
(defun sit-for (seconds &optional nodisp obsolete)
|
||||
"Perform redisplay, then wait for SECONDS seconds or until input is available.
|
||||
"Redisplay, then wait for SECONDS seconds. Stop when input is available.
|
||||
SECONDS may be a floating-point value.
|
||||
\(On operating systems that do not support waiting for fractions of a
|
||||
second, floating-point values are rounded down to the nearest integer.)
|
||||
@ -2184,7 +2184,7 @@ floating point support."
|
||||
(declare (advertised-calling-convention (seconds &optional nodisp) "22.1"))
|
||||
;; This used to be implemented in C until the following discussion:
|
||||
;; http://lists.gnu.org/archive/html/emacs-devel/2006-07/msg00401.html
|
||||
;; Then it was moved to C using an implementation based on an idle timer,
|
||||
;; Then it was moved here using an implementation based on an idle timer,
|
||||
;; which was then replaced by the use of read-event.
|
||||
(if (numberp nodisp)
|
||||
(setq seconds (+ seconds (* 1e-3 nodisp))
|
||||
|
@ -1300,18 +1300,48 @@ Inserts the value of `tex-open-quote' (normally ``) or `tex-close-quote'
|
||||
\(normally '') depending on the context. With prefix argument, always
|
||||
inserts \" characters."
|
||||
(interactive "*P")
|
||||
;; Discover if we'll be inserting normal double quotes.
|
||||
;;
|
||||
(if (or arg (memq (char-syntax (preceding-char)) '(?/ ?\\))
|
||||
(eq (get-text-property (point) 'face) 'tex-verbatim)
|
||||
(save-excursion
|
||||
(backward-char (length tex-open-quote))
|
||||
(when (or (looking-at (regexp-quote tex-open-quote))
|
||||
(looking-at (regexp-quote tex-close-quote)))
|
||||
(delete-char (length tex-open-quote))
|
||||
t)))
|
||||
(eq (get-text-property (point) 'face) 'tex-verbatim)
|
||||
;; Discover if a preceding occurance of `tex-open-quote'
|
||||
;; should be morphed to a normal double quote.
|
||||
;;
|
||||
(and (>= (point) (+ (point-min) (length tex-open-quote)))
|
||||
(save-excursion
|
||||
(backward-char (length tex-open-quote))
|
||||
(when (or (looking-at (regexp-quote tex-open-quote))
|
||||
(looking-at (regexp-quote tex-close-quote)))
|
||||
(delete-char (length tex-open-quote))
|
||||
(when (looking-at (regexp-quote tex-close-quote))
|
||||
(delete-char (length tex-close-quote)))
|
||||
t))))
|
||||
;; Insert the normal quote (eventually letting
|
||||
;; `electric-pair-mode' do its thing).
|
||||
;;
|
||||
(self-insert-command (prefix-numeric-value arg))
|
||||
(insert (if (or (memq (char-syntax (preceding-char)) '(?\( ?> ?\s))
|
||||
(memq (preceding-char) '(?~)))
|
||||
tex-open-quote tex-close-quote))))
|
||||
;; We'll be inserting fancy TeX quotes, but consider and imitate
|
||||
;; `electric-pair-mode''s two behaviours: pair-insertion and
|
||||
;; region wrapping.
|
||||
;;
|
||||
(if (and electric-pair-mode (use-region-p))
|
||||
(let* ((saved (point-marker)))
|
||||
(goto-char (mark))
|
||||
(insert (if (> saved (mark)) tex-open-quote tex-close-quote))
|
||||
(goto-char saved)
|
||||
(insert (if (> saved (mark)) tex-close-quote tex-open-quote)))
|
||||
(if (or (memq (char-syntax (preceding-char)) '(?\( ?> ?\s))
|
||||
(memq (preceding-char) '(?~)))
|
||||
(if electric-pair-mode
|
||||
(if (looking-at (regexp-quote tex-close-quote))
|
||||
(forward-char (length tex-close-quote))
|
||||
(insert tex-open-quote)
|
||||
(insert tex-close-quote)
|
||||
(backward-char (length tex-close-quote)))
|
||||
(insert tex-open-quote))
|
||||
(if (looking-at (regexp-quote tex-close-quote))
|
||||
(forward-char (length tex-close-quote))
|
||||
(insert tex-close-quote))))))
|
||||
|
||||
(defun tex-validate-buffer ()
|
||||
"Check current buffer for paragraphs containing mismatched braces or $s.
|
||||
|
@ -371,8 +371,7 @@ or an empty string if none."
|
||||
(goto-char (point-min))
|
||||
(pcase stage
|
||||
(`update-index
|
||||
(setq next-stage (if (vc-git--empty-db-p) 'ls-files-added
|
||||
(if files 'ls-files-up-to-date 'diff-index))))
|
||||
(setq next-stage (if (vc-git--empty-db-p) 'ls-files-added 'diff-index)))
|
||||
(`ls-files-added
|
||||
(setq next-stage 'ls-files-unknown)
|
||||
(while (re-search-forward "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} 0\t\\([^\0]+\\)\0" nil t)
|
||||
@ -381,7 +380,7 @@ or an empty string if none."
|
||||
(push (list name 'added (vc-git-create-extra-fileinfo 0 new-perm))
|
||||
result))))
|
||||
(`ls-files-up-to-date
|
||||
(setq next-stage 'diff-index)
|
||||
(setq next-stage 'ls-files-unknown)
|
||||
(while (re-search-forward "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} 0\t\\([^\0]+\\)\0" nil t)
|
||||
(let ((perm (string-to-number (match-string 1) 8))
|
||||
(name (match-string 2)))
|
||||
@ -400,7 +399,7 @@ or an empty string if none."
|
||||
(vc-git-create-extra-fileinfo 0 0))
|
||||
result)))
|
||||
(`diff-index
|
||||
(setq next-stage 'ls-files-unknown)
|
||||
(setq next-stage (if files 'ls-files-up-to-date 'ls-files-unknown))
|
||||
(while (re-search-forward
|
||||
":\\([0-7]\\{6\\}\\) \\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\(\\([ADMUT]\\)\0\\([^\0]+\\)\\|\\([CR]\\)[0-9]*\0\\([^\0]+\\)\0\\([^\0]+\\)\\)\0"
|
||||
nil t 1)
|
||||
|
@ -1,3 +1,13 @@
|
||||
2014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* buffer.c (syms_of_buffer) <Vafter_change_functions>: fix docstring.
|
||||
|
||||
2014-12-27 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* gnutls.c (gnutls_init): Fix deprecation warning from GCC.
|
||||
|
||||
2014-12-27 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
2014-12-26 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Use bool for boolean in xselect.c, xsettings.c
|
||||
@ -918,6 +928,8 @@
|
||||
* fileio.c (Fexpand_file_name): Use make_unibyte_string, not
|
||||
build_string, when importing a home directory. (Bug#18873)
|
||||
|
||||
2014-12-27 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* dispnew.c (buffer_posn_from_coords):
|
||||
Use WINDOW_WANTS_HEADER_LINE_P, not WINDOW_WANTS_MODELINE_P, to
|
||||
account for the header-line height. (Bug#18839)
|
||||
|
@ -6066,9 +6066,9 @@ from happening repeatedly and making Emacs nonfunctional. */);
|
||||
doc: /* List of functions to call after each text change.
|
||||
Three arguments are passed to each function: the positions of
|
||||
the beginning and end of the range of changed text,
|
||||
and the length in bytes of the pre-change text replaced by that range.
|
||||
and the length in chars of the pre-change text replaced by that range.
|
||||
\(For an insertion, the pre-change length is zero;
|
||||
for a deletion, that length is the number of bytes deleted,
|
||||
for a deletion, that length is the number of chars deleted,
|
||||
and the post-change beginning and end are at the same place.)
|
||||
|
||||
Buffer changes made while executing the `after-change-functions'
|
||||
|
@ -134,7 +134,7 @@ DEF_GNUTLS_FN (void, gnutls_global_set_mem_functions,
|
||||
gnutls_is_secure_function, gnutls_realloc_function,
|
||||
gnutls_free_function));
|
||||
DEF_GNUTLS_FN (int, gnutls_handshake, (gnutls_session_t));
|
||||
DEF_GNUTLS_FN (int, gnutls_init, (gnutls_session_t *, gnutls_connection_end_t));
|
||||
DEF_GNUTLS_FN (int, gnutls_init, (gnutls_session_t *, unsigned int));
|
||||
DEF_GNUTLS_FN (int, gnutls_priority_set_direct,
|
||||
(gnutls_session_t, const char *, const char **));
|
||||
DEF_GNUTLS_FN (size_t, gnutls_record_check_pending, (gnutls_session_t));
|
||||
|
@ -1,3 +1,14 @@
|
||||
2014-12-27 João Távora <joaotavora@gmail.com>
|
||||
|
||||
* automated/electric-tests.el (autowrapping-7): Tests for
|
||||
tex-mode.
|
||||
|
||||
2014-12-27 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* automated/flymake/warnpred/test.pl: Tweak format, since the
|
||||
previous one seems to have stopped giving a warning with perl 5.20.1.
|
||||
|
||||
2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
|
||||
2014-12-26 Fabián Ezequiel Gallina <fgallina@gnu.org>
|
||||
|
||||
* automated/python-tests.el (python-shell-get-process-name-1)
|
||||
|
@ -1,2 +1,2 @@
|
||||
@arr = [1,2,3,4];
|
||||
@arr[1] = -1;
|
||||
my $b = @arr[1];
|
||||
|
@ -60,7 +60,7 @@
|
||||
(cl-progv
|
||||
(mapcar #'car bindings)
|
||||
(mapcar #'cdr bindings)
|
||||
(self-insert-command 1))))
|
||||
(call-interactively (key-binding `[,last-command-event])))))
|
||||
(should (equal (buffer-substring-no-properties (point-min) (point-max))
|
||||
expected-string))
|
||||
(should (equal (point)
|
||||
@ -575,5 +575,14 @@ baz\"\""
|
||||
(skip-chars-backward "\"")
|
||||
(mark-sexp -1)))
|
||||
|
||||
(define-electric-pair-test autowrapping-7
|
||||
"foo" "\"" :expected-string "``foo''" :expected-point 8
|
||||
:modes '(tex-mode)
|
||||
:fixture-fn #'(lambda ()
|
||||
(electric-pair-mode 1)
|
||||
(goto-char (point-max))
|
||||
(skip-chars-backward "\"")
|
||||
(mark-sexp -1)))
|
||||
|
||||
(provide 'electric-tests)
|
||||
;;; electric-tests.el ends here
|
||||
|
Loading…
Reference in New Issue
Block a user