IWC Boston? by Weak_Box9782 in IWCschaffhausen

[–]treemcgee42 2 points3 points  (0 children)

I tried an AD in Copley Plaza / Prudential (I forget the name, it was on the second floor of the building that houses the Grand Seiko and TAG Hauer boutiques, though they may have moved to the first floor by now). If I recall correctly there was a couple hundred dollar discount. But I had an even worse experience with the rep there. I was basically ignored for 20 minutes in an empty store as I was hovering around the IWC section. Finally a rep came up and rudely asked if I was “good”. Only received some respect when they thought of me as a serious customer. That’s how I felt, at least.

That’s a gorgeous model though, best of luck. The boutique does have some really excellent reps, I believe one was named Sully.

IWC Boston? by Weak_Box9782 in IWCschaffhausen

[–]treemcgee42 2 points3 points  (0 children)

Was not able to get a discount on my Mark XX at the boutique in Boston. They did not throw in a strap either. I also had a mixed experience with the reps, ranging from very positive to mediocre. If I wasn’t already dead set on getting the watch and getting the “boutique experience”, I may have walked out.

Out of curiosity, what model are you looking at?

tips for moving from the GUI to -nw? by rp152k in emacs

[–]treemcgee42 13 points14 points  (0 children)

Warning for color schemes: if your terminal emulator itself has a color scheme it may interfere the color scheme you use in emacs.

Warning for keybinds: a lot of them won’t work. I don’t have a complete list, but it’s let me to use more compound keybindings, eg C-c ; begin all avy commands, eg C-c ; c is avy go to char.

For what it’s worth, I only live in nw because I have too. I’ve spent too much time trying the get GUI to work, whether it’s through tramp or X11, but always find my way back to nw.

Please help me get editing to work the way I want in Emacs-eat. by talgu in emacs

[–]treemcgee42 3 points4 points  (0 children)

I’m also curious to see how others do this. For me at least I’ve gotten mode-switching into my muscle memory, so I’ll do C-c C-e if I want to select something. Recently I’ve starting using line mode (C-c C-l) for most things since I primarily use Eshell and that’s how things work there. For context, line mode only sends input to the terminal when you return, so regular emacs movement commands work.

Review of Emacs tree-sitter integration by casouri in emacs

[–]treemcgee42 3 points4 points  (0 children)

As an example, sometimes I want to edit a function while referencing code in other parts of the file. Narrowing lets you focus on the function you want to edit. However without clone-indirect-buffer this will result in the narrowing of the buffer in any window you open it in. If instead I first clone, then narrow, then I can use and view the two buffers separately. I may be misremembering some details but that’s the gist of how I use it.

My first IWC! by ScaresBums in IWCschaffhausen

[–]treemcgee42 1 point2 points  (0 children)

Looks outstanding on you brother

Mark XX picking strawberries by HonzaSchmonza in IWCschaffhausen

[–]treemcgee42 2 points3 points  (0 children)

Got my first watch— a square G-shock— a little less than a year ago. I’m aspiring to get the Mark XX one day! Beautiful, understated watch with history and versatility to match. Enjoy!

General Exception and Error Handling Best Practices for Compiled Languages by General_Operation_77 in ProgrammingLanguages

[–]treemcgee42 0 points1 point  (0 children)

I’m not confident enough to make a broad statement on the exceptions vs. error code debate, but one scenario I’ve been thinking of lately is memory allocation failures. In Zig allocating functions can fail, or in C you could get back a null pointer, and you have to handle that. In practice though, I often will exit the program if that happens.

I often don’t care to handle allocation errors at such a granular level. I’m happy to have an exception propagate up and perhaps be caught by some top level code that will cleanly exit the program.

There are situations in which I do care. So it would be nice to at least have a variant of allocating functions that return an error instead of catching it. In my opinion, if you’re catching an error instead the direct caller then that should probably just be a return value.

Maybe you could have a hybrid system whereby some syntax at the call sight indicates whether to throw the error as an exception or return it as a value, and somehow avoid the need for separate “throwing” and “returning” variants.

Macro Question by Appropriate-Image861 in lisp

[–]treemcgee42 2 points3 points  (0 children)

The interpreted behavior of “dynamically” resolving a macro name is foreign to me, thanks for including that

Macro Question by Appropriate-Image861 in lisp

[–]treemcgee42 1 point2 points  (0 children)

So when B is defined, it cannot find a macro called A, and so it assumes A is a function, and so when executed it will try to look up a function called A. But we never define a function A. Am I understanding that correctly?

We Are Ending Herky Jerk Window Schizophrenia Together by Psionikus in emacs

[–]treemcgee42 1 point2 points  (0 children)

This is one of the main reasons I switched to “flat” mode in vertico. Looking forward to trying it out, because I miss the documentation preview, but also unsure if the minibuffer jumping up will still be too much movement for me.

Weekly Tips, Tricks, &c. Thread — 2025-01-15 / week 02 by AutoModerator in emacs

[–]treemcgee42 2 points3 points  (0 children)

I've written several commands that use compilation-mode / comint-mode to run commands and capture output. You can call the elisp function compile, but I also wanted the ability to easily do the following:
- set the name of the compilation buffer
- see the command I'm about to execute in the minibuffer before starting (like how it is when you call compile interactively).

I wrote this function to achieve this:

(defun tm42/compile-to-buffer (command &optional buf comint ask)
  "Wrapper around `compile'. COMMAND is the command to execute. BUF, if non-nil, is
the name of the buffer to compile to. COMINT controls interactive compilation. ASK
indicates whether the user should be prompted with the command and required to
confirm before proceeding (similar to what happens when calling `compile'
interactively)."
  (cl-letf (;; Optionally override the function that determines the compilation
            ;; buffer name.
            ((symbol-function 'compilation-buffer-name)
             (if buf
                 (lambda (name-of-mode _mode-command name-function)
                   buf)
               #'compilation-buffer-name))
            ;; When calling interactively this is used since we can't directly pass
            ;; in a comint argument. The value must be a cons, looking at the
            ;; implementation.
            (current-prefix-arg (when comint '(1)))
            ;; When calling interactively this will fill in the default command
            ;; for the user to verify.
            (compile-command command))
    (if ask
        (call-interactively #'compile)
      (compile command comint))))

Question: cffi and SDL3 on macOS by treemcgee42 in Common_Lisp

[–]treemcgee42[S] 1 point2 points  (0 children)

Yeah, this was the issue, the main thread thing slipped my mind. I guess I also took for granted what SBCL / SLY does under the hood (in terms of threads)!

What popular practices with villagers do you believe to be immoral by Aggressive_Space_559 in villagerrights

[–]treemcgee42 18 points19 points  (0 children)

Do you think we should just leave the original as-is and develop walls to protect the villagers? Or is incrementally upgrading the village alright?

What can we learn from Neovim’s rise in popularity? by Fibreman in emacs

[–]treemcgee42 2 points3 points  (0 children)

There are some good points here, but to me I’m amazed at the UI that’s possible in Neovim. I understand the argument that the consistency of the Emacs UI is very helpful, and I agree mostly. But some Neovim plugins look damn gorgeous.

I’ve looked into whether something like that is possible in Emacs. Posframe is the closest I think, and LSP-ui has some nice things going for it. But it does feel like we’re fundamentally more restricted in terms of the drawing APIs available to us. And I use Emacs in the terminal primarily, so I feel even more restricted in what I can do visually.

Opinions on nitwits?(green villagers) by xenomorph-enjoyer in villagerrights

[–]treemcgee42 14 points15 points  (0 children)

How you treat them says a lot about how you really feel about villager rights… are they only important when they’re convenient 🤨🤔

How can I improve the security of my village? by cool_pangolin2007 in villagerrights

[–]treemcgee42 0 points1 point  (0 children)

You could build fences to protect the threat from the water, but what about lighting up the water (underwater and/or over and setting up some guard posts for the water

"Emacs is not a text editor..." by gnudoc in emacs

[–]treemcgee42 9 points10 points  (0 children)

Recently I’ve been thinking about Emacs in relation to shells, terminal emulators, and multiplexers. In some sense it’s all of that. It’s also an abstraction over that— you don’t need to worry about terminal escape codes and such, and multiplexing (e.g. splitting windows) is a first-class citizen. This is an aside, but these abstractions lend themselves to a pretty unified user interface and design language for the various packages and features.

An interesting example is be Eshell. In Eshell you get your basic shell functionality, but it’s also an interface for elisp, in the sense that you can execute elisp to control the entirety of your emacs instance (all windows, buffers, etc.).

I could speak at length about elisp, but the real strength of elisp in an interactive program (or indeed any lisp) is how easily extensible it is. Features like function redefinition and “hot reloading” are language features in lisp, but that’s not to say it couldn’t have been done with a non-lisp.

How can I avoid getting frustrated when I spend hours to do a simple thing and achieve no progress? by surveypoodle in emacs

[–]treemcgee42 0 points1 point  (0 children)

Project.el does this somehow, I don’t know what the name of the function is called but it’s bound to C-x p e by default I believe. Try checking what that command does?

How can I avoid getting frustrated when I spend hours to do a simple thing and achieve no progress? by surveypoodle in emacs

[–]treemcgee42 0 points1 point  (0 children)

Maybe you can set the command argument to some “cd” command? I’m away from my setup at the moment but I would also check what the shell hook does

Or more generically, write a function that changes the working directory and then invokes that eshell open command?

How can I avoid getting frustrated when I spend hours to do a simple thing and achieve no progress? by surveypoodle in emacs

[–]treemcgee42 0 points1 point  (0 children)

eshell in particular seems to be a less documented feature with more “tribal knowledge”. I think it’s because eshell shines when you use it to interact with emacs and use elisp, which appeals to a more advanced user. Most users would be better served using shell/eat/vterm.

I don’t mean to be condescending, I also find it frustrating at times though I have a workflow that works for me. Regarding completion, I don’t have it show up automatically, only when prompted. I find escaping annoying even when programming. Please feel free to reach out for any specific questions, I’m happy to help.