~ubuntu-branches/ubuntu/karmic/emacs-snapshot/karmic

« back to all changes in this revision

Viewing changes to lisp/emacs-lisp/re-builder.el

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2009-04-05 09:14:30 UTC
  • mto: This revision was merged to the branch mainline in revision 34.
  • Revision ID: james.westby@ubuntu.com-20090405091430-nw07lynn2arotjbe
Tags: upstream-20090320
ImportĀ upstreamĀ versionĀ 20090320

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
;;; re-builder.el --- building Regexps with visual feedback
2
2
 
3
3
;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
4
 
;;   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
4
;;   2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
5
5
 
6
6
;; Author: Detlev Zundel <dzu@gnu.org>
7
7
;; Keywords: matching, lisp, tools
248
248
    (define-key menu-map [rt]
249
249
      '(menu-item "Case sensitive" reb-toggle-case
250
250
                  :button (:toggle . case-fold-search)
251
 
                  :help "Toggle case sensitivity of searches for RE Builder target buffer."))
 
251
                  :help "Toggle case sensitivity of searches for RE Builder target buffer"))
252
252
    (define-key menu-map [rb]
253
253
      '(menu-item "Change target buffer..." reb-change-target-buffer
254
254
                  :help "Change the target buffer and display it in the target window"))
273
273
    map)
274
274
  "Keymap used by the RE Builder.")
275
275
 
276
 
(defun reb-mode ()
277
 
  "Major mode for interactively building Regular Expressions.
278
 
\\{reb-mode-map}"
279
 
  (interactive)
280
 
  (kill-all-local-variables)
281
 
  (setq major-mode 'reb-mode
282
 
        mode-name "RE Builder")
 
276
(define-derived-mode reb-mode nil "RE Builder"
 
277
  "Major mode for interactively building Regular Expressions."
283
278
  (set (make-local-variable 'blink-matching-paren) nil)
284
 
  (use-local-map reb-mode-map)
285
 
  (reb-mode-common)
286
 
  (run-mode-hooks 'reb-mode-hook))
 
279
  (reb-mode-common))
287
280
 
288
281
(define-derived-mode reb-lisp-mode
289
282
  emacs-lisp-mode "RE Builder Lisp"
349
342
  (goto-char (+ 2 (point-min)))
350
343
  (cond ((reb-lisp-syntax-p)
351
344
         (reb-lisp-mode))
352
 
        (t (reb-mode))))
 
345
        (t (reb-mode)))
 
346
  (reb-do-update))
353
347
 
354
348
(defun reb-mode-buffer-p ()
355
349
  "Return non-nil if the current buffer is a RE Builder buffer."
370
364
    (when reb-target-buffer
371
365
      (reb-delete-overlays))
372
366
    (setq reb-target-buffer (current-buffer)
373
 
          reb-target-window (selected-window)
374
 
          reb-window-config (current-window-configuration))
375
 
    (select-window (split-window (selected-window) (- (window-height) 4)))
 
367
          reb-target-window (selected-window))
 
368
    (select-window (or (get-buffer-window reb-buffer)
 
369
                       (progn
 
370
                         (setq reb-window-config (current-window-configuration))
 
371
                         (split-window (selected-window) (- (window-height) 4)))))
376
372
    (switch-to-buffer (get-buffer-create reb-buffer))
377
373
    (reb-initialize-buffer)))
378
374
 
524
520
         (condition-case nil
525
521
             (progn
526
522
               (when (or (reb-update-regexp) force)
527
 
                 (reb-assert-buffer-in-window)
528
523
                 (reb-do-update))
529
524
               "")
530
525
           (error " *invalid*"))))
569
564
  (interactive)
570
565
 
571
566
  (setq reb-subexp-displayed
572
 
        (or subexp (string-to-number (format "%c" last-command-char))))
 
567
        (or subexp (string-to-number (format "%c" last-command-event))))
573
568
  (reb-update-modestring)
574
569
  (reb-do-update reb-subexp-displayed))
575
570