]> git.eshelyaron.com Git - emacs.git/commitdiff
woman.el fix for bug#9447.
authorGlenn Morris <rgm@gnu.org>
Fri, 9 Sep 2011 06:23:47 +0000 (23:23 -0700)
committerGlenn Morris <rgm@gnu.org>
Fri, 9 Sep 2011 06:23:47 +0000 (23:23 -0700)
* lisp/woman.el (woman-if-body): When processing an .el block,
do not delete the next .el block as well.

lisp/ChangeLog
lisp/woman.el

index d49b7be9a9932568810e9893769225e0adea112e..2cd428bdddb823bf783047e976e009d67c90200a 100644 (file)
@@ -1,3 +1,8 @@
+2011-09-09  Glenn Morris  <rgm@gnu.org>
+
+       * 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  <rudalics@gmx.at>
 
        * window.el (window-deletable-p): Make sure window is live before
index c6bd4a4c8d1b90062b69be9734c70be32a2bc658..67112ba174546796a9ad7e8f43294d754c30e953 100644 (file)
@@ -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 ()