# HG changeset patch # User Gerd Moellmann # Date 954789815 0 # Node ID 7b327ea7706b62f0c968815d546429ab422258ec # Parent cfc5860e2942f252e5101dc42eb1701d711f9c7b (dabbrev-ignored-regexps): New user-option. (dabbrev--find-expansion): Ignore buffers matching a regexp from dabbrev-ignored-regexps. diff -r cfc5860e2942 -r 7b327ea7706b lisp/dabbrev.el --- a/lisp/dabbrev.el Mon Apr 03 13:30:55 2000 +0000 +++ b/lisp/dabbrev.el Mon Apr 03 19:23:35 2000 +0000 @@ -1,6 +1,7 @@ ;;; dabbrev.el --- dynamic abbreviation package -;; Copyright (C) 1985, 86, 92, 94, 96, 1997 Free Software Foundation, Inc. +;; Copyright (C) 1985, 86, 92, 94, 96, 1997, 2000 +;; Free Software Foundation, Inc. ;; Author: Don Morrison ;; Maintainer: Lars Lindberg @@ -193,16 +194,25 @@ designated by `dabbrev-select-buffers-function'. Then, if `dabbrev-check-all-buffers' is non-nil, dabbrev searches -all the other buffers, except those named in `dabbrev-ignored-buffer-names'." +all the other buffers, except those named in `dabbrev-ignored-buffer-names', +or matched by `dabbrev-ignored-regexps'." :type 'boolean :group 'dabbrev) (defcustom dabbrev-ignored-buffer-names '("*Messages*" "*Buffer List*") - "*List of buffer names that dabbrev should not check." + "*List of buffer names that dabbrev should not check. +See also `dabbrev-ignored-regexps'." :type '(repeat (string :tag "Buffer name")) :group 'dabbrev :version "20.3") +(defcustom dabbrev-ignored-regexps nil + "*List of regexps matching names of buffers that dabbrev should not check. +See also `dabbrev-ignored-buffer-names'." + :type '(repeat regexp) + :group 'dabbrev + :version "21.1") + (defcustom dabbrev-check-other-buffers t "*Should \\[dabbrev-expand] look in other buffers?\ @@ -761,9 +771,16 @@ (nreverse (dabbrev-filter-elements buffer (buffer-list) - (and (not (member (buffer-name buffer) - dabbrev-ignored-buffer-names)) - (not (memq buffer dabbrev--friend-buffer-list))))) + (let ((bn (buffer-name buffer))) + (and (not (member bn dabbrev-ignored-buffer-names)) + (not (memq buffer dabbrev--friend-buffer-list)) + (not + (let ((tail dabbrev-ignored-regexps) + (match nil)) + (while (and tail (not match)) + (setq match (string-match (car tail) bn) + tail (cdr tail))) + match)))))) dabbrev--friend-buffer-list (append dabbrev--friend-buffer-list non-friend-buffer-list)))))