我写了个MacOS下的输入法切换工具:macism

我也不懂这个,是一些函数上都需要加 static 么?未用的变量是哪个,我可以删除后重新生成 patch 试试

你make的时候会看见nsfns.m有几个warning,不过编译能通过,也不影响使用,就是不太好看。

  • cfdata_to_lisp
  • cfstring_to_lisp_nodecode
  • cfstring_to_lisp
  • cfstring_create_with_utf8_cstring
  • cfstring_create_with_string_noencode
  • cfstring_create_with_string
  • mac_create_input_source_from_lisp
  • mac_input_source_properties

这些没有在外部使用,应该都可以加 static,我来加一下,去掉一些注释的代码

mac_create_input_source_from_lisp和mac_input_source_properties不用加static。

1 个赞

我改过 static 以及去掉一些注释了,正常可用。

PR没问题,merge了。

2 个赞

你好,sis 上周的更新好像冲掉了我这个 pr

我想到一个问题,这么改动的话,terminal下是不是有问题?
太久没写elisp,我记不清细节了。

好像是有问题,Error running timer ‘sis--auto-refresh-timer-restart’: (error "Window system is not in use or not initialized") [6 times],不知道改为 (memq (window-system) '(mac ns)) 是不是可以,我也不太熟悉elisp😂。

嗯。这样没问题。改了。

1 个赞

我准备尝试下这个 patch,我的理解是,patch 完毕就可以像 Emacs Mac Port 一样开箱即用了,也就不再需要 macism 了,为什么还需要给 macism 提 PR 呢?

我给 sis 提的 pr,不是 macism。macism 的那个 pr 是很久之前还没有这个 patch 的时候。

明白啦!

感谢前辈!Emacs Plus 打上 patch 后,sis 里面还是按照 Emacs Mac Port 来设置,就可以直接使用了!