xtodo emacs research

lsp, language server protocol

write tutorial, look into if pre loaded, check emacs news file to see when.

;; look into, which diff emacs uses, and which shell, how to set them, etc

;; (setq diff-command "diff")

(setq shell-file-name "pwsh")
;; "C:/Users/xah/bin/emacs-29.1_1/libexec/emacs/29.1/x86_64-w64-mingw32/cmdproxy.exe"
;; -*- coding: utf-8; lexical-binding: t; -*-

(display-images-p)
;; t

w32-use-native-image-API
;; t

image-types
;; (bmp svg webp png gif tiff jpeg xpm xbm pbm)

(image-type-available-p 'svg )  ; t
(image-type-available-p 'webp ) ; nil
(image-type-available-p 'imagemagick) ; nil

(image-size SPEC &optional PIXELS FRAME)

look at these and doc them

(set-language-environment "utf-8")
(set-default-coding-systems 'utf-8-unix)
;; (set-terminal-coding-system 'utf-8-unix)
;; (set-keyboard-coding-system 'utf-8-unix)

symbols.

;; make a new obarray of length 255
(setq
 xx-obarray
 (make-vector (1- (expt 2 8)) 0))

;; ideal length is prime number of 2^n - 1
;; for good hashing

;; HHHH---------------------------------------------------

;; create a uninterned symbol with name yy
(setq xx (make-symbol "yy"))

;; HHHH---------------------------------------------------

;; use gensym to make sure the symbol is unique.
;; gensym uses a incremental counter appended to symbol name, for uniqueness
;; useful when creating code programatically
(gensym "y")
;; sample output
;; yy15

keywordp
(keywordp OBJECT)

returns t if OBJECT is a symbol whose name starts with : and interned in the standard obarray. else nil .