]> git.eshelyaron.com Git - emacs.git/commitdiff
(easy-mmode-define-navigation): Only use `ding' for interactive use
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 21 Mar 2000 16:53:06 +0000 (16:53 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 21 Mar 2000 16:53:06 +0000 (16:53 +0000)
else, use `error' (to enable the caller to react to the problem).

lisp/emacs-lisp/easy-mmode.el

index edc0319c4178a58a2c93d5f26af9bb3383470c69..88e6da28f84b1f9354ae472f4a0f44d037e6e667 100644 (file)
@@ -363,14 +363,16 @@ ENDFUN should return the end position (with or without moving point)."
   (let* ((base-name (symbol-name base))
         (prev-sym (intern (concat base-name "-prev")))
         (next-sym (intern (concat base-name "-next"))))
+    (unless name (setq name (symbol-name base-name)))
     `(progn
        (defun ,next-sym (&optional count)
-        ,(format "Go to the next COUNT'th %s." (or name base-name))
+        ,(format "Go to the next COUNT'th %s." name)
         (interactive)
         (unless count (setq count 1))
         (if (< count 0) (,prev-sym (- count))
           (if (looking-at ,re) (incf count))
-          (or (re-search-forward ,re nil t count) (ding))
+          (unless (re-search-forward ,re nil t count)
+            (if (interactive-p) (ding) (error ,(format "No next %s" name))))
           (goto-char (match-beginning 0))
           (when (eq (current-buffer) (window-buffer (selected-window)))
             (let ((endpt (or (save-excursion
@@ -383,7 +385,9 @@ ENDFUN should return the end position (with or without moving point)."
         (interactive)
         (unless count (setq count 1))
         (if (< count 0) (,next-sym (- count))
-          (or (re-search-backward ,re nil t count) (ding)))))))
+          (unless (re-search-backward ,re nil t count)
+            (if (interactive-p) (ding)
+              (error ,(format "No previous %s" name)))))))))
 
 (provide 'easy-mmode)