emacs M-x customize, good or bad?

Clément Pit-Claudel gave a great answer about why pulling stuff out of custom-set-variables to setq may not work. See comment at Emacs: Stop Cursor Going into Minibuffer Prompt#comment-2734992432

also see comment by bhyde at Emacs's Customization Tutorial#comment-2663524352

the bottom line is that, if you pull out lines from custom-set-variables and change it to setq, it may not work.

i wasn't too pleased about this. This means, the defcustom is more complex than otherwise acting as defvar with a User Interface.

on this subject, there's the question about whether emacs's customize system is a good thing. (it was controversial). I think it's a mixed bag.

There's elisp, which is the core of all emacs and all customization. Why should we add a layer? Now, there are 2 ways to do the same thing. Also, the Graphical User Interface layer isn't complete, as not all customization can be done with it. (e.g. hooks, which is rather quite common and basic.) On the other hand, it does provide a explicit structure to declare what variables are user preference related, and with it, a text based graphical user interface.

but, it isn't a full system, and is not required nor enforced in packages. The consequence of this is that, there's inconsistency.

in general, coding in elisp is full of slack. There's no API, nothing is enforced, and you can do something low level or high level or whichever way. This in intentional from rms. XEmacs had packages since 1991 or so. rms refused it, till recently. I think rms believes this shapelessness helps propagate FSF free software. As in, it forces people to dig into code, not a blackbox API.


emacs custom-set-variables vs setq

Something strange is going on. It seems, pulling things out of the custom-set-variables no longer works?

Here's the test. Put the following in your init, nothing but just the following:

 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
    (read-only t cursor-intangible t face minibuffer-prompt))))

Restart emacs. Then, M-x query-replace and hold left arrow key to see if cursor went over the prompt. Cursor will not move into the prompt.

Now, delete that init, and use the following instead:

(setq minibuffer-prompt-properties (quote (read-only t cursor-intangible t face minibuffer-prompt)))

Restart emacs.

But now, it doesn't work?

This is emacs GNU Emacs

please comment and let me know what happens on your machine, and emacs version. M-x version.


Siri, Cortana, Ok Google, Are the Future of AI, the Embodiment of AI

talking to myself about Cortana, Siri for an hour. It's huge.

They, going to be the AI. For vast majority of people, the general public, it is they, Cortana, going to be the window to tech. With a human female voice User Interface, it will also become intimate, in a natural way. That is, most people, are not tech savvy. They don't even know what a browser is. But Cortana (and Siri, ok Google), because it communicates with user via human language, and being a female, this will lead to natural connection, and making the user wanting more, and will thus push and push for Cortana to mature, and meet demand. (and there'll be porn aspects, a huge industry, but that's different topic. We focus on the average people and phone use here.). Cortana (Siri, similar services) , will become the Embodiment of Artificial Intelligence, as the populace have seen in movies. Most people are not into scifi or tech stuff, but it is via the interaction of human female voice that help daily things, grow attachment, and become average people's connection with tech.

i think ALL our tech progress, will also become measured by them. As in, how mature, how smart, Cortana, Siri becomes.

they going to be the #1 software growth in next decade.


xfce window focus bug

lots focus bug mouse hover to raise window, in xfce ubuntu 14.04. upgrading to xfce14.12, then you got wmctrl problem. 4 hours wasted.

here's the detail.

Activating a window from the taskbar doesn't focus it when 'focus follows mouse' https://bugs.launchpad.net/ubuntu/+source/xfwm4/+bug/1292122

now, its supposedly fixed. See: http://git.xfce.org/xfce/xfwm4/commit/?id=1a20a88

so, now you upgrade xfce to 4.12. Linux: How to Upgrade Xfce

but now, there's wmctrl problem. That is, when you use the wmctrl tool to switch window wmctrl -xa emacs, it won't focus, only raise.

if you turn off mouse raise window, then the problem goes away. But, i want mouse raise window.

sad face.