Function: sql-generate-unique-sqli-buffer-name

sql-generate-unique-sqli-buffer-name is a byte-compiled function defined in sql.el.gz.

Signature

(sql-generate-unique-sqli-buffer-name PRODUCT BASE)

Documentation

Generate a new, unique buffer name for a SQLi buffer.

Append a sequence number until a unique name is found.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/sql.el.gz
(defun sql-generate-unique-sqli-buffer-name (product base)
  "Generate a new, unique buffer name for a SQLi buffer.

Append a sequence number until a unique name is found."
  (let ((base-name (substring-no-properties
                    (if base
                        (if (stringp base)
                            base
                          (format "%S" base))
                      (or (sql-get-product-feature product :name)
                          (symbol-name product)))))
        buf-fmt-1st
        buf-fmt-rest)

    ;; Calculate buffer format
    (if (string-blank-p base-name)
        (setq buf-fmt-1st  "*SQL*"
              buf-fmt-rest "*SQL-%d*")
      (setq buf-fmt-1st  (format "*SQL: %s*" base-name)
            buf-fmt-rest (format "*SQL: %s-%%d*" base-name)))

    ;; See if we can find an unused buffer
    (let ((buf-name buf-fmt-1st)
          (i 1))
      (while (if (sql-is-sqli-buffer-p buf-name)
                 (comint-check-proc buf-name)
               (buffer-live-p (get-buffer buf-name)))
        ;; Check a sequence number on the BASE
        (setq buf-name (format buf-fmt-rest i)
              i (1+ i)))

      buf-name)))