From: Eli Zaretskii Date: Fri, 20 Jun 2014 08:47:10 +0000 (+0300) Subject: Fix bug #17801 with extraneous newlines after inserting markup in Texinfo mode. X-Git-Tag: emacs-24.3.92~53 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=58b9840b352eeb11ee1d09f0f3224c4b9ce22fad;p=emacs.git Fix bug #17801 with extraneous newlines after inserting markup in Texinfo mode. lisp/textmodes/texinfo.el (texinfo-mode): Set skeleton-end-newline locally to nil. (texinfo-insert-block, texinfo-insert-@end) (texinfo-insert-@example, texinfo-insert-@quotation): Adjust to local setting of skeleton-end-newline by adding an explicit \n to the skeletons where appropriate. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7fdc6478979..b7cd062d15c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2014-06-20 Eli Zaretskii + + * textmodes/texinfo.el (texinfo-mode): Set skeleton-end-newline + locally to nil. + (texinfo-insert-block, texinfo-insert-@end) + (texinfo-insert-@example, texinfo-insert-@quotation): Adjust to + local setting of skeleton-end-newline by adding an explicit \n to + the skeletons where appropriate. (Bug#17801) + 2014-06-20 Stefan Monnier * emacs-lisp/smie.el (smie--hanging-eolp-function): New var. diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el index e1e2656275c..6f441d67b3c 100644 --- a/lisp/textmodes/texinfo.el +++ b/lisp/textmodes/texinfo.el @@ -44,6 +44,8 @@ (defvar outline-heading-alist) +(defvar skeleton-end-newline) + (defgroup texinfo nil "Texinfo Mode." :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) @@ -626,6 +628,11 @@ value of `texinfo-mode-hook'." (setq-local tex-first-line-header-regexp "^\\\\input") (setq-local tex-trailer "@bye\n") + ;; Prevent skeleton.el from adding a newline to each inserted + ;; skeleton. Those which do want a newline do that explicitly in + ;; their define-skeleton form. + (setq-local skeleton-end-newline nil) + ;; Prevent filling certain lines, in addition to ones specified by ;; the user. (setq-local auto-fill-inhibit-regexp @@ -653,7 +660,7 @@ Puts point on a blank line between them." (if (or (string-match "\\`def" str) (member str '("table" "ftable" "vtable"))) '(nil " " -)) - \n _ \n "@end " str \n) + \n _ \n "@end " str \n \n) (defun texinfo-inside-macro-p (macro &optional bound) "Non-nil if inside a macro matching the regexp MACRO." @@ -732,7 +739,7 @@ With prefix argument or inside @code or @example, inserts a plain \"." (backward-word 1) (texinfo-last-unended-begin) (or (match-string 1) '-))) - \n "@end " str \n) + \n "@end " str \n \n) (define-skeleton texinfo-insert-braces "Make a pair of braces and be poised to type inside of them. @@ -771,7 +778,7 @@ The default is not to surround any existing words with the braces." (define-skeleton texinfo-insert-@example "Insert the string `@example' in a Texinfo buffer." nil - \n "@example" \n) + \n "@example" \n \n) (define-skeleton texinfo-insert-@file "Insert a `@file{...}' command in a Texinfo buffer. @@ -816,7 +823,7 @@ Leave point after `@node'." (define-skeleton texinfo-insert-@quotation "Insert the string `@quotation' in a Texinfo buffer." - \n "@quotation" \n) + \n "@quotation" \n _ \n) (define-skeleton texinfo-insert-@samp "Insert a `@samp{...}' command in a Texinfo buffer.