Subject: 29.0.60; uniquify can't make buffers unique based on things other than filename

From: Spencer Baugh <[email-masked]>
Date: Sun, 02 Apr 2023 13:37:36 -0400

I have a lot of buffers visiting files with the same basename, in
directory paths which have long meaningless numeric identifiers.  This
means that with uniquify, I get buffers named things like:

foo<ahlai5Ei>, foo<IHoano7o>, foo<yoeWo3ae>

This is not much better than foo<1>, foo<2>, foo<3> for me.

What would be great is if uniquify could use things other than the
filename when making unique buffer names.

For example, project-name from project.el is something that *is*
unique for these files, because of my custom project.el integration.
Then I'd get something like:

foo<proj-emacs>, foo<proj-vi>, foo<proj-nano>

However, uniquify is currently not customizable in this way.  Could we
add support for including additional attributes into the things which
uniquify will use?  Then I could add project-name as one of those
attributes in my configuration, and I'd be happy.

I would be happy to implement this feature in uniquify myself, if this
is an interesting feature for upstream.  Or if you'd prefer some other
approach, I'd be happy to hear it and I can implement it.

In GNU Emacs 29.0.60 (build 3, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.15.12, Xaw scroll bars) of 2023-03-13 built on
 igm-qws-u22796a
Repository revision: e759905d2e0828eac4c8164b09113b40f6899656
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: CentOS Linux 7 (Core)

Configured using:
 'configure --with-x-toolkit=lucid --with-modules
 --with-gif=ifavailable'

Configured features:
CAIRO DBUS FREETYPE GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND
SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM LUCID
ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix