From: Glenn Morris Date: Fri, 9 Sep 2011 06:23:47 +0000 (-0700) Subject: woman.el fix for bug#9447. X-Git-Tag: emacs-pretest-24.0.90~104^2~128 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=28c451307be3b882aed6b52448e26450cec160f1;p=emacs.git woman.el fix for bug#9447. * lisp/woman.el (woman-if-body): When processing an .el block, do not delete the next .el block as well. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d49b7be9a99..2cd428bdddb 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2011-09-09 Glenn Morris + + * woman.el (woman-if-body): When processing an .el block, + do not delete the next .el block as well. (Bug#9447) + 2011-09-08 Martin Rudalics * window.el (window-deletable-p): Make sure window is live before diff --git a/lisp/woman.el b/lisp/woman.el index c6bd4a4c8d1..67112ba1745 100644 --- a/lisp/woman.el +++ b/lisp/woman.el @@ -2621,15 +2621,27 @@ If DELETE is non-nil then delete from point." ;; Process matching .el anything: (cond ((string= request "ie") ;; Discard unless previous .ie c `evaluated to false'. + ;; IIUC, an .ie must be followed by an .el. + ;; (An if with no else uses .if rather than .ie.) + ;; TODO warn if no .el found? + ;; The .el should come immediately after the .ie (modulo + ;; comments etc), but this searches to eob. (cond ((re-search-forward "^[.'][ \t]*el[ \t]*" nil t) (woman-delete-match 0) (woman-if-body "el" nil (not delete))))) +;;; FIXME neither the comment nor the code here make sense to me. +;;; This branch was executed for an else (any else, AFAICS). +;;; At this point, the else in question has already been processed above. +;;; The re-search will find the _next_ else, if there is one, and +;;; delete it. If there is one, it belongs to another if block. (Bug#9447) +;;; woman0-el does not need this bit either. ;; Got here after processing a single-line `.ie' as a body ;; clause to be discarded: - ((string= request "el") - (cond ((re-search-forward "^[.'][ \t]*el[ \t]*" nil t) - (woman-delete-match 0) - (woman-if-body "el" nil t))))) +;;; ((string= request "el") +;;; (cond ((re-search-forward "^[.'][ \t]*el[ \t]*" nil t) +;;; (woman-delete-match 0) +;;; (woman-if-body "el" nil t))))) + ) (goto-char from))) (defun woman0-el ()