[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
COMPLETING-READ Problem
From: |
Volkan YAZICI |
Subject: |
COMPLETING-READ Problem |
Date: |
Sun, 9 Mar 2008 05:51:44 -0700 (PDT) |
User-agent: |
G2/1.0 |
Hi,
While trying to implement a family of SQL identifier search functions,
I want to offer tab completion to previously searched SQL identifiers
-- besides builtin history functionality binded to M-p. For this
purpose, I try to use COMPLETING-READ. Here's the related code
snippet:
(defvar searched-sql-items nil
"Association list of previously searched SQL items.")
(defun make-local-searched-sql-items ()
"Creates per-buffer SEARCHED-SQL-ITEMS association list."
(make-local-variable 'searched-sql-items))
(add-hook 'sql-mode-hook 'make-local-searched-sql-items)
(defun search-sql-table (table-name)
"Search for specified TABLE-NAME in the current buffer."
(interactive
(let ((previously-searched-tables (assoc 'table searched-sql-
items)))
(list
(completing-read
(if previously-searched-tables
(format "Table name (default: %s): "
(first previously-searched-tables))
"Table name: ")
previously-searched-tables)))
;; Insert specified TABLE-NAME to SEARCHED-SQL-ITEMS.
(let ((previously-searched-tables (assoc 'table searched-sql-
items)))
(setf (assoc 'table searched-sql-items)
;; Move TABLE-NAME to top.
(cons table-name (remove table-name previously-searched-
tables))))
;; Search table.
(search-forward (format "CREATE TABLE %s" table-name))))
But for some reason, function doesn't work. (Does nothing during
execution.) I tried to place a (warn "TABLE-NAME: %s" table-name) just
after (interactive ...) block, but there doesn't appear anything in
the *Messages* buffer. Any ideas?
Regards.
- COMPLETING-READ Problem,
Volkan YAZICI <=