代码之家  ›  专栏  ›  技术社区  ›  user181548

如何让emacs认为它使用的是终端?

  •  1
  • user181548  · 技术社区  · 15 年前

    我想使用Emacs自动化一个涉及字体锁定模式的作业。我想格式化一个文件,然后将其转换为HTML使用字体锁定模式的颜色。问题是Emacs拒绝格式化文件,除非它认为它正在终端上运行。换言之,它将不会方正运行时,在下面 -batch . 有没有办法让Emacs误以为它在终端内部运行,即使它是以编程方式运行的?

    3 回复  |  直到 15 年前
        1
  •  0
  •   ConcernedOfTunbridgeWells    15 年前

    你可以试着用 expect 把它包起来看看这是否足够愚弄emacs。另一种方法是挖掘elisp代码并对其进行修改,以删除所需的任何检查 isatty 或阻止作业运行。

        2
  •  2
  •   sarnold    15 年前

    Advanced Programming in the Unix Environment

    * * * * * /tmp/apue.2e/pty/pty /usr/bin/tty > /tmp/pty.out 2> /tmp/pty.err
    * * * * * /usr/bin/tty > /tmp/tty.out 2> /tmp/tty.err
    

    结果令人满意:

    ==> /tmp/pty.out <==
    /dev/pts/5
    
    ==> /tmp/tty.out <==
    not a tty
    

        3
  •  1
  •   Sebastien Tanguy    15 年前

    用这个怎么办 -batch 参数?