help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

oops, setting mark in program


From: Joe Corneli
Subject: oops, setting mark in program
Date: Wed, 19 Nov 2003 12:07:43 -0600

The following function and some similar functions set the mark.
Edebug seems ta say that the mark is set when the program runs

 (search-forward "\\section{" nil t)

Does this seem like the expected behavior? I can't tell from the
documentation.  Also, sorry not to provide a more minimal example,
but actually, though this is a bit long, it might be the clearest
example I have.  Maybe I have committed some other coding faux pas,
in which case, I'd be happy to see any extra constructive criticism
you might have to offer.

Thank you,
Joe



(defun xi-grab-matching-sections (regexp)
"Grab the TeX sections whose text (not including the section name) contains a 
match for this regexp."
  (interactive "MRegex: ")
  (save-excursion
    (beginning-of-buffer)
      (while (not (eobp))
        (let ((found (search-forward "\\section{" nil t)))               
;;;;????
              (progn (let* ((begone (save-excursion (beginning-of-line)
                                                    (point)))
                            (begtwo (save-excursion (end-of-line)
                                                    (point)))
                            (end (save-excursion (end-of-line)
                                                 (if found
                                                     (progn
                                                       (search-forward 
"\\section{" nil t)    ;;;;????
                                                       (beginning-of-line)) ; 
cut right before that
                                                   (end-of-buffer))  ;  and 
find the beginning of the next section
                                               (point)))
                          (entry (buffer-substring begone end)))
                     (if (equal 0 (shell-command-on-region begtwo end (concat 
"grep -q \"" regexp "\"")))
                         (progn (save-excursion (set-buffer (get-buffer-create 
"CONCAT.tex"))
                                                (insert entry))))))
          ; if we don't see another section, move to the end of the buffer to 
kill the while loop
          (if (not found)
              (end-of-buffer))))))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]